lichess.org
Donate

Questions regarding making a chess engine.

1- Is using Deep Learning necessary to accompany the pace of chess engines as it is swalloing the world of artificial intelligences?
2- With that said, is there any specific programming language in which I should use to make my chess engine like Python? I am asking it because Python is very stigmatized as a language that is ideal for Deep Learning and Neural Links and I am more used to JavaScript. JavaScript vs Python? Who is more alpha in this endeavor?
3- For a computer to think like 6 moves ahead, it must make trillions of calculations and it is not viable, to what is a good heuristic for the program to follow and how to apply it in code terms? It is like: You can answer to me something like: Evaluate position, pieces, pawn structure etc, and make the computer to choose the move that will most benefit the pieces in which he is playing for, but HOOOOOW? Code examples are welcome, specially JavaScript.
1. as lone person you unlikely to keep pace of chess engines whether traditional or deep learnign. Amount of work is huge either way
2. Specific language for any serious time consumign programming is C or C++. Python is "glue" language suitable for experimentation. No serious enginge is written with any scripting language. Let alone JavaScript which really has some issues.
3. Looking six moves deep is not much feast on modern computers. Obviously you search need to use alpha-beta to prune the tree and use killer heurestic etc. to make pruning more efficient. Way morestuff you can have on forum

Good place to start is www.chessprogramming.org/Main_Page
#2 is right but here is my answer

1- There is no way you 'll compete with either Alpha Zero, Stockfish/... etc. The amount of time, experimentation, research and feedback is just too huge. If you want an engine that can beat you, it's obiously and easier task, and both solution works. In the end I would say it depends on your goal (why are you doing this?)

2- You can use Python for writing your algorithm, making sure everything is alright. It *might* be something like 1 depth lower than if you wrote it in C/C++/Rust/.., but the amount of time you 'll gain is, I believe, worth it. Once again, depends on your goal.
You can always switch language later. And Python gives you things like TensorFlow if you want the Deep Learning path.

3- If you don't go with deep learning, then you have 2 mains function to write:
* Given a board state, a function that 'll tell how much this board is worth for your player.
* Given a board state and the previous function, a function that 'll recursively find the path with the higher score.
I would advice trying to understand the basics first (medium.com/analytics-vidhya/unbeatable-tic-tac-toe-ai-3411dff06f96 might help you understand what you seems to want to write) and having a look at the various algorithm available.
There should be alot of research paper for AI in chess if you wants to dive deeper.

Good luck :)

This topic has been archived and can no longer be replied to.