https://en.wikipedia.org/wiki/Solved_game (Ultra-weak)
https://en.wikipedia.org/wiki/Solving_chess
To bet on what the outcome will be, see:
Looks like we'll never learn what BB(5) is. That'd require running the 5-state Turing Machines we're uncertain about forever to see if they halt. I don't think we'll be able to think of any ways to apply mathematical ingenuity to this problem to reduce the amount of compute we'd need to determine the solution. Just a lost cause imo
@AdamK fair! but also chess has really weird rules that make it hard to apply mathematical ingenuity
@diracdeltafunk I feel like humanity hasn’t yet given formal mathematical analysis of chess a serious try. Let’s circle back when the notion of checkmate is formalized in Lean.
So for fun and to ever so slightly accelerate the resolution, I used an LLM to draft small programs to search syzygy's 6 piece table base for useful conditioned properties that guarantee a draw.
From this I got the lemma:
For a chess board with 6 pieces, perfect play results in a draw if all conditions below are satisfied:
- the position is mirrored
- there are no attacking pieces
- there are no checks
- there are no passed pawns
- there is a single pawn island
- The king is not passed the mid zone
- No pawns are passed the mid zone
- There are no trapped pieces, ex: [ rk6/b7/8/8/8/8/B7/RK6 w - - 0 1 ]
The starting position satisfies all of these conditions, so it will be interesting to see if this lemma holds for 8 pieces, 10 pieces, etc.
Trust this as far as you trust auto-generated code.
@MalachiteEagle I know that there is such a program which is easily understandable by humans. It works like this:
The program iterates through every possible chess game.
The program plays a move such that it is guaranteed to win (or draw if winning move isn't possible).
Repeat step 2 when it's your turn again.
Pretty easy to write the code for it, and easy to prove that it plays optimally. Of course, running the program would be pretty hard 🙃
@Pazzaz ah that's a good point. Maybe then update what I was saying as a program that executes in constant time, and this constant being something we can run fairly quickly on a standard computer.
@Pazzaz so we have a program we can run, and it always wins, and there's a proof that it always wins, but we just can't wrap our brains around the explanation
@JussiVilleHeiskanen I'm not sure how this could be a moving goalpost thing. This isn't about over-the-board chess, it's about chess about an abstract combinatorial game, the rules of which are very standardized these days. If you want something very precise, we can take "chess" to be the game whose game states and allowable moves are those given by the lichess.org analysis board.
@diracdeltafunk would you allow unlimited moves withou capturing or promoting a pawn in the spirit of the game in an abstract sense (or castling)
@JussiVilleHeiskanen Fair question, and I'm sorry for being dismissive. I'm not the market creator, but I feel pretty confident about what the ruleset is meant to be here. So: no, the 50-move rule applies (to make sure the game tree is finite). For the same reason, 3-fold repetition is an automatic draw. @IsaacKing is this what you have in mind?
@diracdeltafunk correct if I am wrong but haven't new theoretical work forced the 50 move rule to have been relaxed for certain combinatins of forces in a change of the rules for specific durations of games?
@diracdeltafunk Doesn't Manifold provide a loan on this for long bets to not keep money Mana tied up? or is that only for certain markets?
Y'all have never tried actually coming to grips with the size of the chess game tree
Out of curiosity, have you ever come to grips with this yourself? How many positions do you expect White/Black to be able to reach if Black/White was playing perfectly? How much compute do you think is needed for a solution here?
@BoltonBailey I think there are probably relatively few games which are perfect play (probably few enough to fit on all hard drives ever produced combined, for example). However, it is very very hard to tell which games these are; that's the whole point. I think solving chess would take more compute than we will EVER have, unless someone discovers a really amazing invariant of chess game states. I don't think there is likely to exist an amazing invariant like this.
To answer why quantum computers would help: We could develop some heuristic algorithm that plays sufficiently well and then prove there is no combination of moves from the opponent that beats it by Grover searching for such a combination and failing to find one.
As to why we would do this, I suppose the answer is the same as for any kind of blue-skies research - we would hopefully acquire more practical knowledge along the way.