New answers tagged

0

Elometer.net estamates your ELO rating on finding the best moves in 76 game-situations.


5

The issue may be here: Board newBoard = board; This creates a new variable, but it doesn't actually create a new Board. board and newBoard are pointing to the exact same Board object. So, when your code changes anything in newBoard, it also changes it in board, and when it changes, you get this error. What you may want to do is make an actual copy of board, ...


4

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 ...


2

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', ...


6

I agree with the answers above, however, there are actually some cases where GMs missed mate-in-ones in classical chess while not in time trouble. If memory servers right, I have read about that a few years back on chess.com's news page, but I cannot find the article right now. The main reason is the following: Player A only needs a draw (to outright win the ...


6

This depends entirely your horizon for what you consider a missed mate. Is there any upper bounds on the number of moves required? Would you consider a "mate in 53" to be a missed mate, even if no one, human or computer, had the computational power to actually find such a mate (but maybe in 100 years a computer could show a forced mating sequence ...


1

As the question you linked indicates there is a way to run bughouse engine games via FICS using XBoard/Winboard, which I also explained in my answer to a related question. However, if all of your engines are anyway running locally, that is neither very convenient nor an efficient way of running such matches, since the server communication in principle is ...


18

It really depends on what counts as a missed checkmate. In Blitz we occasionally see a missed mate in 1. In slower games, mates in a few moves are rarelly missed. But the problem is that sometimes long mate sequences will be "intentionally missed", as the player will go for a solid advatange that guarantees victory rather than calculate a 15-move ...


24

Probably more often than people realize. There have been several notable instances where GMs (even world champions) have missed simple mates in one. From my own experience, when I analyze my games the engine frequently will point out some ridiculous 25 move forced mate. In a game, I'm not going to take the time to calculate something like that out if I have ...


5

No engine that I’ve ever come across has this functionality. In fact it would actually be surprisingly difficult to get a chess engine to do this; The most fundamental rule of chess is that you have to checkmate your opponent’s king. A position without kings on the board wouldn’t make sense to something like Stockfish, because the game ends before the king ...


1

That's really bad practice in my opinion. I see no reason to play without kings. if you don't know yet how the pieces move, try moving them yourself on a physical board


1

You're right. Everything is based off of the assumption that 1 point= 1 pawn. Everything else is relative to that. If an engine is evaluating a position at +3 that means either it thinks that white can win the material advantage of three pawns or that white can obtain a positional advantage equivalent to three pawns or some combination of the two. How things ...


1

This is certainly not the case. Traditional engines "score" a position by running their evaluation function (which differs from engine to engine) on the best position at the end of their search tree (which also differs from engine to engine, since this position depends on their search algorithm). Sure there are standard concepts for scoring a ...


3

There is an issue with the syntax you are using. According to the UCI protocol you should use position startpos moves e2e4, i.e., the moves keyword is missing in your command.


2

I think you're misunderstanding something here based on the way you formulated your question. Multiplying the blockers by the magic and the shifting does not give you the attack set. What it gives you is an index by which you can lookup the attack set in a pre-computed array. The shifted product is a key, not a bitboard as you displayed it It is possible (...


3

Evaluation functions are built for "quiet" positions. That is, positions without a lot of unresolved tactics. This is why evaluation is done at the leaves of quiesence search, which resolves all reasonable captures and checks. The idea is that it would be incorrect to evaluate a position with lots of tactical options, because after those tactics ...


1

It sounds like you have all the tools to do the job, you just need to put it all together. And yes, you can use the magic numbers you found. When your engine initializes (or any time before you begin the search, really) you'll need to pre-compute the move board for every possible permutation of blockers you might encounter during the search. Initialization ...


2

Quiesence search isn't able to handle situations like that - including checks would explode the search tree. Two iterations later (assuming you're doing iterative deepening), Qxd5 and Bg3+ will take place in the main search, and then quiesence search would be able to find the continuation you described. Some engines include quiet checks in the first ply of ...


3

What you are seeing does not necessarily indicate a bug. You are searching the position with two different bounds. Your engine is fail-hard (because you return beta and not eval in the case of a fail-high), so the score that comes back from eval is going to be constrained within the bounds you provide. In the second case (using the numbers from your diagram,...


-1

I played against Sockfish 5 2000. I had won the game, I was chasing the king down with three connected pawns, and my king. Driving him back until I forced Stockfish into a stalemate. But until the last move made, I was 1 second ahead of the computers time. I hadn't played the game seriously since the 70's. Seen Lichess, Gave it a go. I actually didn't know ...


2

The Encyclopedia of Chess Openings is the standard game classification system of the chess world, with "standard" in the sense of "what almost everyone uses". I don't really understand the issue you seem to have with that. Regarding your actual questions: What I am really interested in is this-will a certain family of games would be more ...


8

Such a system doesn't exist exactly, but a few similar concepts do. There are many reasons, but the main reason is that it's not possible to classify chess games like this in any useful way. Yes, you could classify them based on the first move -- but who cares? Only 1.c4, 1.d4, 1.e4 and 1.Nf3 are really important, and they often transpose into each other (1....


3

Yes, there is. It derives from the Encyclopedia of Chess Openings and the codes they used to classify openings. You can find a comprehensive list of the ECO codes here.


1

It is possible, if the computer program has a bug... A position is assigned a win-in-(k+1) only when one move from that leads to a loss-in-k, and assigned a loss-in-k only when every move from that leads to a win-in-k or when k=0 and it is a checkmate. So every correct chess program will never assign a position to win-in-12 and then later revise it to win-in-...


3

If a king is in check, that's a major thing. There are likely to be few legal replies for the engine to consider. It's also unlikely (although possible) that there would be a large chain of checks from both sides. And it's very unlikely that you'd want to immediately prune the check; they're almost always worth at least considering. When the engine is ...


0

It depends on the parallelizability of the best chess engine. If the engine has not be implemented to efficiently run on many distributed computers and coordinate the results, then an alternative engine could theoretically exploit that.


7

The answer is more complicated than you want to try to make it. Any definitive "yes" or "no" answer begs the questions of the conditions of the match, the hardware used, and the difference in strength of the players involved. Instead of answering your question directly, here I plan to go through the thought processes needed which guide ...


3

Your estimate is a bit high. In particular you overestimate the number of king moves. At most a king has 8 moves (not including castling which does not apply here), however here, both the black and the white king have a lot less legal moves than your estimated 10. The white king because it is on the edge of the board and the black king because it is not ...


3

Yes If the engines are learning engines, rather than stateless deterministic evaluators, then I think it is obvious that an ensemble would be stronger, for the same reason that I think a team of human chess players will, on average, beat all of the individuals in the team in a matchup. The hard part is deciding which move to use when multiple engines ...


6

Nope, at some point a legal move is selected as best move. Who ever makes that decision can't be better than the best engine. Otherwise there is a new best engine.


15

No, an ensemble of chess engines won't beat the best one. The reason is simply because of hardware. Let's take the strongest CPU engines right now to keep things simple. These are Stockfish, Komodo, Leela-CPU, Ethereal, Fire, and rofChade. Stockfish is the strongest. You have a four-core computer, running Stockfish. It's expected to beat all the other ...


23

The answer is "No". If you have a defined fixed set of resources - CPUs, memory, cache, etc. - and you allow one engine to have full use of them then that engine is going to be able to analyse to a greater depth than if you take the same set of resources and split them in some way between several different engines. Inevitably the single engine ...


2

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". [FEN ""] 1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8. Qf3 ...


10

Though I am not able to test it myself, I am confident of the following conclusion: An ensemble of engines should be able to beat the strongest individual engine Here are my key assumptions: Given typical time controls used for benchmarks, the time 'lost' by having a thin pre-evaluator before the engines would be negligible. As such we can say that the ...


1

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 ...


Top 50 recent answers are included