
Breakthrough Draughts
Re: Breakthrough Draughts
Gerard, and 7x5 (as expected) different.
Your count 4,037,313,808
7x5 P = 31.716.102.264, Capture = 27.452.979.405
7x5 P = 31.716.102.264, CW NCW CL NCL = 22.106.603.949 4.037.033.645 5.346.375.456 226.089.214
37610.2 7x5, P = 31.716.102.264, E = 0
Bert
Your count 4,037,313,808
7x5 P = 31.716.102.264, Capture = 27.452.979.405
7x5 P = 31.716.102.264, CW NCW CL NCL = 22.106.603.949 4.037.033.645 5.346.375.456 226.089.214
37610.2 7x5, P = 31.716.102.264, E = 0
Bert
Re: Breakthrough Draughts
I am now quite happy with my new (always monothread) generation programm.BertTuyt wrote:Gerard, and 7x5 (as expected) different.
Your count 4,037,313,808
7x5 P = 31.716.102.264, Capture = 27.452.979.405
7x5 P = 31.716.102.264, CW NCW CL NCL = 22.106.603.949 4.037.033.645 5.346.375.456 226.089.214
37610.2 7x5, P = 31.716.102.264, E = 0
Bert
As expected I am able to give your my first results (updates) concerning the 12P:
11x1 NCW1= 26 601 065 NCL1= 183 363 185 NCW2= 225 356 352 NCL2= 614 163
10x2 NCW1= 188 219 310 NCL1= 544 730 658 NCW2= 799 645 622 NCL2= 4 734 416
9x3 NCW1= 654 448 795 NCL1= 1 060 480 703 NCW2= 1 841 518 665 NCL2= 19 528 228
8x4 NCW1= 1 504 851 774 NCL1= 1 495 350 904 NCW2= 3 110 064 921 NCL2= 65 683 437
It seems we have the same results.
7x5 db is under generation
Gérard
Re: Breakthrough Draughts
Hi Bert
The updating of complete figures for the 12p db is the following
1x1 NCW1= 388 NCL1= 306 NCW2= NCL2=
2x1 NCW1= 2 378 NCL1= 5 958 NCW2= 7 155 NCL2= 1 188
3x1 NCW1= 14 054 NCL1= 50 560 NCW2= 59 902 NCL2= 4 907
2x2 NCW1= 56 410 NCL1= 33 269 NCW2= NCL2=
4x1 NCW1= 68 240 NCL1= 294 840 NCW2= 348 776 NCL2= 16 804
3x2 NCW1= 269 004 NCL1= 356 234 NCW2= 523 486 NCL2= 103 676
5x1 NCW1= 270 543 NCL1= 1 304 673 NCW2= 1 547 416 NCL2= 47 684
4x2 NCW1= 1 147 410 NCL1= 2 029 240 NCW2= 2 915 566 NCL2= 289 073
3x3 NCW1= 2 699 916 NCL1= 1 255 259 NCW2= NCL2=
6x1 NCW1= 883 318 NCL1= 4 603 636 NCW2= 5 486 597 NCL2= 111 373
5x2 NCW1= 4 120 949 NCL1= 8 405 869 NCW2= 12 056 507 NCL2= 688 813
4x3 NCW1= 9 722 656 NCL1= 8 544 479 NCW2= 15 601 037 NCL2= 2 782 311
7x1 NCW1= 2 407 027 NCL1= 13 347 307 NCW2= 16 003 384 NCL2= 216 446
6x2 NCW1= 12 320 688 NCL1= 27 549 799 NCW2= 39 638 961 NCL2= 1 388 052
5x3 NCW1= 31 054 854 NCL1= 34 759 573 NCW2= 61 457 674 NCL2= 5 417 363
4x4 NCW1= 56 865 877 NCL1= 20 714 313 NCW2= NCL2=
8x1 NCW1= 5 539 435 NCL1= 32 445 111 NCW2= 39 159 184 NCL2= 354 356
7x2 NCW1= 30 915 940 NCL1= 74 233 396 NCW2= 107 341 121 NCL2= 2 362 181
6x3 NCW1= 84 714 542 NCL1= 107 646 861 NCW2= 188 751 849 NCL2= 9 230 704
5x4 NCW1= 157 126 750 NCL1= 99 483 418 NCW2= 226 130 368 NCL2= 33 034 189
9x1 NCW1= 10 867 307 NCL1= 67 079 817 NCW2= 81 500 727 NCL2= 494 043
8x2 NCW1= 65 806 337 NCL1= 168 254 551 NCW2= 244 654 995 NCL2= 3 432 294
7x3 NCW1= 195 754 225 NCL1= 272 452 843 NCW2= 475 868 606 NCL2= 13 618 678
6x4 NCW1= 386 438 195 NCL1= 305 428 492 NCW2= 661 403 513 NCL2= 46 568 839
5x5 NCW1= 613 334 701 NCL1= 177 227 198 NCW2= NCL2=
10x1 NCW1= 18 303 045 NCL1= 119 186 655 NCW2= 145 709 055 NCL2= 591 990
9x2 NCW1= 119 881 601 NCL1= 325 786 738 NCW2= 476 222 708 NCL2= 4 310 944
8x3 NCW1= 385 924 492 NCL1= 580 671 876 NCW2= 1 011 361 726 NCL2= 17 425 842
7x4 NCW1= 822 036 259 NCL1= 738 771 798 NCW2= 1 563 996 834 NCL2= 58 664 245
6x5 NCW1= 1 331 456 147 NCL1= 642 927 936 NCW2= 1 787 497 847 NCL2= 212 677 134
11x1 NCW1= 26 601 065 NCL1= 183 363 185 NCW2= 225 356 352 NCL2= 614 163
10x2 NCW1= 188 219 310 NCL1= 544 730 658 NCW2= 799 645 622 NCL2= 4 734 416
9x3 NCW1= 654 448 795 NCL1= 1 060 480 703 NCW2= 1 841 518 665 NCL2= 19 528 228
8x4 NCW1= 1 504 851 774 NCL1= 1 495 350 904 NCW2= 3 110 064 921 NCL2= 65 683 437
7x5 NCW1= 2 586 459 664 NCL1= 1 557 408 544 NCW2= 4 037 033 645 NCL2= 226 089 214
6x6 NCW1= 3 751 257 816 NCL1= 893 491 452 NCW2= NCL2=
The updating of complete figures for the 12p db is the following
1x1 NCW1= 388 NCL1= 306 NCW2= NCL2=
2x1 NCW1= 2 378 NCL1= 5 958 NCW2= 7 155 NCL2= 1 188
3x1 NCW1= 14 054 NCL1= 50 560 NCW2= 59 902 NCL2= 4 907
2x2 NCW1= 56 410 NCL1= 33 269 NCW2= NCL2=
4x1 NCW1= 68 240 NCL1= 294 840 NCW2= 348 776 NCL2= 16 804
3x2 NCW1= 269 004 NCL1= 356 234 NCW2= 523 486 NCL2= 103 676
5x1 NCW1= 270 543 NCL1= 1 304 673 NCW2= 1 547 416 NCL2= 47 684
4x2 NCW1= 1 147 410 NCL1= 2 029 240 NCW2= 2 915 566 NCL2= 289 073
3x3 NCW1= 2 699 916 NCL1= 1 255 259 NCW2= NCL2=
6x1 NCW1= 883 318 NCL1= 4 603 636 NCW2= 5 486 597 NCL2= 111 373
5x2 NCW1= 4 120 949 NCL1= 8 405 869 NCW2= 12 056 507 NCL2= 688 813
4x3 NCW1= 9 722 656 NCL1= 8 544 479 NCW2= 15 601 037 NCL2= 2 782 311
7x1 NCW1= 2 407 027 NCL1= 13 347 307 NCW2= 16 003 384 NCL2= 216 446
6x2 NCW1= 12 320 688 NCL1= 27 549 799 NCW2= 39 638 961 NCL2= 1 388 052
5x3 NCW1= 31 054 854 NCL1= 34 759 573 NCW2= 61 457 674 NCL2= 5 417 363
4x4 NCW1= 56 865 877 NCL1= 20 714 313 NCW2= NCL2=
8x1 NCW1= 5 539 435 NCL1= 32 445 111 NCW2= 39 159 184 NCL2= 354 356
7x2 NCW1= 30 915 940 NCL1= 74 233 396 NCW2= 107 341 121 NCL2= 2 362 181
6x3 NCW1= 84 714 542 NCL1= 107 646 861 NCW2= 188 751 849 NCL2= 9 230 704
5x4 NCW1= 157 126 750 NCL1= 99 483 418 NCW2= 226 130 368 NCL2= 33 034 189
9x1 NCW1= 10 867 307 NCL1= 67 079 817 NCW2= 81 500 727 NCL2= 494 043
8x2 NCW1= 65 806 337 NCL1= 168 254 551 NCW2= 244 654 995 NCL2= 3 432 294
7x3 NCW1= 195 754 225 NCL1= 272 452 843 NCW2= 475 868 606 NCL2= 13 618 678
6x4 NCW1= 386 438 195 NCL1= 305 428 492 NCW2= 661 403 513 NCL2= 46 568 839
5x5 NCW1= 613 334 701 NCL1= 177 227 198 NCW2= NCL2=
10x1 NCW1= 18 303 045 NCL1= 119 186 655 NCW2= 145 709 055 NCL2= 591 990
9x2 NCW1= 119 881 601 NCL1= 325 786 738 NCW2= 476 222 708 NCL2= 4 310 944
8x3 NCW1= 385 924 492 NCL1= 580 671 876 NCW2= 1 011 361 726 NCL2= 17 425 842
7x4 NCW1= 822 036 259 NCL1= 738 771 798 NCW2= 1 563 996 834 NCL2= 58 664 245
6x5 NCW1= 1 331 456 147 NCL1= 642 927 936 NCW2= 1 787 497 847 NCL2= 212 677 134
11x1 NCW1= 26 601 065 NCL1= 183 363 185 NCW2= 225 356 352 NCL2= 614 163
10x2 NCW1= 188 219 310 NCL1= 544 730 658 NCW2= 799 645 622 NCL2= 4 734 416
9x3 NCW1= 654 448 795 NCL1= 1 060 480 703 NCW2= 1 841 518 665 NCL2= 19 528 228
8x4 NCW1= 1 504 851 774 NCL1= 1 495 350 904 NCW2= 3 110 064 921 NCL2= 65 683 437
7x5 NCW1= 2 586 459 664 NCL1= 1 557 408 544 NCW2= 4 037 033 645 NCL2= 226 089 214
6x6 NCW1= 3 751 257 816 NCL1= 893 491 452 NCW2= NCL2=
Gérard
Re: Breakthrough Draughts
Bert,
First figures for 13p db
12x1 NCW1= 33 476 623 NCL1= 245 544 989 NCW2= 302 994 901 NCL2= 554 039
11*2 NCW1= 256 003 791 NCL1= 792 466 163 NCW2= 1 166 313 100 NCL2= 4 586 420
10x3 NCW1= 960 952 868 NCL1= 1 678 713 208 NCW2= 2 903 179 449 NCL2= 19 383 244
9x4 NCW1= 2 383 300 890 NCL1= 2 594 371 451 NCW2= 5 306 714 075 NCL2= 65 461 407
8x5 NCW1= 4 397 273 809 NCL1= 3 044 664 016 NCW2= 7 569 127 412 NCL2= 219 524 913
7x6db is under generation
First figures for 13p db
12x1 NCW1= 33 476 623 NCL1= 245 544 989 NCW2= 302 994 901 NCL2= 554 039
11*2 NCW1= 256 003 791 NCL1= 792 466 163 NCW2= 1 166 313 100 NCL2= 4 586 420
10x3 NCW1= 960 952 868 NCL1= 1 678 713 208 NCW2= 2 903 179 449 NCL2= 19 383 244
9x4 NCW1= 2 383 300 890 NCL1= 2 594 371 451 NCW2= 5 306 714 075 NCL2= 65 461 407
8x5 NCW1= 4 397 273 809 NCL1= 3 044 664 016 NCW2= 7 569 127 412 NCL2= 219 524 913
7x6db is under generation
Gérard
Re: Breakthrough Draughts
Bert,
I have good news for you. My new generation have confirmed that my 7x5 was wrong.
I did not expect such result and, taking into account that this db was on important part of my pervious programm, I have to admit that my previous analysis of the starting position is incorrect.
As a consequence I consider your analysis saying that 22-18 is a winning move is the only proposal on the table!
I continue with my generations and let you inform with my progress
I have good news for you. My new generation have confirmed that my 7x5 was wrong.
I did not expect such result and, taking into account that this db was on important part of my pervious programm, I have to admit that my previous analysis of the starting position is incorrect.
As a consequence I consider your analysis saying that 22-18 is a winning move is the only proposal on the table!
I continue with my generations and let you inform with my progress
Gérard
-
- Posts: 1722
- Joined: Wed Apr 14, 2004 16:04
- Contact:
Re: Breakthrough Draughts
Hi Gerard,TAILLE wrote: My new generation have confirmed that my 7x5 was wrong.
I did not expect such result
Can you share what went wrong? Was it a hardware error? Or was there a special case in 7x5 that somehow was overlooked?
Rein
Re: Breakthrough Draughts
It is a little difficult to determine the exact cause of the error but I am convinced it is due to the ast coding error I found. It looks like:Rein Halbersma wrote:Hi Gerard,TAILLE wrote: My new generation have confirmed that my 7x5 was wrong.
I did not expect such result
Can you share what went wrong? Was it a hardware error? Or was there a special case in 7x5 that somehow was overlooked?
Rein
UINT32 number1 = 98280;
UINT32 number2 = 376740;
UINT64 number3 = number1 * number2;
and my compiler gives a wrong result
I should have written
UINT64 number3 = (UINT64)number1 * number2;
or still better
UINT64 number3 = (UINT64)number1 * (UINT64)number2;
but not
UINT64 number3 = (UINT64)(number1 * number2);
The problem appeared in the 7x5db because of the great number of positions to handle which reveal the error above.
Gérard
-
- Posts: 1722
- Joined: Wed Apr 14, 2004 16:04
- Contact:
Re: Breakthrough Draughts
Thanks for sharing! This is a nasty bug to have. I tried it in gcc and I couldn't find a warning option that would be triggered by it.TAILLE wrote:It is a little difficult to determine the exact cause of the error but I am convinced it is due to the ast coding error I found. It looks like:Rein Halbersma wrote:Hi Gerard,TAILLE wrote: My new generation have confirmed that my 7x5 was wrong.
I did not expect such result
Can you share what went wrong? Was it a hardware error? Or was there a special case in 7x5 that somehow was overlooked?
Rein
UINT32 number1 = 98280;
UINT32 number2 = 376740;
UINT64 number3 = number1 * number2;
and my compiler gives a wrong result
I should have written
UINT64 number3 = (UINT64)number1 * number2;
or still better
UINT64 number3 = (UINT64)number1 * (UINT64)number2;
but not
UINT64 number3 = (UINT64)(number1 * number2);
The problem appeared in the 7x5db because of the great number of positions to handle which reveal the error above.
Re: Breakthrough Draughts
Hi Rein,Rein Halbersma wrote:Thanks for sharing! This is a nasty bug to have. I tried it in gcc and I couldn't find a warning option that would be triggered by it.TAILLE wrote:It is a little difficult to determine the exact cause of the error but I am convinced it is due to the ast coding error I found. It looks like:Rein Halbersma wrote:
Hi Gerard,
Can you share what went wrong? Was it a hardware error? Or was there a special case in 7x5 that somehow was overlooked?
Rein
UINT32 number1 = 98280;
UINT32 number2 = 376740;
UINT64 number3 = number1 * number2;
and my compiler gives a wrong result
I should have written
UINT64 number3 = (UINT64)number1 * number2;
or still better
UINT64 number3 = (UINT64)number1 * (UINT64)number2;
but not
UINT64 number3 = (UINT64)(number1 * number2);
The problem appeared in the 7x5db because of the great number of positions to handle which reveal the error above.
Does your compiler give always the correct results?
Gérard
Re: Breakthrough Draughts
Gerard, my Verify (as shared debug mode and single thread) has finished.
I found no errors (also no problem with the stress test for the DB cache).
Seems that our numbers are equal.
Now I want to work on the multi thread Verify, and see how I can deal with the 13P - 14P DB verify.
As this computer (in Switzerland) has limited SSD capacity.
But thanks for the information exchange, having the same numbers give confidence in both DB generators.
Bert
I found no errors (also no problem with the stress test for the DB cache).
Seems that our numbers are equal.
Now I want to work on the multi thread Verify, and see how I can deal with the 13P - 14P DB verify.
As this computer (in Switzerland) has limited SSD capacity.
But thanks for the information exchange, having the same numbers give confidence in both DB generators.
Bert
Re: Breakthrough Draughts
And here the list..
Bert
Bert
Code: Select all
1x1 P = 760, Capture = 66
1x1 P = 760, CW NCW CL NCL = 66 388 0 306
0.0 1x1, P = 760, E = 0
1x2 P = 9.936, Capture = 1.600
1x2 P = 9.936, CW NCW CL NCL = 858 2.378 742 5.958
0.0 1x2, P = 9.936, E = 0
1x3 P = 83.304, Capture = 18.690
1x3 P = 83.304, CW NCW CL NCL = 4.700 14.054 13.990 50.560
0.1 1x3, P = 83.304, E = 0
1x4 P = 503.100, Capture = 140.020
1x4 P = 503.100, CW NCW CL NCL = 24.454 68.240 115.566 294.840
0.3 1x4, P = 503.100, E = 0
1x5 P = 2.330.640, Capture = 755.424
1x5 P = 2.330.640, CW NCW CL NCL = 111.420 270.543 644.004 1.304.673
1.6 1x5, P = 2.330.640, E = 0
1x6 P = 8.611.200, Capture = 3.124.246
1x6 P = 8.611.200, CW NCW CL NCL = 422.894 883.318 2.701.352 4.603.636
6.2 1x6, P = 8.611.200, E = 0
1x7 P = 26.048.880, Capture = 10.294.546
1x7 P = 26.048.880, CW NCW CL NCL = 1.326.491 2.407.027 8.968.055 13.347.307
19.0 1x7, P = 26.048.880, E = 0
1x8 P = 65.714.220, Capture = 27.729.674
1x8 P = 65.714.220, CW NCW CL NCL = 3.463.810 5.539.435 24.265.864 32.445.111
48.7 1x8, P = 65.714.220, E = 0
1x9 P = 140.111.400, Capture = 62.164.276
1x9 P = 140.111.400, CW NCW CL NCL = 7.595.751 10.867.307 54.568.525 67.079.817
105.6 1x9, P = 140.111.400, E = 0
1x10 P = 254.963.280, Capture = 117.473.580
1x10 P = 254.963.280, CW NCW CL NCL = 14.098.683 18.303.045 103.374.897 119.186.655
195.4 1x10, P = 254.963.280, E = 0
1x11 P = 398.806.200, Capture = 188.841.950
1x11 P = 398.806.200, CW NCW CL NCL = 22.286.688 26.601.065 166.555.262 183.363.185
309.8 1x11, P = 398.806.200, E = 0
2x1 P = 9.936, Capture = 1.593
2x1 P = 9.936, CW NCW CL NCL = 1.593 7.155 0 1.188
0.0 2x1, P = 9.936, E = 0
2x2 P = 125.664, Capture = 35.985
2x2 P = 125.664, CW NCW CL NCL = 27.881 56.410 8.104 33.269
0.1 2x2, P = 125.664, E = 0
2x3 P = 1.018.056, Capture = 392.818
2x3 P = 1.018.056, CW NCW CL NCL = 195.609 269.004 197.209 356.234
0.9 2x3, P = 1.018.056, E = 0
2x4 P = 5.933.850, Capture = 2.757.200
2x4 P = 5.933.850, CW NCW CL NCL = 860.766 1.147.410 1.896.434 2.029.240
5.3 2x4, P = 5.933.850, E = 0
2x5 P = 26.495.040, Capture = 13.968.222
2x5 P = 26.495.040, CW NCW CL NCL = 3.319.810 4.120.949 10.648.412 8.405.869
24.4 2x5, P = 26.495.040, E = 0
2x6 P = 94.220.880, Capture = 54.350.393
2x6 P = 94.220.880, CW NCW CL NCL = 11.139.424 12.320.688 43.210.969 27.549.799
89.0 2x6, P = 94.220.880, E = 0
2x7 P = 273.907.920, Capture = 168.758.584
2x7 P = 273.907.920, CW NCW CL NCL = 31.850.531 30.915.940 136.908.053 74.233.396
264.6 2x7, P = 273.907.920, E = 0
2x8 P = 662.963.730, Capture = 428.902.842
2x8 P = 662.963.730, CW NCW CL NCL = 76.950.260 65.806.337 351.952.582 168.254.551
650.1 2x8, P = 662.963.730, E = 0
2x9 P = 1.353.752.400, Capture = 908.084.061
2x9 P = 1.353.752.400, CW NCW CL NCL = 157.265.686 119.881.601 750.818.375 325.786.738
1349.0 2x9, P = 1.353.752.400, E = 0
2x10 P = 2.354.660.880, Capture = 1.621.710.912
2x10 P = 2.354.660.880, CW NCW CL NCL = 272.859.614 188.219.310 1.348.851.298 544.730.658
2406.5 2x10, P = 2.354.660.880, E = 0
3x1 P = 83.304, Capture = 18.495
3x1 P = 83.304, CW NCW CL NCL = 18.495 59.902 0 4.907
0.1 3x1, P = 83.304, E = 0
3x2 P = 1.018.056, Capture = 390.894
3x2 P = 1.018.056, CW NCW CL NCL = 332.094 523.486 58.800 103.676
0.8 3x2, P = 1.018.056, E = 0
3x3 P = 7.959.904, Capture = 4.004.729
3x3 P = 7.959.904, CW NCW CL NCL = 2.772.633 2.699.916 1.232.096 1.255.259
7.2 3x3, P = 7.959.904, E = 0
3x4 P = 44.717.500, Capture = 26.450.365
3x4 P = 44.717.500, CW NCW CL NCL = 13.265.287 9.722.656 13.185.078 8.544.479
45.4 3x4, P = 44.717.500, E = 0
3x5 P = 192.174.480, Capture = 126.360.053
3x5 P = 192.174.480, CW NCW CL NCL = 46.048.738 31.054.854 80.311.315 34.759.573
206.5 3x5, P = 192.174.480, E = 0
3x6 P = 656.756.720, Capture = 464.395.317
3x6 P = 656.756.720, CW NCW CL NCL = 138.307.004 84.714.542 326.088.313 107.646.861
719.3 3x6, P = 656.756.720, E = 0
3x7 P = 1.831.760.480, Capture = 1.363.553.412
3x7 P = 1.831.760.480, CW NCW CL NCL = 359.637.086 195.754.225 1.003.916.326 272.452.843
2056.2 3x7, P = 1.831.760.480, E = 0
3x8 P = 4.245.982.620, Capture = 3.279.386.252
3x8 P = 4.245.982.620, CW NCW CL NCL = 799.987.825 385.924.492 2.479.398.427 580.671.876
4852.4 3x8, P = 4.245.982.620, E = 0
3x9 P = 8.287.015.000, Capture = 6.572.085.502
3x9 P = 8.287.015.000, CW NCW CL NCL = 1.515.024.902 654.448.795 5.057.060.600 1.060.480.703
9682.0 3x9, P = 8.287.015.000, E = 0
4x1 P = 503.100, Capture = 137.520
4x1 P = 503.100, CW NCW CL NCL = 137.520 348.776 0 16.804
0.4 4x1, P = 503.100, E = 0
4x2 P = 5.933.850, Capture = 2.729.211
4x2 P = 5.933.850, CW NCW CL NCL = 2.412.383 2.915.566 316.828 289.073
4.7 4x2, P = 5.933.850, E = 0
4x3 P = 44.717.500, Capture = 26.334.152
4x3 P = 44.717.500, CW NCW CL NCL = 20.669.129 15.601.037 5.665.023 2.782.311
39.9 4x3, P = 44.717.500, E = 0
4x4 P = 241.788.751, Capture = 164.208.561
4x4 P = 241.788.751, CW NCW CL NCL = 109.903.327 56.865.877 54.305.234 20.714.313
245.8 4x4, P = 241.788.751, E = 0
4x5 P = 998.568.024, Capture = 741.957.856
4x5 P = 998.568.024, CW NCW CL NCL = 388.340.372 157.126.750 353.617.484 99.483.418
1107.1 4x5, P = 998.568.024, E = 0
4x6 P = 3.274.073.276, Capture = 2.582.206.589
4x6 P = 3.274.073.276, CW NCW CL NCL = 1.060.594.093 386.438.195 1.521.612.496 305.428.492
3853.2 4x6, P = 3.274.073.276, E = 0
4x7 P = 8.745.200.024, Capture = 7.184.391.967
4x7 P = 8.745.200.024, CW NCW CL NCL = 2.492.000.951 822.036.259 4.692.391.016 738.771.798
10658.0 4x7, P = 8.745.200.024, E = 0
4x8 P = 19.374.908.751, Capture = 16.374.706.073
4x8 P = 19.374.908.751, CW NCW CL NCL = 5.069.693.247 1.504.851.774 11.305.012.826 1.495.350.904
24580.9 4x8, P = 19.374.908.751, E = 0
5x1 P = 2.330.640, Capture = 735.540
5x1 P = 2.330.640, CW NCW CL NCL = 735.540 1.547.416 0 47.684
1.6 5x1, P = 2.330.640, E = 0
5x2 P = 26.495.040, Capture = 13.749.720
5x2 P = 26.495.040, CW NCW CL NCL = 12.422.915 12.056.507 1.326.805 688.813
21.9 5x2, P = 26.495.040, E = 0
5x3 P = 192.174.480, Capture = 125.299.443
5x3 P = 192.174.480, CW NCW CL NCL = 104.427.886 61.457.674 20.871.557 5.417.363
176.1 5x3, P = 192.174.480, E = 0
5x4 P = 998.568.024, Capture = 739.403.467
5x4 P = 998.568.024, CW NCW CL NCL = 563.942.377 226.130.368 175.461.090 33.034.189
1014.9 5x4, P = 998.568.024, E = 0
5x5 P = 3.956.576.472, Capture = 3.166.014.573
5x5 P = 3.956.576.472, CW NCW CL NCL = 2.114.697.522 613.334.701 1.051.317.051 177.227.198
4467.1 5x5, P = 3.956.576.472, E = 0
5x6 P = 12.423.500.232, Capture = 10.449.116.149
5x6 P = 12.423.500.232, CW NCW CL NCL = 5.703.313.294 1.331.456.147 4.745.802.855 642.927.936
15391.4 5x6, P = 12.423.500.232, E = 0
5x7 P = 31.716.102.264, Capture = 27.572.234.056
5x7 P = 31.716.102.264, CW NCW CL NCL = 12.281.007.488 2.586.459.664 15.291.226.568 1.557.408.544
41334.6 5x7, P = 31.716.102.264, E = 0
6x1 P = 8.611.200, Capture = 3.013.230
6x1 P = 8.611.200, CW NCW CL NCL = 3.013.230 5.486.597 0 111.373
6.0 6x1, P = 8.611.200, E = 0
6x2 P = 94.220.880, Capture = 53.193.867
6x2 P = 94.220.880, CW NCW CL NCL = 48.754.064 39.638.961 4.439.803 1.388.052
82.4 6x2, P = 94.220.880, E = 0
6x3 P = 656.756.720, Capture = 458.774.167
6x3 P = 656.756.720, CW NCW CL NCL = 395.924.698 188.751.849 62.849.469 9.230.704
633.4 6x3, P = 656.756.720, E = 0
6x4 P = 3.274.073.276, Capture = 2.566.100.924
6x4 P = 3.274.073.276, CW NCW CL NCL = 2.089.817.322 661.403.513 476.283.602 46.568.839
3445.2 6x4, P = 3.274.073.276, E = 0
6x5 P = 12.423.500.232, Capture = 10.423.325.251
6x5 P = 12.423.500.232, CW NCW CL NCL = 7.870.768.849 1.787.497.847 2.552.556.402 212.677.134
14161.0 6x5, P = 12.423.500.232, E = 0
6x6 P = 37.283.864.156, Capture = 32.639.114.888
6x6 P = 37.283.864.156, CW NCW CL NCL = 21.878.084.574 3.751.257.816 10.761.030.314 893.491.452
47575.6 6x6, P = 37.283.864.156, E = 0
7x1 P = 26.048.880, Capture = 9.829.050
7x1 P = 26.048.880, CW NCW CL NCL = 9.829.050 16.003.384 0 216.446
19.2 7x1, P = 26.048.880, E = 0
7x2 P = 273.907.920, Capture = 164.204.618
7x2 P = 273.907.920, CW NCW CL NCL = 152.059.927 107.341.121 12.144.691 2.362.181
252.2 7x2, P = 273.907.920, E = 0
7x3 P = 1.831.760.480, Capture = 1.342.273.196
7x3 P = 1.831.760.480, CW NCW CL NCL = 1.185.057.389 475.868.606 157.215.807 13.618.678
1857.0 7x3, P = 1.831.760.480, E = 0
7x4 P = 8.745.200.024, Capture = 7.122.538.945
7x4 P = 8.745.200.024, CW NCW CL NCL = 6.026.358.591 1.563.996.834 1.096.180.354 58.664.245
9631.4 7x4, P = 8.745.200.024, E = 0
7x5 P = 31.716.102.264, Capture = 27.452.979.405
7x5 P = 31.716.102.264, CW NCW CL NCL = 22.106.603.949 4.037.033.645 5.346.375.456 226.089.214
37610.2 7x5, P = 31.716.102.264, E = 0
8x1 P = 65.714.220, Capture = 26.200.680
8x1 P = 65.714.220, CW NCW CL NCL = 26.200.680 39.159.184 0 354.356
51.0 8x1, P = 65.714.220, E = 0
8x2 P = 662.963.730, Capture = 414.876.441
8x2 P = 662.963.730, CW NCW CL NCL = 387.234.623 244.654.995 27.641.818 3.432.294
649.4 8x2, P = 662.963.730, E = 0
8x3 P = 4.245.982.620, Capture = 3.217.195.052
8x3 P = 4.245.982.620, CW NCW CL NCL = 2.886.152.331 1.011.361.726 331.042.721 17.425.842
4623.4 8x3, P = 4.245.982.620, E = 0
8x4 P = 19.374.908.751, Capture = 16.199.160.393
8x4 P = 19.374.908.751, CW NCW CL NCL = 14.049.615.182 3.110.064.921 2.149.545.211 65.683.437
22837.0 8x4, P = 19.374.908.751, E = 0
9x1 P = 140.111.400, Capture = 58.116.630
9x1 P = 140.111.400, CW NCW CL NCL = 58.116.630 81.500.727 0 494.043
113.2 9x1, P = 140.111.400, E = 0
9x2 P = 1.353.752.400, Capture = 873.218.748
9x2 P = 1.353.752.400, CW NCW CL NCL = 820.208.955 476.222.708 53.009.793 4.310.944
1388.5 9x2, P = 1.353.752.400, E = 0
9x3 P = 8.287.015.000, Capture = 6.425.968.107
9x3 P = 8.287.015.000, CW NCW CL NCL = 5.833.585.443 1.841.518.665 592.382.664 19.528.228
9346.6 9x3, P = 8.287.015.000, E = 0
10x1 P = 254.963.280, Capture = 108.662.235
10x1 P = 254.963.280, CW NCW CL NCL = 108.662.235 145.709.055 0 591.990
215.4 10x1, P = 254.963.280, E = 0
10x2 P = 2.354.660.880, Capture = 1.550.280.842
10x2 P = 2.354.660.880, CW NCW CL NCL = 1.463.844.002 799.645.622 86.436.840 4.734.416
2530.5 10x2, P = 2.354.660.880, E = 0
11x1 P = 398.806.200, Capture = 172.835.685
11x1 P = 398.806.200, CW NCW CL NCL = 172.835.685 225.356.352 0 614.163
354.0 11x1, P = 398.806.200, E = 0
-
- Posts: 1722
- Joined: Wed Apr 14, 2004 16:04
- Contact:
Re: Breakthrough Draughts
Well "correct" according to the C++ language, yes, but no, not "correct" according to normal arithmetic. So my point was that I would like my compiler to warn about such truncations but I didn't manage to trigger any warnings. So if I would have coded it like that (very likely!), then I would have had the same bugTAILLE wrote:Hi Rein,Rein Halbersma wrote:Thanks for sharing! This is a nasty bug to have. I tried it in gcc and I couldn't find a warning option that would be triggered by it.TAILLE wrote:
It is a little difficult to determine the exact cause of the error but I am convinced it is due to the ast coding error I found. It looks like:
UINT32 number1 = 98280;
UINT32 number2 = 376740;
UINT64 number3 = number1 * number2;
and my compiler gives a wrong result
I should have written
UINT64 number3 = (UINT64)number1 * number2;
or still better
UINT64 number3 = (UINT64)number1 * (UINT64)number2;
but not
UINT64 number3 = (UINT64)(number1 * number2);
The problem appeared in the 7x5db because of the great number of positions to handle which reveal the error above.
Does your compiler give always the correct results?

Re: Breakthrough Draughts
Gerard, just curiosity, what is the timing for your single-cored DB generation (at least I thought it was 1 core), and what is the Computer you use.
In my case I use 16 Threads (8 core machine), 4 Ghz, and 1 TByte SSD (my fast machine
).
The generation of the 6x6 DB (so only this one) took 2135 seconds.
Bert
In my case I use 16 Threads (8 core machine), 4 Ghz, and 1 TByte SSD (my fast machine

The generation of the 6x6 DB (so only this one) took 2135 seconds.
Bert
Re: Breakthrough Draughts
Hi Bert,BertTuyt wrote:Gerard, just curiosity, what is the timing for your single-cored DB generation (at least I thought it was 1 core), and what is the Computer you use.
In my case I use 16 Threads (8 core machine), 4 Ghz, and 1 TByte SSD (my fast machine).
The generation of the 6x6 DB (so only this one) took 2135 seconds.
Bert
I am not able to rivalise with your configuration!
I have a XPS 15 9550 computer, with an i7-6700HQ CPU 2.60 GHz, 32Go RAM, 1To SSD
and, has I said I built only a one thread generation programm.
On the other and I have developped a multithread verification programm and my search alogorithm is also a multithread one.
The generation of the 6x6db took me 7782 s : about 4 time your figure which do not seem a surprising result comparing our configurations.
Is it the same factor for a bigger generation?
My 7x6 db generation is not finished but I can easily estimate that it will take about 10h. Can you confirm that you need less than 2h30 to generate this db?
Gérard
Re: Breakthrough Draughts
Gerard, basically your result is quite good!
When I started my speed was around 25M Positions/sec.
But it has drastically reduced as I use a quite complicated Index function without holes/gaps (with the help of Ed).
Also for larger DBs, I still use the same index function (so not based on leading rank or whatever).
To quickly get the 13P and 14P DBs I partitioned the DB, and swap partitions.
As speed was okish, i did (so far) not go into further optimization mode.
Advantage it now can scale to every size (when one has sufficient disk space), disadvantage speed.
The 7x6 + 6x7 took 4.5 hours (for non-symmetrical my program calculates pairs), the 7x7 5.8 hours (so both approximately 10M Positions/sec)
So when I Verify all 13P and 14P, I really need to find some speed improvements, otherwise I will never create a 24P DB.
Bert
When I started my speed was around 25M Positions/sec.
But it has drastically reduced as I use a quite complicated Index function without holes/gaps (with the help of Ed).
Also for larger DBs, I still use the same index function (so not based on leading rank or whatever).
To quickly get the 13P and 14P DBs I partitioned the DB, and swap partitions.
As speed was okish, i did (so far) not go into further optimization mode.
Advantage it now can scale to every size (when one has sufficient disk space), disadvantage speed.
The 7x6 + 6x7 took 4.5 hours (for non-symmetrical my program calculates pairs), the 7x7 5.8 hours (so both approximately 10M Positions/sec)
So when I Verify all 13P and 14P, I really need to find some speed improvements, otherwise I will never create a 24P DB.
Bert
Last edited by BertTuyt on Wed Aug 23, 2017 23:04, edited 3 times in total.