Computerschach mal anders
ich versuch (wieder) mal eine SSD mit allen geschlossenen 8x8 Springertouren zu erzeugen.
Um sie dann nach gewissen Eigenschaften und Statistiken zu durchforsten.
3 Methoden :
1.) klassisches backtracking um eine Springerweg zu verlaengern.
Dabei immer aufpassen, dass kein Feld mit nur einem Nachbarn
existiert. Das beschleunigt die Sache. Ca. 30000 Touren pro sec. pro Kern
In dieser Reihenfolge erzeugt lassen sie sich effektiv mit 7zip komprimieren :
weniger als 2 Bytes pro Tour, ca.3TB fuer alle. Das Dekomprimieren ist aber noch
nicht schnell genug.
2.) alle 50Milliarden 5*8- Weg-Strukturen erzeugen siehe McKay,1999
Eine Wegstruktur kann im Durchschnitt mit 700 Teil-Touren (im 5x8) erreicht werden
und mit ca. 100 Teiltouren (im 3x8) fortgesetzt werden.
Da die Erreichbarkeit und Fortsetzbarkeit fuer partielle Touren mit gleicher
Wegstruktur identisch ist, gibt das auf einen Schlag 70000 Touren pro Wegstruktur
und nur 50e9*(700+100) muessen abgespeichert werden.
3.) Unterketten-Umdrehung. Aus einer Tour erhaelt man meist mehrere neue indem
man eine Reihe aufeinanderfolgender Springerzuege in umgekehrter Richtung
durchlaeuft. Das geht auch mit normalen Hamilton-Cyklen in Graphen,
ich weiss nicht wie das da heisst, ob das untersucht wurde.
Durch iteration erhaelt man >100000 Touren pro Kern pro Sekunde, aber man muss sicherstellen
dass keine (oder zumindest nur wenige) doppelt vorkommen und dass man auch viele erreicht -
der Rest kann wieder einfach aufgelistet werden. Erzeugt man systematisch alle erreichbaren
Touren, so ist das ca. 10 mal langsamer als wenn man nur die Parameter der
naechsten Umkehrung abspeichert. Das geht mit 1 Byte pro Tour.
1.) hatte ich halb fertig, dann kam SARS2
2.) dauert ca 60Tage auf meinem Laptop, Parallellisierung mit mehreren kernen
ist nicht so einfach.
3.) ist evtl. auch theoretisch interessant. Permutationen aus S_64 die von
Unterketten-Umkehrung erzeugt werden z.B. 1,2,3,7,6,5,4,8,9,...,64
wobei aber die Schnittpunkte durch Springerzuege erreichbar sein muessen
Wieviele Unterketten-Umkehrungen sind noetig um von einer Springertour
zur anderen zu kommen und geht das ueberhaupt bei allen Touren ?
(nein, Paritaet der 4 Zug-Richtungs-Anzahlen)
Zaehle die >< - Wechsel in der Permutation. Jede Umkehrung
erhoeht dieselbe um max.2
Eine Umkehrung tauscht 2 gegenueberliegende Kanten in einem der Springer-Parallellogramme.
Davon gibt es 148 mit den 3 Typen Quadrat (b1,a3,c4,d3) ,Karo(b1,a3,b5,c3) ,Lanzenspitze (a1,b3,d4,c2)
Das blosse Abzaehlen der Touren mit 2.) geht in ca. 12 Stunden auf meinem Laptop von 2014 mit SSD
(schnelles Sortieren grosser Dateien zum Finden und Aufaddieren der Teiltouren mit gleicher Wegstruktur)
indem man nur all die Wegstrukturen erzeugt
(8M fuer's 4x8, 161M fuer's 5x8) ,
und die zugehoerigen Teil-touren zuordnet und aufaddiert.
Man nimmt successiv jeweils ein Feld dazu und erweitert die Wegstrukturen.
Da gibt es dann 3 Moeglichkeiten, indem man das neue Feld mit 0,1,2 freien
Enden verbindet.
Diese Methode 2.) laesst sich auch fortsetzen auf 8X9,8x10... Bretter.
Aber nicht 9X9 etc., da explodieren die Zahlen.
Nun, auch das wurde in 2015 erfolgreich versucht, siehe unten.
Wenn jemand noch Rechenpower und grosse schnelle SSDs uebrig hat
kann er's mal versuchen
1997,pathstructures :
https://oeis.org/A001230https://oeis.org/A001230/a001230.pdf2011, [2.)] ttps://oeis.org/A193055
ptourn.c Linux,Windows
http://magictour.free.frandere Beschreibung hier :
https://oeis.org/search?q=1067638&sort=&language=&go=SearchEr fuegt volle Spalten hinzu statt einzelne Felder wie in 2.)
====================================
in 2015 hier fuer 9x10 aus China :
https://oeis.org/search?q=1067638&sort=&language=&go=Search19381952998732022416892 = 2e18 (2015)
After testing, network transmission is too slow, is the bottleneck of the whole calculation,
so the dual-machine operation is not single-machine fast. Recently optimized the program,
read-only write terabytes of oversized files, on a stand-alone machine to calculate the total
number of closed-circuit chessboards, the effect of the group, run for a month to get the
results the landlord wants:
And the total number of closed roads is too much, we only know the result of this digital model.
It is worth mentioning that the first run is the use of mobile hard disk, the result only ran for
more than a month, read-only written the amount of data on my mobile hard drive wrote bad,
Helplessly had to use the desktop comes with the hard disk, clean out of the space to run again.
Upon enquiry, the total number of closed roads could not be found on google,
This may be due to a miscalculation, or it is possible that this data is the first of its kind
in this round. If the latter can be verified, the results can be submitted to OEIS.
##### Before that, write the above results into plain text so that search engines can search for:
===================================
das erstaunlichste an Springertouren ist dieser Algorithmus, diese Methode, um das Brett
Feld um Feld mit Weg-structuren zu fuellen anstatt Springerzugketten zu verlaengern.
========================================
Jelliss hat eine umfangreiche Webseite ueber Springertouren, kurioses,
geschichtliches , auch zum download in .pdfs (in Englisch)
aber im wesentlichen ohne die Computer/Programmierung/Algorithmus-Aspekte
https://www.mayhematics.com/t/t.htmhttps://www.mayhematics.com/t/8a.htm====================================