Algoritmul lui Dumnezeu este un concept care a apărut în timpul discuției despre modalitățile de a rezolva cubul lui Rubik . Termenul poate fi folosit și în legătură cu alte puzzle-uri de permutare . Algoritmul zeului puzzle-ului este orice algoritm care produce o soluție puzzle care conține numărul minim posibil de mișcări (soluție optimă) pornind de la orice configurație dată.
Unul dintre pionierii teoriei matematice a Cubului Rubik , David Singmaster [1] , descrie apariția termenului astfel:
John Conway , unul dintre cei mai mari teoreticieni ai grupului din lume, a remarcat că Cubul respectă așa-numitele legi de conservare (sau paritate), ceea ce înseamnă că unele mișcări sunt pur și simplu imposibile. Fie Conway, fie unul dintre colegii săi de la Cambridge au definit calea cea mai scurtă de la orice stare dată înapoi la starea inițială ca „Algoritmul lui Dumnezeu”.
Text original (engleză)[ arataascunde] John Conway, unul dintre cele mai mari grupuri de teoreticieni din lume, a observat că Cubul respectă ceea ce sunt cunoscute sub numele de legi de conservare (sau paritate), ceea ce înseamnă că unele mișcări pur și simplu nu sunt posibile. Fie Conway, fie unul dintre colegii săi de la Cambridge au definit cea mai scurtă rută de la orice poziție dată înapoi la poziția de plecare ca „Algoritmul lui Dumnezeu”. — David Singmaster [2]Algoritmul lui Dumnezeu poate exista pentru puzzle-uri cu un număr finit de configurații posibile și cu un set finit de „mișcări” permise în fiecare configurație care traduc configurația curentă în alta. Termenul „rezolvare puzzle-ul” înseamnă a indica o secvență de mișcări care duce o configurație inițială la o configurație finală. Soluția optimă pentru puzzle este să indicați cea mai scurtă secvență de mișcări pentru a rezolva puzzle-ul. Pot exista mai multe soluții optime.
Puzzle-urile notabile care se încadrează în această definiție includ Cubul Rubik , Turnul din Hanoi , Jocul celor 15 , Solitaire cu cipuri , diverse probleme de transfuzie și transport (" Lupul, Capra și Varza "). Comun tuturor acestor puzzle-uri este că ele pot fi descrise ca un grafic , ale cărui vârfuri sunt toate configurațiile posibile ale puzzle-ului, iar marginile sunt posibilele tranziții între ele („mușcări”).
În multe astfel de puzzle-uri, configurația finală este implicit asumată, de exemplu, în „etichete” - un aranjament ordonat de oase, pentru un cub Rubik - aceeași culoare a fețelor. În aceste cazuri, „asamblarea puzzle-ului” înseamnă că, pentru o configurație inițială arbitrară, este necesar să se specifice o secvență de mișcări care să conducă la o configurație finală fixă .
Algoritmul rezolvă puzzle-ul dacă ia ca intrare o pereche arbitrară de configurații inițiale și finale (sau doar configurația inițială dacă configurația finală este fixă) și returnează ca rezultat o secvență de mișcări care transferă configurația inițială în cea finală ( dacă o astfel de secvență există, în caz contrar, algoritmul raportează imposibilitatea unei soluții). Soluția optimă conține numărul minim posibil de mișcări.
Atunci algoritmul lui Dumnezeu (pentru un puzzle dat) este un algoritm care rezolvă puzzle-ul și găsește cel puțin o soluție optimă pentru o pereche arbitrară de configurații.
Unii autori cred că algoritmul lui Dumnezeu ar trebui să fie , de asemenea, practic , adică să folosească o cantitate rezonabilă de memorie și să se completeze într-un timp rezonabil.
Fie G un grup puzzle de permutare (cu un set generator dat), v un vârf al graficului Cayley al lui G . Găsiți un algoritm eficient și practic pentru determinarea unei căi de la v la un vârf v 0 asociat cu un element neutru a cărui lungime este egală cu distanța de la v la v 0 . [...] Acest algoritm este numit algoritmul lui Dumnezeu .
Text original (engleză)[ arataascunde] Fie G grupul unui puzzle de permutare (cu un set generator fix) și fie v un vârf în graficul Cayley al lui G. Găsiți un algoritm efectiv, practic pentru determinarea unei căi de la v la vârful v 0 asociat identității având lungimea egală cu distanţa de la v la v 0 . [...] Acest algoritm se numește algoritmul lui Dumnezeu . – David Joyner [3]Practicitatea poate fi înțeleasă în moduri diferite. Deci, există programe de calculator care permit găsirea soluției optime pentru o configurație arbitrară a cubului Rubik într-un timp rezonabil [4] . În același timp, o sarcină similară pentru un cub 4×4×4 rămâne practic irealizabilă în acest moment [5] [6] [7] . Pentru unele puzzle-uri , există o strategie care permite, după reguli simple, să se determine manual soluția optimă, fără ajutorul unui computer.
Definiție alternativă a algoritmului lui Dumnezeu: algoritmul nu este necesar pentru a găsi întreaga secvență de mișcări; în schimb, este suficient să găsim prima mișcare a soluției optime care o apropie de obiectiv și o transferă într-o nouă configurație. Cele două definiții sunt echivalente: reaplicarea algoritmului unei noi perechi de configurații găsește din nou mutarea soluției optime, ceea ce face posibilă obținerea întregii secvențe de mișcări ale soluției optime.
Numărul zeu al unui puzzle dat este un număr n , astfel încât să existe cel puțin o configurație a puzzle-ului, a cărei soluție optimă constă din n mișcări și nu există nicio configurație, a cărei lungime a soluției optime depășește n . Cu alte cuvinte, numărul lui Dumnezeu este cea mai mică limită superioară a setului de lungimi de soluții optime pentru configurațiile puzzle.
Numărul lui Dumnezeu pentru un cub Rubik de 3x3x3 este 20 - acesta este diametrul graficului Cayley al grupului de cuburi Rubik [8] .
În general (pentru un puzzle cu permutare arbitrară), numărul lui Dumnezeu nu este egal cu diametrul graficului Cayley al grupului de puzzle, ci cu excentricitatea vârfului corespunzătoare stării „asamblate” a puzzle-ului.
Speedcubing | |
---|---|
Organizare |
|
Echipament sportiv | |
Concepte |
|
Campionate mondiale |