Freestyle chess Starting Positions

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Dimitris Panagakos
Posts: 3
Joined: Fri May 22, 2026 12:50 pm
Full name: Dimitris Panagakos

Freestyle chess Starting Positions

Post by Dimitris Panagakos »

I Analyzed All 960 Freestyle chess Starting Positions with Stockfish 17 and Leela Chess Zero

For years, Chess960 has been promoted as the ultimate antidote to opening memorization. By randomizing the back-rank setup while preserving the core rules of chess, the variant forces players to rely on creativity and calculation instead of theory.

But one question kept bothering me:

Are all 960 starting positions actually equally fair?

So I decided to test it.

Using Stockfish and Leela Chess Zero, I analyzed every single legal Chess960 starting position to see how balanced they really are.

The results were fascinating.

The Experiment

I evaluated all 960 starting positions using:

Stockfish 17 NNUE
Depth 20
Deterministic single-thread analysis
Chess960 mode enabled

I also used Leela Chess Zero (Lc0) as a secondary engine to compare overall evaluation trends and verify that the results were not simply artifacts of Stockfish’s search style.

The goal was simple:

Find the most balanced positions
Find the sharpest positions
Measure White’s average first-move advantage
Determine whether some structures are objectively more volatile than others

The Big Result

After analyzing all 960 positions, the average evaluation came out to:

+0.36 pawns for White

That’s remarkably close to classical chess.

Overall statistics:

Metric Value
Mean evaluation +36.7 cp
Median +31 cp
Standard deviation 18.4 cp
Minimum +2 cp
Maximum +83 cp

What surprised me most was not the average — but the spread.

Some Chess960 setups are significantly sharper than others.

The Most Balanced Positions

These positions produced evaluations closest to equality:

Rank SP Evaluation
1 SP 498 0.00
2 SP 318 +0.01
3 SP 647 +0.01
4 SP 222 +0.02
5 SP 606 −0.02

Even at depth 20, several positions remained almost perfectly equal.

The Sharpest Positions

At the other extreme:

Rank SP Evaluation
1 SP 783 +0.83
2 SP 15 +0.82
3 SP 176 +0.82
4 SP 477 +0.80
5 SP 880 +0.77

These positions consistently gave White a noticeably larger initiative right from move one.

Pawn Structure Matters More Than I Expected

I divided the dataset into structural categories.

Fully-Defended (FD)
Every pawn is defended by a back-rank piece.
360 positions have been found!

Uncovered (UC)
At least one pawn begins undefended.
600 positions have been found!

The difference was dramatic.

Subset Mean Eval
Fully-Defended +29.9 cp
Uncovered +41.2 cp

Uncovered positions were substantially sharper and more volatile.

In other words:

initial pawn support strongly affects opening stability.

This was one of the clearest patterns in the entire dataset.

A Small Structural Metric

To quantify opening irregularity, I created a simple metric called the Structural Complexity Index (SCI):

SCI = U + (1 − K)

Where:

U = number of uncovered pawns
K = 1 if the king starts on the e-file

Higher SCI values generally correlated with more chaotic and imbalanced positions.

It’s not a predictive formula yet, but it turned out to be surprisingly descriptive.

What About Leela?

One thing I really wanted to avoid was relying on only one engine philosophy.

Stockfish and Lc0 evaluate chess very differently:

Stockfish emphasizes deep search efficiency
Lc0 relies more heavily on neural positional understanding

Interestingly, both engines converged toward similar large-scale trends as analysis depth increased.

That gave me confidence that the patterns I was seeing were not random engine artifacts.

So… Is Chess960 Actually Fair?

My conclusion is:

Chess960 is statistically fair overall,
but not uniformly fair.

Most positions fall within a relatively compact range of evaluations.

However, some randomized setups clearly produce sharper and more asymmetric opening conditions than others.

Randomization reduces memorization — but it does not eliminate structural imbalance.

Why This Matters

Modern chess engines allow us to study opening fairness quantitatively for the first time.

Instead of arguing abstractly about whether a setup “looks balanced,” we can now measure:

volatility,
initiative,
structural stability,
and practical sharpness.

Chess960 may still be the best attempt at solving the opening-theory problem — but the data suggests that not all randomized starts are created equal.

Future Plans

Next, I’d like to explore:

engine self-play on all 960 positions,
practical win-rate statistics,
neural clustering of position types,
opening-tree complexity,
and human performance differences across setups.

Because I suspect we’ve only scratched the surface of what Chess960 can reveal about chess itself.

Dimitris Panagakos
FIDE school instructor.
MOBMAT
Posts: 416
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Re: Freestyle chess Starting Positions

Post by MOBMAT »

Interesting analysis, but is 20 ply enough? starting from an opening position it takes awhile before there are enough captures to find deep traps, etc.

Since you are only analyzing 960 positions, set the search depth deeper and you'll still have results in less than a day.

What were your Stockfish settings? How many threads, memory? EGTB probably won't matter from the starting position.

Also, there was much progress between SF17 and SF18, you might want to rerun with the latter.

V
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
User avatar
Nordlandia
Posts: 2845
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Freestyle chess Starting Positions

Post by Nordlandia »

Out of the positions in FRC. 360 turn out to have all pawns defended. In Chess324 that number is 9. Now, if 9^2 x 16 permutational castling rights, ought to be 1,296 positions.

[d]rbbnkqnr/pppppppp/8/8/8/8/PPPPPPPP/RNQNKBBR w Qkq - 0 1
Jouni
Posts: 3907
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Re: Freestyle chess Starting Positions

Post by Jouni »

I just played 800 games match between Stockfish and Reckless. Time control 60 + 0.6.

Code: Select all

                       
1   Stockfish      +38/=729/-33 50.31%  402.5/800
2   Reckless010    +33/=729/-38 49.69%  397.5/800

So draw rate 91%.
Jouni