Ja i AI
Jak rozmieścić na szachownicy 16 bierek jednej armii tak, aby wszystkie 64 pola były przez nie atakowane – to szachowo-matematyczne zadanie z rodziny dominacyjnych. Podobno nienowe, ale bardzo mało „używane” – być może dlatego, że ma sporo rozwiązań, a ich szukanie jest dość mozolne. Wypada dodać, że żadna bierka nie atakuje pola, na którym stoi, więc w rozwiązaniu każde takie zajęte pole także musi być atakowane przez inną bierkę.
Zaproponowałem AI uporanie się z tym zadaniem. Po podaniu paru ustawień z błędami AI zaserwowała poniższy poprawny diagram.

I próbowała mnie przekonać, że taka pozycja białych (pomijamy czarne) mogła powstać w trakcie gry, wyjaśniając, że niektóre pionki dokonały bicia – stąd pojawił się ich tercet w kolumnie g. Po zastanowieniu doszedłem do wniosku, że żadna „kaskada bić” nie mogła doprowadzić do takiego układu pionków, jak na diagramie (gdyby tak było, to w ustawieniu początkowym powinno być 9 pionków). AI przyznała mi rację, po czym wspólnie ustaliliśmy dokonanie małej zmiany: czarnych nie ma, jest tylko 16 białych w klasycznej pozycji startowej i wykonują one serię ruchów prowadzącą do szukanego ustawienia. Praktycznie sprowadza się to do tego, że w każdej kolumnie do końca powinien pozostać jeden pionek.
AI najpierw próbowała mnie przekonać, że wtedy pionki tworzą blokadę i nie tylko nie ma rozwiązania, ale nieatakowanych pozostaje nawet kilkanaście pól. Wówczas przedstawiłem jej znalezione na piechotę poniższe rozwiązanie z 3 nieatakowanymi polami.

Najpierw otrzymałem, jak zwykle w takich sytuacjach, potok pochwał, po czym AI przystąpiła do akcji. Doprowadziła do układu, w którym nieatakowane jest tylko jedno pole, przestawiając w moim ustawieniu dwie bierki. Które?
A może ktoś spróbuje znaleźć ustawienie z atakowanymi wszystkimi polami (i pionkiem w każdej kolumnie). Dotąd nikomu się to nie udało (ani AI), ale też nie ma dowodu, że to niemożliwe.
I na koniec ciekawostka: gdyby ten wpis ukazał się w średniowieczu, to jego tytuł byłby palindromem, bo wówczas nie było litery „J”; zamiast niej pisano literę „I”.
Komentarze z prawidłowym rozwiązaniem ujawniane są wieczorem w przeddzień kolejnego wpisu (z błędnym zwykle od razu). Wpisy pojawiają się co 7 dni.
Komentarze
ROZWIĄZANIE ZADANIA SZACHOWEGO
Pozycja końcowa:
Wa7, Wg8, Hc1, Kh3, Gc4, Gg1, Sd3, Sg3
Pionki: a4, b6, c5, d5, e5, f5, g2, h7
Sprawdzenie pokrycia:
Wszystkie 64 pola szachownicy są atakowane przez co najmniej jedną białą bierkę.
Nie ma żadnego pola nieatakowanego.
KOLEJNE RUCHY BIAŁYCH
1. d2-d4
2. Gc1-g5
3. e2-e3
4. Sg1-e2
5. f2-f4
6. Gg5-h4
7. Gh4-f2
8. Gf2-g1
9. h2-h4
10. Wh1-h3
11. Wh3-g3
12. Wg3-g8
13. Se2-g3
14. c2-c4
15. c4-c5
16. Gf1-c4
17. Hd1-c1
18. Sb1-c3
19. Sc3-e4
20. Se4-f2
21. Sf2-d3
22. Ke1-d2
23. Kd2-e2
24. Ke2-f3
25. Kf3-g4
26. Kg4-h3
27. b2-b4
28. b4-b5
29. b5-b6
30. Wa1-b1
31. Wb1-b5
32. Wb5-a5
33. Wa5-a7
34. a2-a4
35. d4-d5
36. e3-e4
37. e4-e5
38. f4-f5
39. h4-h5
40. h5-h6
41. h6-h7
POZYCJA PO 41. RUCHU
Wa7, Wg8,
Hc1,
Kh3,
Gc4, Gg1,
Sd3, Sg3,
a4, b6, c5, d5, e5, f5, g2, h7.
DIAGRAM
8 . . . . . . W .
7 W . . . . . . P
6 . P . . . . . .
5 . . P P P P . .
4 P . G . . . . .
3 . . . S . . S K
2 . . . . . . P .
1 . . H . . . G .
a b c d e f g h
Uwagi dotyczące kolejności:
– pion c musi dojść na c5 przed ustawieniem gońca na c4;
– wieża z h1 musi przejść przez h3-g3 do g8 przed ustawieniem skoczka na g3;
– wieża a1 wychodzi przez b1 dopiero po opuszczeniu tego pola przez skoczka.
Powyższa sekwencja przedstawia dojście białych bierek przy nieobecnych czarnych.
Każde z siedmiu ustawień atakuje wszystkie 64 pola. W każdym stoi jeden pionek w kolumnie, żaden nie jest na 8. rzędzie, a gońce są na różnych kolorach. Wszystkie sprawdziłem dwiema niezależnymi procedurami. Szukałem ich losowo, więc to tylko te, które trafiły się w ośmiu przebiegach, a nie pełna lista. Prawdopodobnie jest ich znacznie więcej. Odrzuciłem ósme trafienie, bo miało pionek na 8. rzędzie.
1. Wa7, Wg8, Hc1, Kh3, Gc4, Gg1, Sd3, Sg3; pionki a4, b6, c5, d5, e5, f5, g2, h7
8 . . . . . . W .
7 W . . . . . . P
6 . P . . . . . .
5 . . P P P P . .
4 P . G . . . . .
3 . . . S . . S K
2 . . . . . . P .
1 . . H . . . G .
a b c d e f g h
2. Wg8, Wh5, Hh1, Ke3, Gb3, Gc3, Sb5, Sb8; pionki a5, b7, c2, d6, e6, f2, g3, h7
8 . S . . . . W .
7 . P . . . . . P
6 . . . P P . . .
5 P S . . . . . W
4 . . . . . . . .
3 . G G . K . P .
2 . . P . . P . .
1 . . . . . . . H
a b c d e f g h
3. Wa8, Wh1, Hf5, Kc5, Ge4, Ge5, Sb1, Sc1; pionki a2, b4, c7, d6, e6, f2, g7, h6
8 W . . . . . . .
7 . . P . . . P .
6 . . . P P . . P
5 . . K . G H . .
4 . P . . G . . .
3 . . . . . . . .
2 P . . . . P . .
1 . S S . . . . W
a b c d e f g h
4. Wg8, Wh1, Hf3, Kb5, Gb1, Gf6, Sc4, Sg5; pionki a4, b6, c6, d5, e2, f7, g7, h6
8 . . . . . . W .
7 . . . . . P P .
6 . P P . . G . P
5 . K . P . . S .
4 P . S . . . . .
3 . . . . . H . .
2 . . . . P . . .
1 . G . . . . . W
a b c d e f g h
5. Wg5, Wh1, Hb4, Kd2, Gd4, Gd5, Sa6, Sb8; pionki a3, b2, c7, d7, e6, f4, g3, h7
8 . S . . . . . .
7 . . P P . . . P
6 S . . . P . . .
5 . . . G . . W .
4 . H . G . P . .
3 P . . . . . P .
2 . P . K . . . .
1 . . . . . . . W
a b c d e f g h
6. Wa1, Wd2, Hc6, Kg4, Gc3, Gg6, Sc8, Sf5; pionki a7, b4, c2, d5, e7, f3, g7, h7
8 . . S . . . . .
7 P . . . P . P P
6 . . H . . . G .
5 . . . P . S . .
4 . P . . . . K .
3 . . G . . P . .
2 . . P W . . . .
1 W . . . . . . .
a b c d e f g h
7. Wa4, Wh8, Hd1, Kb6, Gf3, Gf6, Sd6, Sg4; pionki a6, b5, c5, d5, e6, f5, g3, h2
8 . . . . . . . W
7 . . . . . . . .
6 P K . S P G . .
5 . P P P . P . .
4 W . . . . . S .
3 . . . . . G P .
2 . . . . . . . P
1 . . . H . . . .
a b c d e f g h
Pełne pokrycie z pozycji autora
Z pozycji autora wystarczy przestawić 3 bierki:
H b7→g2, K f2→d6, S g5→c7
8 W . . . . . . P
7 . . S . . . . .
6 . . . K . . P .
5 . . P . . . . .
4 . . . G G P . .
3 . P . . P . . .
2 P . S P . . H .
1 . . . . . . . W
a b c d e f g h
To minimum i jest ono jedyne:
przy dwóch przestawieniach zawsze zostaje co najmniej jedno wolne pole (to był wcześniejszy przegląd wszystkich par);
pełny przegląd wszystkich przestawień trzech bierek znalazł tylko ten jeden układ.
Rozwiązanie wyrasta wprost z jednej z odpowiedzi na pytanie autora. Para H b7→g2, K f2→d6 zostawia nieatakowane tylko pole b5. Trzecie przestawienie, S g5→c7, atakuje b5 i jednocześnie zachowuje ataki na pozostałe pola.
Kto broni zajętych pól:
Wa8 ← Ge4 (przekątna h1–a8), Sc7
Ph8 ← Wa8, Wh1, Gd4
Sc7 ← Kd6
Kd6 ← pionek c5
Hg2 ← Ge4
Wh1 ← Hg2
Sc2 ← Ge4
Gd4 ← Sc2, pionek e3
Ge4 ← Hg2
pionki: a2 ← Wa8; b3 ← a2; d2 ← Hg2; e3 ← d2, Gd4, Sc2; f4 ← e3; c5 ← Gd4, Kd6; g6 ← Ge4, Hg2
Jedna uwaga: to rozwiązanie zostawia pionek na h8 z diagramu autora. W prawdziwej partii pionek nie mógłby tam stać bez promocji. Jeśli ten pionek też trzeba przenieść, rozwiązanie z trzema przestawieniami nie istnieje, bo przegląd uwzględniał również ruch pionka h.
Moim „sposobem” jest zwykle rozwiązywanie takich złożonych problemów z użyciem Pythona generowanego przez Gemini Pro (Niestety w pewnym sensie łamie to niepisane zasady łamania sobie głowy „na piechotę” 🙂 ). W tym przypadku ~130 linijek uporało się z zadaniem w 0.7 sekundy. Jeśli potraktować to zadanie kombinatorycznie, to jest zbyt dużo kombinacji (4.8×10¹⁴), aby je wszystkie przeanalizować. Użycie Z3 Theorem Provider (od uS) pozwala na zdefiniowanie zasad szachowych i warunków zadania w postaci więzów matematycznych, z którymi solver uporał się bardzo szybko.
a b c d e f g h 8 R . . . . . . . 7 . P . . . . . P 6 . . P . N . P . 5 . . B . P P . . 4 N . . . B K . . 3 P . . P . . . . 2 . R . . . . . . 1 . . . . . . . Q piece_symbols = { EMPTY: '.', PAWN: 'P', KNIGHT: 'N', BISHOP: 'B', ROOK: 'R', QUEEN: 'Q', KING: 'K' }Wrzucam pierwszy wynik na szybko, żeby ewentualnie coś poprawić – jeśli trzeba będzie.
Gońce ustawiły się na różnokolorowych polach – to nawet fajnie z ich strony;)
Nie ma pionów na linii promocji – tak według mnie wygląda naturalniej.
Królz F2 na F3
Skoczek z C2 na C4
A gdyby dać
Skoczek z C2 na C4
Król z F2 na F3
Skoczek z G5 na G3
Pionki F5, G5, H4
To chyba mamy 100%
Zadanie, które „poprawiła” AI
Dwie przestawiane bierki:
1. Król f3
2. Skoczek c2-c4
Nieatakowane pozostaje pole (Wieża) h1.
Jeśli AI wymyśliła powyższe to mam niespodziankę w postaci jeszcze innego rozwiązania.
Reguły bez zmian: przestawiamy dwie bierki i jedno pole pozostaje nieatakowane.
Ujawnię je w przyszłym terminie żeby teraz nie psuć zabawy.
Wszystkie pola wydają się być atakowane w układzie:
Wa8; Hb7; Sc4; Gd4; Ge4; Kf3; Sg3; Wh1;
a2; b3; c5; d2; e3; f5; g5; h4
semigraficznie:
W——-
-H——
——–
–p–pp-
–SGG–p
-p–pKS-
p–p—-
——-W
W każdej kolumnie jest 1 pion (zamierzone) i 1 figura (miły przypadek).
Warianty alternatywne:
– pion z d2 na d6
– skoczek z c4 na b1 (ale psuje regułę 1 figury w kolumnie)
Do analizy na długie jesienne wieczory .
To jest rozwiązanie tego zadania jeżeli na szachownicy są wszystkie białe i czarne bierki. Wielkie litery oznaczają białe bierki, małe czarne. W = wieża, H = hetman, K = król, G = goniec, S = skoczek, P = pionek.
8 W h . . . . . W
7 . . p p p . . .
6 p p . P P . g p
5 . G P . . p . .
4 P P . . . S p P
3 . . G w S . P s
2 . K . . . P H .
1 . . s w . . g k
a b c d e f g h
Białe: Wa8, Wh8, Hg2, Kb2, Gb5, Gc3, Se3, Sf4; pionki a4, b4, c5, d6, e6, f2, g3, h4.
Czarne: Kh1, Hb8, Wd1, Wd3, Gg1, Gg6, Sc1, Sh3; pionki a6, b6, c7, d7, e7, f5, g4, h6.
Każde pole jest pod biciem przez białe.
A tu w jaki sposób uzyskać to ustawienie.
1. e4 g5
2. d4 b6
3. Gb5 a6
4. a4 Gb7
5. b4 Sc6
6. c4 Hb8
7. h4 Ha7
8. Sf3 Sf6
9. Sg1 Gh6
10. e5 g4
11. e6 Sh5
12. d5 Sa5
13. d6 Sc6
14. c5 Sa5
15. Sa3 Sc6
16. Gd2 Sa5
17. Hc2 Sc6
18. O-O-O Sa5
19. Kb2 Kf8
20. Sf3 Kg7
21. Sg1 Kf6
22. Sf3 Wag8
23. Sg1 Wg5
24. Sf3 Wd5
25. Sg1 Wd3
26. We1 Sc6
27. We5 Sa5
28. Wg5 Sc6
29. Wg8 Sa5
30. Wa8 Wg8
31. Sf3 Wg5
32. Sg1 We5
33. Sf3 We1
34. Sg1 Wd1
35. Sh3 Sc6
36. We1 Sa5
37. We5 Sc6
38. Wg5 Sa5
39. Wgg8 Sc6
40. Wh8 Sa5
41. Sb1 Gf4
42. Sa3 Gh2
43. Sb1 Gg1
44. Sa3 h6
45. g3 Kf5
46. Sb1 Ke4
47. Sa3 Kf3
48. Sb1 Kg2
49. Sa3 Kh1
50. Sb1 Ge4
51. Sa3 Gg6
52. Sb1 Sb3
53. Sa3 Sc1
54. Sb1 f5
55. Sa3 Wd4
56. Gc3 W4d3
57. Sf4 Wd4
58. Sc4 W4d3
59. Se3 Wd4
60. Hd3 Sb3
61. Hf1 W4d3
62. Gc4 Sf6
63. Gb5 Sh7
64. Gc4 Sg5
65. Gb5 Sh3
66. Gc4 Hb8
67. Gb5 Sc1
68. Hg2#
Jak przebiega partia:
Ruchy 1–21: budowa korytarza. Białe pionki d i e idą na d6 i e6, czarny pionek g na g4, a pole f5 zostaje wolne. Białe robią długą roszadę (18. O-O-O) i król idzie na b2. Czarny król chowa się na f6.
Ruchy 22–40: wymiana wież przez łańcuchy pionków, kolejno:
czarna wieża a8 → g8 → g5 → d5 → d3;
biała wieża (po roszadzie z d1) → e1 → e5 → g5 → g8 → a8;
czarna wieża h8 → g8 → g5 → e5 → e1 → d1;
biała wieża h1 → e1 → e5 → g5 → g8 → h8.
Ruchy 41–49: czarny goniec przechodzi f4 → h2 → g1, zanim białe zagrają g2–g3. Potem czarny król wędruje f5 → e4 → f3 → g2 → h1.
Ruchy 50–68: wszystkie bierki wchodzą na swoje pola. Białe skoczki stają na e3 i f4 dopiero po przejściu czarnego króla, bo oba atakują g2. Na końcu Hf1–g2 daje mata.
Tutaj partia z wybiciem wszystkich czarnych bierek oprócz króla, którego zabić się nie da ale można go zamatować.
1. e4 b5
2. Gxb5 h5
3. Hxh5 g5
4. Hxg5 f5
5. Hxg8 a6
6. Hxh8 e5
7. Gxa6 Hf6
8. Gxc8 Wa3
9. Hxf6 d6
10. Hxd6 c6
11. Gxf5 c5
12. Sxa3 c4
13. Sxc4 Sa6
14. Sxe5 Ge7
15. Hxa6 Ga3
16. Hxa3 Kd8
17. b4 Ke7
18. h4 Kf6
19. f3 Ke7
20. d4 Kf6
21. b5 Kg7
22. f4 Kf6
23. c4 Kg7
24. Wh3 Kf6
25. Ge3 Kg7
26. Wb1 Kf6
27. b6 Kg7
28. Ge6 Kf6
29. Wb5 Kg7
30. Wa5 Kf6
31. Sd3 Kg6
32. Se2 Kf6
33. h5 Kg7
34. c5 Kf6
35. Hc1 Kg7
36. a4 Kf6
37. Gc4 Ke7
38. h6 Kf6
39. d5 Kg6
40. Wh5 Kf6
41. Gg1 Kf7
42. h7 Kf6
43. Wg5 Kf7
44. Kf2 Kf6
45. Kg3 Ke7
46. Kh3 Kf6
47. Wg8 Kf7
48. Sg3 Ke7
49. f5 Kf7
50. Wa7+ Kf6
51. e5#
Pozycja końcowa (białe: Wa7, Wg8, Hc1, Kh3, Gc4, Gg1, Sd3, Sg3, pionki a4, b6, c5, d5, e5, f5, g2, h7; czarne: tylko Kf6):
8 . . . . . . W .
7 W . . . . . . P
6 . P . . . k . .
5 . . P P P P . .
4 P . G . . . . .
3 . . . S . . S K
2 . . . . . . P .
1 . . H . . . G .
a b c d e f g h
W piątkowej kategorii „16 bierek tworzy serce”.
Lewa komora serca jakaś taka rachityczna (wręcz zdegenerowana) ale widać tak to jest w przyrodzie łamigłówkowej.
W kategorii „dwa przestawienia dają jedno pole nieatakowane” istnieje kilka rozwiązań, które przestawiają bierki w prawej, dolnej części planszy (+ okolice).
Natomiast poniższe mnie zaskoczyło bo okazuje się, że (wbrew pozorom) Hetman nie ma na dalekiej północy zbyt wiele do roboty – łatwo zastępuje go pionek.
Hetman przestawiony na pole e2 !!!
Pionek przestawiony na pole d6
Nieatakowane pole: d7
Myślałem, że to jedyne rozwiązanie z przestawieniem Hetmana…
… i wtedy pojawiło się to, które pokazał Antyp1958:
H b7=>g2, K f2=>d6