Зараз я переконаний, що відповідь Фабіана Фіхтера є правильною. Наступний коментар до відповіді Фабіана може допомогти переконати інших у тому ж.
1. Позиція, на яку, здається, впливає, усуваючи просування курчат
Аналізуючи опубліковані результати від модифікованого Stockfish, всі ігри доволі швидко сходяться на такій позиції: 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%)
Потім Сенте грає C*a4
, опускаючи пташеня в нижній лівий кут. Спочатку я вважав це досить марнотратним падінням, але згідно з базою таблиці, це насправді зовсім не погано.
1. C *a4
ABC
+---+
1| l | *c
2|ge |
3| E |
4|CLG|
+---+
Зараз відбувається щось цікаве. Основа столу погоджується з Stockfish, що перехід Лева на бік - це нічия, а як же скинути пташеня для боротьби з куркою?
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| *
+---+
Тепер пташеня a3
знаходиться в одному кроці від просування, і, крім того, перевірить просування, що змусить лев Сенте взяти його. Єдина проблема полягає в тому, що найкращий хід передбачає втрату курки, a3
а також те, що ми все ще досить далекі від мат. Тому ми збираємось трохи скоротити такі, що втрачаємо швидше, але не втрачаючи з інших причин, наприклад, без потреби видавати матеріал.
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
+---+
Здається, нам вдалося зберегти загрозу жертвоприношення пташенят, тому продовжуємо!
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%)
І ось воно, жертвоприношення пташенят, як найкращий хід! Подивимося, що станеться.
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%)
Тепер давайте подивимося, що станеться, якщо ми змінимо цього півня на пташеня:
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%)
У цій позиції найкращий хід ставить шахматник 88 (90-2) рухається в сторону, що знаходиться далі від мат-мат, ніж вихідне положення, що робить правдоподібним, що при аналізі це призведе до іншої позиції, що без сприяння силі пташеня раптом набагато далі від мате, ніж раніше (ad infinitum). Якщо це правда, це призвело б до позиції G / --- / le- / cG- / CLG / e (див. Нижче) нічиєю замість виграшу без просування акцій .
ABC
+---+
1| | *e
2|le |
3|cG |
4|CLG|
+---+
2. Правильність вичерпного пошуку
Якщо припустити, що використаний генератор базових таблиць є правильним вичерпним пошуком, здається, що патч Фабіана повинен досягти успіху у відключенні промоції курчат, оскільки файл moves.c
- це єдине місце, яке POS_FLAGS
використовується (за винятком використання validation.c
для перевірки структур позицій) і справді здається цілеспрямованим вимкнути рекламні кампанії.
/* clear promotion bits for pieces that can't be promoted */
status &= POS_FLAGS;