Skip to main content

Questions tagged [engines]

Questions relating to chess engines: any computer program that is able to play/analyze chess positions.

58 questions with no upvoted or accepted answers
Filter by
Sorted by
Tagged with
12 votes
0 answers
2k views

Highest depth ever achieved

I saw a guy that went into depth 70 with no search moves at 41, 192, 897, 168, and 184 nodes from the starting position on Stockfish a few years ago. I would like to know if this is still a record or ...
Ropdup's user avatar
  • 313
8 votes
0 answers
423 views

Stockfish position evaluation component terms in Python?

I saw the excellent Javascript-based guide to how Stockfish evaluates (non-NNUE). Is there a python version out there, perhaps using python-chess? What I am trying to do (in case you have other ...
Abhijit Mahabal's user avatar
7 votes
0 answers
218 views

Chess engines missing mate in 2

After going through a long list of test positions for my chess engine, I found this simple mate in 2 puzzle that my engine failed to see even after searching to a depth of 16 ply. I checked the puzzle ...
Hank's back rank's user avatar
5 votes
0 answers
530 views

What program/website shows the last captured piece in displaying the last move played in a position?

The following image appeared in the question Can anyone explain this sacrifice? You can see a pawn is captured. Sometimes a position will show the last move played or whose move it is but doesn't ...
BCLC's user avatar
  • 2,060
5 votes
0 answers
170 views

Stack data structure to store chess positions?

One method I thought of for storing chess positions is a stack. This is because when you go one move deeper in the search, you add that position onto the stack, and delete the node when finish, this ...
BanjoMan's user avatar
  • 160
5 votes
0 answers
290 views

Setting up Stockfish for Droidfish

I would like to set up Stockfish for the android app Droidfish. How do I set up a server for a Windows machine (my linux machine is too weak) using SF13?
Concerto's user avatar
4 votes
0 answers
304 views

Are engines impaired by the 50-move rule?

Are we missing too much from the 50-move rule implementation to engines, whether HCE (Hand-crafted evaluation) or/and NN (Neural Network)? We know that certain endgames are a win without the rule. ...
JSBach49's user avatar
4 votes
0 answers
304 views

How engines accomplish calculation speeds of 1000kN/s per Core and above?

I am developing a chess engine to improve my Cpp. It works, which means it generates legal moves and it can play them out. I optimized a bit and now achieve ~20k N / s, which is way better than my ...
Niclas's user avatar
  • 149
3 votes
1 answer
105 views

How many weaker players as a team can rival a much stronger player?

I wonder if anyone has tried to organize a large number of much weaker players to cooperatively beat a top player. Of course weaker players may not even see let alone agree on best moves if they use ...
alices_and_bobs's user avatar
3 votes
1 answer
86 views

Are there free chess engines where you can exclude a specific move line from the search tree, or give it a manual evaluation?

Years ago, the engine version of Shredder 10+ had such a 'god mode' where you could enter manually an evaluation after a certain line of moves, and then going back to the original position the engine'...
MikeTrans's user avatar
3 votes
0 answers
252 views

I have a code in Python which should compute fully optimal moves in an endgame for Black and White player, but it seems that k is playing suboptimally

In this example "'fen': '7Q/8/8/6k1/2K5/8/8/8 w - -', 'moves_to_mate': 9" should be "'fen': '7Q/8/8/6k1/2K5/8/8/8 w - -', 'moves_to_mate': 11" according to Stock-Fish. EDIT The ...
user2925716's user avatar
3 votes
0 answers
94 views

Why this Python code for a simple endgame yields wrong results?

I have a Python code as below for a trivial (for a human) endgame, but I'm unable to make it output correct results. I'm seeking for a fully optimal play by both player: the stronger player should try ...
user2925716's user avatar
3 votes
0 answers
115 views

Can previous and continuing research on N-piece tablebases be used toward human theory of chess?

This follows another questions here: What is the status for EIGHT piece endgame tablebases? My answer there was appropriately removed as being question in reaction to that question, well in light of ...
dbdb's user avatar
  • 162
3 votes
0 answers
246 views

Debugging my PERFT coding

I'm stuck debugging my move generation and do move function. I noticed that the castling as actually the problem in my code, but I think I have implemented everything right. I installed some java ...
James Urian's user avatar
2 votes
0 answers
61 views

optimum chess endgame with D=3 pieces doesn't give an exact moves_to_mate variable

I have just upgraded my code for computing completely optimally for both players a chess endgame as given here: https://pastebin.com/jQ090L01 but it gives to me 2 plies to checkmate White instead of ...
user2925716's user avatar
2 votes
0 answers
66 views

Easily modifiable chess engine

I'm looking for a chess engine that I can (relatively) easily go into the source code, make some tweaks, recompile, and run the modified engine. Ideally, the source code would be well documented and ...
isaacg's user avatar
  • 292
2 votes
0 answers
50 views

Transposition table store/retrieval confusion

I am struggeling to get the transposition table aspect of my search algorithm right. These are the table functions: pub fn lookup(&self, hash: ZHash, depth: u32) -> Option<&...
Curunir's user avatar
  • 121
2 votes
0 answers
125 views

Is it possible to make stockfish promote only to a queen and nothing else?

Is there a way to limit stockfish to promote pawns only to a queen? I'm using python chess library and a stockfish engine. I'm making an engine play itself and then use its moves to control the ...
Konraddo's user avatar
2 votes
0 answers
123 views

Literature on chess engines' playing style

I'm aware of Matthew Sadler and Jozarov's outputs, do you have any other suggestions? Any first-hand attempt of trying to describe engines' playing main themes would also be welcome.
Andrea Nerla's user avatar
2 votes
0 answers
225 views

Transposition table cut and all nodes

I have written a chess engine over the last year. Inside my search function I have the following struct transposition *e = attempt_get(pos); if (e && transposition_depth(e) >= depth &&...
spinosarus123's user avatar
2 votes
0 answers
149 views

Which websites have a ranking and/or a rating list for correspondence chess without engine help?

I am looking for websites that have a ranking and/or a rating list for correspondence chess without engine help. Which ones do exist? For example, lichess.org has correspondence chess without engine ...
Beginner's user avatar
  • 1,292
2 votes
0 answers
207 views

Alpha-Beta Pruning and Depth skews checkmate evaluation

I am currently working on a chess engine in golang. I have implemented and tested move generation, making and unmaking. I am working on search and evaluation using Negamax with Alpha Beta pruning, ...
Rak Laptudirm's user avatar
2 votes
0 answers
145 views

Issue with connecting engine to lichess bot (uci communication)

My engine is responding correctly to the first inputs from the GUI (as above), but when it receives go movetime 10000 it just crashes and I don't know why. When I test my engine manually in CMD I get ...
ZED's user avatar
  • 103
2 votes
0 answers
365 views

Understanding Null move pruning

I have trouble understanding null move pruning. I understand the concept of a free move for the side that just played a move, but what I don't understand is the code part: int score = -negamax(-beta,-...
DaOnly Owner's user avatar
1 vote
1 answer
60 views

Is this what I should have done or should do next?

When I analyze my game, is the analysis machine (stock fish lite on chess.com) telling me what move or I should made instead of the one I just made, or is it telling me what move it thinks I should ...
Nathan's user avatar
  • 11
1 vote
0 answers
33 views

Training data retrieval

I am currently developing a chess engine which uses minimax algorithm to evaluate chess positions. In addition to this I want to improve my current static evaluation with reinforcement learning. I ...
Martin Šváb's user avatar
1 vote
0 answers
52 views

I have a simple code which has a bug at the particular place given below, but I'm unable to detect it exactly and fix it

I have asked a similar question elsewhere and I have detected where roughly is a problem. It is in this function which gets processed for node "1" only, see the output section below: (I'm ...
user2925716's user avatar
1 vote
0 answers
61 views

Creating a Position with Defined Possibilities within N Ply (for engine testing)

DEFINITIONS The definitions of "cook" and "dual" I'm using (which are the standard definitions if I understand them correctly) are: Cook: A position where the attacking side, on ...
Dave's user avatar
  • 327
1 vote
0 answers
106 views

Why is my negamax/quiescence search slow?

I'm currently making a chess engine in Java and my search function is extremely slow to the point that it's slower than my perft function. My search function is currently a negamax search that uses ...
wdk23's user avatar
  • 90
1 vote
0 answers
147 views

Creating or editing shredder .bkt opening book

I want to create an opening book for Shredder or edit an existing one. the way I want it is like how Lucas chess works, giving a certain value (weight, percentage, etc) to a specific move. This is an ...
mohammad sarabi's user avatar
1 vote
0 answers
264 views

Is this a possibly faster way to find pinned pieces using magic hash?

Okay so this is something that I came up with while working on my own engine, but I am not sure if anyone has ever tried. Basically I am using a separate set of magic hashed longs to store pieces and ...
Debabrata Roy's user avatar
1 vote
0 answers
282 views

Clear Stockfish hash table after every move conveniently

When analyzing a game with Stockfish I sometimes find it confusing that evaluation of a given position changes depending on what positions I had analyzed previously. I understand that this is because ...
boot4life's user avatar
  • 687
1 vote
0 answers
332 views

Relation between Elo and search depth for basic minimax

If we use the most basic approach to a chess engine (for example, for a codegolf): minimax to a fixed depth with the material count as static evaluation, then how strong is this algorithm? This of ...
Jens Renders's user avatar
0 votes
0 answers
42 views

What is the difference between the PV-move and Hash-move in move ordering in an chess engine?

I'm writing a chess engine in python and I'm trying to start implementing some move ordering techniques for more cutoffs in my negamax algorithm. The chess programming wiki gives this suggested move ...
user24551772's user avatar
0 votes
1 answer
59 views

How to add engine evaluation to a pgn file?

I have pgn file of thousands of game, with the clock only, every move have comment like this, this is a pgn file downloaded from lichess: {[%clk 0:10:00]} I need to add engine eval to every move like ...
sharp12345's user avatar
0 votes
0 answers
57 views

Cdrill: what does the “Threat” parameter affect?

Around ten parameters allow you to modify the playing style of the Cdrill chess engine. I would like to use it to program new personalities for the engine but I'm not sure I understand how to use the &...
RobRobinson's user avatar
0 votes
0 answers
45 views

Transposition table problems with negamax

sorry if I didn't follow the upload rules correctly. This is my first post here. I am currently building a chess engine using C# (Godot game engine), and my transposition table is rarely used. For ...
uri bracha's user avatar
0 votes
1 answer
179 views

How to train an efficiently updatable neural network (NNUE)?

I've been working on my own chess engine for a while now. It uses standard minimax search. I've trained a convolutional neural network as a static evaluation function, and I've had some good results ...
Nonlinear's user avatar
  • 101
0 votes
0 answers
66 views

How do I test my static evaluation function?

I am programming a basic chess AI, within it I have my evaluation function. It is simple, only uses piece square table values, and does basic calculations for the pawn structure and king safety. How ...
bbqribs's user avatar
  • 13
0 votes
0 answers
47 views

What is an "opening edge" in computer terms

When analysing with stockfish on chessbase, there are often positions reached in openings where the engine's eval is around +0.2 ish and the verdict is "position is equal". So at what ...
anti - Marshall's user avatar
0 votes
0 answers
47 views

Smallest size of the transposition table that still makes sense

I've implemented a chess engine with iterative deepening, triangular table for PV and aspiration window. The engine runs on a microcontroller with 1MB of RAM. I read in the Internet everything I could ...
Kajetan Świtalski's user avatar
0 votes
0 answers
67 views

What is this wide split in the Kmoch nimzo between stockfish's evaluation and master-level move choice?

In the Kmoch Nimzo Indian (sometimes called the f3 nimzo) [FEN ""] 1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. f3 d5 5. a3 Bxc3 6. bxc3 c5 (6... dxc4!? 7. e4) The move 6...c5 is the most popular ...
Awalrod's user avatar
  • 199
0 votes
0 answers
53 views

For magic bitboards experts, find magics for bigger total bits?

Writing a legal move generator, I had an idea to use the same approach as bishop/rook attacks for pins (and discover checks). The idea is that, for a given occupancy, it returns the second set bit (if ...
zuokuok's user avatar
  • 101
0 votes
0 answers
94 views

How to calculate transposition table hash index

I'm writing a chess engine in Java, and I'm having difficulty understanding how to calculate the hash address/index, based on the zobrist key. According to the Chess Programming Wiki, since the 64-bit ...
kelseyde's user avatar
0 votes
0 answers
29 views

What engine & setup can I use to analyze a Bughouse position from a single board only (one board), taking into account the pieces in hand?

I have looked at the Sjeng and the Bughousechess.wz.cz website and the answers in the other page. This is not quite a Crazyhouse equivalent analysis, due to the capture mechanics. The pages are very ...
Mark C's user avatar
  • 101
0 votes
0 answers
137 views

How to install external engines in Lucas chess?

I downloaded several chess engines ,and tried to add them with the help of engine configuration, but Lucas wanted .exe type file. My downloaded engine files were not shown because they were in the ZIP ...
Mohammad Shahinur Islam's user avatar
0 votes
0 answers
83 views

Horrible branching rate in kiwipete position

My chess engine can generally get a branching factor 4.5 in the opening and around 7.5 during average middlegame positions. However, I recently tested my engine on the test position Kiwipete and found ...
Hank's back rank's user avatar
0 votes
0 answers
127 views

How bad is Stockfish in Fog of War chess

Since in Fog of War chess you cant see all the board , I think that engines would suck at it.Have there been any attempts on playing engine tournaments under Fog of War chess?
Cerise's user avatar
  • 261
0 votes
0 answers
127 views

Extremely slow move generation in chess engine

I am making my first chess engine in python (which is obviously not that fast). I am using the mailbox approach rather than bitboards, as switching would likely take more effort than just restarting ...
user35470's user avatar
0 votes
0 answers
95 views

Difficulty with magic bitboards

I am having some difficulty with magic bitboards, in that multiple blocker bitboards which would result in different attack boards having the same index. I realize this is likely because of one of the ...
Fb_Wdw's user avatar
  • 1