New answers tagged

0

There've been attempts to make engines explain why moves are good or bad. Here's an example I am aware of. You could try clicking through the example to see how helpful it is.


1

Stockfish just tells you that both moves win. The exact evaluation is irrelevant; if you increase the depth, I'm sure the evaluation will go up. There is really no need to overthink this. For example, if you're up two pieces, it might be a good idea to give up one but make sure the opponent has no counterplay, as opposed to keeping both and allow a few ...


9

It might be not even as simple as the other answer suggests (regarding only objective evaluation), as "both lines are (roughly) equal" is probably already from a certain perspective. Let's view it specifically from the computer and the human eye and that we want to win the game. I outline only the central points. Computer, Variant 1: "I'm an ...


8

It's not so simple. 1. Bf3 leads to a position where White is up an exchange. 1. Rb6 leads to a position where White is up two pawns. Both are worth roughly the same in terms of material. Look at the lines carefully: After 1. Bf3, Black does not have to play Bxc6. 1...Rxc6 2. Bxc6 Bxc6 -- White is up an exchange. After 1. Rb6 fxe4 2. Nd8+ K-wherever 3. ...


3

How strong is Leela Zero today in terms of rating / strength, esp when compared with Alpha Zero / Mu Zero? We will never know for sure because we don't have the source code for AlphaZero/MuZero. However, it's very likely Leela Zero is a stronger version because it is an evolving project. Open source for the best AI programmers in the world, not just ...


3

We can't compare Leela vs. AlphaZero or MuZero, because they are private engines. That means we can't just get them to play tens of thousands of games against each other (which is the standard way of telling how strong each engine is). However, if AlphaZero has not improved since it was unveiled, Leela is likely to be stronger than it. The same goes for ...


2

I know this is an old question, but I strongly recommend the use of the perftree program. It compares the results of your perft function with the one implemented by Stockfish. This helped me a lot to debug my move generator. For instance, if you run perft(6) and find out that, e.g., the number of moves from a2a3 is larger/lower than it should be, you update ...


4

Technically, Stockfish does make use of past matches, just not when it's playing. The way it uses its past matches is during training, when a new neural network (NNUE in Stockfish's case) is being trained. Once the NNUE is trained, though, it is "standalone" and does not change anymore. The Stockfish you can download and play has an already-trained ...


0

does the Stockfish engine need to be fed data from past matches No. You are confusing Stockfish with AlphaZero. The two engines work in entirely different ways. Stockfish works by using brute force calculation plus clever evaluation functions to determine what is the best move in any position. During a game it maintains hash tables of positions and ...


32

You may find this game interesting: https://lichess.org/A9ZRnDcE. Here Stockfish (black) is programmed to select the move leading to the most negative eval position. White is a human who is aiming to lose (i.e.: be checkmated). White is ultimately successful, which goes to show that really playing to be checkmated is a variant in its own right - we could ...


5

Generally, I would avoid using Python for chess programming altogether. Consider converting to Cython or better yet, use a modern system language such as Rust, Zig, etc.


1

Generally the answer is, that there has been a patch from some developer of the community in the past, which happened to be an improvement over the status quo after tight statistically sound testing and this is usually accepted without questions, even if the change appears illogical to some. It is known that a high collision rate must not be detremial for a ...


1

You know the mantra of optimization? You have to benchmark, at the end there is no other way. Stockfish developers faces such questions. And since ShashChess is a stockfish derivate, it has the "bench" command line flag. This is meant as a developer aid, so you have to dig into the source code, to use it properly, see https://github.com/amchess/...


2

Try the OTB Chess Community. It was created for exactly this user case. There you can find your city and see if anyone is interested in playing, or you can offer someone to play. If you city doesn't exist yet, then it will get created very quickly.


2

This depends heavily on how complicated your evaluation function is. The more complicated it is, the more time is necessary to "calculate" (more accurate word here is evaluate) one position. That's why the current neural network engines calculate three orders of magnitude fewer positions per second than traditional engines. In the same way, engine ...


Top 50 recent answers are included