You can do this via Lichess:
Visit lichess and optionally create an account if you haven't done so.
Click Play with the computer.
Select "From Position" in the Variant field.
Insert the position FEN you want to play with the computer.
Choose a time control.
Choose the computer level. See this discussion for more info on what those mean.
Select a ...
When a "total newbie" achieves such an overwhelming position against a computer, it most probably means that the computer was forced to make a "sub-optimal" move from time to time - to give the player a chance to win the game. The problem is that the computer has no clue what is a "reasonable" mistake from a human point of view.
There is no need to compile your own version of Stockfish for this. Instead you can just start from a position that omits castling rights for one side or the other. The FEN for the initial position without castling rights for White is
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w kq - 0 1
and the FEN for the initial position without castling rights for ...
The definition of the word is rather subjective, since it depends on how much you value objectivity vs practicality. I think it seems reasonable to take both aspects into account. For example, a move that gives up a pawn on the spot (and offers no compensation) could be considered a blunder. Objectively it's clearly a poor move, and practically it's easy to ...
I think that when you started a new game you accidentally choose the Variant "Suicide" or "Losers". (It might be preselected now that you have selected it once.)
Why would this explain the situation?
In these Variations of chess (you might know them as antichess, the losing game, giveaway chess, suicide chess, killer chess, must-kill, ...
If you do not want to use a library/API to get this information, then you will need to implement some parsing to get it, but in principle (almost) all the info you need is available via (non-standard) UCI commands:
Perft lists all legal moves. E.g., for the starting position go perft 1 gives you:
Stockfish, at depth 20, evaluates Rfe1 with a score of -8.5, while cxd4 has one of -2.6. With so large a difference, the explanation is that
you were playing against a weak computer. There is usually
a gradient (e.g. from 1 to 10) of difficulty to choose from
when playing against a computer, so you have probably chosen something
far from 10. Chess.com (...
It's been a long time since I've made any efficiency mods, but this can be reduced to one if statement, but many would be easier to read.
!bitboard_occupied // easy to find by ORing with f1/g1 (or queenside)
!bitboard_attacked | [square e1/f1/g1 (or queenside) // attacked already known
!bitboard_moved | (h1 (or a1) & e1)
Updating the moved ...
Are there any methods to encourage the engine to go for mate rather
than a massive material imbalance?
Any reasonably sophisticated position evaluation function is going to give extra points for certain positional elements (passed pawns, advanced pawns, bishop pair, etc.) and deduct points for other negative positional elements (doubled pawns, isolated ...
Tim Krabbe discusses this in his website (see section 328).
It's an old post - dating to 2006 - so it's certainly possible. However 2006 was also a long time ago. Since then engines have gotten more familiar with the rules, and all the top engines I'm aware of are aware of the 50-move rule. 493 moves is very long, but it should still be fairly trivial to get ...
I'm adding another answer because although this opening is not refuted, I believe it's quite close and OP will be interested.
Edit with better example: this line of the Najdorf, also played in the TCEC Season 18 superfinal, might very well be "busted".
1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8. Qf3 ...
Gary Kasparov said this when Stockfish was only rated around 3100:
“There has been a steady, but slow, drive upwards. But the strongest chess [software] engines today -Stockfish, Komodo– are in the 3100-plus category, so much stronger that competition even with Magnus Carlsen would make no sense. Not because they understand chess, but because they make ...
For what that's worth, Stockfish 11 gives
Rh2 as +2.6
Kb4 as +2.2
Bxc7 as +0.6
other moves as 0.0
on my machine at depth 45 (will be updating this answer while it digs deeper). Rh2 and Kb4 occasionally switch positions as #1 and #2, so it's still unclear which one of these is truly best. Bxc7 surely isn't, however, at least if you believe Stockfish.
The position appears to be a win for White. To win the position White needs to bring their king. So the first step of a the winning plan is to put the white rook to f4. The position after a rook trade is easily winning for White, so Black's response would have to be to defend f7 from the 7th rank. For instance:
1.Ra4 Re2 2.Rf4 Re7
Now White can bring their ...
Without reviewing the complete code (which is probably humongous), it is difficult to give a proven right answer.
However, it should work if you replace the lines for the black castling possibilities by BLACK_00 = 0, BLACK_000 = 0, (or respectively for the white, if you want). This should lead to all tests in the code returning 'black castling not possible', ...
Castling checks seem easy to short-circuit to be efficient. For my own implementation (not blazing fast), I did the following checks in order:
Generate pseudo-legal move:
Castling rights: Booleans for each castling, flipped when relevant king/rook move for the first time.
Intervening squares vacant: precalculated bitboards for each castling; AND it with all ...
I am not sure about the fastest way but I used pre-defined bitboards with 1:s on the bishop and knight squares (and queen if castling queen side) respectively and AND those together with the all pieces bitboard (there can't be any oppoennt pieces on the squares either). If the resulting bitboard is empty and you have castling rights, then you are allowed to ...
FEN is fine for unambiguous communication of a position (if you include castling and e.p. state too) but the internal representation should be as a board, with some kind of movement so you can efficiently check for legal moves, blocks, checks etc. Would hate to do all that with regex!
This quite a well-travelled area, and there must be much material online. ...
Stockfish gains about 50 elo from the Cerebellum opening book ("Brainfish" is just Stockfish equipped with Cerebellum).
I don't know if the effect of opening books varies depending on engine strength, however.
Two things to note:
1 refer to "on" a square, not in
2: An image would still be highly appreciated as compared to writing out coordinates.
Assuming I have the right position
White has a higher chance of winning according to engines.
However, if assuming both engines play perfect moves, this by human trial will be a draw. I can't see anyway how ...
The number of games doesn't really effect improvement.
Let's say that in the 500th game that is discovers the common Nf7 fork. This knowledge isn't useful until it plays enough games to discover that the rook is worth mort than a knight. Both pieces of information is needed, plus and ability to associate them, to understand that the fork is a positive play....
Yes, you can do this in the chess.com app (or at least you could in a previous version.)
Tap the "Computer" menu button.
When it shows the starting options, tap "Position". (This is the bottom option; you may need to scroll down to see it.)
It gives you a list of choices. Tap "Custom Setup".
You can now set up the position as ...
Try the chess.com website. They have plenty of resources available. They also have a fully trained neural net which evaluated and scores your games with the aim to improve the player and facilitate their learning process.
I have done some Deep Reinforcement Learning so I can tell you that making a NN is not the way forward here and it is far from easy. If you manage to take the NN of LC0 as it is and train it with another algorithm (according to how you want it), you can get your training software. Even designing this algorithm would be difficult.
The point here is that LC0 ...