Springarens färdProblemet är gammalt och behandlades redan av Leonard Euler (1707-83) [1,2]. Frågan är om schackpjäsen springaren (hästen) kan ta sig runt brädet och därvid besöka varje ruta en och endast en gång. Och om det finns en sådan tur, kommer genast följdfrågan hur många olika sådana turer det finns.Problemet kan begränsas genom att kravet att turen skall vara sluten; att slutrutan skall vara på springarstegs avstånd från startrutan . I dagens läge med datorer kan man möjligen tycka att problemet borde vara löst. Ett sätt är ju att helt enkelt låta datorn pröva alla möjliga vägar, som springaren kan välja på. De flesta slutar i en återvändsgränd - springaren kommer till en ruta varifrån den inte kan ta sig utan att hamna på en ruta, som redan besökts. Då backar man ett steg och provar ett annat vägval. Och har man redan provat alla val där, får man backa ett steg till. Osv. Backtracking kallas strategin, och är ofta användbar. | |
| Problemet är hanterbart på ett mindre bräde.
På ett 6 * 6
rutors bräde räcker enkel backtracking för att räkna
antalet slutna färder. På ett sådant finns 9 862 olika
slutna springarfärder - ett resultat som fås
efter att man provat 4 056 367 434 drag. (Även om backtracking alltid
garanterar resultat - förutsatt man har tid, kan det,
som torde framgå, vara ganska ineffektivt.)
På ett normalt 8 * 8 rutors schackbräde visar sig problemet vara oväntat stort. Faktiskt så stort, att direkt räkning av springarfärder, ligger utom räckhåll också med dagens snabba datorer. Det behövs andra angreppssätt.
Martin Löbbing och Ingo Wegener skrev
1995 en artikel med den
slående rubriken: "The Number of Knight's Tours equals 33,439,123,484,294
-- Counting with Binary Decision Diagrams".
De nådde sitt resultat genom att köra 20 Sun-stationer i fyra
månader (spilltid, effektiv CPU-tid var mindre). För att få en uppfattning om dessa tals storlek, betrakta en dator, som söker och hittar en miljon turer i minuten (266 MHz PC). Kan förefalla hyggligt snabbt, men datorn behöver icke desto mindre mer än 9,213 dygn - dvs. mer än 25 år - för att nå Brendan McKays antal turer.
Egentligen behöver man inte använda backtracking för att åstadkomma en springartur. Det finns en gammal effektiv metod som går rakt på målet. Den beskrivs och demonstreras på nästa sida om Warnsdorffs regel
1. Euler gjorde en djupare analys av problemet och skapade begrepp, som blivit viktiga i grafteorin, men han var inte den ende eller förste, som undersökt det. Taylor (1685-1731), de Moivre (1667-1754) och Lagrange (1736-1813) är andra berömda matematiker som tittat på det. Fler finns hos the MacTutor History of Mathematics archive på deras sida mathematical games and recreations 2. Mark R. Keen berätttar mer om om problemets historia och grafteori i en vacker uppsats: "THE KNIGHT'S TOUR" 3. George Peter Jelliss ger en inträngande historia/bibliografi över problemet i sin Knight's Tour Notes. (Startar 2200 f.Kr. !)
4. De omnämnda artiklarna finns i
the Electronic
Journal of Combinatorics, Volume 3,(no 1)
5. I Japan görs det med hjälp av neurala
nätverk ! Här en Java applett: | |
| Ändrad 00 03 08 | Antal besök:
|