Computer Chess Club Archives


Search

Terms

Messages

Subject: Extreme move path enumerations

Author: Steven Edwards

Date: 02:28:17 08/22/03


The C++ chess programming toolkit CT has classes for working with time and
frequency (i.e., inverse time).  It also has a class for handling English names
for integers.  Plus, there are routines that know about SI (metric) magnitude
prefixes.  These can be combined with a move path enumeration class aided by a
transposition table for testing.

Consider the following rather simple position:

[D]4k3/8/8/8/8/8/8/4K3 w - -

Here are the move path enumerations for the depth varying from one up to
twenty-three:

Depth: 1
count: 5
Total: five
Frequency: 29.4118 Hz
Period: 34 ms
Cycles per node: 2.72e+07
Clock: zero seconds

Depth: 2
count: 25
Total: twenty-five
Frequency: 138.889 Hz
Period: 7.2 ms
Cycles per node: 5.76e+06
Clock: one second

Depth: 3
count: 170
Total: one hundred seventy
Frequency: 1.13333 KHz
Period: 882.353 us
Cycles per node: 705882
Clock: zero seconds

Depth: 4
count: 1156
Total: one thousand one hundred fifty-six
Frequency: 7.70662 KHz
Period: 129.759 us
Cycles per node: 103807
Clock: zero seconds

Depth: 5
count: 7922
Total: seven thousand nine hundred twenty-two
Frequency: 44.0111 KHz
Period: 22.7215 us
Cycles per node: 18177.2
Clock: zero seconds

Depth: 6
count: 53896
Total: fifty-three thousand eight hundred ninety-six
Frequency: 283.663 KHz
Period: 3.52531 us
Cycles per node: 2820.25
Clock: one second

Depth: 7
count: 375049
Total: three hundred seventy-five thousand forty-nine
Frequency: 1.97394 MHz
Period: 506.6 ns
Cycles per node: 405.28
Clock: zero seconds

Depth: 8
count: 2591703
Total: two million five hundred ninety-one thousand seven hundred three
Frequency: 12.3415 MHz
Period: 81.0274 ns
Cycles per node: 64.8219
Clock: zero seconds

Depth: 9
count: 17895172
Total: seventeen million eight hundred ninety-five thousand one hundred
seventy-two
Frequency: 74.5635 MHz
Period: 13.4114 ns
Cycles per node: 10.7291
Clock: zero seconds

Depth: 10
count: 122753895
Total: one hundred twenty-two million seven hundred fifty-three thousand eight
hundred ninety-five
Frequency: 438.407 MHz
Period: 2.28099 ns
Cycles per node: 1.82479
Clock: zero seconds

Depth: 11
count: 846285725
Total: eight hundred forty-six million two hundred eighty-five thousand seven
hundred twenty-five
Frequency: 2.56451 GHz
Period: 389.938 ps
Cycles per node: 0.31195
Clock: one second

Depth: 12
count: 5807121096
Total: five billion eight hundred seven million one hundred twenty-one thousand
ninety-six
Frequency: 15.2819 GHz
Period: 65.4369 ps
Cycles per node: 0.0523495
Clock: zero seconds

Depth: 13
count: 39881239565
Total: thirty-nine billion eight hundred eighty-one million two hundred
thirty-nine thousand five hundred sixty-five
Frequency: 92.7471 GHz
Period: 10.782 ps
Cycles per node: 0.00862561
Clock: one second

Depth: 14
count: 272980168768
Total: two hundred seventy-two billion nine hundred eighty million one hundred
sixty-eight thousand seven hundred sixty-eight
Frequency: 557.105 GHz
Period: 1.79499 ps
Cycles per node: 0.001436
Clock: zero seconds

Depth: 15
count: 1871752175983
Total: one trillion eight hundred seventy-one billion seven hundred fifty-two
million one hundred seventy-five thousand nine hundred eighty-three
Frequency: 3.34242 THz
Period: 299.184 fs
Cycles per node: 0.000239347
Clock: one second

Depth: 16
count: 12804538065718
Total: twelve trillion eight hundred four billion five hundred thirty-eight
million sixty-five thousand seven hundred eighteen
Frequency: 20.3247 THz
Period: 49.2013 fs
Cycles per node: 3.9361e-05
Clock: one second

Depth: 17
count: 87658645339246
Total: eighty-seven trillion six hundred fifty-eight billion six hundred
forty-five million three hundred thirty-nine thousand two hundred forty-six
Frequency: 125.227 THz
Period: 7.98551 fs
Cycles per node: 6.38841e-06
Clock: one second

Depth: 18
count: 599160694162071
Total: five hundred ninety-nine trillion one hundred sixty billion six hundred
ninety-four million one hundred sixty-two thousand seventy-one
Frequency: 778.131 THz
Period: 1.28513 fs
Cycles per node: 1.0281e-06
Clock: one second

Depth: 19
count: 4098371103275924
Total: four quadrillion ninety-eight trillion three hundred seventy-one billion
one hundred three million two hundred seventy-five thousand nine hundred
twenty-four
Frequency: 4.87901 PHz
Period: 204.959 as
Cycles per node: 1.63968e-07
Clock: one second

Depth: 20
count: 28003379451441501
Total: twenty-eight quadrillion three trillion three hundred seventy-nine
billion four hundred fifty-one million four hundred forty-one thousand five
hundred one
Frequency: 31.1149 PHz
Period: 32.139 as
Cycles per node: 2.57112e-08
Clock: one second

Depth: 21
count: 191422801600109729
Total: one hundred ninety-one quadrillion four hundred twenty-two trillion eight
hundred one billion six hundred million one hundred nine thousand seven hundred
twenty-nine
Frequency: 195.33 PHz
Period: 5.11955 as
Cycles per node: 4.09564e-09
Clock: one second

Depth: 22
count: 1307549415628455609
Total: one quintillion three hundred seven quadrillion five hundred forty-nine
trillion four hundred fifteen billion six hundred twenty-eight million four
hundred fifty-five thousand six hundred nine
Frequency: 1.24529 EHz
Period: 803.027 zs
Cycles per node: 6.42422e-10
Clock: one second

Depth: 23
count: 8934501555889985874
Total: eight quintillion nine hundred thirty-four quadrillion five hundred one
trillion five hundred fifty-five billion eight hundred eighty-nine million nine
hundred eighty-five thousand eight hundred seventy-four
Frequency: 7.97725 EHz
Period: 125.357 zs
Cycles per node: 1.00285e-10
Clock: one second

After a depth of twenty-three, the count for the above position spills a
sixty-four bit integer.  I suppose I'll have to include a bignums class :)



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.