Opgavesiden |
Husker du Bjarne Røhders drilske opgave fra sidste nr. af Interne træk? I ovenstående diagram skulle de hvide og de sorte springere bytte plads. Spørgsmålet var nu, om nogen kunne komme med en løsning, der var mindst lige så god som Bjarnes. Som sædvanlig er der ikke kommet nogen løsninger... og dog. Jeg har selv prøvet kræfter med opgaven og fundet to løsninger, og det i kun 40 træk!
Løsning A (40 træk): | Løsning B (40 træk): |
1: | 2-> 9 | 2: | 9-> 5 | 1: | 4-> 9 | 2: | 6-> 4 |
3: | 4-> 9 | 4: | 5-> 3 | 3: | 9-> 5 | 4: | 4-> 9 |
5: | 6-> 4 | 6: | 9-> 5 | 5: | 5-> 3 | 6: | 3-> 8 |
7: | 4-> 9 | 8: | 9-> 2 | 7: | 9-> 5 | 8: | 5-> 3 |
9: | 5-> 9 | 10: | 3-> 5 | 9: | 10-> 6 | 10: | 6-> 4 |
11: | 9-> 4 | 12: | 4-> 6 | 11: | 4-> 9 | 12: | 9-> 5 |
13: | 5-> 9 | 14: | 9-> 4 | 13: | 2-> 9 | 14: | 9-> 4 |
15: | 2-> 9 | 16: | 9-> 5 | 15: | 4-> 6 | 16: | 5-> 9 |
17: | 4-> 9 | 18: | 5-> 3 | 17: | 3-> 5 | 18: | 6->10 |
19: | 3-> 8 | 20: | 6-> 4 | 19: | 8-> 3 | 20: | 9-> 4 |
21: | 9-> 5 | 22: | 4-> 9 | 21: | 4-> 6 | 22: | 5-> 9 |
23: | 5-> 3 | 24: | 9-> 5 | 23: | 3-> 5 | 24: | 9-> 4 |
25: | 10-> 6 | 26: | 6-> 4 | 25: | 5-> 9 | 26: | 9-> 2 |
27: | 4-> 9 | 28: | 9-> 2 | 27: | 4-> 9 | 28: | 6-> 4 |
29: | 5-> 9 | 30: | 3-> 5 | 29: | 9-> 5 | 30: | 4-> 9 |
31: | 8-> 3 | 32: | 9-> 4 | 31: | 5-> 3 | 32: | 9-> 5 |
33: | 4-> 6 | 34: | 5-> 9 | 33: | 2-> 9 | 34: | 9-> 4 |
35: | 3-> 5 | 36: | 6->10 | 35: | 4-> 6 | 36: | 5-> 9 |
37: | 9-> 4 | 38: | 4-> 6 | 37: | 3-> 5 | 38: | 9-> 4 |
39: | 5-> 9 | 40: | 9-> 4 | 39: | 5-> 9 | 40: | 9-> 2 |
Bjarne havde selv set den et sted og med en del besvær og del timers arbejde
fundet frem til en løsning. Den var i 52 træk, afslører han
nu.
Jeg syntes ikke, det var nemt. Efter en del flytten frem og tilbage opgav jeg helt
og satte mig for at løse problemet ved hjælp af computeren! Alle
eksisterende skakprogrammer var naturligvis udelukket, de ville dels bruge mere af
brættet, dels insistere på at skifte mellem hvide og sorte træk og
endelig ikke forstå fordringen. Nej, det måtte gøres forfra.
Der er 10 felter og fra hvert af dem kan man komme til ét, to eller tre af de andre.
Ud fra startstillingen skulle man så "bare" gå felterne systematisk
igennem og lave de lovlige træk ét ad gangen. For hver af de nye stillinger
skulle man så lave det samme, etc. Hver gren skulle så stoppes, når
samme stilling opstod igen. Desuden skulle man stoppe, hvis en søgning blev
for lang, specielt hvis den blev længere end den hidtil bedste. Med en hurtig
maskine skulle det vel ikke være noget problem.
Med noget besvær fik jeg et program på benene, der så ud til at
kunne klare sagerne. De indledende afprøvninger så lovende ud. For at
teste søgehastigheden satte jeg maksimalt antal træk til bare 21 og
startede programmet. Tre timer senere cyklede det fortsat derudad. Og for hvert
ekstra træk ville det kræve ca. 5 gange længere tid. Dvs. ved max.
50 træk skulle man gange med 5 i tyvende potens, ca. 1 med 14 nuller efter!
Tilbage til tegnebrættet...
Jeg arbejdede med problemet, da min søn Søren (der læser
matematik) kom forbi. Vi snakkede bl.a. om, at de samme stillinger kunne blive
undersøgt igen og igen. At man burde kunne gemme alle stillinger i alle
søgetræer, så man kunne se om man havde været der
før. Ikke praktisk muligt, men det satte nu alligevel noget i gang. Jeg
ændrede programmet, således at alle stillinger (der er 1260 forskellige)
blev konstrueret fra starten, gemt i en stor tabel og forsynet med en tæller
hver. Hver gang jeg behandlede en stilling, slog jeg den så op i den store
tabel og så, om jeg tidligere havde set den og hvor langt væk fra
startstillingen, den dén gang var. Hvis den nu var længere væk end
før, så kunne jeg aldrig nå en bedre løsning og hele den
aktuelle gren blev så droppet. Det var en god indgangsvinkel. Programmet
kører nu et minuts tid og finder bedre og bedre løsninger, sluttende
med de to ovennævnte på 41 træk.
Hvis nogen har kunnet klare den opgave "fra bladet", så har vi andre da ikke en
chance i et slutspil... Alene det, at Bjarne har løst problemet ved
håndkraft berettiger ham til opgavens rødvin. Tak for en spændende
opgave.
Bjørn