A New Perspective on Chess Complexity
Moderator: Ras
-
rblasingame
- Posts: 9
- Joined: Sun Jul 05, 2026 7:16 pm
- Full name: Ryan Blasingame
Re: A New Perspective on Chess Complexity
@syzygy, you clearly didn't read a single Axiom from section 1....the model is entirely outcome-agnostic, the display model intentionally treats Knights and Bishops as a unified isomorphic class called "Minor Pieces", the Full Model decouples them, and the slack variable based Diophantine equation (those terms mean very specific things in the context of that equation by the way): m + r + q = 8 - k DOES account for pawns captured before they promote. You clearly haven't actually read the paper, you're just being intentionally hostile.
-
rblasingame
- Posts: 9
- Joined: Sun Jul 05, 2026 7:16 pm
- Full name: Ryan Blasingame
Re: A New Perspective on Chess Complexity
@OttoLau, that is actually a good catch and a good point, thank you for the helpful critique, I will fix that reference to the 8-piece tablebases.
-
syzygy
- Posts: 6044
- Joined: Tue Feb 28, 2012 11:56 pm
Re: A New Perspective on Chess Complexity
I have already summarized your 37-page paper. You counted something and you counted it wrong.rblasingame wrote: ↑Fri Jul 10, 2026 10:16 pm @syzygy, you clearly didn't read a single Axiom from section 1....the model is entirely outcome-agnostic, the display model intentionally treats Knights and Bishops as a unified isomorphic class called "Minor Pieces", the Full Model decouples them, and the slack variable based Diophantine equation (those terms mean very specific things in the context of that equation by the way): m + r + q = 8 - k DOES account for pawns captured before they promote. You clearly haven't actually read the paper, you're just being intentionally hostile.
-
rblasingame
- Posts: 9
- Joined: Sun Jul 05, 2026 7:16 pm
- Full name: Ryan Blasingame
Re: A New Perspective on Chess Complexity
@syzygy, k represents the number of unpromoted pawns, whether or not those pawns are on the board or in the graveyard. It is an objective count of the number of pawns that have not promoted per player. All the math you posted from ChatGPT doesn't account for spatially possible or impossible pawn promotions, those are the baseline combinations, my model does account for this. Go read the section 1 Axioms and Notes, it will literally answer all of the criticisms you have offered. Then go read section 3 vs section 6, the display and full models. Then go read section 8.4 to see the relevance of the full model.
-
syzygy
- Posts: 6044
- Joined: Tue Feb 28, 2012 11:56 pm
Re: A New Perspective on Chess Complexity
Code: Select all
def calculate_discrete_chess_macro_space():
total_player_states = 0
# Iterate through all four independent promotion pathways
for mn in range(9): # Knight promotions: 0 to 8
for mb in range(9): # Bishop promotions: 0 to 8
for r in range(9): # Rook promotions: 0 to 8
for q in range(9): # Queen promotions: 0 to 8
# Enforce the updated four-variable Pawn material constraint
if mn + mb + r + q <= 8:
# Compute discrete choices per isolated asset class (T + 1 rule)
pawns = 8 - mn - mb - r - q + 1
knights = 3 + mn
bishops = 3 + mb
rooks = 3 + r
queens = 2 + q
# Accumulate combinations for this specific promotion profile
total_player_states += pawns * knights * bishops * rooks * queensFor example, (q,r,b,n,p) = (1,2,2,2,7) is counted for (mn,mb,r,q)=(3,2,2,1) but also for (mn,mb,r,q)=(2,3,2,1), (2,2,3,1) and (2,2,2,2).
I think what you are counting is indeed the number of material combinations where a captured pawn that never promoted is different from a captured pawn that promoted to a kinght before it got captured, and different from a captured pawn that promoted to a bishop, etc.
I hope you will at least agree that making this distinction is not useful for the human experience.
-
rblasingame
- Posts: 9
- Joined: Sun Jul 05, 2026 7:16 pm
- Full name: Ryan Blasingame
Re: A New Perspective on Chess Complexity
A game ending with a Knight in the graveyard is a fundamentally different human-experience than ending with a Bishop in the graveyard...that is literally the point of separating the display and full models. And yes, that is exactly what is being tracked by the algorithm. The model doesn't care what order the pieces ended up in the graveyard, it only distinguishes between the board-graveyard ledgers as discrete lists of items. This is a combinatoric model, not a permutative model, that's where the complexity reduction of 109-110 orders of magnitude stems from. Please, go read the Axioms in section 1.syzygy wrote: ↑Fri Jul 10, 2026 10:53 pm For example, (q,r,b,n,p) = (1,2,2,2,7) is counted for (mn,mb,r,q)=(3,2,2,1) but also for (mn,mb,r,q)=(2,3,2,1), (2,2,3,1) and (2,2,2,2).
I think what you are counting is indeed the number of material combinations where a captured pawn that never promoted is different from a captured pawn that promoted to a kinght before it got captured, and different from a captured pawn that promoted to a bishop, etc.
I hope you will at least agree that making this distinction is not useful for the human experience.
-
syzygy
- Posts: 6044
- Joined: Tue Feb 28, 2012 11:56 pm
Re: A New Perspective on Chess Complexity
Correct calculation:
Code: Select all
def calculate_distinct_white_material_combinations():
total = 0
for pawns in range(9):
promotions_available = 8 - pawns
for knights in range(11):
for bishops in range(11):
for rooks in range(11):
for queens in range(10):
promotions_required = (
max(knights - 2, 0)
+ max(bishops - 2, 0)
+ max(rooks - 2, 0)
+ max(queens - 1, 0)
)
if promotions_required <= promotions_available:
total += 1
return total
player_total = calculate_distinct_white_material_combinations()
global_total = player_total**2
print(f"Distinct white material combinations: {player_total:,}")
print(f"Cartesian square: {global_total:,}")Code: Select all
$ python ./count.py
Distinct white material combinations: 8,694
Cartesian square: 75,585,636-
syzygy
- Posts: 6044
- Joined: Tue Feb 28, 2012 11:56 pm
Re: A New Perspective on Chess Complexity
So you never played chess?rblasingame wrote: ↑Fri Jul 10, 2026 11:02 pmA game ending with a Knight in the graveyard is a fundamentally different human-experience than ending with a Bishop in the graveyard...that is literally the point of separating the display and full models. And yes, that is exactly what is being tracked by the algorithm. The model doesn't care what order the pieces ended up in the graveyard, it only distinguishes between the board-graveyard ledgers as discrete lists of items. This is a combinatoric model, not a permutative model, that's where the complexity reduction of 109-110 orders of magnitude stems from. Please, go read the Axioms in section 1.syzygy wrote: ↑Fri Jul 10, 2026 10:53 pm For example, (q,r,b,n,p) = (1,2,2,2,7) is counted for (mn,mb,r,q)=(3,2,2,1) but also for (mn,mb,r,q)=(2,3,2,1), (2,2,3,1) and (2,2,2,2).
I think what you are counting is indeed the number of material combinations where a captured pawn that never promoted is different from a captured pawn that promoted to a kinght before it got captured, and different from a captured pawn that promoted to a bishop, etc.
I hope you will at least agree that making this distinction is not useful for the human experience.
You only introduced complexity for no good reason. There are just 8,694 material combinations for each side, not 300,000. The order in which captured pieces were captured is indeed irrelevant. Whether captured pawns were captured before or after promotion is equally irrelevant. Your "axioms" apparently disagreeing with this elementary fact about chess does not change this. (I guess it may explain how your LLM ended up counting the wrong thing.)
And obviously material balance has been used since forever in the most primitive evaluation functions.
-
rblasingame
- Posts: 9
- Joined: Sun Jul 05, 2026 7:16 pm
- Full name: Ryan Blasingame
Re: A New Perspective on Chess Complexity
@syzygy, Pawns cannot be "captured" after they promote, Axiom 4: Pawn Promotion is strictly treated as a substitution event where the pawn is removed from the board to the graveyard and substituted with another piece class (Q,R,N,B). This means that a graveyard can have a maximum of 23 pieces per player if all 16 pawns promote and then all pieces are captured. This is a spatial impossibility because pawns can't hop over each other to reach the last rank, but it is specifically handled by the model to keep the tracking algorithm linear. Please....go read the Axioms of section 1. They specifically deal with all the criticisms you have offered thus far.
-
syzygy
- Posts: 6044
- Joined: Tue Feb 28, 2012 11:56 pm
Re: A New Perspective on Chess Complexity
Can you spot the difference between this posiiton:rblasingame wrote: ↑Fri Jul 10, 2026 11:30 pm @syzygy, Pawns cannot be "captured" after they promote, Axiom 4: Pawn Promotion is strictly treated as a substitution event where the pawn is removed from the board to the graveyard and substituted with another piece class (Q,R,N,B). This means that a graveyard can have a maximum of 23 pieces per player if all 16 pawns promote and then all pieces are captured. This is a spatial impossibility because pawns can't hop over each other to reach the last rank, but it is specifically handled by the model to keep the tracking algorithm linear. Please....go read the Axioms of section 1. They specifically deal with all the criticisms you have offered thus far.
[d]rr4k1/6pp/2Q5/3KN3/8/q7/8/8 w - - 0 1
and this position:
[d]rr4k1/6pp/2Q5/3KN3/8/q7/8/8 w - - 0 1