37
votes
Why don’t chess engines use Node.js?
Here is a link comparing C++ to Node.js from this question on Stack Overflow.
To answer your question: C++, while more difficult to write, is way faster than basically anything else.
35
votes
Why don’t chess engines use Node.js?
Node.js isn't a language; it's a framework on top of JavaScript.
It's also not fast, certainly not compared to compiled languages like C++ or Java.
Nor is JavaScript easier to use than compiled ...
27
votes
Why don’t chess engines use Node.js?
To add onto the comments: Node.js and Python are higher-level languages/frameworks, used as "glue languages" for machine learning frameworks that just serve as human-friendly wrappers to ...
16
votes
Accepted
What is the opening value of 1. e4 in 2020?
It's still one of the best moves White can play. There's no clear consensus on whether 1.e4 or 1.d4 is better, but it's played frequently at the top level. Due to advancements in theory, I'd say 1.e4 ...
12
votes
Accepted
Why don’t chess engines use Node.js?
This is more of a question for Stack Overflow if you ask me... But since I've come here from there and I'm a software engineer and avid chess player, I'll try to explain.
This basically boils down to ...
11
votes
Why don’t chess engines use Node.js?
Node.js is just a JavaScript (JS) runtime environment that is basically just Chrome's V8 JS engine, with the APIs (set of standardized commands for interacting with something) only needed for a ...
6
votes
Accepted
Are there Chess AIs that factor in moves’ practicality for humans?
Maia Chess is a deep learning framework like AlphaZero/Leela. Its goal is to play the human move — not necessarily the best move. As a result, Maia has a more human-like style than previous engines, ...
6
votes
Has Explainable AI been applied to the endgame tablebases?
In short: yes. Although I don't have an overlook on current research. But already with the endgame KR/K, which is as much the drosophila of tablebases as chess is for KI, was handled this way, and for ...
6
votes
Accepted
How can a check evasion move generation algorithm be done efficiently?
You generate all the legal king moves up front, regardless of whether there's a check. Then determine the number of checking pieces. There will be two scenarios relevant to the question.
If it is a ...
6
votes
What is the opening value of 1. e4 in 2020?
Since 1.e4 and 1.d4 are considered equal by most experts, the value will really depend on your style: If you are a tactical player, you are more likely to get the types of positions that you favor. I ...
5
votes
What is the opening value of 1. e4 in 2020?
No. AI has not changed the evaluation of 1. e4. AI is too limited to be able to see far enough into the game to evaluate the first move that accurately. Best you can do is estimate it even with AI.
...
5
votes
Why do we increase depth of search for a mate detection in alpha beta pruning?
This is known as Quiescence Search.
https://chessprogramming.wikispaces.com/Quiescence+Search
The purpose of this search is to only evaluate "quiet" positions, or
positions where there are no ...
5
votes
Accepted
Why do we increase depth of search for a mate detection in alpha beta pruning?
I can see more than one reason for that.
One reason is that after a check there are very few moves available: usually there are 30 moves available, but after a check there are usually at most 4 or 5. ...
4
votes
Could chess puzzles change with the introduction of stronger engines?
Most probably a wide majority of cooked puzzles from history are already within the grasp of today's computers (and even of computers from, say, 2005), and that's why new softwares shouldn't bring any ...
4
votes
Accepted
Can I download early versions of Leela chess zero?
For early versions, the lczero project's download page refers you to the lc0 releases available on GitHub. For versions from 2018, you can go the lczero repository on GitHub.
Note that while the ...
4
votes
What is the opening value of 1. e4 in 2020?
I'm writing this answer from the chess AI perspective. As of 2022, the best chess engines do play 1. e4 if left to their own devices (i.e., no opening book). Here are links to two very long time ...
4
votes
A different hashing algorithm for chess positions
Let me start out by elaborating on Hauke's comment:
Add friendly pieces/pawns to b5, c6, e6, f5, f3, e2. Then a Na1 is hashed the same as a Nd4. So as presented this function is not collision free.
...
4
votes
Searching games by chess positions
I used the Chessvision.ai Chess Position Scanner extension to scan the images and get the position FENs, then with the help of CQL, I searched Mega Database and found these games:
Tigran Petrosian vs ...
4
votes
How to compare Stockfish move preference every 1000 nodes
One approach is by sending the command go nodes 1000, go nodes 2000 ... to the engine and record the moves and score.
Here is a sample code to do like that using python chess lib along with other ...
4
votes
What are some of the books that cover the theme of chess preparation using Artificial Intelligence & chess engines
The Silicon Road to Chess Improvement by Matthew Sadler. This is an amazing book and well worth some intensive study. See also the book-related YouTube channel.
3
votes
Why don’t chess engines use Node.js?
There are chess engines that run on the V8 JavaScript engine used in Node.JS; pretty much all online chess games use those to offload the computation (relatively nothing today) to the client, e.g. ...
3
votes
How to program Ruthlessly Aggressive Chess AI?
There's this number in Stockfish's code that assigns the value of a draw. This is typically 0 for obvious reasons - if your position is better (> 0.00) then it's preferable to avoid a draw, while ...
3
votes
How to ask an AI engine to test this chess variant?
Currently there is no “easy” way to do exactly this. The “easiest” way in this case would simply be the right way. You would have to learn a coding language and develop a chess computer using an ...
3
votes
Accepted
Bitboard chess engine design
I'm building a chess engine but I often find myself overwhelmed
I can identify quite a lot with how you're currently feeling. So before I address your questions, I'd like to give some encouragement ...
3
votes
How is AlphaZero defferent from Stockfish?
Chess engines consist of two prongs of code: search and eval. Search is the algorithm that tells the engine which moves to look at, "searching" through the game tree to find the most ...
3
votes
Accepted
Minimax algorithm - Play with Black pieces?
There are two simple adjustments that need to be made for this to work properly with the computer playing the white pieces. I'm not totally familiar with the interfaces you're using so bear with me.
...
2
votes
Accepted
Why bother with human chess when AI is superior?
I think one of the reasons humanity continues to play gams that computers will always win at is that chess is a useful tool to inprove critical thinking skills, such as pattern recognition and ...
2
votes
Accepted
Could chess puzzles change with the introduction of stronger engines?
Our modern chess engines are already perfect for solving tactical puzzles. @Bad_Bishop's example is an easy problem for Stockfish.
If you're talking about artificial deep chess problems (not puzzles),...
2
votes
Help with Negamax using transposition table
I did not check the entire code in detail, however, two things that I noticed are: You seem to be using a generic hash map with a string as key and value. That seems very slow in my eyes, usually one ...
2
votes
Are there Chess AIs that factor in moves’ practicality for humans?
Recent versions of Leela Zero have implemented a feature called Win/Draw/Loss (WDL) Contempt based on a rating difference between players.
The idea of WDL Contempt is that you tell Leela “Look I’m ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
chess-ai × 25engines × 14
stockfish × 3
programming × 3
chess-algorithms × 3
software × 2
books × 2
training × 2
computer-chess × 2
evaluation × 2
puzzles × 2
alphazero × 2
opening × 1
analysis × 1
learning × 1
strategy × 1
endgame × 1
problems × 1
chess-variants × 1
online-chess × 1
database × 1
world-championship × 1
tablebases × 1
1.e4 × 1
master-games × 1