Branching Factor of top engines

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

Moderator: Ras

User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

Mike S. wrote:Thanks! - The following results are from:

Intel i5-3210M dualcore CPU, 2.5...2.9 GHz, 4 threads, 512 MB hash

I used 24 typical test positions where I did remove the solutions from.

Code: Select all

Stockfish 3:

  Ply:13   Positions: 24   Avg Nodes:  534983   Branching = 1.53
  Ply:14   Positions: 24   Avg Nodes:  890472   Branching = 1.66
  Ply:15   Positions: 24   Avg Nodes: 1408187   Branching = 1.58
  Ply:16   Positions: 24   Avg Nodes: 2542482   Branching = 1.81
  Ply:17   Positions: 24   Avg Nodes: 3645244   Branching = 1.43
  Ply:18   Positions: 24   Avg Nodes: 5995531   Branching = 1.64
  Ply:19   Positions: 24   Avg Nodes: 9162520   Branching = 1.53
  
  Ø 13-19: Branching = 1.59
  -------------------------

Houdini 1.5a2d:

  Ply:13   Positions: 24   Avg Nodes: 2318969   Branching = 2.20
  Ply:14   Positions: 24   Avg Nodes: 3533411   Branching = 1.52
  Ply:15   Positions: 24   Avg Nodes: 6277197   Branching = 1.78
  Ply:16   Positions: 24   Avg Nodes:10923726   Branching = 1.74
  Ply:17   Positions: 24   Avg Nodes:22735039   Branching = 2.08
  Ply:18   Positions: 24   Avg Nodes:37262728   Branching = 1.64
  Ply:19   Positions: 24   Avg Nodes:92113147   Branching = 2.47
  
  Ø 13-19: Branching = 1.89
  -------------------------

Fire 2.2 SK94z:

  Ply:13   Positions: 24   Avg Nodes: 1457645   Branching = 2.13
  Ply:14   Positions: 24   Avg Nodes: 3025788   Branching = 2.08
  Ply:15   Positions: 24   Avg Nodes: 5554708   Branching = 1.84
  Ply:16   Positions: 24   Avg Nodes: 9231240   Branching = 1.66
  Ply:17   Positions: 24   Avg Nodes:17663670   Branching = 1.91
  Ply:18   Positions: 24   Avg Nodes:33728006   Branching = 1.91
  Ply:19   Positions: 24   Avg Nodes:69387505   Branching = 2.06
  
  Ø 13-19: Branching = 1.94
  -------------------------

Critter 1.6a:

  Ply:11   Positions: 23   Avg Nodes:  423230   Branching = 2.07
  Ply:12   Positions: 24   Avg Nodes: 1034393   Branching = 2.44
  Ply:13   Positions: 24   Avg Nodes: 2028984   Branching = 1.96
  Ply:14   Positions: 24   Avg Nodes: 4671234   Branching = 2.30
  Ply:15   Positions: 24   Avg Nodes: 8611944   Branching = 1.84
  Ply:16   Positions: 24   Avg Nodes:13578797   Branching = 1.58
  Ply:17   Positions: 24   Avg Nodes:30989496   Branching = 2.28
  
  Ø 11-17: Branching = 2.05
  -------------------------
Your numbers are very close to mine, and I confirm large BF for Critter.

Critter 1.6
Ply:14 Positions: 29 Avg Nodes: 3691953 Branching = 2.08
Ply:15 Positions: 30 Avg Nodes: 6820432 Branching = 1.85
Ply:16 Positions: 30 Avg Nodes:13259218 Branching = 1.94
Ply:17 Positions: 30 Avg Nodes:28156190 Branching = 2.12
Ply:18 Positions: 30 Avg Nodes:53438707 Branching = 1.90
Ply:19 Positions: 30 Avg Nodes:92317813 Branching = 1.73
Ply:20 Positions: 30 Avg Nodes:263701745 Branching = 2.86
Average BF: 2.04
1/Log(BF)=1.40

I also include Komodo 5.1, its BF at relevant plies is almost identical to that of Komodo CCT, and it's small

Komodo 5.1
Ply:15 Positions: 30 Avg Nodes: 3180445 Branching = 1.68
Ply:16 Positions: 30 Avg Nodes: 6036024 Branching = 1.90
Ply:17 Positions: 30 Avg Nodes:11105522 Branching = 1.84
Ply:18 Positions: 30 Avg Nodes:18446620 Branching = 1.66
Ply:19 Positions: 30 Avg Nodes:33635008 Branching = 1.82
Ply:20 Positions: 30 Avg Nodes:57097466 Branching = 1.70
Ply:21 Positions: 30 Avg Nodes:97697825 Branching = 1.71
Average BF: 1.76
1/Log(BF)=1.78

Average BF in all my output is calculated as [Nodes(d)/Nodes(d-n)]^(1/n), where n is usually 6 or 7, spanning relevant plies, where the engines search from seconds to minutes on an i7 core.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

And the trend to lower EBF continues:
Laskos wrote:Shredder GUI has a nice feature that it shows BF of the engines analyzing an EPD file. I fed a neutral EPD file of 30 middlegame positions without solutions bm or am, to such depths that on average an engine analyzes for around one minute or a bit more each position on an i7 core. So BFs are shown for relevant plies, where engines spend from seconds to minutes.

I took three top engines, and an oldie, Shredder 6PB from 2002. If BF is the branching factor, then 1/Log(BF) is proportional to the depth the engine searches.

Houdini 3
Ply:15 Positions: 30 Avg Nodes: 4474464 Branching = 1.54
Ply:16 Positions: 30 Avg Nodes: 9993292 Branching = 2.23
Ply:17 Positions: 30 Avg Nodes:16583899 Branching = 1.66
Ply:18 Positions: 30 Avg Nodes:29529725 Branching = 1.78
Ply:19 Positions: 30 Avg Nodes:59452946 Branching = 2.01
Ply:20 Positions: 30 Avg Nodes:100502642 Branching = 1.69
Ply:21 Positions: 30 Avg Nodes:226412605 Branching = 2.25
Average BF: 1.86
Houdini 4
1.80

Stockfish 3
Ply:17 Positions: 30 Avg Nodes: 5738272 Branching = 1.51
Ply:18 Positions: 30 Avg Nodes: 9495564 Branching = 1.65
Ply:19 Positions: 30 Avg Nodes:14927319 Branching = 1.57
Ply:20 Positions: 30 Avg Nodes:25380846 Branching = 1.70
Ply:21 Positions: 30 Avg Nodes:37913346 Branching = 1.49
Ply:22 Positions: 30 Avg Nodes:58287426 Branching = 1.54
Ply:23 Positions: 30 Avg Nodes:105041456 Branching = 1.80
Average BF: 1.61
Stockfish (19 December)
1.53
Komodo 5 CCT
Ply:15 Positions: 30 Avg Nodes: 3132997 Branching = 1.74
Ply:16 Positions: 30 Avg Nodes: 5471869 Branching = 1.75
Ply:17 Positions: 30 Avg Nodes: 9833793 Branching = 1.80
Ply:18 Positions: 30 Avg Nodes:16946370 Branching = 1.72
Ply:19 Positions: 30 Avg Nodes:28120847 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:57150190 Branching = 2.03
Ply:21 Positions: 30 Avg Nodes:93519346 Branching = 1.64
Average BF: 1.76
Komodo TCEC
1.74
Shredder 6
Ply: 8 Positions: 30 Avg Nodes: 515591 Branching = 2.68
Ply: 9 Positions: 30 Avg Nodes: 1347856 Branching = 2.61
Ply:10 Positions: 30 Avg Nodes: 3997429 Branching = 2.97
Ply:11 Positions: 30 Avg Nodes: 8540293 Branching = 2.14
Ply:12 Positions: 30 Avg Nodes:19868716 Branching = 2.33
Ply:13 Positions: 30 Avg Nodes:51275681 Branching = 2.58
Ply:14 Positions: 30 Avg Nodes:119957110 Branching = 2.34
Average BF: 2.51
Especially Stockfish went nuts, 1.53 EBF :shock:
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

Laskos wrote:And the trend to lower EBF continues:
Laskos wrote:Shredder GUI has a nice feature that it shows BF of the engines analyzing an EPD file. I fed a neutral EPD file of 30 middlegame positions without solutions bm or am, to such depths that on average an engine analyzes for around one minute or a bit more each position on an i7 core. So BFs are shown for relevant plies, where engines spend from seconds to minutes.

I took three top engines, and an oldie, Shredder 6PB from 2002. If BF is the branching factor, then 1/Log(BF) is proportional to the depth the engine searches.

Houdini 3
Ply:15 Positions: 30 Avg Nodes: 4474464 Branching = 1.54
Ply:16 Positions: 30 Avg Nodes: 9993292 Branching = 2.23
Ply:17 Positions: 30 Avg Nodes:16583899 Branching = 1.66
Ply:18 Positions: 30 Avg Nodes:29529725 Branching = 1.78
Ply:19 Positions: 30 Avg Nodes:59452946 Branching = 2.01
Ply:20 Positions: 30 Avg Nodes:100502642 Branching = 1.69
Ply:21 Positions: 30 Avg Nodes:226412605 Branching = 2.25
Average BF: 1.86
Houdini 4
1.80

Stockfish 3
Ply:17 Positions: 30 Avg Nodes: 5738272 Branching = 1.51
Ply:18 Positions: 30 Avg Nodes: 9495564 Branching = 1.65
Ply:19 Positions: 30 Avg Nodes:14927319 Branching = 1.57
Ply:20 Positions: 30 Avg Nodes:25380846 Branching = 1.70
Ply:21 Positions: 30 Avg Nodes:37913346 Branching = 1.49
Ply:22 Positions: 30 Avg Nodes:58287426 Branching = 1.54
Ply:23 Positions: 30 Avg Nodes:105041456 Branching = 1.80
Average BF: 1.61
Stockfish (19 December)
1.53
Komodo 5 CCT
Ply:15 Positions: 30 Avg Nodes: 3132997 Branching = 1.74
Ply:16 Positions: 30 Avg Nodes: 5471869 Branching = 1.75
Ply:17 Positions: 30 Avg Nodes: 9833793 Branching = 1.80
Ply:18 Positions: 30 Avg Nodes:16946370 Branching = 1.72
Ply:19 Positions: 30 Avg Nodes:28120847 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:57150190 Branching = 2.03
Ply:21 Positions: 30 Avg Nodes:93519346 Branching = 1.64
Average BF: 1.76
Komodo TCEC
1.74
Shredder 6
Ply: 8 Positions: 30 Avg Nodes: 515591 Branching = 2.68
Ply: 9 Positions: 30 Avg Nodes: 1347856 Branching = 2.61
Ply:10 Positions: 30 Avg Nodes: 3997429 Branching = 2.97
Ply:11 Positions: 30 Avg Nodes: 8540293 Branching = 2.14
Ply:12 Positions: 30 Avg Nodes:19868716 Branching = 2.33
Ply:13 Positions: 30 Avg Nodes:51275681 Branching = 2.58
Ply:14 Positions: 30 Avg Nodes:119957110 Branching = 2.34
Average BF: 2.51
Especially Stockfish went nuts, 1.53 EBF :shock:
The trend towards lower EBF stalled in the last year:

Stockfish 21112014
Ply:17 Positions: 30 Avg Nodes: 2520170 Branching = 1.51
Ply:18 Positions: 30 Avg Nodes: 3687594 Branching = 1.46
Ply:19 Positions: 30 Avg Nodes: 6128828 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:10189536 Branching = 1.66
Ply:21 Positions: 30 Avg Nodes:17104813 Branching = 1.68
Ply:22 Positions: 30 Avg Nodes:26781716 Branching = 1.57
Ply:23 Positions: 30 Avg Nodes:38111406 Branching = 1.42
Average EBF: 1.56

Komodo 8
Ply:15 Positions: 30 Avg Nodes: 1889227 Branching = 1.80
Ply:16 Positions: 30 Avg Nodes: 3271696 Branching = 1.73
Ply:17 Positions: 30 Avg Nodes: 5940503 Branching = 1.82
Ply:18 Positions: 30 Avg Nodes:10922457 Branching = 1.84
Ply:19 Positions: 30 Avg Nodes:19377031 Branching = 1.77
Ply:20 Positions: 30 Avg Nodes:31847972 Branching = 1.64
Ply:21 Positions: 30 Avg Nodes:53195676 Branching = 1.67
Average EBF: 1.75
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: Branching Factor of top engines

Post by Henk »

It's easy to synthesize high search depths and low branching factors.
So this information does not say much about strength. Perhaps only extreme cases tells something for instance if search depth is (much) too low or too high.

For instance in my engine a much larger search depth means that it will play much worse. So it certainly would be a bug in my engine.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

Henk wrote:It's easy to synthesize high search depths and low branching factors.
So this information does not say much about strength. Perhaps only extreme cases tells something for instance if search depth is (much) too low or too high.

For instance in my engine a much larger search depth means that it will play much worse. So it certainly would be a bug in my engine.
Just observing the trend of top engines. There are engines with lower EBF than even Stockfish, being much weaker. But the trend in the last 10-20 years is clear - lower EBF and gaining strength.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

Laskos wrote:
Laskos wrote: Especially Stockfish went nuts, 1.53 EBF :shock:
The trend towards lower EBF stalled in the last year:

Stockfish 21112014
Ply:17 Positions: 30 Avg Nodes: 2520170 Branching = 1.51
Ply:18 Positions: 30 Avg Nodes: 3687594 Branching = 1.46
Ply:19 Positions: 30 Avg Nodes: 6128828 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:10189536 Branching = 1.66
Ply:21 Positions: 30 Avg Nodes:17104813 Branching = 1.68
Ply:22 Positions: 30 Avg Nodes:26781716 Branching = 1.57
Ply:23 Positions: 30 Avg Nodes:38111406 Branching = 1.42
Average EBF: 1.56

Komodo 8
Ply:15 Positions: 30 Avg Nodes: 1889227 Branching = 1.80
Ply:16 Positions: 30 Avg Nodes: 3271696 Branching = 1.73
Ply:17 Positions: 30 Avg Nodes: 5940503 Branching = 1.82
Ply:18 Positions: 30 Avg Nodes:10922457 Branching = 1.84
Ply:19 Positions: 30 Avg Nodes:19377031 Branching = 1.77
Ply:20 Positions: 30 Avg Nodes:31847972 Branching = 1.64
Ply:21 Positions: 30 Avg Nodes:53195676 Branching = 1.67
Average EBF: 1.75
Comparing to strong engines of some 15 years ago, for one of the first strong UCI engines, AnMon 5.10, the EBF looks like that:

AnMon 5.10
Ply: 8 Positions: 30 Avg Nodes: 830662 Branching = 2.84
Ply: 9 Positions: 30 Avg Nodes: 2501207 Branching = 3.01
Ply:10 Positions: 30 Avg Nodes: 7910929 Branching = 3.16
Ply:11 Positions: 30 Avg Nodes: 24128337 Branching = 3.05
Average EBF: 3.01

So, if BF in Chess is about 36, with Alpha-Beta, assuming good move ordering, the EBF is reduced to about square root of 36, or 6, during the early 1990s, then Alpha-Beta enhancements, transposition tables, null move pruning further reduced it to 3.00 (as seen in AnMon 5.10), then other prunnings to our days reduced it basically to square root of that.

Nowadays the EBF is ~ Sqrt[Sqrt(BF)/2]

The interesting thing is that although the meaning of a "depth" diluted, as it means nowadays simply "iteration", this "fixed depth" remained pretty constant in strength during the last 15 years:

Code: Select all

Score of Komodo depth 8 vs AnMon depth 8: 46 - 36 - 18  [0.55] 100
ELO difference: 35
Finished match
A single additional _ply_ gives comparable strength enhancement as it gave 15 years ago. But looking to the _nodes_ at this fixed depth, Komodo used on average 17,000 nodes to depth 8, AnMon used 830,000 nodes to depth 8. And the difference increases exponentially with depth. The value of a single node increased greatly during the last 15 years, without loosing in speed (Komodo and AnMon have similar NPS).

Nowadays top engines simply search twice as deep than 15 year old top engines, without losing in strength enhancement per ply.
Uri Blass
Posts: 10794
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Branching Factor of top engines

Post by Uri Blass »

Laskos wrote:
Laskos wrote:
Laskos wrote: Especially Stockfish went nuts, 1.53 EBF :shock:
The trend towards lower EBF stalled in the last year:

Stockfish 21112014
Ply:17 Positions: 30 Avg Nodes: 2520170 Branching = 1.51
Ply:18 Positions: 30 Avg Nodes: 3687594 Branching = 1.46
Ply:19 Positions: 30 Avg Nodes: 6128828 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:10189536 Branching = 1.66
Ply:21 Positions: 30 Avg Nodes:17104813 Branching = 1.68
Ply:22 Positions: 30 Avg Nodes:26781716 Branching = 1.57
Ply:23 Positions: 30 Avg Nodes:38111406 Branching = 1.42
Average EBF: 1.56

Komodo 8
Ply:15 Positions: 30 Avg Nodes: 1889227 Branching = 1.80
Ply:16 Positions: 30 Avg Nodes: 3271696 Branching = 1.73
Ply:17 Positions: 30 Avg Nodes: 5940503 Branching = 1.82
Ply:18 Positions: 30 Avg Nodes:10922457 Branching = 1.84
Ply:19 Positions: 30 Avg Nodes:19377031 Branching = 1.77
Ply:20 Positions: 30 Avg Nodes:31847972 Branching = 1.64
Ply:21 Positions: 30 Avg Nodes:53195676 Branching = 1.67
Average EBF: 1.75
Comparing to strong engines of some 15 years ago, for one of the first strong UCI engines, AnMon 5.10, the EBF looks like that:

AnMon 5.10
Ply: 8 Positions: 30 Avg Nodes: 830662 Branching = 2.84
Ply: 9 Positions: 30 Avg Nodes: 2501207 Branching = 3.01
Ply:10 Positions: 30 Avg Nodes: 7910929 Branching = 3.16
Ply:11 Positions: 30 Avg Nodes: 24128337 Branching = 3.05
Average EBF: 3.01

So, if BF in Chess is about 36, with Alpha-Beta, assuming good move ordering, the EBF is reduced to about square root of 36, or 6, during the early 1990s, then Alpha-Beta enhancements, transposition tables, null move pruning further reduced it to 3.00 (as seen in AnMon 5.10), then other prunnings to our days reduced it basically to square root of that.

Nowadays the EBF is ~ Sqrt[Sqrt(BF)/2]

The interesting thing is that although the meaning of a "depth" diluted, as it means nowadays simply "iteration", this "fixed depth" remained pretty constant in strength during the last 15 years:

Code: Select all

Score of Komodo depth 8 vs AnMon depth 8: 46 - 36 - 18  [0.55] 100
ELO difference: 35
Finished match
A single additional _ply_ gives comparable strength enhancement as it gave 15 years ago. But looking to the _nodes_ at this fixed depth, Komodo used on average 17,000 nodes to depth 8, AnMon used 830,000 nodes to depth 8. And the difference increases exponentially with depth. The value of a single node increased greatly during the last 15 years, without loosing in speed (Komodo and AnMon have similar NPS).

Nowadays top engines simply search twice as deep than 15 year old top engines, without losing in strength enhancement per ply.
In order to claim that komodo and anmon get the same elo from a single additional ply you need to test also
komodo depth 1 vs anmon depth 1
komodo depth 2 vs anmon depth 2
...
komodo depth 7 vs anmon depth 7

I wonder if there is no trend of improving score for komodo or for anmon.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

Uri Blass wrote:
Laskos wrote:
Laskos wrote:
Laskos wrote: Especially Stockfish went nuts, 1.53 EBF :shock:
The trend towards lower EBF stalled in the last year:

Stockfish 21112014
Ply:17 Positions: 30 Avg Nodes: 2520170 Branching = 1.51
Ply:18 Positions: 30 Avg Nodes: 3687594 Branching = 1.46
Ply:19 Positions: 30 Avg Nodes: 6128828 Branching = 1.66
Ply:20 Positions: 30 Avg Nodes:10189536 Branching = 1.66
Ply:21 Positions: 30 Avg Nodes:17104813 Branching = 1.68
Ply:22 Positions: 30 Avg Nodes:26781716 Branching = 1.57
Ply:23 Positions: 30 Avg Nodes:38111406 Branching = 1.42
Average EBF: 1.56

Komodo 8
Ply:15 Positions: 30 Avg Nodes: 1889227 Branching = 1.80
Ply:16 Positions: 30 Avg Nodes: 3271696 Branching = 1.73
Ply:17 Positions: 30 Avg Nodes: 5940503 Branching = 1.82
Ply:18 Positions: 30 Avg Nodes:10922457 Branching = 1.84
Ply:19 Positions: 30 Avg Nodes:19377031 Branching = 1.77
Ply:20 Positions: 30 Avg Nodes:31847972 Branching = 1.64
Ply:21 Positions: 30 Avg Nodes:53195676 Branching = 1.67
Average EBF: 1.75
Comparing to strong engines of some 15 years ago, for one of the first strong UCI engines, AnMon 5.10, the EBF looks like that:

AnMon 5.10
Ply: 8 Positions: 30 Avg Nodes: 830662 Branching = 2.84
Ply: 9 Positions: 30 Avg Nodes: 2501207 Branching = 3.01
Ply:10 Positions: 30 Avg Nodes: 7910929 Branching = 3.16
Ply:11 Positions: 30 Avg Nodes: 24128337 Branching = 3.05
Average EBF: 3.01

So, if BF in Chess is about 36, with Alpha-Beta, assuming good move ordering, the EBF is reduced to about square root of 36, or 6, during the early 1990s, then Alpha-Beta enhancements, transposition tables, null move pruning further reduced it to 3.00 (as seen in AnMon 5.10), then other prunnings to our days reduced it basically to square root of that.

Nowadays the EBF is ~ Sqrt[Sqrt(BF)/2]

The interesting thing is that although the meaning of a "depth" diluted, as it means nowadays simply "iteration", this "fixed depth" remained pretty constant in strength during the last 15 years:

Code: Select all

Score of Komodo depth 8 vs AnMon depth 8: 46 - 36 - 18  [0.55] 100
ELO difference: 35
Finished match
A single additional _ply_ gives comparable strength enhancement as it gave 15 years ago. But looking to the _nodes_ at this fixed depth, Komodo used on average 17,000 nodes to depth 8, AnMon used 830,000 nodes to depth 8. And the difference increases exponentially with depth. The value of a single node increased greatly during the last 15 years, without loosing in speed (Komodo and AnMon have similar NPS).

Nowadays top engines simply search twice as deep than 15 year old top engines, without losing in strength enhancement per ply.
In order to claim that komodo and anmon get the same elo from a single additional ply you need to test also
komodo depth 1 vs anmon depth 1
komodo depth 2 vs anmon depth 2
...
komodo depth 7 vs anmon depth 7

I wonder if there is no trend of improving score for komodo or for anmon.

Code: Select all

depth 1/
Score of Kom vs An: 77 - 9 - 14  [0.84] 100
ELO difference: 288
Finished match

depth 2/
Score of Kom vs An: 62 - 28 - 10  [0.67] 100
ELO difference: 123
Finished match

depth 3/
Score of Kom vs An: 43 - 40 - 17  [0.52] 100
ELO difference: 10
Finished match

depth 4/
Score of Kom vs An: 41 - 42 - 17  [0.49] 100
ELO difference: -3
Finished match

depth 5/
Score of Kom vs An: 38 - 45 - 17  [0.47] 100
ELO difference: -24
Finished match

depth 6/
Score of Kom vs An: 35 - 41 - 24  [0.47] 100
ELO difference: -21
Finished match

depth 7/
Score of Kom vs An: 38 - 40 - 22  [0.49] 100
ELO difference: -7
Finished match

depth 8/
Score of Kom vs An: 46 - 36 - 18  [0.55] 100 
ELO difference: 35 
Finished match
The relation is non-linear: up to depth 5 (extremely short time used) AnMon 5.10 gains more per ply, from depths 6 to 8 (still not long time per move) Komodo 8 gains more per ply. So, extrapolating, at higher depths, which are hard to test, but are of some usual time control, Komodo 8 gains even more than AnMon 5.10 per ply, while going twice as deep to the same time (or having EBF of roughly square root of of AnMon 5.10 EBF).

Thus, due to extensions, reductions and various pruning techniques present top engines have at least equal in gain of strength relevant plies to those of engines of 15 years ago. Going twice as deep.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

I managed to extend up to fixed depth 9, AnMon is already slow at this depth on my PC:

Code: Select all

depth 1/
Score of Kom vs An: 77 - 9 - 14  [0.84] 100
ELO difference: 288
Finished match

depth 2/
Score of Kom vs An: 62 - 28 - 10  [0.67] 100
ELO difference: 123
Finished match

depth 3/
Score of Kom vs An: 43 - 40 - 17  [0.52] 100
ELO difference: 10
Finished match

depth 4/
Score of Kom vs An: 41 - 42 - 17  [0.49] 100
ELO difference: -3
Finished match

depth 5/
Score of Kom vs An: 38 - 45 - 17  [0.47] 100
ELO difference: -24
Finished match

depth 6/
Score of Kom vs An: 35 - 41 - 24  [0.47] 100
ELO difference: -21
Finished match

depth 7/
Score of Kom vs An: 38 - 40 - 22  [0.49] 100
ELO difference: -7
Finished match

depth 8/
Score of Kom vs An: 46 - 36 - 18  [0.55] 100 
ELO difference: 35 
Finished match

depth 9/
Score of Kom vs An: 39 - 32 - 29  [0.54] 100
ELO difference: 24
Finished match
So, towards later plies, they are about equal ply after ply in gaining strength, having EBF ~ 3 for AnMon and EBF ~ Sqrt(3) for Komodo.

What in terms of fixed time it means, is devastating:

Code: Select all

Games Completed = 100 of 100 (Avg game length = 107.222 sec)
Settings = Gauntlet/64MB/60000ms+150ms/M 700000cp for 1000 moves, D 150000 moves/PGN:C:\LittleBlitzer\swcr.pgn(5120)
Time = 10890 sec elapsed, 0 sec remaining
 1.  Komodo 8                 	99.5/100	99-0-1  	(L: m=0 t=0 i=0 a=0)	(D: r=1 i=0 f=0 s=0 a=0)	(tpm=1077.7 d=16.78 nps=1352946)
 2.  AnMon 5.10               	0.5/100	0-99-1  	(L: m=99 t=0 i=0 a=0)	(D: r=1 i=0 f=0 s=0 a=0)	(tpm=1202.5 d=9.25 nps=1061533)
Basically, searching almost twice as deep at fixed time, with the similar value of a ply as strength goes, Komodo 8 vanquishes AnMon 5.10, a 15 years old engine.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Branching Factor of top engines

Post by Laskos »

The EBF of Crafty 8.11 (a top engine of year 1994 or 1995) is 4.11, on only 12 positions to depths 9-13. So, 20 year old top engines had EBF ~ 4, top engines 15 year old EBF ~ 3, 10 year old EBF ~ 2.3, and nowadays top engines EBF ~ 1.7. As a general trend.