Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
Liebe Liste! An alle Freunde der Rekreationsmathematik, und insbesondere an Udo und Susanne Krause, die immer wieder sehr gute programmtechnische Tricks auf Lager haben. In seinem lesenswerten Buch ?Aus eins mach zehn und zehn ist keins ? Glanz und Elend der Mathematik? (http://www.amazon.de/eins-keins-Glanz-Elend-Mathematik/dp/3499166801/ref=sr _1_1?ie=UTF8 <http://www.amazon.de/eins-keins-Glanz-Elend-Mathematik/dp/3499166801/ref=sr _1_1?ie=UTF8&qid=1364923638&sr=8-1> &qid=1364923638&sr=8-1) berichtet der Autor Helmut Kracke auf Seite 17, dass es 880 wesentlich verschiedene magische Quadrate der Ordnung 4, und unter diesen 48 panmagische Quadrate gebe. Nicht wesentlich verschieden sind solche Quadrate, die sich durch Drehung und / oder Spiegelung ineinander überführen lassen. Vor vielen Jahren habe ich mal mit einem ?brute-force? Basic Programm eine Liste der 880 Quadrate erstellt. Das war mühsam, da der Rechner langsam (die Rechenzeit betrug mehrere Tage) und der Speicher klein (jede Menge Zwischenergebnisse mussten auf die Platte ausgelagert werden) war. Die Ausgabe auf dem Drucker passierte Platz sparend ohne Zwischenräume in hex, weshalb die Ziffern 0 ? 15 und nicht 1?16 verwendet wurden. Neulich habe ich Fragmente dieser Liste wiedergefunden und wollte sie in toto neu erstellen. Es gibt im Mma Library Archive ein notebook von Christopher Henrich zu diesem Thema. http://library.wolfram.com/infocenter/Conferences/7500/ Aber leider läuft der Code nicht auf meiner Maschine (warum auch immer? Z.B. gibt schon Needs[?Convex`ConvexPolyhedra`?] eine Fehlermeldung) , und wie ich das überblicke, findet er 220 magische Quadrate. (siehe unter ?Let?s Try It? Length[MagicSqualreList] ). Ich habe mich also entschlossen, meinen damaligen ?brute ? force? code noch einmal unter Mathematica zu reaktivieren. Siehe angehängtes notebook. Auf meinem Rechner braucht das Ganze knapp 3 Stunden, was ja schon mal ein Fortschritt ist, und ich finde ? wie damals ? 880 magische Quadrate und unter diesen auch 48 panmagische. So weit, so schön. Aber es ist wohl sicher so, für n = 5 oder gar 6 ist das völlig unbrauchbar. Jetzt folgende Fragen: Gibt es Ideen, den Code zu verbessern? Kennt jemand etwas zu n = 5 und / oder n = 6 ? (es geht darum, die Anzahl ALLER wesentlich verschiedenen MQ?s zu ermitteln und sie idealerweise auch anzugeben, wenn das nicht jeden Speicherplatz sprengt) Es gibt ja Methoden, EIN magische Quadrat ungerades n zu konstruieren, das ist aber hier nicht gefragt. Außerdem denke ich, meine Methode ist ganz weit ab von gut. Ich glaube, es müsste eine Methode geben, die MQ?s zu konstruieren in einer Art ?depth-first? Algorithmus, also mit einer sich selbst aufrufenden Prozedur (Markus van Almsick ist ein Meister in dieser Art der Programmierung), die nacheinander die Felder des Quadrats belegt und eine oder zwei Ebenen höher zurückspringt, wenn es nicht passt, und dann wieder neu probiert. Ich habe da erste Ideen, komme aber nicht so richtig weiter. Hat jemand Lust, mit mir da in einen Gedankenaustausch zu treten und zu versuchen, so einen Code zu entwickeln? Mit den besten Grüßen Hans Dolhaine
magicsquare.nb
Description: Mathematica Notebook document
Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
DMUG-Archiv, http://www.mathematica.ch/archiv.html