Bây giờ tôi tin chắc rằng câu trả lời của Fabian Fichter là đúng. Bình luận sau đây về câu trả lời của Fabian có thể giúp thuyết phục những người khác giống như vậy.
1. Vị trí dường như bị ảnh hưởng bằng cách loại bỏ khuyến mãi gà
Phân tích kết quả được đăng từ Stockfish đã sửa đổi, tất cả các trò chơi hội tụ khá nhanh ở vị trí sau: 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 sau đó chơi C*a4
, thả gà của họ ở góc dưới bên trái. Ban đầu tôi nghĩ đây là một sự sụt giảm khá lãng phí nhưng theo cơ sở bảng thì nó thực sự không tệ chút nào.
1. C *a4
ABC
+---+
1| l | *c
2|ge |
3| E |
4|CLG|
+---+
Bây giờ một cái gì đó thú vị xảy ra. Cơ sở bàn đồng ý với Stockfish rằng việc đẩy Sư tử sang một bên là một trận hòa, nhưng còn việc thả một con gà con để chiến đấu với một con gà thì sao?
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| *
+---+
Bây giờ gà con chỉ a3
còn một bước nữa là quảng bá và hơn nữa sẽ kiểm tra việc quảng bá, điều này sẽ buộc sư tử Sente phải lấy nó. Vấn đề duy nhất là động thái tốt nhất liên quan đến việc mất con gà con a3
và chúng tôi vẫn còn khá xa so với một người chơi. Do đó, chúng tôi sẽ rút ngắn một chút, để chúng tôi mất nhanh hơn, nhưng không mất vì những lý do khác như cho đi vật chất không cần thiết.
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
+---+
Chúng tôi dường như đã thành công trong việc bảo tồn mối đe dọa của con gà thúc đẩy hy sinh, vì vậy hãy tiếp tục!
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%)
Và ở đó, con gà thúc đẩy hy sinh là động thái tốt nhất! Hãy xem điều gì xảy ra.
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%)
Bây giờ hãy xem điều gì xảy ra nếu chúng ta thay đổi con gà trống đó thành một con gà con:
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%)
Ở vị trí này, bước di chuyển tốt nhất sẽ khiến cho checkmate 88 (90-2) di chuyển ra xa, xa hơn so với vị trí bắt đầu, khiến cho việc phân tích sẽ dẫn đến một vị trí khác mà không phát huy được sức mạnh của gà thì đột nhiên xa hơn giao phối hơn trước (ad infinitum). Nếu đúng điều đó sẽ làm cho vị trí G / --- / le- / cG- / CLG / e (xem bên dưới) một trận hòa thay vì một chiến thắng mà không có khuyến mãi gà .
ABC
+---+
1| | *e
2|le |
3|cG |
4|CLG|
+---+
2. Tính chính xác của tìm kiếm toàn diện
Giả sử rằng trình tạo cơ sở bảng đã sử dụng là một tìm kiếm toàn diện chính xác, có vẻ như bản vá của Fabian sẽ thành công trong việc vô hiệu hóa các quảng cáo gà vì tệp moves.c
là nơi duy nhất POS_FLAGS
được sử dụng (ngoại trừ việc sử dụng validation.c
để kiểm tra cấu trúc vị trí) và thực sự có vẻ như được xây dựng có mục đích để vô hiệu hóa chương trình khuyến mãi.
/* clear promotion bits for pieces that can't be promoted */
status &= POS_FLAGS;