Rubiks terning matematik | |
---|---|
Mediefiler på Wikimedia Commons |
Mathematics of the Rubik's Cube er et sæt matematiske metoder til at studere egenskaberne af Rubik's Cube fra et abstrakt matematisk synspunkt. Denne gren af matematik studerer kubesamlingsalgoritmer og evaluerer dem. Baseret på grafteori , gruppeteori , beregnelighedsteori og kombinatorik .
Der er mange algoritmer designet til at overføre Rubik's Cube fra en vilkårlig konfiguration til den endelige konfiguration (den samlede terning). I 2010 blev det strengt bevist, at ikke mere end 20 drejninger af fladerne er tilstrækkelige til at overføre Rubik's Cube fra en vilkårlig konfiguration til en samlet konfiguration (ofte kaldet "samling" eller "løsning") [1] . Dette tal er diameteren på Cayley-grafen for Rubiks terninggruppen [2] . I 2014 blev det bevist, at 26 træk altid er nok til at løse Rubik's Cube ved kun at bruge 90° drejninger af fladerne [3] .
En algoritme, der løser et puslespil i det mindst mulige antal træk, kaldes Gud -algoritmen .
Denne artikel bruger "Singmaster-notation" [4] [5] udviklet af David Singmaster og udgivet af ham i 1981 for at angive rotationssekvensen af ansigterne på en 3×3×3 Rubiks terning .
Bogstaverne repræsenterer 90° drejning med uret af henholdsvis venstre ( venstre ), højre ( højre ), front ( foran ), bagside ( bagside ), top ( op ) og bund ( ned ) sider. 180° drejninger er angivet ved at tilføje et 2 til højre for bogstavet, eller ved at tilføje et hævet 2 til højre for bogstavet. En 90° rotation mod uret angives ved at tilføje en tankestreg ( ′ ) eller tilføje en hævet skrift -1 til højre for bogstavet. Så for eksempel er posterne og ækvivalente, såvel som indtastningerne og .
Der er to mest almindelige måder at måle længden af en løsning på ( metrisk ). Den første måde - en omgang af løsningen anses for at være en drejning af ansigtet med 90° ( kvart omgang metrisk , QTM ). Ifølge den anden metode betragtes en halv drejning af ansigtet også for 1 træk ( face turn metric , FTM , nogle gange betegnes det med HTM - half-turn metric ). Således skal F2 (drejning af frontfladen 180°) tælles som to træk i QTM-metrikken eller 1 træk i FTM-metrikken [6] [7] .
For i teksten at angive længden af rækkefølgen for den anvendte metrik, bruges notationen [8] [9] [10] , der består af tallene for antallet af træk og det lille første bogstav i den metriske betegnelse. 14f står for "14 træk i FTM-metrikken" og 10q står for "10 træk i QTM-metrikken". For at angive, at antallet af træk er minimum i en given metrik, bruges en stjerne : 10f* angiver optimaliteten af løsningen i 10 FTM-træk.
Rubiks terning kan ses som et eksempel på en matematisk gruppe .
Hver af de seks rotationer af Rubiks terningflader kan betragtes som et element i den symmetriske gruppe af sættet med 48 Rubiks terningetiketter, der ikke er midten af overfladerne. Mere specifikt kan man markere alle 48 etiketter med tal fra 1 til 48 og tildele hvert af træk et element i den symmetriske gruppe .
Derefter defineres Rubiks terninggruppe som den undergruppe , der genereres af seks fladerotationer:
Grupperækkefølgen er [11] [12]
Hver af konfigurationerne kan løses i højst 20 træk (hvis vi tæller enhver drejning af ansigtet som et træk) [1] .
Den højeste rækkefølge af et element i er 1260. For eksempel skal rækkefølgen af træk gentages 1260 gange før Rubiks terning vender tilbage til sin oprindelige tilstand [13] .
Søgningen efter Guds algoritme begyndte senest i 1980, da en mailingliste for fans af Rubik's Cube blev åbnet [6] . Siden da har matematikere, programmører og amatører søgt at finde Guds algoritme, så de i praksis løser Rubiks terning med et minimum af træk. Relateret til dette problem var problemet med at bestemme antallet af Gud - antallet af træk, der altid er tilstrækkeligt til at fuldføre puslespillet.
I 2010, Palo Alto programmør Thomas Rokiki, Darmstadt matematiklærer Herbert Kotsemba, University of Kent matematiker Morley Davidson og ingeniør hos Google Inc. John Dethridge beviste, at en Rubiks terning fra enhver adskilt tilstand kan samles i 20 træk. I dette tilfælde blev enhver drejning af ansigtet betragtet som et træk. Beregningsmængden var 35 års CPU-tid doneret af Google [1] [14] [15] . Tekniske data om ydeevne og antal computere blev ikke offentliggjort. Varigheden af beregningerne var flere uger [16] [17] [18] .
I 2014 beviste Thomas Rockicki og Morley Davidson, at Rubiks terning ikke kan løses i mere end 26 træk uden brug af 180° drejninger. Mængden af beregninger var 29 års processortid i Ohio supercomputing center [3] .
Det er let at vise, at der er løselige konfigurationer [19] , som ikke kan løses i mindre end 17 træk i FTM-metrikken eller 19 træk i QTM-metrikken.
Dette estimat kan forbedres ved at tage højde for yderligere identiteter: kommutativiteten af rotationer af to modsatte flader (LR = RL, L2 R = RL2 osv.) Denne tilgang gør det muligt at opnå en nedre grænse for antallet af Gud i 18f eller 21q [20] [21] .
Dette skøn har længe været det bedst kendte. Det følger af et ikke-konstruktivt bevis, da det ikke angiver et specifikt eksempel på en konfiguration, der kræver 18f eller 21q for at bygge.
En af de konfigurationer, der ikke kunne findes en kort løsning på, var den såkaldte " superflip " eller "12-flip". I "Superflip" er alle hjørne- og kantterninger på deres pladser, men hver kantterning er orienteret modsat [22] . Toppunktet svarende til superflip i Rubiks terninggrafen er et lokalt maksimum: enhver bevægelse fra denne konfiguration reducerer afstanden til den oprindelige konfiguration. Dette antydede, at superflip er i den maksimale afstand fra den oprindelige konfiguration. Det vil sige, at et superflip er et globalt maksimum [23] [24] [25] .
I 1992 fandt Dick T. Winter en løsning på superflip i 20f [26] . I 1995 beviste Michael Reed optimaliteten af denne løsning [27] , som et resultat af hvilket den nedre grænse for antallet af Gud blev 20 FTM. I 1995 opdagede Michael Reid løsningen på "superflip" i 24q [28] . Optimiteten af denne løsning blev bevist af Jerry Bryan [29] . I 1998 fandt Michael Reed en konfiguration, hvis optimale løsning var 26q* [30] .
For at opnå en øvre grænse for Guds tal, er det tilstrækkeligt at specificere enhver puslespilssamlingsalgoritme bestående af et begrænset antal træk.
De første øvre grænser for antallet af Gud var baseret på "menneskelige" algoritmer bestående af flere stadier. Tilføjelse af estimaterne fra oven for hvert af stadierne gjorde det muligt at opnå et endeligt estimat i størrelsesordenen flere titusinder eller hundredvis af træk.
Sandsynligvis det første konkrete skøn fra oven blev givet af David Singmaster i 1979. Hans samlingsalgoritme gjorde det muligt at samle puslespillet i ikke mere end 277 træk [16] [31] . Singmaster rapporterede senere, at Alvin Berlekamp , John Conway og Richard Guy udviklede en montagealgoritme, der ikke kræver mere end 160 træk. Snart fandt en gruppe af "Conways Cambridge Cubists", som var ved at udarbejde en liste over kombinationer for et ansigt, en 94-vejs algoritme [16] [32] . I 1982 udgav magasinet Kvant en liste over kombinationer, der gør det muligt at løse Rubiks terning i 79 træk [33] .
Thistlethwaites algoritmeI begyndelsen af 1980'erne udviklede den engelske matematiker Morvin Thistlethwaite en algoritme, der markant forbedrede den øvre grænse. Detaljerne i algoritmen blev offentliggjort af Douglas Hofstadter i 1981 i Scientific American . Algoritmen var baseret på gruppeteori og omfattede fire trin.
BeskrivelseThistlethwaite brugte en række undergrupper af længde 4
hvor
I det første trin reduceres en vilkårligt givet konfiguration fra gruppen til en konfiguration, der ligger i undergruppen . Målet med det andet trin er at bringe kuben til konfigurationen i undergruppen uden at bruge rotationer af venstre og højre side med ±90°. På tredje trin reduceres Rubiks terning til en konfiguration, der tilhører gruppen , mens rotationer af de lodrette flader med ±90° er forbudt. På den sidste fjerde fase samles Rubik's Cube fuldstændigt ved at dreje fladerne 180°.
Undergruppeindekserne på er henholdsvis 2048, 1082565, 29400 og 663552.
For hver af de fire familier af højre cosets er der bygget en opslagstabel , hvis størrelse matcher indekset for undergruppen i gruppen . For hver tilstødende undergruppeklasse indeholder opslagstabellen en sekvens af bevægelser, der oversætter enhver konfiguration fra denne tilstødende klasse til en konfiguration, der ligger i selve undergruppen .
For at reducere antallet af poster i opslagstabellerne brugte Thistlethwaite at forenkle foreløbige træk. Den fik oprindeligt en score på 85 træk. I løbet af 1980 blev denne score reduceret til 80 træk, derefter til 63 og 52 [16] [36] . Thistlethwaites elever lavede en komplet analyse af hvert af faserne. De maksimale værdier i tabellerne er henholdsvis 7, 10, 13 og 15 FTM-slag. Da 7 + 10 + 13 + 15 = 45, kan Rubiks terning altid løses i 45 FTM [25] [37] [38] træk .
Grev SchreierSchreier-grafen er en graf,knyttet til en gruppe, et generatorsæt og en undergruppe. Hvert toppunkt på Schreier-grafen er en ret cosetfor nogle. Kanterne på grev Schreier er par.
Hvert af de fire stadier af Thistlethwaites algoritme er en bredde-første gennemgang af Schreier-grafen , hvor er gruppens generatorsæt .
Således er det øverste estimat på 45 træk
hvor
er excentriciteten af toppunktet svarende til enhedens coset .Begrebet en Schreier-graf blev brugt i Radu [39] , Kunkle og Coopermans værker [40] .
Ændringer af thistlethwaites algoritmeI december 1990 brugte Hans Kloosterman en modificeret version af Thistlethwaites metode til at bevise tilstrækkeligheden af 42 træk [1] [20] [41] .
I maj 1992 viste Michael Reid, at 39f eller 56q var tilstrækkeligt [42] . I sin modifikation blev følgende kæde af undergrupper brugt:
Et par dage senere sænkede Dick T. Winter sin FTM-score til 37 træk [43] .
I december 2002 udviklede Ryan Hayes en version af Thistlethwaites algoritme designet til at løse Rubik 's Cube hurtigt [44] .
To-faset Kotsemba algoritmeThistlethwaites algoritme blev forbedret i 1992 af Herbert Kotsemba, en matematiklærer fra Darmstadt.
BeskrivelseKotsemba reducerede antallet af algoritmetrin til to [20] [45] [46] :
En visuel beskrivelse af gruppen kan opnås, hvis følgende markering er lavet [20] [47] :
Så vil alle konfigurationer af gruppen have den samme markering (sammenfaldende med markeringen på den samlede terning).
Løsningen består af to faser. I det første trin oversættes den givne konfiguration af en række bevægelser til en eller anden konfiguration . Med andre ord er opgaven i det første trin at gendanne den markup, der svarer til den oprindelige konfiguration, idet man ignorerer etiketternes farver.
På det andet trin overføres konfigurationen ved en sekvens af bevægelser til den oprindelige konfiguration. I dette tilfælde bliver sidefladernes rotationer med ±90° ikke brugt, på grund af hvilken markeringen automatisk gemmes.
Limning af sekvenser af træk er en suboptimal løsning til den oprindelige konfiguration [20] [46] [48] .
Alternative suboptimale løsningerKotsembas algoritme stopper ikke efter at have fundet den første løsning. Alternative optimale løsninger i første fase kan føre til kortere løsninger i anden fase, hvilket vil reducere løsningens samlede længde. Algoritmen fortsætter også med at søge efter ikke-optimale løsninger i den første fase for at øge deres længde [20] [46] [48] .
ImplementeringsfunktionerFor at søge efter løsninger på hvert af de to stadier, bruges IDA* -algoritmen med heuristiske funktioner baseret på omkostningerne ved at løse de tilsvarende delopgaver [48] .
Den første fases opgave er reduceret til at finde en vej i rummet med tre koordinater fra mærkningen med koordinater ( x 1 , y 1 , z 1 ) til mærkningen (0, 0, 0) [49] :
Overvej tre underproblemer med at finde en sti fra markeringen ( x 1 , y 1 , z 1 ) til markeringen ( x 1 ', y 1 ', 0), ( x 1 ', 0, z 1 '), (0, y 1 ', z 1 '). Værdien af den heuristiske funktion h 1 brugt i det første trin er lig med de maksimale omkostninger ved at løse disse delproblemer. Omkostningerne til løsning af delopgaver er forudberegnet og gemt i form af databaser med skabeloner [50] [51] .
Opgaven i anden fase er reduceret til at finde en vej i rummet med tre koordinater fra konfigurationen ( x 2 , y 2 , z 2 ) til konfigurationen (0, 0, 0) [52] :
Overvej tre underproblemer med at finde en vej fra konfiguration ( x 2 , y 2 , z 2 ) til konfiguration ( x 2 ', y 2 ', 0), ( x 2 ', 0, z 2 '), (0, y 2 ', z2 ') . Værdien af den heuristiske funktion h 2 brugt i andet trin er lig med de maksimale omkostninger ved at løse disse delproblemer.
Algoritmen bruger yderligere optimeringer, der har til formål at øge ydeevnen og reducere hukommelsen optaget af tabeller [20] [45] [46] [53] .
SoftwareimplementeringerCube Explorer er en softwareimplementering af algoritmen til Windows OS. Download links findes på Herbert Kotsembas hjemmeside [54] . I 1992, på en Atari ST PC med 1 MB hukommelse og en frekvens på 8 MHz, tillod algoritmen at finde en løsning på højst 22 træk inden for 1-2 minutter [20] [45] . På en moderne computer gør Cube Explorer det muligt på få sekunder at finde en løsning på ikke længere end 20 træk for en vilkårligt givet konfiguration [45] .
Der findes en online version af algoritmen [55] .
AnalyseI 1995 viste Michael Reed, at den første og anden fase af Kotsembas algoritme højst kunne kræve henholdsvis 12 og 18 træk (FTM). Det følger af dette, at Rubiks terning altid kan løses i 30 træk. Yderligere analyse viste, at 29f eller 42q [25] [56] altid er tilstrækkeligt .
Kotsembas algoritme giver dig mulighed for hurtigt at finde korte, suboptimale løsninger. Det kan dog tage lang tid at bevise optimaliteten af den fundne løsning. Der var behov for en specialiseret algoritme til at finde optimale løsninger.
I 1997 udgav han en algoritme, der tillod ham optimalt at løse vilkårlige konfigurationer af Rubiks terning. Ti tilfældigt udvalgte konfigurationer blev løst i ikke mere end 18 FTM-træk [57] [58] .
Selve Korff-algoritmen fungerer som følger. Først og fremmest bestemmes delproblemer, der er enkle nok til at udføre en fuldstændig opregning. Følgende tre delopgaver [25] blev brugt :
Antallet af træk, der skal til for at løse hvert af disse underproblemer, er en nedre grænse for antallet af træk, der skal til for at fuldføre løsningen. En vilkårligt givet konfiguration af Rubik's Cube løses ved hjælp af IDA* -algoritmen , som bruger dette estimat som en heuristik. Omkostningerne til løsning af delopgaver opbevares i form af databaser med skabeloner [50] [57] .
Selvom denne algoritme altid vil finde optimale løsninger, afgør den ikke direkte, hvor mange træk der i værste fald kan kræves.
En implementering af algoritmen i C kan findes i [59] .
I 2005 forbedrede Michael Reids QTM-score Silviu Radu til 40q [60] . I 2006 beviste Silviu Radu, at Rubiks terning kan løses i 27f [39] eller 35q [61] .
I 2007 brugte Daniel Kunkle og Gene Cooperman en supercomputer til at bevise, at alle uløste konfigurationer ikke kan løses i mere end 26 FTM-træk. Ideen var at bringe Rubik's Cube ind i en af 15.752 undersæt af kvadratkonfigurationer , som hver kan endelig løses med et par ekstra træk. De fleste af konfigurationerne blev løst på denne måde i ikke mere end 26 træk. De resterende konfigurationer blev underkastet yderligere analyse, som viste, at de også kan løses i 26 træk [40] [62] .
I 2008 udgav Thomas Rokicki et beregningsbevis for løseligheden af FTM 25-træks puslespillet [63] . I august 2008 annoncerede Rokiki et bevis på solvabilitet i 23f [64] . Senere blev dette estimat forbedret til 22f [65] . I 2009 formåede han også at vise løsbarheden i 29 QTM-træk [66] .
I 2010 annoncerede Thomas Rokicki, Herbert Kotsemba, Morley Davidson og John Dethridge et bevis på, at enhver Rubik's Cube-konfiguration kan løses i højst 20 træk i FTM-metrikken [1] [14] . Sammen med det tidligere kendte lavere estimat på 20f* beviste dette, at Rubik's Cube God-tallet i FTM-metrikken er 20.
I august 2014 annoncerede Rockiki og Davidson, at Gud-tallet for Rubik's Cube i QTM-metrikken er 26 [3] [67] .
Konfigurationen af Rubiks terning, som er placeret i den maksimale afstand fra den oprindelige konfiguration, kaldes antipoden. Enhver antipode i FTM-metrikken har en optimal løsning i 20f*, og enhver antipode i QTM-metrikken har en optimal løsning i 26q* [3] [68] .
Det er kendt, at der er millioner af antipoder i FTM-metrikken [69] . En sådan konfiguration er "superflip". Tværtimod er der i QTM-metrikken kun én antipodal konfiguration kendt (ikke tæller konfigurationerne opnået fra den ved rotationer) - den såkaldte. superflip komponeret med fire plet [30] [67] [68] [70] . Kun to konfigurationer er kendt i en afstand på 25q* fra den oprindelige konfiguration og omkring 80 tusinde konfigurationer i en afstand på 24q* [3] [69] .
I 2011 blev n × n × n kube Gud-tallet vist at være Θ( n 2 / log( n )) [71] [72] .
Void Cube er en 3x3x3 Rubik's Cube uden centrale brikker.
Længden af den optimale løsning for et " void-superflip " i FTM-metrikken er 20 [73] [74] , hvilket er et bevis på, at 20 træk er nødvendige. Da Void Cube er et svækket problem [50] af Rubik's Cube, gælder det eksisterende bevis på, at 20 træk er tilstrækkeligt til Rubik's Cube [1] for Void Cube. Derfor er Gud-tallet for Void Cube i FTM-metrikken 20.
Antallet af konfigurationer af 4×4×4-puslespillet ( Eng. Rubik's Revenge ) er [75]
Metrics 4×4×4Der er flere måder at bestemme metrikken for en 4x4x4 terning. Dette afsnit bruger følgende metrics:
Længden af den optimale løsning af en vilkårlig konfiguration i qb -metrikken er ikke større end i qw- eller qs -metrikken , da alle bevægelser af de to andre q-metrikker er tilladt i qb -metrikken. Det samme gælder for h-metrics.
Estimater af antallet af Gud terning 4×4×4I 2006-2007 Bruce Norskog lavede en 5-trins analyse af 4x4x4 terningen, svarende til 4-trinsanalysen udført af Thistlethwaite for 3x3x3 Rubik's Cube. Analysen gav øvre grænser for 82 træk i hw- metrikken [76] , 77 træk i hs- metrikken [77] [78] og 67 træk i hb- metrikken [76] .
I 2011 bestemte Thomas Rokiki, baseret på flere eksisterende ideer, nedre grænser for antallet af Gud i seks metrikker for kubiske puslespil med størrelser fra 2×2×2 til 20×20×20 [79] .
I 2013 sænkede Shuang Chen (陈霜) sin hw -score fra 82 til 57 omgange [80] .
I 2015 bekræftede Thomas Rokicki topscore på 57 hw og modtog nye topscore på 56 hs og 53 hb [81] . Et par dage senere lykkedes det Shuang Chen (陈霜) at opnå øvre grænser på 55 hw og 53 hs ved at omdefinere trinene i beviset [82] [83] .
De nuværende kendte øvre og nedre score for 4×4×4-matricen i forskellige metrikker er vist i tabellen:
målinger | hs | hw | hb | qs | qw | qb |
---|---|---|---|---|---|---|
lavere skøn | 32 | 35 | 29 | 37 | 41 | 33 |
top estimat | 53 | 55 | 53 | ? | ? | ? |
Megaminx er den enkleste analog af Rubiks terning i form af et dodecahedron. Antallet af konfigurationer af 12-farve Megaminx er 1,01·10 68 .
I 2012 bestemte Herbert Kotsemba en nedre grænse for Megaminx' Gud-tal til 45 fladerotationer gennem enhver vinkel eller 55 rotationer gennem en vinkel på ±72° [84] [85] .
I 2016 forbedrede Herbert Kotsemba det lavere estimat af Gud-tallet for Megaminx og øgede det til 48 ansigtsrotationer i enhver vinkel [86] .