One Billion Queens Problem Solution oder "Untersuchung von Mustern in der Liste der Lösungen fĂŒr das n-Queens-Verteilungsproblem"

Zusammenfassung


Es wird eine Beschreibung der Gesetze gegeben, die in einer sequentiellen Liste aller Lösungen fĂŒr das n-Queens-Verteilungsproblem festgelegt wurden. Es wird festgestellt, dass:


  • Der Anteil vollstĂ€ndiger Lösungen in der allgemeinen Liste aller Lösungen nimmt mit zunehmendem Wert von n ab.
  • Komplettlösungen werden in einer sequentiellen Liste aller Lösungen so verteilt, dass Komplettlösungen, die sich in der Liste nahe beieinander befinden, am wahrscheinlichsten gefunden werden.
  • In der allgemeinen Liste aller Lösungen gibt es Symmetrie in der Reihenfolge der vollstĂ€ndigen Lösungen. Wenn an der i-ten Position vom Anfang der Liste die Lösung vollstĂ€ndig ist, ist auch die symmetrische Lösung vom Ende der Liste an der Position n-i + 1 vollstĂ€ndig (die Symmetrieregel der Lösungen).
  • Alle kurzen und vollstĂ€ndigen Lösungspaare, die sich symmetrisch in der Liste aller Lösungen befinden, sind komplementĂ€r - die Summe der Positionsindizes der entsprechenden Linien ist konstant und gleich n + 1 (die Regel der KomplementaritĂ€t von Lösungen). Dies deutet darauf hin, dass nur die erste HĂ€lfte der Liste aller vollstĂ€ndigen Lösungen „eindeutig“ ist. Jede vollstĂ€ndige Lösung aus der zweiten HĂ€lfte der Liste kann auf der Grundlage der KomplementaritĂ€tsregel erhalten werden. Eine Konsequenz dieser Regel ist die Tatsache, dass fĂŒr jeden Wert von n die Anzahl der vollstĂ€ndigen Lösungen immer eine gerade Zahl ist.
  • Die AktivitĂ€t der Zellen der Zeilen der Lösungsmatrix ist symmetrisch in Bezug auf die horizontale Achse, die durch die Mitte dieser Matrix verlĂ€uft. Dies bedeutet, dass die AktivitĂ€t der Zellen der i-ten Reihe immer mit der AktivitĂ€t der Zellen der Reihe n-i + 1 ĂŒbereinstimmt. Mit AktivitĂ€t ist die HĂ€ufigkeit gemeint, mit der der Zellindex in der entsprechenden Zeile der Liste der vollstĂ€ndigen Lösungen auftritt. In Ă€hnlicher Weise ist die AktivitĂ€t der Zellen der Spalten der Lösungsmatrix symmetrisch um die vertikale Achse, die die Matrix in zwei gleiche Teile teilt
  • UnabhĂ€ngig von n erscheint bei einer sequentiellen Suche aller Lösungen die erste vollstĂ€ndige Lösung erst nach einer bestimmten Folge von kurzen Lösungen. Die GrĂ¶ĂŸe der anfĂ€nglichen Folge von kurzen Lösungen nimmt mit n zu. Die LĂ€nge der Liste der kurzen Lösungen vor dem Erscheinen der ersten vollstĂ€ndigen Lösung fĂŒr gerade Werte von n ist signifikant lĂ€nger als fĂŒr die nĂ€chsten ungeraden Werte.
  • Die Linie in der Entscheidungsmatrix, auf der sich Schwierigkeiten vorwĂ€rts zu bewegen beginnen und die erste kurze Entscheidung gebildet wird, teilt die Matrix gemĂ€ĂŸ der Golden-Ratio-Regel. FĂŒr kleine Werte von n ist eine solche Schlussfolgerung ungefĂ€hr, jedoch steigt mit einer Erhöhung des Wertes von n die Genauigkeit einer solchen Schlussfolgerung asymptotisch auf das Niveau der Standardregel.

Diese Veröffentlichung prĂ€sentiert die wichtigsten Ergebnisse des Artikels [1] , der in der Zeitschrift „Modeling of Artificial Intelligence, 2018, 5 (1)“ veröffentlicht wurde. Auf HabrĂ© gab es Arbeiten, die mit einem Problem von n-Queens verbunden waren: [2] , [3] ,
Das Problem, n Königinnen auf einem Schachbrett in nxn-GrĂ¶ĂŸe zu verteilen, hat eine lange Geschichte. Es wurde ursprĂŒnglich 1848 von M. Bezzel [4] als intellektuelle Aufgabe fĂŒr ein regulĂ€res Schachbrett formuliert. Im Laufe der Zeit wurde die ErklĂ€rung des Problems von F. Nauck [5] erweitert, und die GrĂ¶ĂŸe eines Schachbretts konnte jeden Wert annehmen.


EinfĂŒhrung


Die ErklĂ€rung des Problems ist recht einfach: Sie mĂŒssen n Königinnen auf einem Schachbrett der GrĂ¶ĂŸe nxn verteilen, sodass in jeder Zeile, jeder Spalte sowie auf der linken und rechten Diagonale, die durch die Zelle verlĂ€uft, in der sich die Königin befindet, nicht mehr als eine Königin vorhanden ist. Diese Aufgabe ist leicht zu verstehen oder jemandem zu erklĂ€ren, aber es ist ziemlich schwierig, sie zu lösen. Tatsache ist, dass es keine Regeln gibt, auf deren Grundlage Sie Königinnen in jeder Zeile anordnen können, um eine Lösung zu erhalten. Eine Lösung kann nur erhalten werden, indem verschiedene Varianten der Anordnung von Königinnen in bestimmten Zeilen aufgezĂ€hlt werden. Die KomplexitĂ€t dieser Lösungsmethode liegt jedoch darin, dass die Anzahl aller Varianten der Anordnung von Königinnen mit zunehmendem n exponentiell zunimmt. Wenn Sie einen Schritt nach vorne machen, um die Königin in die freie Position einer bestimmten Zeile zu bringen, Ă€ndert sich außerdem die Liste der freien Positionen in den verbleibenden Zeilen. Wenn Sie einen Schritt zurĂŒckgehen, mĂŒssen Sie die Spuren zuvor ausgefĂŒhrter Aktionen löschen, um einen Suchzweig zu bilden.


Es gibt eine große Anzahl von Veröffentlichungen, die sich auf verschiedene Aspekte der Lösung des n-Queens-Problems beziehen. Sie können mehreren Forschungsbereichen zugeordnet werden: der Suche nach allen vollstĂ€ndigen Lösungen fĂŒr einen bestimmten Wert der GrĂ¶ĂŸe eines Schachbretts (n), der Entwicklung eines schnellen Algorithmus zum Finden einer Lösung fĂŒr verschiedene Werte von n, der Lösung des vollstĂ€ndigen Problems zu einer vollstĂ€ndigen Lösung, fĂŒr eine beliebige Zusammensetzung von k Königinnen, Fragen die rechnerische KomplexitĂ€t algorithmischer Berechnungen sowie verschiedene Modifikationen der ursprĂŒnglichen Formulierung des Problems. Um diese Bereiche kennenzulernen, wĂŒrde ich interessante Veröffentlichungen von B. Jordan, S. Brett [6] und IP Gent, C. Jefferson, P. Nightingale [7] empfehlen, die einen ziemlich detaillierten Überblick ĂŒber verschiedene Forschungsbereiche bieten. Besonders hervorzuheben ist die von Walter Costers unterstĂŒtzte Online-Publikation [8] , die von einer Gruppe der UniversitĂ€t Leiden erstellt wurde und Links zu 342 Publikationen zum Problem der n-Königinnen enthĂ€lt (Stand Dezember 2018).


Obwohl das n-Queens-Problem seit mehr als 150 Jahren aktiv ist und in dieser Zeit eine große Anzahl von Veröffentlichungen erschienen ist, konnte ich keinen Job finden, der fĂŒr die Suche nach Mustern in den Ergebnissen der Lösung dieses Problems relevant wĂ€re. Die meisten Projekte im Zusammenhang mit der Suche nach allen Lösungen haben die gefundenen Lösungen höchstwahrscheinlich nicht gespeichert und nicht gesehen, was sich „im Inneren“ befindet. In der Aufgabenstellung gab es andere dominierende Ziele, und unsere geschĂ€tzten Kollegen haben sie erreicht. Aus der Ferne schien es mir jedoch Ă€hnlich zu sein, als wĂŒrde eine Person Eier zum FrĂŒhstĂŒck kochen, sie aber nicht essen, sondern wegwerfen und nur die Anzahl der gekochten Eier in seinem GedĂ€chtnis belassen. Ich war mir immer sicher, dass wenn die Daten nicht zufĂ€llig sind, sie eine gewisse RegelmĂ€ĂŸigkeit aufweisen sollten, wenn selbst wir diese RegelmĂ€ĂŸigkeit nicht finden können. Diese Überzeugung war der Grund fĂŒr die Suche nach Mustern in dieser Aufgabe.


Neben dem Wunsch, den Mitgliedern der Habr-Community nĂŒtzliche Informationen zum Nachdenken zu liefern, möchte ich, dass talentierte Programmierer, von denen die meisten auf Habr sind, einer Entwicklungsrichtung wie der Computersimulation (Computersimulation) mehr Aufmerksamkeit schenken. Als Forschungsmethode wird diese "Algorithmische Mathematik" in vielen Bereichen an der "Spitze" eingesetzt: KĂŒnstliche Intelligenz, Software-Wissenschaft, Datenwissenschaft ... und ich bin sicher, dass sehr komplexe und wichtige Probleme fĂŒr die praktische Anwendung auf der Grundlage der algorithmischen Mathematik gelöst werden sonst.


Definitionen


Im Folgenden bezeichnen wir die GrĂ¶ĂŸe des Schachbretts mit dem Symbol n. Eine Lösung wird als vollstĂ€ndig bezeichnet, wenn alle n Königinnen konsistent auf einem Schachbrett platziert sind. Alle anderen Lösungen, wenn die Anzahl der korrekt platzierten Königinnen weniger als n betrĂ€gt, werden wir kurze Lösungen nennen. Mit der LĂ€nge einer Lösung meinen wir die Anzahl (k) der korrekt platzierten Königinnen. Die Anzahl aller Lösungen fĂŒr einen gegebenen Wert von n wird mit m bezeichnet. Als Analogon zu einem "Schachbrett" der GrĂ¶ĂŸe nx n. Betrachten wir eine "Lösungsmatrix" der GrĂ¶ĂŸe nx n.


Starten Sie


Um eine Studie durchzufĂŒhren, wurde ein Algorithmus entwickelt, um nach allen Lösungen fĂŒr einen beliebigen Wert von n zu suchen. Wir haben keine Standardrekursion oder das ĂŒbliche System verschachtelter Schleifen verwendet. FĂŒr große Werte von n wĂ€re ein solcher Ansatz ziemlich problematisch. Der Algorithmus wurde auf der Grundlage einer Reihe von interagierenden Ereignissen erstellt, in denen jeweils ein bestimmtes System von Aktionen stattfindet, die miteinander verbunden sind. Dies ermöglicht es, den Mechanismus zum Ändern des Zustandsraums einfach zu implementieren, wenn der nĂ€chste Knoten im Zweig der Problemlösung ausgewĂ€hlt wird (VorwĂ€rtsverfolgung) oder die Spuren zuvor ausgefĂŒhrter Aktionen gelöscht werden, wenn ein oder mehrere Schritte zurĂŒckgegeben werden (RĂŒckverfolgung). Es gibt keine besonderen Anforderungen an die SpeichergrĂ¶ĂŸe oder die Prozessorgeschwindigkeit im Algorithmus.


Basierend auf diesem Algorithmus wurden alle sequentiellen Lösungen (sowohl kurz als auch vollstĂ€ndig) fĂŒr verschiedene Werte der Lösungsmatrix n = (7, ..., 16) gefunden. Da die GrĂ¶ĂŸe der Liste der vollstĂ€ndigen Lösungen der benannten Sequenz The On-Line Encyclopedya of Integer Sequences (Sequenz A000170 [9]) entspricht und in vielen Veröffentlichungen angegeben ist, erscheint es mir interessant, die GrĂ¶ĂŸe der Liste aller Lösungen (kurz + vollstĂ€ndig) fĂŒr die von uns berĂŒcksichtigten Werte von n aufzulisten: 7 (194), 8 (736), 9 (2 936), 10 (12 774), 11 (61 076), 12 (314 730), 13 (1 716 652), 14 (10 030 692), 15 ( 62 518 772), 16 (415 515 376).


Unter Verwendung der gefundenen Lösungen geben wir den Wortlaut einiger Probleme, Methoden zu ihrer Lösung und eine Beschreibung der Ergebnisse.


1. Der Zustandsraum, in dem nach Lösungen gesucht wird


Die AufzĂ€hlung verschiedener Optionen fĂŒr die Anordnung von Königinnen in bestimmten Zeilen einer Matrix einer Entscheidung der GrĂ¶ĂŸe n fĂŒhrt zur Bildung eines Zustandsraums. Wenn es keine Verbote fĂŒr die Anordnung von Königinnen in der einen oder anderen Zelle der Matrix gĂ€be, wĂ€re die GrĂ¶ĂŸe des Zustandsraums n n . Wenn wir nur die Regel berĂŒcksichtigen, die die Position von mehr als einer Königin in jeder Zeile und jeder Spalte verbietet, erhalten wir eine Teilmenge des Zustandsraums, dessen GrĂ¶ĂŸe gleich n ist! Diese Teilmenge des Zustandsraums entspricht dem Problem der Verteilung von n durch den Turm. Wenn wir dabei auch die Regel berĂŒcksichtigen, die die Position von mehr als einer Königin auf der linken und rechten Diagonale verbietet, die durch die Zelle verlĂ€uft, in der sich die Königin befindet, erhalten wir einen Suchraum, dessen GrĂ¶ĂŸe kleiner als n ist! Wir nennen eine solche Teilmenge des Zustandsraums - ein produktiver Suchraum, basierend auf der Tatsache, dass nur in diesem Unterraum alle möglichen Lösungen sind. Alle abgeschlossenen Zweige im produktiven Suchraum sind Lösungen mit einer bestimmten Anzahl korrekt platzierter Königinnen. GrundsĂ€tzlich handelt es sich um kurze Entscheidungen, und nur ein kleiner Teil davon sind vollstĂ€ndige Entscheidungen.


Abbildung 1 zeigt Diagramme des natĂŒrlichen Logarithmus von drei Indikatoren: a) den FakultĂ€tswert (n!) Zur GrĂ¶ĂŸe der Entscheidungsmatrix; b) die Anzahl aller Entscheidungen (sowohl kurz als auch vollstĂ€ndig); c) die Anzahl der vollstĂ€ndigen Lösungen in AbhĂ€ngigkeit von der GrĂ¶ĂŸe der Lösungsmatrix (n). Wie erwartet sind alle Kurven durch einen exponentiellen Anstieg mit zunehmendem n gekennzeichnet. Die Wachstumsraten der Anzahl aller Lösungen und der Anzahl der vollstĂ€ndigen Lösungen unterscheiden sich, obwohl dies in der Grafik aufgrund der geringen StichprobengrĂ¶ĂŸe von n Werten nicht so deutlich erkennbar ist. Beispielsweise betrĂ€gt fĂŒr n = 13 die Differenz zwischen den Logarithmen dieser Indikatoren 3,148, und fĂŒr n = 16 erhöht sich diese Differenz um 0,190 und betrĂ€gt 3,338. Offensichtlich wird diese Diskrepanz mit einem weiteren Anstieg von n signifikanter sein.



Abb. 1 AbhĂ€ngigkeit des Logarithmus von der GrĂ¶ĂŸe des Zustandsraums vom Wert n

2. Wie Àndert sich der Anteil vollstÀndiger Entscheidungen in der allgemeinen Liste aller Entscheidungen?


Wenn die Wachstumsrate der Anzahl der vollstĂ€ndigen Lösungen hinter der Wachstumsrate der Anzahl aller Lösungen zurĂŒckbleibt, nimmt die Wahrscheinlichkeit, eine vollstĂ€ndige Lösung in der allgemeinen Liste aller Lösungen zu finden, mit zunehmendem Wert von n ab. Abbildung 2 zeigt eine grafische Darstellung des Anteils vollstĂ€ndiger Lösungen in der allgemeinen Liste aller Lösungen zum Wert von n. Es ist ersichtlich, dass mit zunehmender GrĂ¶ĂŸe der Lösungsmatrix der Anteil aller vollstĂ€ndigen Lösungen in der allgemeinen Liste abnimmt. FĂŒr die Anfangswerte n = (7, ..., 14) nimmt dieser Wert 5,66-mal von 0,2062 auf 0,0364 ab, und dann setzt sich eine allmĂ€hliche asymptotische Abnahme dieses Wertes fort. Hier entsteht ein formaler Widerspruch zwischen zwei Aussagen: Einerseits nimmt die Anzahl der vollstĂ€ndigen Lösungen mit zunehmendem n exponentiell zu, andererseits nimmt die Wahrscheinlichkeit einer vollstĂ€ndigen Lösung in einer sequentiellen Liste aller Lösungen stĂ€ndig ab. Dieses scheinbare Paradoxon wird sehr einfach erklĂ€rt: Die GrĂ¶ĂŸe des Produktivraums und die damit verbundene GrĂ¶ĂŸe der Liste aller Lösungen wĂ€chst mit zunehmendem n schneller als die Anzahl der vollstĂ€ndigen Lösungen. Dies ist wie der Versuch, eine Nadel im Heuhaufen zu finden - die Menge an Heu "mit zunehmendem n" wĂ€chst schneller als die Anzahl der Nadeln, die dort verloren gehen. Daher können wir annehmen, dass, wenn fĂŒr n = 27 die Anzahl der vollstĂ€ndigen Lösungen ungefĂ€hr 2,346 * 10 17 betrĂ€gt, der entsprechende Wert der Anzahl aller Lösungen höchstwahrscheinlich 3-4 GrĂ¶ĂŸenordnungen grĂ¶ĂŸer als ~ 10 20 ist



Abb. 2 Verringerung des Anteils an Komplettlösungen in der allgemeinen Liste aller Lösungen mit zunehmendem n

3. Wie hÀufig sind Lösungen unterschiedlicher LÀnge in der Liste aller Lösungen?


Wie bereits erwÀhnt, sind alle abgeschlossenen Zweige im produktiven Suchraum Lösungen mit einer unterschiedlichen Anzahl korrekt platzierter Königinnen.
Es ist fĂŒr uns von Interesse, mit welcher HĂ€ufigkeit Lösungen unterschiedlicher LĂ€nge in der allgemeinen Liste aller Lösungen enthalten sind.


Tabelle 1 fĂŒr die Werte n = (7, ..., 12) zeigt die entsprechenden Werte der relativen HĂ€ufigkeiten fĂŒr Lösungen mit unterschiedlichen LĂ€ngen. Die entsprechende visuelle Darstellung dieser Daten ist in Abbildung 3 dargestellt.


Die Analyse der Tabelle ermöglicht es uns, die folgenden Schlussfolgerungen zu ziehen:


a) FĂŒr jede Matrix der GrĂ¶ĂŸe n gibt es eine bestimmte LĂ€nge der Lösung mit einer maximalen HĂ€ufigkeit (fett hervorgehoben).


Tabelle 1. Relative HĂ€ufigkeit (%) von Lösungen unterschiedlicher LĂ€nge (k) fĂŒr eine Matrix der GrĂ¶ĂŸe n = (7, ..., 12)
n \ k456789101112
710.3131.2327,8420.62
82.4520.3834,7829,8912.50
90,345.7921.7335,8334.3211.99
100,051,358.4125.6232,9425,965.67
110,152.1211.8026.7134.4720.364.39
120,010,293.2813.5629,8831.2917.184.51

b) Mit zunehmendem n nimmt die Anzahl der Lösungen mit unterschiedlichen LÀngen zu. Dementsprechend nimmt die relative HÀufigkeit aller Entscheidungen ab.



Abb. 3 HĂ€ufigkeit von Lösungen unterschiedlicher LĂ€nge in AbhĂ€ngigkeit von der GrĂ¶ĂŸe der Lösungsmatrix, n = 7, ..., 16

c) FĂŒr jede Matrix der GrĂ¶ĂŸe n gibt es eine bestimmte MindestgrĂ¶ĂŸe der LĂ€nge der Lösung, unterhalb derer keine kurzen Lösungen auftreten. Mit zunehmendem n steigt der Wert dieser Schwelle. Zum Beispiel ist fĂŒr n = 8 der Schwellenwert 4 bzw. fĂŒr n = 16 ist der Schwellenwert 7.


4. Wie ist die relative Anordnung von Komplettlösungen in einer sequentiellen Liste aller Lösungen?


In der ErklĂ€rung des Problems "zur Verteilung von n Königinnen" gibt es keine GrĂŒnde, die Anlass geben wĂŒrden, eine Annahme ĂŒber die Reihenfolge der vollstĂ€ndigen Entscheidungen in der allgemeinen Liste aller Lösungen zu treffen. Wir waren daran interessiert, ob die vollstĂ€ndigen Lösungen in der allgemeinen Liste gleichmĂ€ĂŸig, zufĂ€llig verteilt sind oder ob sie einige Besonderheiten aufweisen. Um dies herauszufinden, haben wir die AbstĂ€nde zwischen den nĂ€chsten vollstĂ€ndigen Lösungen in einer sequentiellen Liste aller Lösungen analysiert. Wie aus 4 ersichtlich ist, ist fĂŒr n = 12 ein Diagramm der Änderungen der entsprechenden Frequenzen dargestellt.



Abb. 4 HÀufigkeit gegen Abstand zwischen den nÀchsten vollstÀndigen Lösungen in einer sequentiellen Liste aller vollstÀndigen Lösungen (n = 12)

Mit der grĂ¶ĂŸten HĂ€ufigkeit gibt es vollstĂ€ndige Lösungen, die in einer gemeinsamen sequentiellen Liste aller Lösungen unmittelbar aufeinander folgen. Dies sind die FĂ€lle der Bildung des Suchzweigs, wenn die Beziehung der freien Positionen in den letzten Zeilen es Ihnen ermöglicht, zwei oder mehr aufeinanderfolgende vollstĂ€ndige Lösungen zu bilden. Die maximale HĂ€ufigkeit sind ferner die vollstĂ€ndigen Lösungen, zwischen denen sich befinden: eine kurze Lösung, zwei kurze Lösungen usw.


5. Gibt es ein Muster bei der Anordnung vollstÀndiger Lösungen in der allgemeinen Liste aller Lösungen?


Um diese Frage zu beantworten, haben wir sequentielle Listen aller Lösungen fĂŒr die Werte n = (7, ..., 16) analysiert. Um die Ergebnisse in 5 fĂŒr den Wert n = 8 klar zu demonstrieren, wird ein Diagramm dargestellt, in dem die LĂ€nge jeder Lösung in der Liste aller 736 Lösungen nacheinander angegeben ist. Hier sind nur 92 Lösungen vollstĂ€ndig und sie sind rot hervorgehoben, die restlichen 644 Lösungen sind kurz und blau hervorgehoben. Es ist ersichtlich, dass die Komplettlösungen in der Liste aller Lösungen nicht gleichmĂ€ĂŸig verteilt sind. Es gibt Bereiche, in denen Komplettlösungen hĂ€ufiger vorkommen, und es gibt Bereiche, in denen Komplettlösungen selten oder gar nicht sind.



Abb. 5 Die LĂ€nge jeder Lösung in einer sequentiellen Liste aller Lösungen fĂŒr eine 8 x 8-Matrix (rot - vollstĂ€ndige Lösungen, blau - kurze Lösungen). Die Gesamtzahl aller Lösungen betrĂ€gt 736

Hier ist jedoch noch etwas anderes wichtig. Wenn Sie sich das Bild genau ansehen, das einem blau-roten Barcode Ă€hnelt, werden Sie ein sehr wichtiges Merkmal bemerken: Alle roten Linien sind symmetrisch in Bezug auf eine bedingte vertikale Linie, die durch die Mitte der Liste der Lösungen verlĂ€uft. In der Tat, wie die PrĂŒfung zeigt, wird im Schritt m-i + 1 sicher eine vollstĂ€ndige Lösung gefunden, wenn im i-ten Schritt vom Anfang der allgemeinen Liste eine vollstĂ€ndige Lösung vorhanden ist. Wenn beispielsweise fĂŒr n = 8 die erste vollstĂ€ndige Lösung in der sequentiellen Suche nach allen Lösungen in Schritt 43 angezeigt wird, wird die letzte vollstĂ€ndige Lösung in der Liste dementsprechend in Schritt 736–43 + 1 = 694 gefunden. Wenn die 17. Lösung fĂŒr eine 10x10-Matrix in Schritt 368 in der Liste angezeigt wird, wird die dazu symmetrische vollstĂ€ndige Lösung in Schritt 12774-17 + 1 = 12407 in der Liste aller Lösungen angezeigt. Diese Regel gilt fĂŒr eine Entscheidungsmatrix beliebiger GrĂ¶ĂŸe. Daher können wir eine Regel formulieren. Wenn fĂŒr jeden Wert von n in der sequentiellen Liste aller Lösungen an der i-ten Position vom Anfang der Liste die Lösung vollstĂ€ndig ist, ist auch die symmetrische Lösung vom Ende der Liste an Position m-i + 1 vollstĂ€ndig (die Symmetrieregel der Lösungen). m, , . , n, , . ( – ).


, – . n+1 . , 17- n=10 368- (1, 5, 7, 10, 4, 2, 9, 3, 6, 8).


, 12407 (10, 6, 4, 1, 7, 9, 2, 8, 5, 3). , (11, 11, 
,11). n, , , . . n, ( , ), , – n+1 ( ). Q(i ) Q1(i) – ,


<b>`Q ( i ) + Q1 ( i ) = n + 1, i = (1, n) `</b> 

Diese Regel bedeutet, dass, wenn im i- ten Schritt eine vollstĂ€ndige Lösung erhalten wird, die symmetrische vollstĂ€ndige Lösung im Schritt m - i + 1 bekannt wird . Daher reicht es bei der Suche nach allen Komplettlösungen aus, nur die erste HĂ€lfte aller Komplettlösungen zu finden. Die zweite HĂ€lfte der Liste der vollstĂ€ndigen Lösungen kann aus den bereits erhaltenen Lösungen auf der Grundlage der KomplementaritĂ€tsregel bestimmt werden. Das Kriterium, dass die HĂ€lfte der Liste der vollstĂ€ndigen Lösungen erreicht wird, ist die ErfĂŒllung der KomplementaritĂ€tsregel zwischen der vorherigen vollstĂ€ndigen Lösung Q (i-1) und dem nachfolgenden Q (i) . es ist notwendig, dass die Summe jedes Paares entsprechender Indizes von zwei aufeinanderfolgenden Lösungen gleich n + 1 ist . Da jede vollstĂ€ndige Lösung aus der Liste aller vollstĂ€ndigen Lösungen eindeutig ist, ergĂ€nzen sich nur die aufeinander folgenden vollstĂ€ndigen Lösungen, die sich auf beiden Seiten der Grenze befinden, die die Liste in zwei HĂ€lften teilt.


Diese beiden Regeln werden es in Zukunft ermöglichen, bei der Suche nach allen vollstĂ€ndigen Lösungen fĂŒr einen nĂ€chsten Wert von n den Rechenaufwand und dementsprechend die Berechnungszeit um die HĂ€lfte zu reduzieren.


6. Visualisierung der Abfolge der Schritte zum Finden der ersten vollstÀndigen Lösung


Wie werden die Schritte vorwĂ€rts (VorwĂ€rtsverfolgung) und zurĂŒck (RĂŒckverfolgung) ausgefĂŒhrt, wenn ein Zweig einer Lösungssuche gebildet wird? Um diese Frage zu beantworten, haben wir fĂŒr eine 10 x 10-Matrix die Reihenfolge der ersten 194 ÜbergĂ€nge zwischen den Linien bestimmt, bis die erste vollstĂ€ndige Lösung erscheint. Das entsprechende Diagramm ist in Abbildung 6 dargestellt. Blaue Linien zeigen eine VorwĂ€rtsbewegung an und rote Linien zeigen eine RĂŒckkehr an. In diesen 194 Schritten wurden 35 kurze Lösungen erstellt. Die Abbildung zeigt, dass die meisten ÜbergĂ€nge (84,5%) zwischen den Linien (5, 6, 7, 8) auftreten. Dies ist eine Art „Engpass“ auf dem Weg zum „Ziel“. Wie aus der Abbildung hervorgeht, gibt es nur 7 FĂ€lle des Wechsels in die 4. Zeile und einen Fall des Wechsels in die dritte Zeile. Es gibt auch 13 FĂ€lle, in denen auf die 9. Zeile umgeschaltet wird. Drei Versuche, in die 10. Zeile zu wechseln, waren erfolglos, da in diesen Suchzweigen in der 10. Zeile keine leere Position vorhanden war. Dieses Beispiel zeigt alle Zweige von short



Abb. 6 Visualisierung von Backtracking- (rot) und Forwardtracking-Ereignissen (blau) fĂŒr die ersten 194 Suchschritte (n = 10)

Lösungen, bis zur ersten vollstĂ€ndigen Lösung. Jeder Algorithmus zur Lösung eines solchen Problems ist effektiv, wenn er einen Mechanismus enthĂ€lt, der alle (oder einen Teil) der Zweige eliminiert, die zu kurzen Lösungen fĂŒhren.


7. Nach wie vielen kurzen Entscheidungen erscheint die erste vollstÀndige Lösung?


Angesichts der Tatsache, dass vollstĂ€ndige Lösungen in verschiedenen Teilen der Liste aller Lösungen unterschiedlich angezeigt werden, scheint es wichtig zu sein, herauszufinden, in wie vielen kurzen Lösungen die erste vollstĂ€ndige Lösung angezeigt wird, wenn alle Lösungen nacheinander durchsucht werden. Zu diesem Zweck wurden fĂŒr die Werte n = (7, ..., 35) alle kurzen Lösungen nacheinander bis zum Auftreten der ersten vollstĂ€ndigen Lösung berechnet. Wie aus 7 ersichtlich ist, die ein Diagramm der AbhĂ€ngigkeit von n, dem natĂŒrlichen Logarithmus der Schrittnummer, zeigt, wenn die erste vollstĂ€ndige Lösung erschien, erscheint fĂŒr gerade Werte von n die erste vollstĂ€ndige Lösung viel spĂ€ter als fĂŒr die nĂ€chsten ungeraden Werte von n. Beispielsweise erscheint fĂŒr einen ungeraden Wert n = 21 die erste vollstĂ€ndige Lösung in Schritt 3138, und fĂŒr den nĂ€chsten geraden Wert n = 22 erscheint die erste vollstĂ€ndige Lösung in Schritt 628169. Dementsprechend erscheint fĂŒr den nĂ€chsten ungeraden Wert n = 23 die erste vollstĂ€ndige Lösung in Schritt 9155.



Abb. 7 Die Anzahl der kurzen Lösungen bis zur ersten vollstĂ€ndigen Lösung fĂŒr verschiedene Werte von n

Die Anzahl der Iterationsschritte fĂŒr gerade n = 22 ist 200,2- bzw. 68,6-mal höher als die nĂ€chsten ungeraden Werte. Dies zeigt sich insbesondere in der ZĂ€hlzeit fĂŒr n = 34. Hier erscheint die erste vollstĂ€ndige Lösung bei 826 337 184. Schritten und fĂŒr die nĂ€chsten ungeraden Zahlen (33, 35) bei 50 704 900. bzw. 84 888 759 Schritten. Es sollte auch ĂŒber die Verletzung des monotonen Wachstums der Anzahl von kurzen Lösungen vor dem Auftreten der ersten vollstĂ€ndigen Lösung mit zunehmendem n gesagt werden. FĂŒr gerade Werte von n tritt dies bei n = 19 auf, fĂŒr ungerade Werte bei n = 24 und n = 26.


8. Ist die Zellenfrequenz jeder Zeile in der Liste aller Komplettlösungen gleich?


Die nxn-große Entscheidungsmatrix, die als Analogon eines Schachbretts dient, ist wie eine Szene, in der alle Ereignisse stattfinden. Jede in dieser Szene gebildete vollstĂ€ndige Lösung besteht aus Indizes von Zellen verschiedener Zeilen, weil Jede solche Zelle ist ein Knoten im Lösungssuchzweig. Die Frage, die uns interessieren wird, lautet wie folgt: Ist die Last in jeder Zeile fĂŒr verschiedene Zellen gleich, wenn eine Liste aller vollstĂ€ndigen Lösungen erstellt wird? Je höher der Frequenzwert ist, desto höher ist natĂŒrlich die AktivitĂ€t dieser Zelle bei der Erstellung einer Liste vollstĂ€ndiger Lösungen. Um dies festzustellen, bestimmen wir fĂŒr jede Zeile anhand einer Liste aller vollstĂ€ndigen Lösungen die relative HĂ€ufigkeit der verschiedenen Indizes. ZunĂ€chst analysieren wir eine Lösungsmatrix der GrĂ¶ĂŸe n = 8. Untersuchen wir jede Zeile des Arrays vollstĂ€ndiger Lösungen nacheinander und bestimmen die HĂ€ufigkeit verschiedener Indexwerte. Tabelle 2 zeigt die entsprechenden Werte der absoluten AktivitĂ€tsfrequenzen verschiedener Zellen in jeder der acht Reihen und in Fig. 1. 8


Tabelle 2. Absolute HÀufigkeit der ZellaktivitÀt in jeder der acht Zeilen der 8x8-Entscheidungsmatrix, basierend auf einer Analyse der Liste aller vollstÀndigen Lösungen

row \ col12345678
1481618181684
2816148814168
316144121241416
4188128812818
5188128812818
616144121241416
7816148814168
8481618181684

Es wird eine Gruppe von 4 Diagrammen dargestellt, wobei jedes Diagramm die Änderung der relativen HĂ€ufigkeiten innerhalb einer Linie charakterisiert. Eine der grundlegend wichtigen Schlussfolgerungen, die aus der Analyse aller erhaltenen Daten gezogen werden können, lautet wie folgt:


  • fĂŒr eine Entscheidungsmatrix beliebiger GrĂ¶ĂŸe n fĂ€llt die AktivitĂ€t der Zellen der i- ten Reihe mit der AktivitĂ€t der Zelle n-i + 1 zusammen , d.h. Die AktivitĂ€t der Zellen der ersten Reihe stimmt immer mit der AktivitĂ€t der Zellen der letzten Reihe ĂŒberein. Die AktivitĂ€t der Zellen der zweiten Reihe stimmt mit der AktivitĂ€t der Zellen der vorletzten Reihe ĂŒberein.

    Wenn n ungerade ist, hat nur die mittlere Zeile der Lösungsmatrix kein symmetrisches Paar, fĂŒr alle anderen Zellen gilt die obige Regel
  • Wir nennen dies die "Eigenschaft der horizontalen Symmetrie der AktivitĂ€t der Zellen verschiedener Zeilen der Lösungsmatrix" . Aus diesem Grund haben wir nur 4 Diagramme fĂŒr die Entscheidungsmatrix der GrĂ¶ĂŸe n = 8 dargestellt, da die entsprechenden Diagramme der ZellaktivitĂ€t fĂŒr die Zeilen (1, 8), (2.7), (3.6) und (4.5) vollstĂ€ndig identisch sind.

Es sollte auch beachtet werden, dass die Frequenzwerte symmetrisch um die vertikale Achse sind, die die Matrix in zwei gleiche Teile teilt (im Fall eines geraden Wertes von n) oder durch die Medianspalte geht (im Fall eines ungeraden Werts von n). Wir nennen dies die "vertikale Symmetrieeigenschaft der AktivitÀt der Zellen verschiedener Zeilen der Lösungsmatrix" .


ZusÀtzlich sind, wie aus der Analyse von Tabelle 2 hervorgeht, die Frequenzen in der Lösungsmatrix in Bezug auf die linke und rechte Hauptdiagonale symmetrisch.



Fig. 8 ZellaktivitÀt der entsprechenden Zeilen bei der Bildung der Liste der vollstÀndigen Lösungen, n = 8

Ich denke, dass das Vorhandensein restriktiver Regeln in der Problemstellung und die damit verbundene Eigenschaft des Nichtdeterminismus eine Art harmonische Beziehung zwischen Knoten in verschiedenen Linien „bilden“. Die Zweige der Suche, die in diese Regeln passen, fĂŒhren zur Bildung einer vollstĂ€ndigen Lösung. Die verbleibenden Zweige der Suche verstoßen irgendwann gegen diese Regeln und „schließen ihre Reise ab“ in Form von kurzen Entscheidungen. Hierbei ist zu beachten, dass die Zellen der Entscheidungsmatrix nur eine lokale Beziehung innerhalb der Projektionseinflussgruppe haben, es gibt keine vorgeschriebenen Regeln fĂŒr koordinierte Aktionen zwischen ihnen. Die kollektive AktivitĂ€t der Zellen ist nur eine Folge des Einflusses restriktiver Regeln. Daher bleibt eine interessante Frage offen, wie sich restriktive Regeln wie Nichtdeterminismusfaktoren auf die Zellen der Entscheidungsmatrix auswirken, was letztendlich zur Bildung einer „harmonischen“ ZellaktivitĂ€tsmatrix fĂŒhrt - symmetrisch in Bezug auf die horizontale und vertikale Achse sowie in Bezug auf die linke und rechte Hauptdiagonalen. Ist dies eine charakteristische Eigenschaft nur dieses Problems oder gilt es auch fĂŒr andere nicht deterministische Probleme?


9. Ab welcher Zeilennummer wird der Forward Tracking - Back Tracking-Algorithmus aktiviert?


Wenn wir der Operation des sequentiellen Zeilenauswahlalgorithmus in der Entscheidungsmatrix fĂŒr den Standort der Königin folgen, können wir sehen, dass ab einer bestimmten Zeile, die wir "StopRow" nennen, der Prozess des VorwĂ€rtsbewegens "gebremst" wird. In der Suchbranche ist dies die erste Zeile, in der Probleme mit der VerfĂŒgbarkeit von kostenlos auftreten



Abb. 9-1 AbhĂ€ngigkeit des VerhĂ€ltnisses des StopRow-Index zu n von der GrĂ¶ĂŸe der Entscheidungsmatrix (Teil-1)

Position fĂŒr den Standort der Königin. Ab dieser Zeile wird der Back-Tracking-Algorithmus aktiviert, um die Spuren zuvor ausgefĂŒhrter Aktionen zu löschen und zurĂŒckzukehren. Dies ist die Zeile, in der die erste kurze Lösung angezeigt wird.



Abb. 9-2 AbhĂ€ngigkeit des VerhĂ€ltnisses des StopRow-Index zu n von der GrĂ¶ĂŸe der Entscheidungsmatrix (Teil-2)

Der Index der Zeile „StopRow“, mit dem sich Schwierigkeiten vorwĂ€rts bewegen, hĂ€ngt von der GrĂ¶ĂŸe n der Entscheidungsmatrix ab. Wenn wir das VerhĂ€ltnis dieses Index, das wir mit StopInd bezeichnen, zur GrĂ¶ĂŸe der Lösungsmatrix n betrachten, schwankt dieses VerhĂ€ltnis, wie aus Abbildung 9-1 ersichtlich, in der die Berechnungsergebnisse fĂŒr die Anfangswerte n = (7, ..., 99) dargestellt sind, mehr oder weniger stark Seite und neigt dazu, abzunehmen. Mit einer Zunahme von n = (100, ..., 300) schwankt dieses VerhĂ€ltnis zwischen 0,619 und 0,642 (Abb. 9-2), und mit einer weiteren Zunahme von n erhalten wir die folgenden Ergebnisse (die Werte von n sind nacheinander angegeben und der Wert in Klammern ist StopInd- und StopInd / n-VerhĂ€ltnis: 1000 (619, 0,6190), 2000 (1239, 0,6195), 3000 (1856, 0,6187), 4000 (2473, 0,6182), 5000 (3091, 0,6182). Überraschenderweise kann argumentiert werden, dass stop -line teilt die Entscheidungsmatrix gemĂ€ĂŸ der Golden- Ratio- Regel : Das StopInd / n- VerhĂ€ltnis unterscheidet sich von (n-StopInd) / StopInd um einen kleinen Betrag, der mit zunehmendem n gegen Null tendiert. Beispielsweise ist fĂŒr n = 5000 die Differenz zwischen den Beziehungen 3091/5000 und 1909/3091 sind 0,006, was weniger als 0,1% des Durchschnitts dieser beiden Beziehungen entspricht.


Die Grafik in den beiden Abbildungen 9- (1,2) hat eine nicht zufĂ€llige Form der VariabilitĂ€t, die einer Aufnahme auf einer „musikalischen Daube“ Ă€hnelt. Wiederholte SprĂŒnge nach oben und schrittweises Herunterfallen sind mit einer unregelmĂ€ĂŸigen PeriodizitĂ€t sichtbar. Offensichtlich gibt es einen Grund fĂŒr diese Art von Kurvenverhalten, und vielleicht ist dies fĂŒr die Forschung von Interesse. Aus diesem Grund wurde das Diagramm zur detaillierteren Visualisierung in zwei Abbildungen dargestellt.


Ich habe nur einen Teil der Fragen betrachtet, die auf der Grundlage der Ergebnisse der Lösung des Problems "zur Verteilung von n-Königinnen" formuliert werden können. Ich hoffe, dass die erzielten Ergebnisse die Mechanismen der Bildung nicht deterministischer Prozesse und VerĂ€nderungen im Zustandsraum fĂŒr das VerstĂ€ndnis transparenter machen. Vielleicht dient dies als Dreh- und Angelpunkt fĂŒr die Formulierung neuer Aufgaben und fĂŒr die weitere Entwicklung.


Fazit


  • Wenn wir bei der Veröffentlichung zu einer Schlussfolgerung gelangt sind, stellt sich natĂŒrlich die Frage: "Was bedeutet die Problemlösung von One Billion Queens im Titel des Artikels?" Bei der Vorbereitung der Veröffentlichung fĂŒr Habr dachte ich, dass eine Person, die zum Beispiel eine Mine hat, in der Diamanten abgebaut werden, ihren Freunden und Verwandten jeweils mindestens einen Diamanten geben sollte, sonst wĂ€re es unfair. Deshalb möchte ich allen Mitgliedern der habr-Community ein Geschenk machen: Teilnehmern, Organisatoren, Besuchern. Wie der Name schon sagt, ist dies die Lösung fĂŒr das Problem, eine Milliarde Königinnen auf einem Schachbrett mit einer GrĂ¶ĂŸe von einer Milliarde Milliarden zu verteilen.

    NatĂŒrlich ist dies kein facettierter Diamant, aber fĂŒr echte Kenner der intellektuellen Kunst kann er wertvoller sein als "eine Art Diamant dort". DarĂŒber hinaus gibt es weltweit viele verschiedene Diamanten, und diese Lösung ist bisher nur in einer Kopie erhĂ€ltlich. Und unser Byte-Gott (*) sieht, dass ich das aufrichtig tue.
    Die resultierende Lösung ist ein eindimensionales Array mit einer Milliarde Zahlen, das im MatLab .mat-Format dargestellt wird und unter folgender Adresse verfĂŒgbar ist: One Billion Queens Problem Solution auf Google Drive
    -Das erste Element dieses Arrays kennzeichnet die Position der Königin in der ersten Zeile, das zweite Element - die Position in der zweiten Zeile usw. Dies ist nur eine Lösung von nBillion möglichen Lösungen. Und der Wert von nBillion ist so groß, dass er als enger Verwandter der Unendlichkeit angesehen werden kann.
  • Es scheint mir, dass diese Lösung der Kategorie der virtuellen intellektuellen Werte zugeordnet werden kann. Wir können sagen, dass "dies etwas ist, in dem es etwas gibt". Sie können wirklich nicht „berĂŒhrt“ werden, so dass sie im Bewusstsein nur auf der Ebene der Empfindungen wahrgenommen werden. Dort gibt es tatsĂ€chlich eine erstaunliche Ordnung und explizite und implizite Harmonie. Dies ist ein rein symbolisches Geschenk (wörtlich und im ĂŒbertragenen Sinne), das an alle Mitglieder der Gemeinschaft gerichtet ist. Ich denke: " Du bist nicht wie alle anderen ."

    (Ich hoffe, jemand "nimmt das Geschenk mit nach Hause". Die Datei ist groß genug - 3,7 GB. Dies sind saubere, ĂŒberprĂŒfte Daten. Google Drive zeigt Warnungen an - behandeln Sie dies mit VerstĂ€ndnis.)
  • Bevor ich diese Entscheidung traf, dachte ich ĂŒber den individuell-kollektiven Charakter eines solchen Geschenks nach. Ist es möglich, dass man das Original und der Rest Kopien erhĂ€lt? Aber die Lösung war einfach. Die ĂŒblichen "alltĂ€glichen" Konzepte von "Original" und "Kopie" verlieren in diesem Fall ihre Bedeutung. Wir kopieren nicht, sondern erstellen ein anderes Original. Und die „Originale“ sind fĂŒr alle gleich und gleichwertig.
  • Ich denke, dass Sie in Begleitung von Verwandten höchstwahrscheinlich der einzige sein werden, der ein solches „intellektuelles Produkt“ als Geschenk erhalten hat. Es wird Spaß machen, wenn Sie Ihrer Schwiegermutter von einem solchen Geschenk erzĂ€hlen: „Stellen Sie sich ein Schachbrett einer Mutter mit einer GrĂ¶ĂŸe von 50.000 x 50.000 km vor, auf dem 1 Milliarde Königinnen so verteilt sind, dass die eine die andere nicht aus nĂ€chster NĂ€he sieht ...“. Wer weiß, vielleicht wird der Schwiegersohn danach mehr geschĂ€tzt, da er ein so seltsames Geschenk erhĂ€lt.

Ich wĂŒnsche allen Mitgliedern der Habr Community Gesundheit, Erfolg und Wohlbefinden. Möge das neue Jahr uns allen viel GlĂŒck bringen.


(*) - Da es sich um den Namen des Objekts handelt, sollte auch dessen Beschreibung angegeben werden.
Byte Gott bedeutet eine mehrdimensionale Einheit, bestehend aus Nullen und Einsen, die in jeder Hinsicht vernĂŒnftig und in alle Richtungen unendlich ist. Jede Folge von Nullen und Einsen in diesem Raum reprĂ€sentiert bestimmtes Wissen.


Referenzliste


[4] Max Bezzel, Vorschlag des 8-Königinnen-Problems ", Berliner Schachzeitung, Band
3 (1848), Seite 363. (Eingereicht unter dem Autorennamen \ Schachfreund ".)


[5] Franz Nauck, Briefwechseln mit allen fur alle ", Illustrirte Zeitung, Band
377 Nummer 15 (1850), Seite 182.


[6] Bell Jordan; Stevens Brett (2009). "Eine Übersicht ĂŒber bekannte Ergebnisse und Forschungsbereiche fĂŒr n-Königinnen." Diskrete Mathematik. 309 (1): 1–31


[7] Gent, Ian P.; Jefferson, Christopher; Nachtigall, Peter (August 2017). "KomplexitĂ€t der n-Queens-VervollstĂ€ndigung". Journal of Artificial Intelligence Research. AAAI DrĂŒcken Sie. 59: 815–848


[8] W. Kosters und alle, n-Queens - 342 Referenzen, (20. November 2018)


[9] NJA Sloane, die elektronisch veröffentlichte Online-EnzyklopÀdie ganzzahliger Sequenzen. 2016

Source: https://habr.com/ru/post/de435942/


All Articles