Posted by John Merlino (Profile) on December 14, 2002 at 12:45:06:
In Reply to: Re: KBBPKR EGDB -- Regarding FEG posted by John Merlino on December 14, 2002 at 12:07:11:
First, here are a few notes from e-mails that Johan sent me: -------------- Here is a good example of the bug (now known as the "KNNK bug"): Kf2 Nf1 Ne8, Kh1 Pg5 1. Nf6 g4 2. Ne4 g3+ 3. Nexg3# CM reports a draw until after Ne4. Without KNNKP it will report nothing, which is actually better. :-) Unfortunately, KNNKP is part of the full installation.... KPPKP and KPKPP are not affected. I expected this because these all-pawn files were considered a thorough checksum for the entire 5-men process, yet they did not reveal the bug some years ago. KBKNP has now much longer wins. For example: Kd1 Bb8, Ka1 Nd2 Pa2, wtm M9 I guess someone has dug up positions like this before (weak side has deep win), but this one caught my eye. It's a safe bet that just about any 6-man files that users have created will have this bug also. Though it's also safe to assume most of the damage is restricted to short mates in contrived positions. With the obvious exception of KNNKP, KNNKPX, KXNNKP. -------------- Secondly, here is an explanation of the bug as Marc reported it: -------------- > The starting position is, Black to move: > > W: Kg4, Rf5, Nf8, Nh4 > B: Kh6, Rf1 > > Chessmaster using the database now says that 1...Rxf5 leads to a > draw, even though when 1...Rxf5 is played, it immediately sees > that 2.Nxf5 is mate. This seems to indicate that the position > (White to move): > > W: Kg4, Nf8, Nh4 > B: Kh6, Rf5 > > is not labeled as a win for white in the database, even though > 1.Nxf5 is mate. > > Additional indication that this error is in the database and not > in the GUI is that I came across this from the 6-man ending > KRNNKR (Black to move): > > W: Kf3, Rf5, Nf8, Nh4 > B: Kh6, Rb1 > > Chessmaster (with the DB) labels this position as a draw, giving > the line 1...Rf1 2.Kg4, which is actually the first position > listed above, which is won for White. -------------- Finally, here is Johan's list of 4 and 5-man files that have incorrect data: -------------- Columns old # = solutions generated by FEG 3.03a. Columns fix # = solutions generated by FEG 3.03b. KNNK 902 old 0 fix 15 diff 15 KBKB 902 old 0 fix 14 diff 14 KBKN 902 old 0 fix 1 diff 1 KBKP 902 old 0 fix 28 diff 28 KNKR 902 old 0 fix 1 diff 1 KNKB 902 old 0 fix 1 diff 1 KNKN 902 old 0 fix 1 diff 1 KNNKQ 001 old 6420 fix 6640 diff 220 KNNKQ 901 old 2458 fix 2542 diff 84 KNNKQ 902 old 0 fix 465 diff 465 KNNKR 001 old 10488 fix 10700 diff 212 KNNKR 901 old 4098 fix 4180 diff 82 KNNKB 001 old 12062 fix 12282 diff 220 KNNKB 002 old 482 fix 530 diff 48 KNNKB 003 old 10708 fix 12000 diff 1292 KNNKB 004 old 434 fix 490 diff 56 KNNKB 005 old 3450 fix 4942 diff 1492 KNNKB 006 old 112 fix 164 diff 52 KNNKB 007 old 544 fix 774 diff 230 KNNKB 901 old 8499 fix 9394 diff 895 KNNKB 902 old 1373 fix 1451 diff 78 KNNKN 001 old 13768 fix 13980 diff 212 KNNKN 002 old 1808 fix 2032 diff 224 KNNKN 003 old 35996 fix 39812 diff 3816 KNNKN 004 old 2374 fix 2810 diff 436 KNNKN 005 old 26574 fix 33206 diff 6632 KNNKN 006 old 1222 fix 1452 diff 230 KNNKN 007 old 11150 fix 13434 diff 2284 KNNKN 008 old 1318 fix 1600 diff 282 KNNKN 009 old 10176 fix 12720 diff 2544 KNNKN 901 old 30145 fix 35070 diff 4925 KNNKN 902 old 4479 fix 5051 diff 572 KNNKP 001 old 32972 fix 33588 diff 616 KNNKP 002 old 8826 fix 8872 diff 46 KNNKP 003 old 85372 fix 85820 diff 448 KNNKP 004 old 24520 fix 24618 diff 98 KNNKP 005 old 156532 fix 157214 diff 682 KNNKP 006 old 34340 fix 34552 diff 212 KNNKP 007 old 244280 fix 245886 diff 1606 KNNKP 008 old 56328 fix 56714 diff 386 KNNKP 009 old 318944 fix 321718 diff 2774 KNNKP 010 old 69070 fix 70016 diff 946 KNNKP 011 old 355826 fix 361150 diff 5324 KNNKP 012 old 67908 fix 68404 diff 496 KNNKP 013 old 318048 fix 319380 diff 1332 KNNKP 014 old 45784 fix 46234 diff 450 KNNKP 015 old 237692 fix 240244 diff 2552 KNNKP 016 old 50434 fix 50184 diff -250 KNNKP 017 old 240118 fix 238488 diff -1630 KNNKP 018 old 61892 fix 62314 diff 422 KNNKP 019 old 253888 fix 255730 diff 1842 KNNKP 020 old 52206 fix 52730 diff 524 KNNKP 021 old 239172 fix 241752 diff 2580 KNNKP 022 old 51626 fix 53062 diff 1436 KNNKP 023 old 229044 fix 235396 diff 6352 KNNKP 024 old 46172 fix 48442 diff 2270 KNNKP 025 old 212566 fix 216808 diff 4242 KNNKP 026 old 42714 fix 44196 diff 1482 KNNKP 027 old 198166 fix 200312 diff 2146 KNNKP 028 old 42260 fix 41118 diff -1142 KNNKP 029 old 189934 fix 185146 diff -4788 KNNKP 030 old 40466 fix 37988 diff -2478 KNNKP 031 old 182288 fix 175328 diff -6960 KNNKP 032 old 34518 fix 33794 diff -724 KNNKP 033 old 164484 fix 161884 diff -2600 KNNKP 034 old 32096 fix 32090 diff -6 KNNKP 035 old 149524 fix 149746 diff 222 KNNKP 036 old 33900 fix 33812 diff -88 KNNKP 037 old 161476 fix 162360 diff 884 KNNKP 038 old 37310 fix 37574 diff 264 KNNKP 039 old 174052 fix 175310 diff 1258 KNNKP 040 old 42392 fix 42822 diff 430 KNNKP 041 old 194898 fix 196734 diff 1836 KNNKP 042 old 47570 fix 48516 diff 946 KNNKP 043 old 210382 fix 214734 diff 4352 KNNKP 044 old 49106 fix 49612 diff 506 KNNKP 045 old 221580 fix 223218 diff 1638 KNNKP 046 old 54834 fix 55512 diff 678 KNNKP 047 old 246240 fix 250526 diff 4286 KNNKP 048 old 65624 fix 69786 diff 4162 KNNKP 049 old 298924 fix 316566 diff 17642 KNNKP 050 old 86918 fix 87930 diff 1012 KNNKP 051 old 387670 fix 394726 diff 7056 KNNKP 052 old 104338 fix 107298 diff 2960 KNNKP 053 old 455680 fix 466022 diff 10342 KNNKP 054 old 112288 fix 114852 diff 2564 KNNKP 055 old 494540 fix 506398 diff 11858 KNNKP 056 old 124384 fix 125356 diff 972 KNNKP 057 old 563122 fix 568478 diff 5356 KNNKP 058 old 146236 fix 147928 diff 1692 KNNKP 059 old 663396 fix 674096 diff 10700 KNNKP 060 old 175844 fix 178078 diff 2234 KNNKP 061 old 791402 fix 802924 diff 11522 KNNKP 062 old 206824 fix 212412 diff 5588 KNNKP 063 old 929208 fix 956174 diff 26966 KNNKP 064 old 253654 fix 262068 diff 8414 KNNKP 065 old 1,126036 fix 1,164982 diff 38946 KNNKP 066 old 317564 fix 330372 diff 12808 KNNKP 067 old 1,362142 fix 1,420454 diff 58312 KNNKP 068 old 395586 fix 411004 diff 15418 KNNKP 069 old 1,621164 fix 1,691392 diff 70228 KNNKP 070 old 466328 fix 484834 diff 18506 KNNKP 071 old 1,836206 fix 1,918306 diff 82100 KNNKP 072 old 546650 fix 546848 diff 198 KNNKP 073 old 2,086414 fix 2,070884 diff -15530 KNNKP 074 old 593266 fix 579056 diff -14210 KNNKP 075 old 2,137308 fix 2,045060 diff -92248 KNNKP 076 old 619660 fix 598762 diff -20898 KNNKP 077 old 2,049404 fix 1,949484 diff -99920 KNNKP 078 old 643244 fix 632594 diff -10650 KNNKP 079 old 2,006664 fix 1,961038 diff -45626 KNNKP 080 old 684140 fix 673648 diff -10492 KNNKP 081 old 1,945268 fix 1,902912 diff -42356 KNNKP 082 old 678950 fix 668734 diff -10216 KNNKP 083 old 1,799046 fix 1,765156 diff -33890 KNNKP 084 old 683528 fix 676080 diff -7448 KNNKP 085 old 1,692204 fix 1,664720 diff -27484 KNNKP 086 old 699112 fix 695368 diff -3744 KNNKP 087 old 1,599408 fix 1,588218 diff -11190 KNNKP 088 old 702452 fix 700624 diff -1828 KNNKP 089 old 1,553914 fix 1,549582 diff -4332 KNNKP 090 old 689304 fix 688844 diff -460 KNNKP 091 old 1,565654 fix 1,564572 diff -1082 KNNKP 092 old 714492 fix 714296 diff -196 KNNKP 093 old 1,659974 fix 1,659482 diff -492 KNNKP 094 old 793928 fix 793740 diff -188 KNNKP 095 old 1,778290 fix 1,777838 diff -452 KNNKP 097 old 1,671676 fix 1,671624 diff -52 KNNKP 098 old 736600 fix 736572 diff -28 KNNKP 099 old 1,385098 fix 1,384958 diff -140 KNNKP 100 old 651988 fix 651994 diff 6 KNNKP 101 old 1,147484 fix 1,147474 diff -10 KNNKP 102 old 525338 fix 525332 diff -6 KNNKP 103 old 912146 fix 912124 diff -22 KNNKP 104 old 401918 fix 401912 diff -6 KNNKP 105 old 717864 fix 717844 diff -20 KNNKP 106 old 333350 fix 333352 diff 2 KNNKP 107 old 644806 fix 644804 diff -2 KNNKP 108 old 323446 fix 323444 diff -2 KNNKP 109 old 681054 fix 681030 diff -24 KNNKP 111 old 800222 fix 800220 diff -2 KNNKP 112 old 472312 fix 472320 diff 8 KNNKP 113 old 931744 fix 931742 diff -2 KNNKP 114 old 557578 fix 557590 diff 12 KNNKP 115 old 990680 fix 990704 diff 24 KNNKP 116 old 629176 fix 629182 diff 6 KNNKP 117 old 1,031568 fix 1,031562 diff -6 KNNKP 118 old 602338 fix 602324 diff -14 KNNKP 119 old 995406 fix 995512 diff 106 KNNKP 120 old 553104 fix 553172 diff 68 KNNKP 121 old 1,012342 fix 1,012392 diff 50 KNNKP 122 old 557626 fix 557714 diff 88 KNNKP 123 old 1,046218 fix 1,046416 diff 198 KNNKP 124 old 601310 fix 601452 diff 142 KNNKP 125 old 1,088182 fix 1,088222 diff 40 KNNKP 126 old 597850 fix 597896 diff 46 KNNKP 127 old 1,073306 fix 1,073248 diff -58 KNNKP 128 old 608466 fix 608464 diff -2 KNNKP 129 old 1,044862 fix 1,044860 diff -2 KNNKP 130 old 635864 fix 635982 diff 118 KNNKP 131 old 1,012696 fix 1,012610 diff -86 KNNKP 132 old 641114 fix 641078 diff -36 KNNKP 133 old 994098 fix 994028 diff -70 KNNKP 134 old 628316 fix 628274 diff -42 KNNKP 135 old 875758 fix 875736 diff -22 KNNKP 136 old 556206 fix 556248 diff 42 KNNKP 137 old 689376 fix 689342 diff -34 KNNKP 138 old 427322 fix 427266 diff -56 KNNKP 139 old 526092 fix 526130 diff 38 KNNKP 140 old 357158 fix 357274 diff 116 KNNKP 141 old 478008 fix 477950 diff -58 KNNKP 142 old 368020 fix 367942 diff -78 KNNKP 143 old 529498 fix 529456 diff -42 KNNKP 144 old 454654 fix 454642 diff -12 KNNKP 145 old 605984 fix 605922 diff -62 KNNKP 146 old 528786 fix 528766 diff -20 KNNKP 147 old 618966 fix 618924 diff -42 KNNKP 148 old 551718 fix 551728 diff 10 KNNKP 149 old 614280 fix 614282 diff 2 KNNKP 150 old 518916 fix 518920 diff 4 KNNKP 151 old 606518 fix 606528 diff 10 KNNKP 152 old 478370 fix 478358 diff -12 KNNKP 153 old 623574 fix 623522 diff -52 KNNKP 154 old 482992 fix 482952 diff -40 KNNKP 155 old 726978 fix 726896 diff -82 KNNKP 156 old 592544 fix 592452 diff -92 KNNKP 157 old 851248 fix 851190 diff -58 KNNKP 158 old 694818 fix 694750 diff -68 KNNKP 159 old 929342 fix 929286 diff -56 KNNKP 160 old 729126 fix 729080 diff -46 KNNKP 161 old 974910 fix 974900 diff -10 KNNKP 162 old 731916 fix 731910 diff -6 KNNKP 163 old 1,059044 fix 1,059040 diff -4 KNNKP 164 old 760944 fix 760938 diff -6 KNNKP 901 old 40,543290 fix 40,546725 diff 3435 KNNKP 902 old 20,257188 fix 20,258787 diff 1599 KNPKQ 001 old 43356 fix 43358 diff 2 KNPKQ 005 old 81966 fix 81965 diff -1 KNPKQ 901 old 49,019558 fix 49,019559 diff 1 KNPKN 003 old 215248 fix 215265 diff 17 KNPKN 005 old 365610 fix 365605 diff -5 KNPKN 006 old 42733 fix 42735 diff 2 KNPKN 007 old 691231 fix 691235 diff 4 KNPKN 008 old 87131 fix 87129 diff -2 KNPKN 009 old 1,278361 fix 1,278353 diff -8 KNPKN 010 old 161531 fix 161532 diff 1 KNPKN 011 old 2,302561 fix 2,302563 diff 2 KNPKN 012 old 345866 fix 345867 diff 1 KNPKN 013 old 4,368283 fix 4,368277 diff -6 KNPKN 014 old 751496 fix 751494 diff -2 KNPKN 015 old 7,790780 fix 7,790778 diff -2 KNPKN 017 old 11,584275 fix 11,584274 diff -1 KNPKN 022 old 7,676817 fix 7,676819 diff 2 KNPKN 023 old 14,117755 fix 14,117764 diff 9 KNPKN 024 old 7,985756 fix 7,985765 diff 9 KNPKN 025 old 12,063218 fix 12,063238 diff 20 KNPKN 026 old 5,630466 fix 5,630482 diff 16 KNPKN 027 old 8,944531 fix 8,944535 diff 4 KNPKN 028 old 3,607935 fix 3,607933 diff -2 KNPKN 029 old 6,150633 fix 6,150620 diff -13 KNPKN 030 old 2,684491 fix 2,684482 diff -9 KNPKN 031 old 4,658357 fix 4,658349 diff -8 KNPKN 032 old 2,545447 fix 2,545436 diff -11 KNPKN 033 old 4,353175 fix 4,353166 diff -9 KNPKN 036 old 2,692536 fix 2,692538 diff 2 KNPKN 038 old 2,638598 fix 2,638594 diff -4 KNPKN 039 old 3,307484 fix 3,307481 diff -3 KNPKN 040 old 2,402009 fix 2,402007 diff -2 KNPKN 041 old 2,880211 fix 2,880213 diff 2 KNPKN 042 old 2,040420 fix 2,040426 diff 6 KNPKN 043 old 2,427774 fix 2,427778 diff 4 KNPKN 044 old 1,664564 fix 1,664558 diff -6 KNPKN 045 old 1,978497 fix 1,978490 diff -7 KNPKN 046 old 1,355711 fix 1,355710 diff -1 KNPKP 007 old 1,423538 fix 1,423539 diff 1 KNPKP 008 old 414914 fix 414916 diff 2 KNPKP 009 old 2,770038 fix 2,770041 diff 3 KNPKP 011 old 4,722236 fix 4,722235 diff -1 KNPKP 012 old 1,971314 fix 1,971312 diff -2 KNPKP 013 old 7,807121 fix 7,807118 diff -3 KBKQB 001 old 1174 fix 1362 diff 188 KBKQB 002 old 0 fix 187 diff 187 KBKQB 003 old - fix 1290 diff 1290 KBKQB 004 old - fix 0 diff 0 KBKQB 901 old 624 fix 1363 diff 739 KBKQB 902 old 0 fix 354 diff 354 KBKQN 001 old 112 fix 128 diff 16 KBKQN 901 old 56 fix 64 diff 8 KBKQN 902 old 0 fix 28 diff 28 KBKQP 001 old 1248 fix 1436 diff 188 KBKQP 002 old 0 fix 374 diff 374 KBKQP 003 old - fix 1290 diff 1290 KBKQP 004 old - fix 0 diff 0 KBKQP 901 old 1248 fix 2726 diff 1478 KBKQP 902 old 0 fix 706 diff 706 KBKRB 001 old 1898 fix 2086 diff 188 KBKRB 002 old 0 fix 251 diff 251 KBKRB 003 old - fix 1672 diff 1672 KBKRB 004 old - fix 0 diff 0 KBKRB 901 old 986 fix 1916 diff 930 KBKRB 902 old 0 fix 504 diff 504 KBKRN 001 old 162 fix 178 diff 16 KBKRN 901 old 81 fix 89 diff 8 KBKRN 902 old 0 fix 41 diff 41 KBKRP 001 old 1972 fix 2160 diff 188 KBKRP 002 old 0 fix 502 diff 502 KBKRP 003 old - fix 1672 diff 1672 KBKRP 004 old - fix 0 diff 0 KBKRP 901 old 1972 fix 3832 diff 1860 KBKRP 902 old 0 fix 1006 diff 1006 KBKBB 001 old 9098 fix 9474 diff 376 KBKBB 002 old 0 fix 282 diff 282 KBKBB 003 old - fix 1856 diff 1856 KBKBB 004 old - fix 0 diff 0 KBKBB 901 old 2372 fix 2944 diff 572 KBKBB 902 old 0 fix 979 diff 979 KBKBN 001 old 4036 fix 4240 diff 204 KBKBN 002 old 0 fix 133 diff 133 KBKBN 003 old - fix 890 diff 890 KBKBN 004 old - fix 0 diff 0 KBKBN 901 old 2018 fix 2565 diff 547 KBKBN 902 old 0 fix 714 diff 714 KBKBP 001 old 14238 fix 14802 diff 564 KBKBP 002 old 744 fix 1163 diff 419 KBKBP 003 old 1607 fix 2940 diff 1333 KBKBP 901 old 17369 fix 19266 diff 1897 KBKBP 902 old 5113 fix 5532 diff 419 KBKNN 001 old 404 fix 436 diff 32 KBKNN 901 old 101 fix 109 diff 8 KBKNN 902 old 0 fix 56 diff 56 KBKNP 001 old 4206 fix 4426 diff 220 KBKNP 002 old 624 fix 985 diff 361 KBKNP 003 old 1855 fix 2955 diff 1100 KBKNP 004 old 134 fix 537 diff 403 KBKNP 005 old 310 fix 1608 diff 1298 KBKNP 006 old 8 fix 185 diff 177 KBKNP 007 old 6 fix 662 diff 656 KBKNP 008 old 0 fix 177 diff 177 KBKNP 009 old - fix 621 diff 621 KBKNP 010 old - fix 139 diff 139 KBKNP 011 old - fix 260 diff 260 KBKNP 012 old - fix 81 diff 81 KBKNP 013 old - fix 239 diff 239 KBKNP 014 old - fix 31 diff 31 KBKNP 015 old - fix 77 diff 77 KBKNP 016 old - fix 5 diff 5 KBKNP 017 old - fix 18 diff 18 KBKNP 018 old - fix 0 diff 0 KBKNP 901 old 6377 fix 10866 diff 4489 KBKNP 902 old 2014 fix 3388 diff 1374 KBKPP 001 old 8398 fix 8774 diff 376 KBKPP 002 old 2818 fix 3062 diff 244 KBKPP 003 old 7904 fix 8358 diff 454 KBKPP 004 old 474 fix 542 diff 68 KBKPP 005 old 1274 fix 1436 diff 162 KBKPP 006 old 128 fix 28 diff -100 KBKPP 007 old 298 fix 68 diff -230 KBKPP 008 old 16 fix 0 diff -16 KBKPP 009 old 40 fix - diff -40 KBKPP 010 old 0 fix - diff 0 KBKPP 901 old 8957 fix 9318 diff 361 KBKPP 902 old 2858 fix 2956 diff 98 KNKQR 001 old 247 fix 255 diff 8 KNKQR 901 old 145 fix 149 diff 4 KNKQR 902 old 0 fix 36 diff 36 KNKQB 001 old 296 fix 306 diff 10 KNKQB 901 old 148 fix 153 diff 5 KNKQB 902 old 0 fix 30 diff 30 KNKQN 001 old 289 fix 299 diff 10 KNKQN 901 old 161 fix 166 diff 5 KNKQN 902 old 0 fix 31 diff 31 KNKRR 001 old 634 fix 650 diff 16 KNKRR 901 old 180 fix 184 diff 4 KNKRR 902 old 0 fix 45 diff 45 KNKRB 001 old 860 fix 878 diff 18 KNKRB 901 old 467 fix 476 diff 9 KNKRB 902 old 0 fix 105 diff 105 KNKRN 001 old 857 fix 875 diff 18 KNKRN 901 old 459 fix 468 diff 9 KNKRN 902 old 0 fix 101 diff 101 KNKRP 001 old 1694 fix 1710 diff 16 KNKRP 901 old 1998 fix 2014 diff 16 KNKBB 001 old 868 fix 888 diff 20 KNKBB 901 old 217 fix 222 diff 5 KNKBB 902 old 0 fix 48 diff 48 KNKBN 001 old 1013 fix 1033 diff 20 KNKBN 901 old 523 fix 533 diff 10 KNKBN 902 old 0 fix 104 diff 104 KNKBP 001 old 1871 fix 1891 diff 20 KNKBP 002 old 123 fix 124 diff 1 KNKBP 003 old 1049 fix 1056 diff 7 KNKBP 901 old 4362 fix 4389 diff 27 KNKBP 902 old 684 fix 685 diff 1 KNKNN 001 old 1086 fix 1106 diff 20 KNKNN 901 old 288 fix 293 diff 5 KNKNN 902 old 0 fix 61 diff 61 KNKNP 001 old 1993 fix 2013 diff 20 KNKNP 901 old 7039 fix 7059 diff 20 KPKQR 001 old 17799 fix 17800 diff 1 KPKQR 901 old 892286 fix 892287 diff 1 KPKRR 001 old 31334 fix 31336 diff 2 KPKRR 039 old 39942 fix 39940 diff -2 KPKRB 001 old 39066 fix 39067 diff 1 KPKRB 901 old 7,293080 fix 7,293081 diff 1 Done comparing 230 pairs of .LOF files -------------- Every file in the above list (7 4-man files and 35 5-man files) was affected by this bug, and needs to be rebuilt if you want 100% accurate data. Obviously, KNNKP is by far the most affected file set, with KNNKN being a very distant second. jm