Saya sekarang yakin bahwa jawaban Fabian Fichter benar. Komentar berikut tentang jawaban Fabian dapat membantu meyakinkan orang lain tentang hal yang sama.
1. Posisi yang tampaknya terkena dampak dengan menghapus promosi anak ayam
Menganalisis hasil yang diposting dari Stockfish yang dimodifikasi, semua game bertemu cukup cepat pada posisi berikut: S / -l- / ge - / - E - / - LG / cC.
$ ./dobutsu -vs900
Loading tablebase... done
1. setup S/-l-/ge-/-E-/-LG/cC
1. show board
ABC
+---+
1| l | c
2|ge |
3| E |
4| LG| *C
+---+
1. show lines
Eb3xa2 : #-72 (67.13%)
C *a4 : #-70 (32.87%) <--- apparently quite strong
Gc4-c3 : #-46 ( 0.00%)
C *c2 : #-36 ( 0.00%)
C *c1 : #-28 ( 0.00%)
Eb3-a4 : #-26 ( 0.00%)
Lb4-a4 : #-26 ( 0.00%)
C *a1 : #-24 ( 0.00%)
C *c3 : #-22 ( 0.00%)
C *a3 : #-20 ( 0.00%)
Eb3-c2 : #-12 ( 0.00%)
Lb4-c3 : #-2 ( 0.00%)
Lb4-a3 : #-2 ( 0.00%)
Sente kemudian bermain C*a4
, menjatuhkan anak ayam mereka di sudut kiri bawah. Awalnya saya pikir ini penurunan yang sangat sia-sia tetapi menurut basis tabel sebenarnya tidak buruk sama sekali.
1. C *a4
ABC
+---+
1| l | *c
2|ge |
3| E |
4|CLG|
+---+
Sekarang sesuatu yang menarik terjadi. Basis tabel setuju dengan Stockfish bahwa mengayunkan Singa ke samping adalah hasil imbang, tetapi bagaimana dengan menjatuhkan anak ayam untuk melawan anak ayam?
2. show lines
C *a3 : #69 (99.57%) <--- winning chick drop
C *c2 : #91 ( 0.21%)
C *c1 : #91 ( 0.21%)
C *a1 : 0 ( 0.00%)
Ga2-a1 : 0 ( 0.00%)
Eb2-c1 : 0 ( 0.00%)
Eb2-a1 : 0 ( 0.00%)
Lb1-a1 : 0 ( 0.00%) <--- draws the game
C *c3 : #-28 ( 0.00%)
Lb1-c1 : #-22 ( 0.00%)
Eb2-c3 : #-20 ( 0.00%)
Eb2-a3 : #-20 ( 0.00%)
Ga2-a3 : #-18 ( 0.00%)
Lb1-c2 : #-2 ( 0.00%)
2. C *a3
ABC
+---+
1| l |
2|ge |
3|cE |
4|CLG| *
+---+
Sekarang cewek a3
ini berada satu langkah lagi dari promosi dan terlebih lagi akan memberi cek pada promosi, yang akan memaksa singa Sente untuk mengambilnya. Satu-satunya masalah adalah bahwa langkah terbaik melibatkan kehilangan anak ayam a3
dan juga bahwa kita masih cukup jauh dari skakmat. Karena itu kita akan mengambil jalan pintas, sehingga kita kehilangan lebih cepat, tetapi tanpa kehilangan karena alasan lain seperti memberikan materi secara sia-sia.
3. show lines
Ca4xa3 : #-68 (92.84%) <--- catches chick about to promote
Gc4-c3 : #-62 ( 7.16%)
Eb3xa2 : #-32 ( 0.00%) <--- shortcut
Eb3-c2 : #-8 ( 0.00%) <--- give away elephant
Lb4-c3 : #-2 ( 0.00%) <--- stupid
Lb4xa3 : #-2 ( 0.00%) <--- stupid
3. Eb3xa2
ABC
+---+
1| l | *
2|Ee |
3|c |
4|CLG| G
+---+
4. show lines
Lb1xa2 : #31 (100.00%)
Lb1-c2 : #-10 ( 0.00%)
Lb1-c1 : #-6 ( 0.00%)
Lb1-a1 : #-6 ( 0.00%)
Ca3xa4+: #-2 ( 0.00%)
Eb2-c3 : #-2 ( 0.00%)
Eb2-c1 : #-2 ( 0.00%)
Eb2-a1 : #-2 ( 0.00%)
4. Lb1xa2
ABC
+---+
1| | e
2|le |
3|c |
4|CLG| *G
+---+
Kami tampaknya telah berhasil dalam melestarikan ancaman cewek yang mempromosikan pengorbanan, jadi mari kita lanjutkan!
5. show lines
G *b3 : #-30 (100.00%)
G *a1 : #-24 ( 0.00%)
G *c3 : #-20 ( 0.00%)
Gc4-c3 : #-18 ( 0.00%)
G *c2 : #-14 ( 0.00%)
G *c1 : #-10 ( 0.00%)
G *b1 : #-10 ( 0.00%)
Ca4xa3 : #-8 ( 0.00%)
Lb4-c3 : #-2 ( 0.00%)
Lb4-b3 : #-2 ( 0.00%)
Lb4xa3 : #-2 ( 0.00%)
5. G *b3
ABC
+---+
1| | *e
2|le |
3|cG |
4|CLG|
+---+
6. show lines
Ca3xa4+: #29 (100.00%) <--- sacrificial promoting chick check
E *c3 : #-30 ( 0.00%)
E *c1 : #-28 ( 0.00%)
Eb2-c1 : #-28 ( 0.00%)
Eb2-a1 : #-28 ( 0.00%)
La2-b1 : #-28 ( 0.00%)
La2-a1 : #-28 ( 0.00%)
E *c2 : #-26 ( 0.00%)
E *a1 : #-24 ( 0.00%)
E *b1 : #-12 ( 0.00%)
Eb2-c3 : #-12 ( 0.00%)
La2xb3 : #-2 ( 0.00%)
Dan itu dia, cewek yang mempromosikan pengorbanan sebagai langkah terbaik! Mari lihat apa yang terjadi.
6. Ca3xa4+:
ABC
+---+
1| | ce
2|le |
3| G |
4|rLG| *
+---+
7. show lines
Lb4xa4 : #-28 (100.00%) <--- take chick (forced if promoted)
Gc4-c3 : #-2 ( 0.00%)
Gb3-c3 : #-2 ( 0.00%)
Gb3-a3 : #-2 ( 0.00%)
Gb3xb2 : #-2 ( 0.00%)
Lb4-c3 : #-2 ( 0.00%)
Lb4-a3 : #-2 ( 0.00%)
Sekarang mari kita lihat apa yang terjadi jika kita mengubah ayam itu menjadi anak ayam:
7. setup S/---/le-/-G-/cLG/ec
1. show board
ABC
+---+
1| | ce
2|le |
3| G |
4|cLG| *
+---+
1. show lines
Gc4-c3 : #-90 (100.00%)
Gb3xb2 : #-30 ( 0.00%)
Lb4xa4 : #-28 ( 0.00%)
Gb3-c3 : #-10 ( 0.00%)
Gb3-a3 : #-8 ( 0.00%)
Lb4-c3 : #-2 ( 0.00%)
Lb4-a3 : #-2 ( 0.00%)
Dalam posisi ini langkah terbaik menempatkan skakmat 88 (90-2) bergerak menjauh, yang jauh dari skakmat daripada posisi awal, membuatnya masuk akal bahwa ketika dianalisis akan mengarah ke posisi lain bahwa tanpa mempromosikan kekuatan cewek tiba-tiba jauh lebih jauh dari pasangan dari sebelumnya (ad infinitum). Jika benar itu akan membuat posisi G / --- / le- / cG- / CLG / e (lihat di bawah) hasil imbang bukannya menang tanpa promosi anak ayam .
ABC
+---+
1| | *e
2|le |
3|cG |
4|CLG|
+---+
2. Ketepatan pencarian lengkap
Dengan asumsi bahwa generator basis tabel yang digunakan adalah pencarian lengkap yang benar, tampaknya tambalan Fabian harus berhasil menonaktifkan promosi cewek karena file moves.c
adalah satu-satunya tempat yang POS_FLAGS
digunakan (kecuali untuk digunakan dalam validation.c
memeriksa posisi struct) dan memang tampaknya dibuat khusus. untuk menonaktifkan promosi.
/* clear promotion bits for pieces that can't be promoted */
status &= POS_FLAGS;