मुझे अब विश्वास हो गया है कि फैबियन फिशर का जवाब सही है। फैबियन के जवाब पर निम्नलिखित टिप्पणी उसी के अन्य लोगों को समझाने में मदद कर सकती है।
1. ऐसी स्थिति जो चिक प्रमोशन को दूर करने से प्रभावित होती है
संशोधित स्टॉकफ़िश से पोस्ट किए गए परिणामों का विश्लेषण करते हुए, सभी गेम निम्न स्थिति पर बहुत जल्दी से अभिसरण करते हैं: 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|
+---+
अब कुछ दिलचस्प होता है। टेबल बेस स्टॉकफिश से सहमत है कि शेर को पक्ष में लाना एक ड्रॉ है, लेकिन एक लड़की से लड़ने के लिए एक लड़की को छोड़ने के बारे में क्या?
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) को दूर ले जाता है, जो शुरुआती स्थिति की तुलना में चेकमेट से दूर है, यह प्रशंसनीय बनाता है कि जब विश्लेषण किया जाता है तो यह एक और स्थिति की ओर ले जाएगा जो बिना चिक पॉवर को बढ़ावा दिए अचानक से बहुत आगे है पहले की तुलना में (विज्ञापन infinitum)। अगर यह सच है कि स्थिति जी / --- / ले- / सीजी- / सीएलजी / ई (नीचे देखें) एक स्थान पर एक स्थान पर बिना चिकोटी पदोन्नति के जीतेगी ।
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;