diplomsko delo - connecting repositories · kauran, m.: rubikove kocke. diplomsko delo, univerza v...
TRANSCRIPT
UNIVERZA V MARIBORU
FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO
Oddelek za matematiko in racunalnistvo
DIPLOMSKO DELO
Mitja Kauran
Maribor, 2016
UNIVERZA V MARIBORU
FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO
Oddelek za matematiko in racunalnistvo
Diplomsko delo
RUBIKOVE KOCKE
Mentor: Kandidat:
red. prof. dr. Blaz Zmazek Mitja Kauran
Maribor, 2016
ZAHVALA
Anyone who has never made a mistake has never tried anything new.
(Albert Einstein)
Tezko je v le nekaj vrsticah izreci zahvalo vsem, ki si jo zasluzijo. Zahvaljujem se
namrec vsem, ki so me pripeljali do te tocke zivljenja.
Iskreno se zahvaljujem mentorju rednemu profesorju dr. Blazu Zmazku za strokovno
vodenje in pomoc pri nastajanju in oblikovanju diplomskega dela ter za spodbudne
besede, ki sem jih bil delezen med nastajanjem diplomskega dela.
Iskreno se zahvaljujem druzini, ki me je ves cas studija spodbujala, mi stala ob strani
in mi bila zmeraj pripravljena pomagati.
Iskreno se zahvaljujem tudi prijateljem, saj brez njih studentska leta ne bi minila tako
hitro in ne bi bila nepozabna.
Hvala vam vsem.
UNIVERZA V MARIBORU
FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO
IZJAVA
Podpisani Mitja Kauran, rojen 5. oktobra 1988, student Fakultete za naravoslovje in
matematiko Univerze v Mariboru, studijskega programa enopredmetna nepedagoska
matematika izjavljam, da je diplomsko delo z naslovom
RUBIKOVE KOCKE
pri mentorju red. prof. dr. Blazu Zmazku avtorsko delo. V diplomskem delu so
uporabljeni viri in literatura korektno navedeni; teksti niso uporabljeni brez navedbe
avtorjev.
Maribor, 13. januar 2016
Mitja Kauran
Rubikove kockeprogram diplomskega dela
V diplomskem delu naj bo opisana osnovna Rubikova kocka in njene posplositve.
Opisani in izpeljani naj bodo algoritmi za resitev igre pri poljubni zacetni postavitvi.
Predstavljen naj bo tudi problem Bozjega stevila in njegove dosedanje resitve.
Osnovni viri:
1. D. Singmaster, Notes on Rubik’s Magic Cube, Enslow Publishers, 1981, str. 30.
2. A. H. Frey, Jr. and D. Singmaster, Handbook of Cubik Math, Enslow Publishers,
1982.
3. Jaap’s Puzzle Page, http://www.jaapsch.net/puzzles
4. God’s Number is 20, http://www.cube20.org
red. prof. dr. Blaz Zmazek
KAURAN, M.: Rubikove kocke.
Diplomsko delo, Univerza v Mariboru, Fakulteta za naravoslovje in mate-
matiko, Oddelek za matematiko in racunalnitvo, 2015.
IZVLECEK
V diplomskem delu so predstavljene Rubikove kocke, vse od najmanjse 2 × 2 × 2, do
nekoliko vecje 4 × 4 × 4 ter podrobneje vsem poznana 3 × 3 × 3. Pri vseh kockah je
naveden kratek opis kocke ter primer resitve z algoritmi za postopno resevanje skupaj z
opisom, cemu je namenjem posamezni algoritem. Na koncu je podrobneje obravnavana
Rubikova kocka 3 × 3 × 3, kako je se je v letih od njenega izuma naprej ugotavljala in
dokazovala zgornja meja stevila potez za resitev te kocke.
Kljucne besede: Kombinatorika, algebra, permutacije, algoritmi, variacije, Rubikove kocke,
bozji algoritem, bozje stevilo.
Math. Subj. Class. (2010): 05A05, 65K10
KAURAN, M.: Rubik’s cubes.
Graduation Thesis, University of Maribor, Faculty of Natural Scicences and
Mathematics, Department of Mathematics and Computer Science, 2015.
ABSTRACT
The thesis discusses the Rubik’s Cube, all from the minimum 2 × 2 × 2, slightly larger 4
× 4 × 4 and in more detail the well known 3 × 3 × 3. Each cube will be presented by
a short description and one possible solution. With the algorithms for gradual resolving
together with a description what each algorithm’s purpose is. In the end there is a detailed
presentation of Rubik’s cube 3x3x3; how in the years since its invention the upper limit of
the number of the moves to solve the cube has been searched for and demonstrated.
Keywords: Combinatorics, algebra, permutations, algorithms, variations, Rubik’s Cubes,
God’s algorithm, God’s number.
Math. Subj. Class. (2010): 05A05, 65K10
Kazalo
1 Uvod 1
1.1 Zgodovina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Erno Rubik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Rubikove kocke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Variacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Osnovni pojmi 5
2.1 Kombinatorika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Kombinacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Variacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Grupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Zepna rubikova kocka 2 × 2 × 2 10
3.1 Permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Metode resevanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 Oznake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Prvi primer resitve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.3 Drugi primer resitve . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Utemeljitev drugega primera resitve . . . . . . . . . . . . . . . . . . . . . . 15
viii
4 Rubikova kocka 3 × 3 × 3 20
4.1 Permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Metode resevanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.1 Oznake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.2 Primer resitve − po plasteh . . . . . . . . . . . . . . . . . . . . . . . 21
5 Rubikova kocka 4 × 4 × 4 26
5.1 Zgradba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2 Permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 Metode resevanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3.1 Oznake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.2 Prvi primer resitve − po plasteh . . . . . . . . . . . . . . . . . . . . 28
5.3.3 Drugi primer resitve − metoda najprej kotni elementi . . . . . . . . 33
6 Bozje stevilo je 20 37
6.1 Zgodovina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1.1 Kako so to naredili . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.1.2 Kaj je najtezji polozaj? . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Bozji algoritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 52-potezni algoritem Thistlethwaita . . . . . . . . . . . . . . . . . . . . . . 42
6.4 Kociembov algoritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.5 Nadaljnje izboljsave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Literatura 47
Poglavje 1
Uvod
Rubikova kocka, izvirno znana kot magicna kocka, je tridimenzionalna mehanska uganka,
ki jo je leta 1974 izumil Erno Rubik. Kocka ima 6 ploskev, vsaka je razdeljena na 9 manjsih
kvadratov in vsak kvadrat je obarvan z eno od 6 barv. Obicajno so te barve rdeca, bela,
modra, oranzna, zelena, rumena, kjer je bela nasproti rumene, modra nasproti zelene in
oranzna nasproti rdece. Rdeca, bela in modra so razporejene v smeri urinega kazalca. Kocka
je plasticna iz 26 manjsih kock in 1 nevidnega jedra v sredini kocke. Resena kocka ima na
vsaki ploskvi vseh 9 kvadratov obarvanih z isto barvo. Vrtenje vsake posamezne ploskve
dovoljuje, da se manjse kocke razporedijo na veliko razlicnih nacinov in izziv oziroma nas cilj
je kocko spraviti v zacetno stanje, torej da je na vsaki ploskvi vseh 9 kvadratov obarvanih
enako. Magicno kocko je podjetje, ki jih je izdelovalo leta 1980, preimenovalo v Rubikovo
kocko in to ime se sedaj uporabljajo po vsem svetu.
1.1 Zgodovina
Rubik je v sredini 70. let 20. stoletja pouceval na akademiji uporabnih umetnosti. Ceprav
se je veliko porocalo, da je izdelal kocko kot ucni pripomocek, da bi studentje lazje razumeli
tridimenzionalne objekte, je bil njegov dejanski namen resevanje strukturnega problema
gibanja delov neodvisno, ne da bi celoten mehanizen razpadel. Ni se zavzel, da je naredil
uganko oziroma sestavljanko, dokler ni prvic premesal svoje nove kocke in jo poskusal sesta-
viti nazaj skupaj. Rubik je leta 1975 dobil patent za svojo kocko, ki pa ni bil mednarodni.
Prve magicne kocke so izdelali leta 1977 in jih zaceli prodajati v Budimpesti. Kmalu so se
za kocko zaceli zanimati tudi ljudje iz drugih drzav, predvsem z zahoda. Tako so v zacetku
leta 1980 zaceli prodajati kocko tudi zunaj meja Madzarske. Za svetovni trg je podjetje
izdelalo lazjo kocko in se odlocilo, da jo preimenuje. V postev sta prisli imeni ”Gordijski
1
1.1 Zgodovina 2
vozel”in ”Inkovsko zlato”, a se je podjetje na koncu odlocilo za ime Rubikova kocka. Med
letoma 1980 in 1982 so prodali vec kot 100 milijonov kock. Leta 1981 je nemska revija
objavila prvo resitev, ki je bila razumljiva ljudem. Leta 1982 je bilo prvo uradno tekmova-
nje v sestavljanju Rubikove kocke. Kmalu po izdaji Rubikove kocke so se na trgu pojavile
podobne uganke. Gre za kocke razlicnih velikosti ter prav tako uganke razlicnih oblik.
Od leta 2003 se pojavljajo mednarodna in drzavna tekmovanja v hitrostnem sestavljanju
Rubikove kocke. Pojavila so se tudi tekmovanja v enorocnem sestavljanju kocke in sesta-
vljanju samo z nogami.
Maja leta 2007 je Thibaut Jacquinot postal prvi, ki je na tekmovanju sestavil kocko v
manj kot 10 sekundah. Zdajsnji svetovni rekord je bil postavljen marca 2013 in znasa 5,55
sekunde.
1.1.1 Erno Rubik
Slika 1.1: Erno Rubik
Erno Rubik, rojen 13. 7. 1944 v Budimpesti na Madzarskem,
je madzarski izumitelj, arhitekt in profesor arhitekture. Najbolj
znan je po izumljanju mehanicnih sestavljank oziroma ugankah,
med katere sodijo Rubikova kocka, Rubikova kaca in Rubikova
plosca. Diplomiral je na fakulteti za arhitekturo leta 1967 in
pricel s podiplomskim studijem notranje arhitekture in kiparstva.
Med letoma 1971 in 1975 je delal kot arhitekt, nato pa je postal
profesor na budimpeski akademiji uporabnih umetnosti. To je
bilo v casu, ko je gradil modele za tridimenzionalne sestavljanke
in zakljucil prvi prototip Rubikove kocke, ki se je uporabljala kot
patent leta 1975. Do tega ga je pripeljala misel, kako cudovito je
bilo videti, da so le po nekaj obratih kocke barve postale mesane. Nato je prisel do velikega
izziva, kako postaviti kocko spet v prvoten polozaj in ugotovil, da ni tako lahko poravnati
barve, da se ujemajo na vseh 6 ploskvah kocke. Se sam ni bil preprican, ce mu bo sploh
kdaj uspelo svoj izum spraviti v prvoten oziroma originalen polozaj.
V enem izmed svojih intervjujev je Rubik izjavil:
”Iscem dobro nalogo za svoje ucence. Vesolje me je vedno pritegnilo s svojo neverjetno bo-
gatimi moznostmi, vesoljskih sprememb na (arhitekturne) predmete, preoblikovanje pred-
metov v prostoru (kiparstvo, oblikovanje), gibanje v prostoru in casu, njihova medsebojna
povezanost, njihova reakcija na clovestvo, odnos med clovekom ter prostorom, predmetom
in casom.”
V zacetku leta 1980 je postal urednik za igre in sestavljanke revije, imenovane ...Es jatek
(... In igre). Leta 1983 se je samozaposlil in ustanovil Rubikov studio, kjer je oblikoval
pohistvo in igre. Nato je leta 1987 postal profesor s polno zaposlitvijo. Leta 1990 je postal
1.2 Rubikove kocke 3
predsednik madzarske inzenirske akademije. Na akademiji je predvsem za podporo mladim
nadarjenim inzenirjem in industrijskim oblikovalcem ustanovil mednarodno Rubikovo fun-
dacijo. Trenutno dela na razvoju video iger in arhitekturnih temah ter vodi svoj Rubikov
studio.
1.2 Rubikove kocke
Diplomsko delo je sestavljeno iz petih poglavij, ki jih lahko locimo v dva razlicna dela. V
prvem delu spoznamo razlicne tipe Rubikovih kock, ki jih locimo po velikosti, od najmanjse
kocke 2 × 2 × 2 do nekoliko vecje 4 × 4 × 4. Zacetki Rubikove kocke segajo v leto 1974,
ko je Erno Rubik izumil magicno kocko. Leta 1980 so jo preimenovali in od takrat dalje je
njena prodaja dosegla razcvet.
Predstavljena je zgodovina kocke, razlozen je pomen besede algoritem, predstavljene so tri
variacije kocke, njihova zgradba in metode resevanja za posamezno variacijo. Pri vsaki
kocki posebej je tudi matematicni izracun stevila permutacij, to je razlicnih pozicij elemen-
tov kocke oziroma razlicnih barvnih elementov na posameznih ploskvah. V nadaljevanju
poglavij je za posamezno metodo resevanja izracunano maksimalno stevilo potez za resitev
pri doloceni metodi. Rubikova kocka velja za najbolj prodajano igraco na svetu, zato so
predstavljeni tudi algoritmi, kako resiti posamezno kocko iz katerekoli pozicije.
V drugem delu se ukvarjamo zgolj s standardno kocko 3 × 3 × 3. Pri vseh sestavljavcih
kocke se takoj porodi vprasanje, kako bi posamezni polozaj kocke najhitreje resil. Julija
1981 je M. Thistlethwaite dokazal, da za resitev katerekoli pozicije zadostuje najvec 52 po-
tez. V diplomskem delu je predstavljeno razmisljanje tega matematika, kako je prisel do te
stevilke, v nadaljevanju pa tudi izboljsave tega dokaza in s tem znizevanje maksimalnega
stevila potez za resitev kocke, ki nas pripelje vse do stevila 20. Prav zato je to stevilo
poimenovano kot bozje stevilo Rubikove kocke. Thistlethwaite je s svojim dokazom moti-
viral matematike, da so zaceli izboljsevati njegov dokaz in zmanjsali zgornjo mejo stevila
potez. Tako je ze 1992. Kociemba izboljsal algoritem Thistlethwaita in zdruzil vec idej v
ucinkovitejsi algoritem. Leta 2010 so dokazali, da gre vsak polozaj Rubikove kocke resiti
v najvec 20 potezah. V diplomski nalogi je predstavljen tudi nacin, kako so to dokazali in
kako so pregledali vse moznosti, predstavljen je tudi primer najtezjega polozaja, ki se ne da
resiti v manj kot 20 potezah.
Rubikove kocke so z vsemi izpeljankami prodali ze vec kot 300 milijonov. Da gre za zani-
mivo igro resevanja kocke, prica dejstvo, da so ze 1982. organizirali svetovna prvenstva v
resevanju Rubikove kocke. Na tekmovanju je moral vsak tekmovalec iz razlicnih polozajev
sestaviti 5 kock. Stela je najhitreje sestavljena kocka in povprecen cas treh najhitreje se-
stavljenih kock. Svetovni rekord je bil postavljen aprila 2015 in znasa 5,25 sekunde.
1.3 Algoritmi 4
Ob tem tekmovanju se odvija veliko neformalnih tekmovanj v alternativnih resevanjih Ru-
bikove kocke, kot so resevanje z eno roko, resevanje z zavezanimi ocmi, resevanje samo z
nogami, resevanje pod vodo na dah in resevanje s cim manj potezami. Pri zadnjem tekmo-
vanju s cim manj potezami ima rekord Japonec, ki je uspel resiti kocko v zgolj 20 potezah.
Prav resitev kocke v cim manj potezah je osrednja tema diplomskega dela.
1.3 Algoritmi
Pri sestavljalcih Rubikove kocke doloceno zaporedje potez, ki imajo zelen ucinek na kocko,
imenjuemo algoritem. Terminologija prihaja iz matematicne uporabe besede algoritem, ki
pomeni seznam dobro definiranih in natancno dolocenih navodil, kako iz danega stanja pride
z natancno dolocenimi zaporednimi koraki, v koncno oziroma zeljeno stanje. Vsaka metoda
resevanja Rubikove kocke ima svoj seznam algoritmov skupaj z navodili, kaksen ucinek ima
na kocko in kdaj ga lahko uporabimo da pridemo blizje reseni kocki. Veliko algoritmov je
zasnovanih tako, da preoblikuje le majhen del kocke, ob tem pa ne vpliva na druge dele
kocke, ki so ze reseni. Nekateri algoritmi imajo prav tako zelen ucinek na kocko, vendar
lahko imajo stranski ucinek − vplivajo tudi na druge dele kocke. Ti algoritmi so vecinoma
enostavnejsi kot tisti brez stranskih ucinkov, zato se vecinoma uporabljajo v zacetnih fazah
resevanja kocke, ko kocka vecinoma se ni resena in stranski ucinki niso pomembni.
1.4 Variacije
Obstaja veliko razlicnih variacij Rubikove kocke, tudi z vec kot 17 sloji.
• 2 × 2 × 2 − zepna ali mini kocka
• 3 × 3 × 3 − obicajna Rubikova kocka
• 4 × 4 × 4 − Rubikovko mascevanje
• 5 × 5 × 5 − Rubikov profesor
• 6 × 6 × 6 − V-cube 6
• 7 × 7 × 7 − V-cube 7 (uradno najvecja kocka, s katero se tekmuje na uradnih
tekmovanjih)
• 17 × 17 × 17 − ”Over The Top”kocka (trenutno najvecja kocka, ki je na voljo)
Poglavje 2
Osnovni pojmi
2.1 Kombinatorika
Za razumevanje diplomske naloge potrebujemo uvod v verjetnost, saj bodo v nalogi upora-
bljeni pojmi in izreki, ki bodo definirani v tem poglavju. Osnovni izrek kombinatorike ali
pravilo produkta uporabimo, ko imamo na razpolago k zaporednih faz z razlicnim stevilom
elementov. Pri Rubikovi kocki pride v postev pravilo produkta, ko bomo opisovali vse mozne
postavitve kocke. To gre za neresene postavitve, iz katerih bomo s pomocjo algoritmov resili
naso kocko.
Izrek 2.1 Osnovni izrek kombinatorike, pravilo produkta
Koliko je vseh nacinov odlocanja, ce odlocanje poteka v k zaporednih fazah in v vsaki fazi
imamo na razpolago ni odlocitev. Vseh nacinov je
n = n1 · n2 · . . . · nk
Dokaz. Ce lahko element a ∈ A izberemo na n nacinov, element b ∈ B pa na m nacinov,
tedaj lahko urejen par (a, b) izberemo na n ·m nacinov. To sledi iz:
|A| = n, |B| = m =⇒ |A×B| = n ·m
Posplosimo:
|Ai| = ni, 1 ≤ i ≤ k =⇒ |A1 ×A2 × . . .×Ak| =k∏
i=1
ni
5
2.1 Kombinatorika 6
2.1.1 Permutacije
Permutacije so razporeditve n elementov na n mest. Vrstni red razporejanja je pri tem
pomemben. Pri Rubikovi kocki se srecamo s permutacijami, saj je ravno postavitev kocke
permutacija. Uporabimo vse elemente kocke in jih postavimo na dolocena mesta. Ko
zavrtimo na primer ploskev, spremenimo postavitev nekaterih elementov in jih postavimo
na druga mesta ter tako dobimo novo permutacijo kocke.
Permutacije v povezavi z Rubikovo kocko se najlepse vidijo ze pri zepni Rubikovi kocki (2
× 2 × 2), ki je sestavljena iz 6 ploskev, na vsaki imamo 4 kvadrate, torej 24 kvadratov.
Pri tej mali Rubikovi kocki obstaja vec kot 3,5 milijona permutacij, torej razporeditev teh
kvadratov po posameznih ploskvah kocke. Natancno stevilo si bomo ogledali kasneje. Se
bolj impresivno pa je dejstvo, da se vse te permutacije dajo resiti v najvec 14 potezah. Torej
preko 3,5 milijona permutacij in vse lahko resimo v najvec 14 potezah.
Definicija 2.2 Razporedimo elemente neke koncne mnozice z n elementi na vse mogoce
nacine v nize dolzine n, pri cemer upostevamo vrstni red. Vsak tak niz imenujemo permu-
tacija elementov dane mnozice.
Permutacije, pri katerih razlikujemo vse elemente: Stevilo Pn vseh razporedb n elementov,
pri katerih razlikujemo vse elemente, je enako
Pn = n!
Permutacije, pri katerih ne razlikujemo vseh elementov: Razporejamo n elementov v nize
dolzine n, pri katerih k ≤ n. Elementov med seboj ne razlikujemo, to pomeni, da njihovega
vrstnega reda ne upostevamo. Stevilo takih permutacij je enako
P (k)n =
n!
k!
V splosnem je stevilo vseh permutacij P(k1,k2...km)n n-tih elementov, od katerih k1, k2 . . . km
med seboj ne razlikujemo, in (k1 + k2 + . . . + km = n) enako
P (k1,k2...km)n =
n!
k1 · k2 · . . . · km!
2.1.2 Kombinacije
Kombinacije so razporeditve n elementov na r mest. V bistvu so to variacije, pri katerih
zanemarimo vrstni red.
2.1 Kombinatorika 7
Definicija 2.3 Elemente izbiramo iz mnozice z n elementi in tvorimo nize dolzine k, pri
cemer ne upostevamo vrstnega reda. Ce elementov ne ponavljamo, mora biti k ≤ n. Tak
niz imenujemo kombinacija, dolzino k pa njen razred.
Kombinacije brez ponavljanja: Elementi se v nizu ne ponavljajo, torej iscemo stevilo vseh
podmnozic s k elementi dane mnozice z n elementi. Kombinacij razreda k brez ponavljanja
n elementov je
C(k)n =
(n
k
), kjer je k ≤ n
Kombinacije s ponavljanjem: Ce dovolimo, da se elementi poljubno mnogokrat ponovijo,
dobimo kombinacije s ponavljanjem. Kombinacij razreda k s ponavljanjem iz n elementov
je
(p)Ckn =
(n + k − 1
k
)
2.1.3 Variacije
Variacije so razporeditve n elementov na r mest. Pri tem velja, da je n > r, torej je stevilo
elementov vedno vecje od stevila mest, na katera bomo razporedili te elemente.
Definicija 2.4 Tvorimo nize dolzine k elementov mnozice z n elementi z upostevanjem
vrstnega reda. Ce elementov ne ponavljamo, mora biti k ≤ n.
Variacije brez ponavljanja: Vseh variacij razreda k brez ponavljanja n elementov je
V kn = k!
(n
k
)= n(n− 1)(n− 2) . . . (n− k + 1) =
n!
(n− k)!, kjer je k ≤ n
Variacije s ponavljanjem: Vseh variacij razreda k s ponavljanjem iz n elementov je
(p)V kn = n · n · . . . · n = nr
Zgled. Koliko trimestnih stevil lahko sestavimo s stevkami 1, 3, 5, 7 in 9, ce
1. se stevke ne smejo ponavljati?
2. se stevke lahko ponovijo?
1. V 35 = 5!
(5−3)! = 5!2! = 60
2. (p)V 35 = 53 = 125
2.2 Algebra 8
2.2 Algebra
Prav tako bomo za lazje razumevanje diplomske naloge potrebovali tudi nekaj iz algebre, in
sicer uvod v grupe, saj bom v nalogi uporabil pojme in izreke o grupah, ki jih bom definiral
v tem poglavju.
2.2.1 Grupe
Binarna operacija na mnozici G je poljubna preslikava ∗ : G → G, ki vsakemu urejenemu
paru elementov (g, h) priredi njun produkt g ∗ h ∈ G
Definicija 2.5 Mnozica G, opremljena z binarno operacijo ·(G, ·) : G → G, je grupa, ce
zanjo veljajo naslednje lastnosti:
• ∀a, b, c ∈ G : (ab)c = a(bc) → asociativnost
• ∃e ∈ G, ∀a ∈ G : ea = ae = a → nevtralni element
• ∀a ∈ G, ∃a−1 ∈ G : a−1 · a = a · a−1 = e → vsi elementi imajo inverz
Definicija 2.6 Podmnozico H v grupi (G, ·) imenujemo podgrupa, ce je tudi (H, ·) grupa.
Definicija 2.7 Najmanjso podgrupo grupe (G, ·), ki vsebuje elemente g1, g2 . . . ∈ G, imenu-
jemo podgrupa porojena z danimi elementi. Oznaka: (g1, g2 . . .). Za elemente g1, g2 . . .
pravimo, da generirajo dano grupo oziroma so njeni generatorji.
Definicija 2.8 Grupo < g >, generirano z enim samim elementom, imenujemo ciklicna
grupa.
Zgled. < 3 >={
3k, k ∈ Z}⊂ (R− {0} , ·)
Definicija 2.9 Naj bosta (G, ·) in (G′, ∗) grupi. Preslikavo f : G→ G′ imenujemo homo-
morfizem grupe G v grupo G′, ce za poljubna x, y ∈ G velja f(x · y) = f(x) ∗ f(y).
Ta definicija nam pove, da je slika produkta poljubnih elementov enaka produktu njunih
slik.
Naj bo H ⊂ G poljubna podgrupa grupe G. Potem na G lahko definiramo binarno relacijo
xH∼ y ⇔ x−1y ∈ H
2.2 Algebra 9
Posledica 2.10 RelacijaH∼ je ekvivalencna relacija na grupi G. Ekvivalencnim razredom
relacijeH∼ pravimo razredi odcepa grupe G po podgrupi H.:
• Levi razred odcepa: xH = {xh;h ∈ H}
• Desni razred odcepa: Hx = {hx;h ∈ H}
∀x ∈ G : |xH| = |Hx| = |H|
Definicija 2.11 Podgrupa H grupe G je edinka ⇔ ∀g ∈ G : gHg−1 = H; ghg−1 ∈ H.
Oznaka: H / G
Poglavje 3
Zepna rubikova kocka 2 × 2 × 2
Zepna kocka oziroma mini kocka je lazja oblika Rubikove kocke, ki ima 8 kotnih elementov,
brez centrov in robnih elementov. Torej gre za 2 × 2 × 2 kocko. Vsako ploskev lahko
zavrtimo in s tem preuredimo 4 elemente te ploskve. Vsaka od sestih strani resene kocke
ima svojo barvo, kar pomeni, da ima vsak kotni element, ki je del treh razlicnih ploskev, tri
razlicne barve. Glede na to, da gre za najmanjso Rubikovo kocko, ima ta kocka tudi naj-
manjse stevilo permutacij. Ti lazji algoritmi za resitev kocke nam bodo pomagali razumeti
tezje algoritme za vecje kocke, kar bo bistveno pripomoglo k dolocanju zgornje meje potez
za resitev kocke.
3.1 Permutacije
Kocka ima 8 elementov in vsaka ima 3 orientacije, kar pomeni, da je maksimalno stevilo
pozicij kocke 8! · 38. Glede na to, da je lahko 7 kotnih elementov neodvisno orientiranih,
pomeni, da se stevilo vseh moznih pozicij zmanjsa na 8! · 37. To ne pomeni, da lahko
izberemo katerikoli izmed 7 kotnih elementov in ga neodvisno zavrtimo, ampak pomeni, da
je prostor, nad katerim lahko vrtimo elemente, 7-dimenzionalen kot vektorski prostor nad
celimi stevili mod 3. Torej obstaja 7 neodvisnih rotacij kotnih elementov, vendar vsaka od
teh rotacij vpliva na vec kot en kotni element. Ker kocka nima dolocenih centrov, lahko
kocko oziroma en kotni element postavimo v katerikoli kot in s katerokoli orientacijo, zato
moramo naso stevilo permutacij kocke deliti s 24, saj orientacija kocke v prostoru ne vpliva
na nic. Orientacija elementa je pravilna, ce ga zgolj z zasukom ploskve na njegov koncni
polozaj postavimo tudi v koncni polozaj, torej da je element ze pravilno zasukan glede na
10
3.2 Metode resevanja 11
ostale elemente. Tako dobimo stevilo permutacij nase kocke:
8! · 37
24= 7! · 36 = 3.674.160
Iz katerekoli pozicije kocke jo lahko resimo v najvec 14 potezah oziroma v 11, v kolikor
obrat ploskve za pol stejemo kot eno potezo.
Spodaj je prikazana tabela najkrajsih resitev za vsako pozicijo. Tabela prikazuje rezulate
tako za vsak posamezen premik kot tudi za premik ploskev.
0 1 2 3 4 5 6 7 8 9 10 11 Skupaj0 1 11 6 62 3 24 273 24 96 1204 6 144 384 5345 72 768 1.416 2.2566 9 564 3.608 4.788 8.9697 126 3.600 15.072 14.260 33.0588 5 1.248 18.996 57.120 36.780 114.1499 120 9.480 85.548 195.400 69.960 360.50810 1.728 55.548 341.604 487.724 43.984 930.58811 72 14.016 238.920 841.500 256.248 96 1.350.85212 1.032 56.440 455.588 268.532 944 782.53613 12 928 32.968 54.876 1.496 90.28014 8 160 108 276
Skupaj 1 9 54 321 1.847 9.992 50.136 227.536 870.072 1.887.748 623.800 2.644 3.674.160
Tabela 3.1: vir: http://www.jaapsch.net/
Tabela nam prikazuje stevilo razlicnih permuacij kocke glede na stevilo potez oziroma
obrate ploskve pri posamezni resitvi permutacije. V stolpcih so napisane poteze, torej
vsaka cetrtina obrata kocke posebej, v vrstici pa samo razlicni obrati kocke ne glede na
polovicni ali cetrtinski obrat. Ce desno ploskev obrnemo za pol obrata, bi glede na stolpce
bili to dve potezi, glede na vrstice pa le ena poteza. Pri 0 v stolpcu in 0 v vrstici imamo
zgolj eno permutacijo in to je resena kocka. Pri 1 v stolpcu in 1 v vrstici imamo 6 permu-
tacij, torej je lahko vsaka ploskev posebej za cetrt obrata od resitve. Ker imamo 6 ploskev
razlicnih barv, gre za 6 razlicnih permutacij. Pri 2 vrstici in 1 stolpcu imamo 3 permutacije.
To pomeni, da bomo kocko resili z dvema potezama oziroma z enim polovicnim obratom
dolocene ploskve. 3 permuacije imamo, ker imamo 3 nasprotne si strani, ki pri polovicnem
obratu prehajajo ena v drugo.
3.2 Metode resevanja
Pri resevanju Rubikove kocke 2 × 2 × 2 zacetniki pogosto uporabljajo metodo, pri ka-
teri sestavijo najprej eno plast in nato se drugo, kar je zelo podobno resevanju Rubikove
kocke 3 × 3 × 3. Zelo popularni metodi pri hitrostnih sestavljalcih sta t. i. Ortega in
Guimond, pri katerih se plasti orientirata loceno in nato permutirata skupaj. Prav tako
sta popularni metodi CLL, ki resi kocko z enim algoritmom, potem ko ze imamo eno plast
3.2 Metode resevanja 12
sestavljeno, in metoda EG, ki je razsirjena od CLL z dodatnim algoritmom, ki resi kocko z
enim algoritmom, ko imamo eno ploskev orientirano.
3.2.1 Oznake
Naj bodo ploskve oznacene s crkami L, R, F, B, U, D (leva, desna, sprednja, zadnja, zgornja
in spodnja). Cetrt obrata ploskve v smeri urinega kazalca bomo oznacili z ustrezno crko.
Cetrt obrata ploskve v obratni smeri urinega kazalca bomo oznacili z ustrezno crko in
apostrofom (L’, R’, F’, B’, U’ in D’). Polovico obrata ploskve bomo oznacili z ustrezno crko
in stevilko 2 (L2, R2, F2, B2, U2 in D2), npr. L2 (leva ploskev za pol obrata v smeri urinega
kazalca).
3.2.2 Prvi primer resitve
1. Resimo zgornjo ploskev
• Odlocimo se, katero barvo zelimo imeti na zgornji ploskvi. Kocko obrnemo tako,
da imamo vsaj en kvadrat na zgornji ploskvi obarvan s to barvo.
• K izbranemu elementu postavimo sosednja elementa tako, da so na vrhu kvadrati
obarvani enako in se robovi ujemajo v barvi.
• Cetrti manjkajoci kvadrat na zgornji ploskvi postavimo tako, da ga s cetrt obrata
ene ploskve lahko postavimo na manjkajoce mesto.
• Ce je cetrti kvadrat na mestu spredaj spodaj levo (FDL), uporabimo algoritem
D L D’ L’.
• Ce je cetrti kvadrat na mestu spredaj spodaj desno (FDR), uporabimo algoritem
D’ R’ D R.
Slika 3.1: Resimo zgornjo ploskev
2. Kocko obrnemo tako, da imamo reseno spodnjo plast.
3. Resimo zgornjo plast.
3.2 Metode resevanja 13
• Pogledamo, katera barva mora biti na zgornji ploskvi. Pogledamo, katera mora
biti nasproti spodnje ploskve ali se katera ne pojavi na spodnji ploskvi niti na
straneh.
• Kocko drzimo ves cas tako, da je sprednja ploskev enaka. Ce na zgornji strani
ni zeljene barve, naredimo naslednji korak. Ce je na zgornji strani samo en
kvadrat iskane barve, ga postavimo na mesto spredaj zgoraj levo (FUL). Ce
sta dva diagonalna kvadratka iste barve, postavimo enega na mesto FUL, ce pa
imamo dva kvadrata, ki sta skupaj, ju postavimo na mesta zadaj zgoraj levo in
desno (BUL in BUR).
• Naredimo algoritem R U R’ U R U2 R’.
• Drugi in tretji korak ponavljamo, dokler na zgornji strani niso vsi kvadrati enako
obarvani.
Slika 3.2: Resimo zgornjo plast
4. Poiscemo koncno resitev
• Sedaj moramo pri zgornji ploskvi resiti se stranske elemente. Ce imamo pri
stranskih elementih na zgornji ploskvi, na kateri strani kvadrata enake barve,
zgornjo ploskev obrnemo tako, da se ta dva kvadrata ujemata s celotno stranjo in
to stran postavimo na zadnjo stran. V nasprotnem primeru gremo na algoritem.
• Algoritem R’ F R’ B2 R F’ R’ B2 R2 U’.
• V kolikor kocka se ni resena, ponovimo prvo in drugo tocko.
Slika 3.3: Poiscemo koncno resitev
Za resitev s pomocjo teh metod potrebujemo najvec 66 potez, in sicer maksimalno 24 za
prvi del, 30 za drugi del in 12 za tretji del - 24 + 30 + 12 = 66.
3.2 Metode resevanja 14
3.2.3 Drugi primer resitve
1. Resimo zgornjo ploskev
• Odlocimo se, katero barvo zelimo imeti na zgornji strani. Nato kocko obrnemo
tako, da je vsaj en element na zgornji ploskvi obarvan s to barvo. Manjkajoci
elementi na zgornji ploskvi bodo postavljeni glede na to kocko, ki ze ima zeljeno
barvo na zgornji strani.
• Poiscemo element na spodnji ploskvi, ki pripada zgornji ploskvi. Spodnjo plo-
skev obrnemo tako, da je ta element natanko pod svojo koncno pozicijo in celotno
kocko obrnemo tako, da dobimo ta element na polozaj spredaj desno. Ce so vsi
elementi, ki pripadajo zgornji strani, ze na zgornji ploskvi, ceprav so nekateri
na napacnem mestu, izberemo en element s spodanje strani in ga zamenjamo z
enim napacnim elementom z zgornje strani.
• Glede na njihovo orientacijo naredimo eno izmed naslednjih moznosti:
(a) Ce zelimo premakniti FRD → URF , naredimo F D F’.
(b) Ce zelimo premakniti RDF → URF , naredimo R’ D’ R.
(c) Ce zelimo premakniti DFR→ URF , naredimo F D’ F’ R’ D2 R.
Slika 3.4: Primeri (a), (b) in (c)
• Ponavljamo drugi in tretji korak, dokler zgornja stran ni resena.
2. Postavitev elementov s spodnje strani, ne glede na orientacijo
• Obrnimo spodnjo ploskev tako, da sta vsaj dva elementa na pravem mestu,
ceprav nista pravilno orientirana.
• Ce je treba, zamenjamo dva elementa, da uporabimo:
(a) Za zamenjavo DFR in DBL naredimo F’ R’ D’ R D F D’.
(b) Za zamenjavo DFR in DFL naredimo F D F’ D’ R’ D’ R.
3.3 Utemeljitev drugega primera resitve 15
Slika 3.5: Primer (b)
3. Pravilen zasuk elementov spodnje strani
• Naredimo nekaj od spodaj zapisanega, da resimo se preostale elemente. Zasuk
posameznega elementa v smeri urinega kazalca oznacimo s + in v obratni smeri
urinega kazalca z −:
(a) Za zasuk DFL− in DBL+ naredimo R’ D’ R F’ D R’ D R D2 F2.
(b) Za zasuk DFL+ in DBL− naredimo F2 D2 R’ D’ R D’ F R’ D R.
(c) Za zasuk DFL− in DBR+ naredimo R2 D’ R D2 R’ D2 R D’ R2 D.
(d) Za zasuk DFR−, DRB− in DBL− naredimo R’ D’ R D’ R’ D2 R D2.
(e) Za zasuk DFR+, DRB+ in DBL+ naredimo D2 R’ D2 R D R’ D R.
(f) Za zasuk DFR−, DRB+, DBL− in DLF+ naredimo R2 D2 R D2 R2 D.
(g) Za zasuk DFR+, DRB−, DBL− in DLF+ naredimo R D F R2 D2 F2 D
F’ D R2.
Za resitev s pomocjo teh metod potrebujemo najvec 42 potez, in sicer maksimalno 24 za
prvi del, 8 za drugi del in 10 za tretji del 24 + 8 + 10 = 42.
3.3 Utemeljitev drugega primera resitve
Pri utemeljitvi uporabljamo oznake R, L, F, D, U, B za poteze posamezne ploskve, kot je
prej opisano.
1. Resimo zgornjo ploskev
Najprej je treba kocko obrniti tako, da dobimo zeljen element na mesto spredaj desno
spodaj, ne glede na njegovo orientacijo. Ce je orientiran pravilno − s cetrt obrata, ga
lahko prikljucimo k elementu na zgornji ploskvi, sledita primera (a) ali (b). Narediti
je treba tri poteze, saj lahko drugace vplivamo na ostale elemente na zgornji ploskvi,
3.3 Utemeljitev drugega primera resitve 16
cesar pa ne zelimo. Zato bi v primeru (a), ko je barva zgornje ploskve na sprednji
strani tega elementa FRD, element postavili na pravo mesto ze z obratom desne
ploskve (R), a mi zelimo, da elemente zgornje ploskve ne zdruzujemo na zgornji
ploskvi, zato najprej naredimo potezo F. Tako se koncno mesto nasega elementa
postavi na spodnjo ploskev na polozaj RDF, nas element pa je se vedno na spodnji
ploskvi. V naslednjem koraku D nas element postavimo na zeljeno mesto. S tem in
prav tako z naslednjim korakom, ko sprednjo ploskev postavimo v prvotni polozaj s
potezo F’, ne vplivamo na zgornja elementa, ki lezita na zadnji ploskvi (B).
Zelo podobno sledi pri primeru (b), le da gre za obraten postopek, saj postavimo
zeljen element na polozaj desno spodaj spredaj (RDF) in bi ga premaknili na pravilen
polozaj z obratom sprednje ploskve (F’), zato vidimo, da gre za enak postopek, le
algoritmi so v drugi smeri.
Primer (c) se ponavadi zgodi, ko so trije elementi zgornje ploskve ze na svojem mestu,
cetrti pa je tocno pod svojim koncnim mestom, zato najprej naredimo F, tako ostale
tri barve zgornje ploskve ostanejo na zgornji ploskvi, cetrti element pa je se vedno na
spodnji ploskvi. Sledi obrat D’, saj bi drugace element postavili prevec blizu koncnega
polozaja, a se vedno na napacno mesto. Nato sprednjo ploskev postavimo nazaj s
potezo F’, tako dobimo spet na zgornji ploskvi zacetni polozaj, le nas element je
sedaj na zadnji spodnji levi strani (BDL). Lahko bi ga sedaj s potezo D2 postavili na
mesto spredaj spodaj desno in bi ponovili primer (b), a pri tem ne gre za najhitrejsi
algoritem, saj z obratom desne ploskve ne vplivamo na nas element, zato naredimo
potezo R’, tako koncni polozaj nasega elementa damo na mesto FDR, s potezo D2
nas element postavimo na pravilno mesto in zdruzimo elemente enake barve, nato se
sledi poteza R, saj moramo zgornjo ploskev postaviti v prvotni polozaj.
Slika 3.6: Pravilna postavitev zgornje ploskve
2. Postavitev elementov s spodnje strani, ne glede na orientacijo
Pri primeru (a) gre za diagonalno zamenjavo elementov. Namen je, da se samo za-
menjata diagonalna elementa. Mi torej zelimo glede na prve tri poteze, ki spremenijo
tudi zgornjo ploskev, zgornjo ploskev nazaj sestaviti in pri tem vidimo, da se diago-
3.3 Utemeljitev drugega primera resitve 17
nalna elementa na spodnji ploskvi zamenjata. Element na polozaju UBL ostane ves
cas na svojem mestu in ga pri tem algoritmu ne uporabimo. Med algoritmom le ta
element na zgornji ploskvi ostane ves cas na istem mestu, kar pomeni, da glede na
ta element postavimo ostale elemente zgornje ploskve v ujemanju s tem elementom.
Torej s prvimi tremi koraki algoritma razdremo zgornjo ploskev, le-ta element ostane
na svojem mestu in nato z zadnjimi stirimi koraki sestavimo zgornjo ploskev nazaj,
da se ujema z elementom UBL, ki je ves cas na istem mestu. Glede na to, da pride
do spremembe na spodnji ploskvi, vidimo, da razdor in sestava zgornje ploskve ne
potekata po enakem vrstnem redu. Najprej locimo zgornja sprednja elementa od za-
dnjih, nato se desnega, nato sprednja elementa locimo med seboj. Nato postavimo
desni zadnji element na svoje mesto in prav zaradi te razlike pride do spremembe na
spodnji ploskvi. Sele nato spet zdruzimo sprednja elementa in ju postavimo nazaj
na zgornjo ploskev. Zadnja poteza D’ je zgolj namenjena temu, da spodnje elemente
postavimo tako, da so na pravilnih polozajih ne glede na orientacijo.
Slika 3.7: Diagonalna zamenjava elementov
3. Pravilen zasuk elementov spodnje strani
Vidimo, da gre pri primerih (a) in (b) ter (d) in (e) za obratna algoritma, saj gre
za zasuk enakih robnih elementov vendar v obratno smer. Ce pri primeru (a) dva
elementa obrnemo v predpisano smer, bi, ce bi izvedli obraten algoritem (torej bi
ga izvedli nazaj in vsako potezo obrnili; ce smo prej naredili potezo v smeri urinega
kazalca, jo sedaj naredimo v obratni smeri), prisli do prvotnega polozaja. Zato sta
algoritma ravno obrnjena. Tako se bomo pri utemeljitvi osredotocili le na enega izmed
dveh primerov.
Pri primeru (a) ponovno vidimo, da element na polozaju UBL ostane ves cas na
svojem mestu. Tako da zgornjo ploskev najprej razdremo in jo glede na ta element
spet postavimo na svoje mesto. Poglejmo, kaj se dogaja z elementoma, ki se zavrtita.
Element DBL prakticno skozi ves algoritem premikamo, ampak bistvo se zgodi v
sredini algoritma. S potezami R’ D R se zavrti v smeri urinega kazalca, medtem ko
element DFL prakticno ne pride do izraza vse do konca algoritma. Res je, da ga
3.3 Utemeljitev drugega primera resitve 18
naprej malo obrnemo, vednar ga nato vrnemo v prvotni polozaj in sele z delom D R
D2 in F2 ga zasucemo, ceprav D2 ne vpliva na ta element.
Pri primeru (c) gre za zasuk diagonalnih elementov. Vse se dogaja na desni in spodnji
ploskvi. Element DFL zavrtimo z delom D2 R’ D2, saj ga z D2 postavimo na polozaj
DFR, z R’ ga zavrtimo, in z D2 ga spet postavimo na svoje mesto. Medtem ko element
DBR zavrtimo v zadnjem delu algoritma, ga v prvem delu algoritma umaknemo na
zgornjo ploskev, da lahko zavrtimo drugi element in ga nato v zadnjem delu algoritma
R2 in D zavrtimo v smeri urinega kazalca. Pri tem vidimo razliko, ce element zavrtimo
v smeri urinega kazalca oziroma v obratni smeri. Pri prvem primeru ga z R2 damo
stran od polozaja in z D nazaj na polozaj ze zavrtenega, pri drugem pa ravno obratno:
z D2 ga damo s polozaja, z R’ pa ga zavrtimo.
Slika 3.8: Primer (c)
Pri primeru (e), pri katerem gre za obratni algoritem od primera (d), zavrtimo ele-
ment DFR z zadnjim delom algoritma, in sicer z zadnjima potezama D R. Element
DRB zavrtimo v sredini algoritma s potezama R D. Element DBL v bistvu pri tem
algoritmu zavrtimo dvakrat in to v nasprotni smeri urinega kazalca, kar je enako, kot
ce bi ga enkrat zavrteli v smeri urinega kazalca. Prvic ga zavrtimo takoj na zacetku s
potezama D2 R’, drugic pa pred koncem s potezo D R’. V tem primeru vidimo, da z
obratom desne ploskve v smeri urinega kazalca tudi element zavrtimo v smeri urinega
kazalca in z obratom R’ tudi element zavrtimo v obratni smeri. Pri tem algoritmu se
zgornja ploskev skozi algoritem le nekoliko porusi, in sicer se element UFR premakne
s potezo R’ na spodnjo ploskev in se v bistvu skozi cel algoritem zavrti po spodnji
ploskvi ter se na koncu s potezo R vrne na svoj polozaj. Spodnjo ploskev le v prvih
dveh korakih obrnemo za pol obrata, nato pa vedno le za cetrt obrata, kar je tudi
razlog, da se pri tem algoritmu zavrtijo le trije elementi spodnje ploskve.
Pri primeru (f) vidimo, da imamo vecino polovicnih obratov, zato se pri tem algo-
ritmu pri posameznih delih zavrtita dva elementa hkrati, in sicer en v smeri urinega
kazalca in drugi v nasproti smeri. Sprednja dva elementa DFR in DLF se zavrtita
v prvem delu algoritma s potezo D2 R, saj spravimo naprej s potezama R2 in D2
3.3 Utemeljitev drugega primera resitve 19
ta dva elementa na polozaja BR. Enega nad drugega. Nato ju s potezo R spravimo
nazaj na spodnjo ploskev in ju s tem zavrtimo. Enako se zgodi s preostalima elemen-
toma. Najprej ju v zacetnem delu algoritma postavimo na polozaja UR in nato z R2.
Na koncu jih postavimo nazaj na spodnjo ploskev tako, da sta ze zavrtena, z zadnjo
potezo D jih le vrnemo na svoji mesti.
Slika 3.9: Primer (f)
Pri primeru (g) gre spet za povezavo med DFR in DLF. Oba elementa zavrtimo v
zacetku algoritma s potezami R D F, medtem ko element DBL zavrtimo s tremi
obrati sprednje ploskve med algoritmom. Torej ga s prvim F samo postavimo na
zgornjo ploskev, nato ga z F2 D zavrtimo. Element DRB se zavrti dvakrat v smeri
urinega kazalca, kar je enako, kot ce bi ga zasukali v nasprotni smeri enkrat. Prvic
ga zavrtimo takoj na zacetku s potezo R D, drugic s potezo D F’, nato pa ga z R2
postavimo v svoj polozaj.
Poglavje 4
Rubikova kocka 3 × 3 × 3
To kocko smo ze opisali, saj prav to kocko imenujemo Rubikova kocka in je najbolj razsirjena,
zato je ne bomo opisovali se enkrat. V tem poglavju bomo le predstavili, koliko razlicnih
permutacij imamo pri tej kocki, torej koliko razlicnih polozajev za zacetek resevanja Rubi-
kove kocke imamo. Prav tako bomo opisali eno metodo resevanja po plasteh, ki je dokaj
enostavna in primerna za resevanje kocke za vsakogar.
4.1 Permutacije
Rubikova kocka (3 × 3 × 3) ima 8 kotnih in 12 robnih elementov. Torej obstaja 8! = 40320
nacin razporeditve kotnih elementov. 7 od teh je lahko orientiranih neodvisno, medtem ko
je orientacija osme odvisna od ostalih sedmih, kar nam da 37 = 2187 moznosti. Obstaja12!2 = 239500800 nacinov razporeditve robnih elementov. 11 od teh je lahko orientiranih
neodvisno, medtem ko je orientacija dvanajstega odvisna od ostalih, kar nam da dodatnih
211 = 2048 moznosti. Torej vidimo, da je Rubikova kocka lahko v enem od
8! · 37 · 12!
2· 211 = 43.252.003.274.489.856.000
razlicnih polozajev, kar je priblizno 43 trilijonov. V bistvu je
8! · 38 · 12! · 212 = 519.024.039.293.878.272.000
moznih postavitev vseh posameznih elementov, kar je priblizno 519 trilijonov. Vendar je
s premikanjem ploskev mozna oziroma dosegljiva le ena izmed dvanajstih, saj ne obstaja
taksno zaporedje premikanj, ki bi obrnilo posamezni rob kocke ali robni element ter prav
tako ne da bi zamenjalo med sebo le en par.
20
4.2 Metode resevanja 21
4.2 Metode resevanja
4.2.1 Oznake
Uporabili bomo standardne oznake za premike Rubikove kocke, ki jih je uvedel David Sin-
gmaster. Naj bodo ploskve oznacene s crkami L, R, F, B, U, D (leva, desna, sprednja,
zadnja, zgornja in spodnja). Cetrt obrata ploskve v smeri urinega kazalca bomo oznacili z
ustrezno crko. Cetrt obrata ploskve v obratni smeri urinega kazalca bomo oznacili z ustre-
zno crko in apostrofom (L’, R’, F’, B’, U’ in D’). Polovico obrata ploskve bomo oznacili z
ustrezno crko in stevilko 2 (L2, R2, F2, B2, U2 in D2), npr. L2 (leva ploskev za pol obrata
v smeri urinega kazalca).
David Singmaster je uvedel tudi oznake za Rubikovo kocko (3 × 3 × 3), male crke pomenijo
obrat ustrezne ploskve in ustrezno srednjo ploskev (f, b, u, d, l, r), npr. u pomeni obrat
zgornje in srednje ploskve med zgornjo in spodnjo ploskvijo. Prav tako lahko naletimo na
oznake x, y, z. Te crke predstavljajo rotacijo celotne kocke v doloceno smer, in sicer x
pomeni obrat kot obrnemo desno ploskev, y obrat kot obrnemo zgornjo ploskev in z obrat
kot obrnemo sprednjo ploskev. X, y in z lahko vsebujejo tudi apostrof, kaj pomeni rotacijo
v drugo smer, torej v smer nasproti urinega kazalca.
4.2.2 Primer resitve − po plasteh
1. Resimo zgornje robne elemente (dobimo obliko + iste barve)
• Poiscemo robni element, ki pripada zgornji ploskvi in se ni na zgornji ploskvi.
Ce ni nobenega, ali niso vsi na pravih mestih, naredimo pol obrata ene strani,
ki vsebuje element na nepravem mestu.
• Ce je ta robni element na spodnji ploskvi, obrnemo spodnjo ploskev tako, da je
ta element tocno pod svojo pravilno pozicijo. Nato obrnemo in drzimo kocko
tako, da sta ta elementa in njena pravilna pozicija na sprednji strani.
(a) Ce zelimo premakniti DF na UF , naredimo F2.
(b) Ce zelimo premakniti FD na UF , naredimo U’ F’ R F.
Ce je namesto zgornjega ta robni element v srednji ploskvi, drzimo kocko tako,
da je ta element na sprednji desni strani in naredimo eno izmed naslednjega:
(a) Ce zelimo premakniti RF na UF , naredimo F’.
(b) Ce zelimo premakniti RF na UR, naredimo U F’ U’.
(c) Ce zelimo premakniti RF na UB, naredimo U2 F’ U2.
(d) Ce zelimo premakniti RF na UL, naredimo U’ F’ U.
4.2 Metode resevanja 22
(e) Ce zelimo premakniti FR na UR, naredimo R.
(f) Ce zelimo premakniti FR na UB, naredimo U R U’.
(g) Ce zelimo premakniti FR na UL, naredimo U2 R U2.
(h) Ce zelimo premakniti FR na UF , naredimo U’ R U.
Slika 4.1: Resimo zgornje robne elemente
2. Resimo zgornje kotne elemente
• Poiscemo kotni element na spodnji ploskvi, ki priprada zgornji ploskvi. Ce
ni nobenega in se niso vse stiri na zgornji ploskvi pravilne, obrnemo kocko
tako, da je nepravilen kotni element na polozaju UFR. Ce je barva, ki je na
zgornji ploskvi na sprednji strani tega elementa, naredimo R’ D R, v nasprotnem
primeru naredimo R’ D’ R.
• Obrnemo spodnjo ploskev tako, da je kotni element pod svojo pravilno pozicijo
in drzimo kocko tako, da sta tako ta element kot njena pozicija na sprednji desni
strani. Naredimo eno izmed naslednjega:
(a) Ce zelimo premakniti FRD na URF , naredimo F D F’.
(b) Ce zelimo premakniti RDF na URF , naredimo R’ D’ R.
(c) Ce zelimo premakniti DFR na URF , naredimo F D’ F’ R’ D2 R.
Slika 4.2: Resimo zgornje kotne elemente
3. Resimo robne elemente na srednji ploskvi
• Poiscemo robni element na spodnji ploskvi, ki priprada srednji. Ce ni nobe-
nega in srednja ploskev ni pravilna, potem izberemo katerikoli robni element s
spodnje ploskve, da ga zamenjamo z nepravilnim robnim elementom s srednje
ploskve. Drzimo kocko tako, da je polozaj robnega elementa spredaj desno in
nato obrnemo spodnjo ploskev, da dobimo robni element na sprednjo stran.
4.2 Metode resevanja 23
• Da postavimo robne elemente na pravo mesto, izberemo eno izmed spodaj na-
pisanih.
(a) Ce zelimo premakniti FD na FR, naredimo D’ R’ D R D F D’ F’.
(b) Ce zelimo premakniti DF na FR, naredimo D2 F D’ F’ D’ R’ D R.
Slika 4.3: Resimo srednje robne elemente
4. Kotne elemente na spodnji ploskvi postavimo na pravo mesto
• Obracamo spodnjo ploskev, dokler vsaj dva kotna element nista postavljena na
pravo mesto ne glede na orientacijo.
• Ce moramo zamenjati dva kotna elementa, izberemo med napisanimi:
(a) Za zamenjavo DLF in DFR, naredimo R’ D’ R F D F’ R’ D R D2.
(b) Za zamenjavo DLF in DRB, naredimo R’ D’ R F D2 F’ R’ D R D.
Slika 4.4: Spodnje kotne elemente postavimo na pravo mesto
5. Orientiramo kotne elemente na spodnji ploskvi
• Ce so vsi stirje kotni elementi obrnjeni, potem kocko drzimo tako, da je kotni
element, ki je zavrten v smeri urinega kazalca, spredaj levo (Barva spodnje
ploskve kaze na levo v tem kotu.).
Ce so trije kotni elementi zavrteni, potem kocko drzimo tako, da je kotni element,
ki ni zavrten, spredaj levo (Barva spodnje ploskve kaze navzdol v tem kotu.).
Ce sta dva kotna elementa zavrtena, potem kocko drzimo tako, da je kotni
element, ki je zavrten v obratni smeri urinega kazalca, spredaj levo (Barva
spodnje ploskve je na sprednji strani v tem kotu.).
• Naredimo R’ D’ R D’ R’ D2 R D2.
4.2 Metode resevanja 24
• Ponavljamo zgornji dve tocki, dokler vsi kotni elementi na spodnji ploskvi niso
reseni.
Slika 4.5: Orientiramo spodnje kotne elemente
6. Robne elemente na spodnji ploskvi postavimo na pravo mesto
• Izberemo med nastetim:
(a) Za zamenjavo DL - DR in DF - DB, naredimo L2 R2 U2 L2 R2 D L2 R2
U2 L2 R2 D’.
(b) Za zamenjavo DF - DR in DL - DB, naredimo R2 L2 U F2 R2 L2 B2 R2
L2 U’ R2 L2.
(c) Da zavrtimo DR → DB → DL → DR, naredimo L’ R F L R’ D2 L’ R F
L R’.
(d) Da zavrtimo DL→ DB → DR→ DL, naredimo L’ R F’ L R’ D2 L’ R F’
L R’.
Slika 4.6: Spodnje robne elemente postavimo na pravo mesto
7. Orientiramo robne elemente na spodnji ploskvi
• Izberemo med nastetim:
(a) Da obrnemo DF , DR, naredimo F U’ D R2 U2 D2 L D’ L’ D2 U2 R2 D’
U F’ D.
(b) Da obrnemo DF , DB, naredimo F U’ D R2 U2 D2 L D2 L’ D2 U2 R2 D’
U F’ D2.
(c) Da obrnemo vse stiri robne elemente, uporabimo katerokoli od zgornjih
dveh dvakrat.
4.2 Metode resevanja 25
Slika 4.7: Orientiramo spodnje robne elemente
Zgornja meja za resitev Rubikove kocke po tej metodi je 143 potez. In sicer je za vsako
tocko treba napisano stevilo potez 8 + 24 + 40 + 42 + 29 = 143.
Poglavje 5
Rubikova kocka 4 × 4 × 4
Rubikovo mascevanje je 4 × 4 × 4 razlicica zelo popularne Rubikove kocke, ki jo je leta 1981
izumil Peter Sebesteny in patentiral 1983. Prvotno ime za kocko naj bi bilo Sebestenijeva
kocka, vendar se je kmalu pred patentiranjem spremenilo v Rubikovo mascevanje, da bi
privlacilo navdusence za Rubikovo kocko.
5.1 Zgradba
Za razliko od originalne Rubikove kocke ta kocka nima fiksnih centrov, kar pomeni, da se
vsi centri, ki jih sestavljajo 4 elementi, na vsaki strani lahko premaknejo na drugo pozicijo.
Kocka je sestavljena iz 56 manjsih elementov − 24 centralnih elementov, ki kazejo samo eno
barvo, 24 robnih elementov, ki kazejo dve barvi, in 8 kotnih elementov, ki imajo 3 razlicne
barve.
Vecini teh kock so barve ploskev dolocene tako: rumena nasproti bele, rdeca nasproti
oranzne in zelena nasproti modre. Obstajajo tudi kocke z alternativno barvno sestavo.
Eastsheen verzija kocke je nekoliko manjsa od Rubikovega mascevanja in ima popolnoma
drug mehanizem ter namesto oranzne ploskve vijolicno.
Za razliko od Rubikove kocke 3 × 3 × 3 pri tej kocki ni centra. Prav v tem je posebnost te
kocke: center je sestavljen iz stirih elementov in ni fiksnega centra. Prav zato je treba tudi
centre resiti posebej, kar do sedaj ni bilo v navadi pri manjsih Rubikovih kockah.
26
5.2 Permutacije 27
5.2 Permutacije
V kocki je 24 robnih elementov, ki imajo vsaka po 2 orientaciji, 24 centralnih elementov in
8 kotnih elementov, ki imajo vsaka 3 orientacije. To nam da skupaj maksimalno
8! · 24! · 24! · 38 · 224
razlicnih pozicij. Vendar je 7 kotnih elementov lahko orientiranih neodvisno, medtem ko
je orientacija osmega elementa odvisna od preostalih 7. To nam da skupaj 8! · 37 razlicnih
kombinacij.
Centralnih elementov je 24 in so lahko razporejeni na 24! razlicnih nacinov. Ker so 4 centri
vsake barve nelocljivi, se stevilo permutacij zmanjsa na 24!(4!)6
. Reducirajoc faktor dobimo,
ker so 4! nacini raporeditve 4 centralnih elementov posamezne barve. Imamo 6 razlicnih
barv in za vsako barvo oziroma vsako ploskev je treba narediti enako moramo dati se na
6. potenco. 24 robnih elementov namrec ne more biti obrnjenih. Vsaka permutacija kotnih
elementov je mozna, tako dobimo 24! razlicnih pozicij. Ker kocka nima stalne orientacije
v prostoru, moramo skupno stevilo permutacij zmanjsati za faktor 24. To se zgodi, saj je
vseh 24 pozicij in orientacij prvotnih kotnih elementov ekvivalentno, saj nimamo fiksnih
centrov. Ta faktor se ne pojavi ce imamo kocke N × N × N, pri cemer je N lih, saj imamo
tedaj fiksne centre.
Skupno stevilo permutacij je torej
8! · 37 · 24! · 24!
(4!)6 · 24≈ 7.4 · 1045
Torej imamo 7.401.196.841.564.901.869.874.093.974.498.574.336.000.000.000 moznih permu-
tacij nase kocke.
5.3 Metode resevanja
Za resitev Rubikovega mascevanja ne obstaja posebna metoda, v vecini se kocko resuje
tako, da se najprej sestavijo 2× 2 centri na pravem mestu, nato poparijo robovi, tako da se
kocka s premikanjem samo zunanjih ploskev obnasa kot 3 × 3 × 3 kocka. Ker se centralni
elementi lahko neodvisno premikajo, je za resitev kocke treba paziti na pravilno orientacijo.
Za orientacijo si lahko pomagamo z robnimi in kotnimi elementi, ki nam pokazejo, katere
barve so si sosednje. Ko so centri sestavljeni in na pravem mestu, se lahko zacne sestavljanje
skupnih robnih elementov, ker ima vsak robni element svoj identicen par. Za tem se lahko
kocko sestavi po metodah resitve za 3 × 3 × 3 kocko, vendar lahko zaradi mehanike 4 × 4
5.3 Metode resevanja 28
× 4 kocke pride do edinstvenih postavitev robnih ali kotnih elementov, kot je prikazano na
sliki. Te postavitve se pojavijo na koncu resitve, ko naj bi bila kocka po metodi resitve za
3 × 3 × 3 kocko resena. Taksna postavitve se resi s posebnim algoritmom.
5.3.1 Oznake
Oznacimo ploskve z L, R, F, B, U in D (leva, desna, sprednja, zadnja, zgornja in spodnja).
Cetrt obrata v smeri urinega kazalca posamezne strani naj bo oznacenih z ustrezno crko,
medtem ko cetrt obrata v obratni smeri urinega kazalca z ustrezno crko in apostrofom (L’,
R’, F’, B’, U’ in D’). Polovicni obrati posamezne strani naj bodo oznaceni z ustrezno crko
in stevilko 2 (L2, R2, F2, B2, U2 in D2). Dodajmo se nov tip obrata. Vsaka stran ima dva
dela, in sicer zunanji in notranji kos, tako bomo obrat notranjega dela oznacili z ustrezno
malo crko l, r, f, b, u in d. Tip obrata naj bo enak kot pri zgoraj navedenih obratih
normalnih strani. Zapomnimo si, da te male crke pomenijo le obrat notranjega dela, kar
pomeni, da tak obrat ne bo vplival na kotne elemente.
5.3.2 Prvi primer resitve − po plasteh
1. Resimo centre na zgornji strani
• Najdemo stran, ki ima najvec centralnih elementov enake barve, in obrnemo
kocko tako, da bo to nasa zgornja (U) stran.
• Obrnemo U tako, da postavimo centralni element, ki ni ustrezen, na polozaj bl.
• Poiscemo centralni element, ki ustreza zgornji strani (U).
• Ce ta ne lezi na spodnji strani (D), obrnemo u ali d tako, da bo ta centralni
element na sprednji strani. Sprednjo stran (F) obrnemo tako, da ta centralni
element postavimo na polozaj dr in naredimo zaporedje r U r’. Ce le-ta centralni
element lezi na spodnji strani (D), potem obrnemo D tako, da ta centralni
element postavimo na polozaj br in naredimo zaporedje r U2 r’.
Zgornje zaporedje ponavljamo, dokler na zgornji strani vsi 4 centralni elementi niso
pravilni.
Slika 5.1: Resimo zgornje centralne elemente
5.3 Metode resevanja 29
2. Resimo zgornje kotne elemente
Kotne elemente resimo pred robnimi, ker je tako manj verjetno, da bi naredili napako
pri barvah na straneh. Ce bi najprej hoteli postaviti robne elemente in bi bile barve
na straneh v napacnem zaporedju, potem se kotni elementi ne bi ujemali.
• Poiscemo kotni element na spodnji strani, ki pripada zgornji strani. Ce ni
nobenega, in so manj kot 3 kotni elementi na mestih na zgornji strani, potem
kocko drzimo tako, da je nepravilen kotni element na mestu UFR. Ce je barva
strani na sprednji strani elementa, naredimo R’ D R, v nasprotnem primeru pa
R’ D’ R.
• Ce je kotni element na spodnji strani, obrnemo D tako, da postavimo element
pod svoj pravilni polozaj in kocko drzimo tako, da sta element in njeno mesto
spredaj desno. Nato izberemo:
(a) Ce zelimo premakniti FRD na URF , naredimo F D F’.
(b) Ce zelimo premakniti RDF na URF , naredimo R’ D’ R.
(c) Ce zelimo premakniti DFR na URF , naredimo F D’ F’ R’ D2 R.
Z resevanjem kotnih elementov, ki nimajo barve zgornje strani na spodnji strani na
zacetku, se zadnjega koraka (3.) izogibamo.
Slika 5.2: Resimo zgornje kotne elemente
3. Resimo zgornje robne elemente
• Poiscemo robni element, ki pripada zgornji strani. Kocko drzimo tako, da je
njegov cilj zgoraj spredaj.
• Ce element lezi na spodnji strani, obrnemo D tako, da ga spravimo na sprednjo
stran in izberemo:
(a) Ce zelimo premakniti FDr kot na UFr polozaj, naredimo F d F’.
(b) Ce zelimo premakniti FDl kot na UFr polozaj, naredimo B D2 B’ F d2 F’.
(c) Ce zelimo premakniti FDl kot na UFl polozaj, naredimo F’ d’ F.
(d) Ce zelimo premakniti FDr kot na UFl polozaj, naredimo B’ D2 B F’ d2
F.
5.3 Metode resevanja 30
• Ce element lezi na u ali d delu, obrnemo ta del, da dobimo element zadaj desno
in izberemo:
(a) Ce zelimo premakniti BRu kot na UFl polozaj, naredimo F u F’.
(b) Ce zelimo premakniti BRd kot na UFr polozaj, naredimo F d’ F’.
(c) Ce zelimo premakniti BRd kot na UFl polozaj, naredimo F’ d2 F.
(d) Ce zelimo premakniti BRu kot na UFr polozaj, naredimo F’ u2 F.
Slika 5.3: Resimo zgornje robne elemente
4. Resimo srednje robne elemente
• Poiscemo robni element na spodnji strani, ki priprada eni srednji plasti. Ce ni
nobenega na spodnji strani in srednja stran ni pravilna, potem vzamemo kate-
rikoli spodnji robni element, da izpodrinemo napacen element v srednji plasti.
Kocko bomo morali drzati tako, da bo zeljeni polozaj robnega element zadaj
levo oziroma desno, glede na zaporedja spodaj in sele nato obrnemo D tako, da
dobimo robni element na sprednjo stran.
• Izberemo med spodnjimi izbirami, da postavimo robne elemente na pravo mesto:
(a) Ce zelimo premakniti FDr rob na BRd polozaj, naredimo r F’ R2 F r’ F’
R2 F.
(b) Ce zelimo premakniti FDl rob na BLd polozaj, naredimo l’ F L2 F’ l F L2
F’.
(c) Ce zelimo premakniti FDl rob na BRu polozaj, naredimo l’ F’ R2 F l F’
R2 F.
(d) Ce zelimo premakniti FDr rob na BLu polozaj, naredimo r F L2 F’ r’ F
L2 F’.
Slika 5.4: Resimo srednje robne elemente
5.3 Metode resevanja 31
5. Postavimo centralne elemente
• Poiscemo en centralni element, ki pripada spodnji (D) strani, in kocko drzimo
tako, da bo ta centralni element na desni (R) strani. Obrnemo D tako, da
dobimo en nepravilen centralni element na polozaj fr. Obrnemo R tako, da
dobimo ta centralni element na polozaj db. Nato naredimo zaporedje r d’ r’ D
r d r’ D’ in obrnemo R nazaj v normalen polozaj. To ponavljamo tako dolgo,
dokler spodnja (D) stran ni pravilna.
• Enako metodo lahko uporabimo tudi, da resimo ostale centralne elemente. Da
zamenjamo elementa s sprednje (F) strani z elementoma z desne (R) strani,
uporabimo zaporedje r f’ r’ F r f r’ F’, ki premakne element Fur na desno stran in
Rdf element na sprednjo stran. To je enako zaporedje kot zgoraj, ampak z drugo
orientacijo. Lahko se zgodi, da bomo morali najprej obrniti sprednjo (F) in desno
(R) stran, da bomo dobili elemente na polozaj, da bo zaporedje delovalo. Tedaj
moramo strani obrniti nazaj po opravljenem zaporedju v obratnem vrstnem
redu.
Slika 5.5: Postavimo centralne elemente
6. Postavimo spodnje kotne elemente
• Obracajmo D tako dolgo, dokler vsaj dva kotna elementa nista postavljena na
pravo mesto, ne glede na njuno orientacijo.
• Ce moramo zamenjrati dva kotna elementa, naredimo:
(a) Za zamenjavo DLF in DFR, naredimo R’ D’ R F D F’ R’ D R’ D2.
(b) Za zamenjavo DLF in DRB, naredimo R’ D’ R F D2 F’ R’ D R’ D.
Slika 5.6: Postavimo spodnje kotne elemente na pravo mesto
5.3 Metode resevanja 32
7. Orientiramo spodnje kotne elemente
• Ce imamo vse 4 kotne elemente zavrtene, kocko drzimo tako, da je kotni element,
ki je zavrten v smeri urinega kazalca, spredaj levo (Barva spodnje strani je na
levi strani tega kotnega elementa.).
Ce imamo 3 kotne elemente zavrtene, potem kocko drzimo tako, da je kotni
element, ki ni obrnjen, spredaj levo (Barva spodnje strani je na spodnji strani
tega kotnega elementa.).
Ce imamo 2 kotna elementa obrnjena, potem kocko drzimo tako, da je kotni
element, ki je obrnjen v obratni smeri urinega kazalca, spredaj levo (Barva
spodnje strani je na sprednji strani tega kotnega elementa.).
• Naredimo R’ D’ R D’ R’ D2 R D2.
• Ponavljamo zgornji dve tocki, dokler kotni elementi niso resene.
Slika 5.7: Orientiramo spodnje kotne elemente
8. Postavimo spodnje robne elemente
• V naslednjem seznamu imamo vse mozne kombinacije treh robnih elementov na
treh straneh. Dano zaporedje jih zavrti.
(a) Da zavrtimo DBr → DFr → DRf → DBr, naredimo r F’ R F r’ F’ R’ F.
(b) Da zavrtimo DBr → DFr → DRb→ DBr, naredimo B R’ B’ r’ B R B’ r.
(c) Da zavrtimo DBl→ DFl→ DRb→ DBl, naredimo l’ F’ R F l F’ R’ F.
(d) Da zavrtimo DBl→ DFl→ DRf → DBl, naredimo B R’ B’ l B R B’ l’.
(e) Da zavrtimo DBr → DFl → DRf → DBr, naredimo B’ L’ f L’ F L f’ L’
F’ L L B.
(f) Da zavrtimo DBr → DFr → DRf → DBr, naredimo B’ L’ R F’ R’ f’ R
F R’ f L B.
(g) Da zavrtimo DBl → DFr → DRb → DBl, naredimo B’ L’ b’ L’ F L b L’
F’ L L B.
(h) Da zavrtimo DBl → DFl → DRb → DBl, naredimo B’ L’ R F’ R’ b R F
R’ b’ L B.
5.3 Metode resevanja 33
Da zavrtimo robne elemente v obratni smeri, lahko ali naredimo inverzno zapo-
redje ali naredimo zaporedje dvakrat.
Ce zelimo zavrteti tri robne elemente, pri cemer dva lezita en zraven drugega,
lahko preprosto uporabimo eno izmed zaporedij, da postavimo tretji robni ele-
ment na pravo mesto, kar pa bo spremenilo robni element na drugi ploskvi. Nato
dobimo polozaj, pri katerem imamo tri robne elemente vsako na svoji strani in
jih lahko resimo z zaporednjem s seznama.
Da naredimo dva zasuka, zavrtimo katerekoli izmed njih in ostanejo nam trije
robni elementi, ki morajo biti ponovno zavrteni.
• Lahko se zgodi, da koncamo z dvema robnima elementoma, ki morata biti za-
vrtena. Razlog, da je to mogoce na tej kocki, je, da premik vsakega dela kocke
posebej izvede liho permutacijo na robnih elementih. Ko naredimo potezo, pri
kateri obrnemo eno ploskev, da s tem popravimo prestavljene centralne ele-
mente in zavrtimo tri robne element nazaj, se zamenja samo en robni element.
Obracanje strani so sode permutacije robnih elementov, torej ne bi mogli izvesti
samo zasuka enega robnega elementa le z obracanjem strani.
Tukaj je se zaporedje, ki zavrti DFr in DBr:
(a) F r B R2 B’ r’ B R2 B’ F’ r’ U2 D2 l’ U2 D2 r r2 u2 r2 u2.
Slika 5.8: Postavimo spodnje robne elemente na pravo mesto
Ta metoda ni najboljsa, a jo uporablja veliko ljudi za resevanje kocke, saj gre po plasteh
in ni komplicranih algoritmov za resevanje. Problem pri tej metodi je, da se najprej resi
zgornjo plast in vsi nadaljnji algoritmi ne smejo vplivati na zgornjo plast. Ce ze vplivajo,
jo morajo v istem algoritmu tudi nazaj resiti. Zato za to metodo ne bomo racunali zgornje
meje stevila potez, saj ne gre za dobro metodo z vidika malega stevila potez za resevanje
kocke.
5.3.3 Drugi primer resitve − metoda najprej kotni elementi
Pri tej metodi bomo najprej resili kotne elemente, nato robne in sele na koncu centralne.
Prednost te metode je, da ne moremo priti do parnega problema, pri katerem bi morali dva
robna elementa zamenjati.
5.3 Metode resevanja 34
1. Resimo kotne elemente
Vzamemo lahko metodo resevanja kotnih elementov iz zgornjega primera ali si poma-
gamo z metodo za kocko 2 × 2 × 2.
Slika 5.9: Resimo kotne elemente
2. Resimo robne elemente na zgornji in spodnji (U in D) ploskvi.
• Poiscemo robni element, ki pripada UFl ali UFr. Ce ta element ne lezi v srednji
plasti, potem obrnemo kocko okoli U/D osi, da spravimo ta element na sprednjo
stran in naredimo F u F’ ali F d’ F’ v drugem primeru, ce element pripada UFr.
• Kocko drzimo tako, da je koncen polozaj tega element zgoraj spredaj in obrnemo
u oziroma d tako, da spravimo element na polozaj zadaj desno. Nato izberemo:
(a) Ce zelimo premakniti BRu na UFl, naredimo F u F’.
(b) Ce zelimo premakniti BRd na UFr, naredimo F d’ F’.
(c) Ce zelimo premakniti BRu na UFr, naredimo F’ u2 F.
(d) Ce zelimo premakniti BRd na UFl, naredimo F’ d2 F.
• Poiscemo robni element, ki pripada DFl ali DFr. Ce ta element ne lezi v srednji
plasti, potem obrnemo kocko okoli U/D osi, da spravimo ta element na sprednjo
stran in naredimo F u2 F’ ali F d2 F’ v drugem primeru, ce element pripada
DFr.
• Kocko drzimo tako, da je koncen polozaj tega element spredaj spodaj in obrnemo
u oziroma d tako, da spravimo element na polozaj zadaj desno. Nato naredimo:
(a) Ce zelimo premakniti BRu na DFl, naredimo F’ u’ d F2 u’ F’.
(b) Ce zelimo premakniti BRd na DFr, naredimo F’ u’ d F2 d F’.
(c) Ce zelimo premakniti BRu na DFr, naredimo F d’ F2 u F.
(d) Ce zelimo premakniti BRd na DFl, naredimo F u F2 d’ F.
• Te 4 tocke ponavljamo za vsak par robnih elementov na zgornji in spodnji plo-
skvi.
5.3 Metode resevanja 35
Slika 5.10: Resimo robne elemente na zgornji in spodnji ploskvi
3. Resimo robne elemente v srednjih plasteh
• Obrnimo d tako, da dobimo resenih cim vec robnih elementov.
• Poiscemo robni element na u strani, ki pripada d in obrnemo kocko, da je njen
koncni polozaj FRd in obrnemo u, da postavimo element na polozaj FLu. Nato
izberemo zaporedje:
(a) Ce zelimo premakniti FLu→ FRd→ FLd→ uploskev, naredimo u F2 u’
F2.
(b) Ce zelimo premakniti FLu→ FRd→ uploskev, naredimo F2 u F2 u F2 u’
F2.
• Obrnemo u tako, da dobimo resenih cim vec robnih elementov. Ce moramo
zamenjati dva robna elementa, lahko uporabimo:
(a) Za zamenjavo FLu in BRu naredimo F R2 F2 u F u2 F R2 F2 u F u.
(b) Za zamenjavo FLu in FRu naredimo R2 d u’ R2 d’ R2 u F2 u’ F2 u R2 u’.
Slika 5.11: Resimo robne elemente v srednjih plasteh
4. Resimo centralne elemente
• Najprej locimo centralne elemente v 3 mnozice, in sicer F/B centralni elementi
(sprednji in zadnji centri), L/R centralni elementi in U/D centralni elementi.
Te mnozice je mogoce premakniti v svoje pare ploskev s pomocjo naslednjih
zaporedij:
(a) Da zavrtimo Fur → Rub→ Bur → Lub, naredimo r2 u r2 u’.
(b) Za zamenjavo Fur in Rdf naredimo r f’ r’ F r f r’ F’.
5.3 Metode resevanja 36
Ta zaporedja premaknejo druge centralne elemente, vendar jih ne premaknejo s
para ploskev, ki jim pripada centralni element.
Lahko se zgodi, da bomo morali zavrteti kocko in zavrteti katero izmed ploskev,
da bomo posamezni element dobili na polozaj, da bo zaporedje delovalo. Nato
ploskev po zaporedju obrnemo nazaj v obratnem vrstnem redu.
• Kocko drzimo tako, da moramo resiti sprednjo in zadnjo stran. Vsebovalo bo le
centralne elemente s sprednje in z zadnje strani.
Ce imata obe strani le en element napacen, obrnemo sprednjo stran tako, da
napacna elementa nista na enaki u/d ploskvi, vendar morata biti na enaki l/r
ploskvi.
Ce imata obe strani tri elemente napacne, obrnemo sprednjo stran tako, da
pravilna elementa nista na enaki u/d ploskvi, vendar morata biti na enaki l/r
ploskvi.
Ce imata obe strani dva elementa napacna in nista sosednja na obeh ploskvah,
obrnemo sprednjo stran tako, da napacna elementa lezita na enaki ploskvi kot
tiste na zadnji strani.
Ce imata obe strani dva elementa napacna in je vsaj en par elementov sosednji,
potem obrnemo sprednjo in/ali zadnjo stran tako, da sosednja elementa, ki sta
napacna, lezita oba na u ploskvi.
Nato naredimo zaporedje u2 r2 u2 r2 in obrnemo sprednjo in zadnjo stran nazaj,
v kolikor je to potrebno.
Slika 5.12: Resimo centralne elemente
Pri tej metodi je zgornja meja stevila potez 170.
Poglavje 6
Bozje stevilo je 20
Zgornja meja za resitev Rubikove kocke se je izboljsevala vse od izuma pa do leta 2010, ko so
potrdili, da se vsaka permutacija kocke da resiti z najvec 20 potezami. V tem poglavju bomo
zapisali, kako so do teh ugotovitev prisli in kaj so tiste najtezje permutacije Rubikove kocke,
ki zahtevajo 20 potez za resitev ter si primer tudi pogledali. V nadaljevanju bomo prikazali
nekaj algoritmov in videli, kako so ljudje prisli do ugotovitev in kaj so skozi zgodovino
mislili, da je zgornja meja stevila potez za resitev ter tudi, kako se je ta meja izboljsevala.
Vsaka pozicija Rubikove kocke 3 × 3 × 3 (v nadaljevanju samo Rubikova kocka) se da resiti
v najvec 20 potezah. Skupina raziskovalcev je s pomocjo Googlove racunalniske mogocnosti
in z nekaj matematicnimi spoznanji preverila vseh 43 trilijonov razlicnih permutacij kocke
in prisla do spoznanja, da se da vsaka permutacija resiti v najvec 20 potezah. Potrebnih je
bilo nekaj let dela in racunalniskega preverjanja, vendar je s tem resen najvecji problem, ki
ga predstavlja Rubikova kocka. Pri tem se steje zasuk ene ploskve za cetrt ali pol obrata kot
ena poteza − to je znana metrika pol obrata. Vsak resevalec kocke uporablja algoritem, ki je
zaporedje korakov za resevanje kocke. Obstaja veliko razlicnih algoritmov, ki se razlikujejo
predvsem po kompleksnosti in stevilu potez, potrebnih za resitev. Tiste, ki si jih navadni
igralci lahko zapomnimo, ponavadi vsebujejo preko 40 potez. Predvidevamo, da bi samo
bog uporabil vedno najbolj ucinkovit algoritem, torej najkrajsi algoritem, zato algoritmu
z najmanjsim zaporedjem potez pravimo bozji algoritem. Stevilo potez tega algoritma v
najslabsem primeru se imenuje bozje stevilo, zato pri Rubikovi kocki pravimo, da je bozje
stevilo 20. Po iznajdbi kocke je trajalo 15 let, da so nasli prvo pozicijo, ki dokazano zahteva
20 potez za resitev. Se nadaljnih 15 let je bilo potrebnih, da so dokazali, da 20 potez
zadostuje za vsako pozicijo Rubikove kocke.
37
6.1 Zgodovina 38
6.1 Zgodovina
Od leta 1980 je bilo bozje stevilo, torej spodnja meja oziroma najmanjse stevilo potez za
sestavo kocke stevilo 18 in sicer so do tega prisli z analizo razlicnih zaporedij potez s 17 ali
manj potezami. Ugotovilo so, da je bilo manj taksnih zaporedij kot polozajev kocke. Prva
zgonja meja je bila okrog 80 iz algoritma v eni izmed prvih brosur z resitvijo. Spodanja
tabela povzame kasnejse rezultate, kako sta se gibali spodnja in zgornja meja stevila potez
za resitev Rubikove kocke. Prav tako je moc razbrati, kdo je prvi zapisal oziroma prisel do
teh ugotovitev in kdaj se je to zgodilo. Prikazan je torej kronoloski pregled zmanjsevanja
bozjega stevila za Rubikovo kocko vse do zadnjega, ko je Tomas Rokicki dokazal, da sta
spodnja in zgornja meja enaki, in sicer 20 in s tem je bilo bozje stevilo doloceno na 20.
DatumSpodnja
mejaZgornja
mejaRazlika Kdo je to zapisal in kaj je naredil
julij 1981 18 52 34Morwen Thistlethwaite; dokazal, da zadostuje 52 po-tez
december 1990 18 42 24Hans Kloosterman; izboljsal in dokazal, da je dovolj42 potez
maj 1992 18 39 21Michael Reid; pokazal, da 39 potez zmeraj zadostujeza resitev
maj 1992 18 37 19 Dik Winter; dan kasneje zmanjsal stevilo potez na 37
januar 1995 18 29 11Michael Reid; zgornjo mejo znizal na 29 z analizo Ko-ciembovega dvofaznega algoritma
januar 1995 20 29 9Michael Reid; dokazal, da pri t.i. super obrat”(kotnekockice so pravilne, robne so na pravem mestu, vendarobrnjene) potrebujemo 20 potez
december 2005 20 28 8Silviu Radu; pokazal, da 28 potez zmeraj zadostuje zaresitev
april 2006 0 27 7 Silviu Radu; izboljsa svojo zgornjo mejo na 27 potez
maj, 2007 20 26 6Dan Kunkle in Gene Cooperman; dokazeta, da zado-stuje 26 potez
marec 2008 20 25 5 Tomas Rokicki; zgornjo mejo izboljsa na 25 potez
april 2008 20 23 3Tomas Rokicki in John Welborn; zgornjo mejozmanjsata na samo 23 potez
avgust 2008 20 22 2Tomas Rokicki in John Welborn; nadaljujetazmanjsanje na samo 22 potez
julij 2010 20 20 0Tomas Rokicki, Herbert Kociemba, Morley Davidsonin John Dethridge; dokazejo, da je bozje stevilo zaRubikovo kocko natanko 20
Tabela 6.1: vir: www.cube20.org
Iz tabele lahko razberemo, kako je bila najprej spodnja meja postavljena na 18 potez, vse
do leta 1995, ko je Michael Reid dokazal, da pri doloceni permutaciji ne gre v manj kot 20
potezah. Do leta 1995 se je zgornja meja spustila z 52 na zgolj 29 potez. Nato razberemo,
da je bilo potrebnih kar 10 let, da se je zgornja meja zmanjsala za zgolj 1 potezo. Tako
smo imeli leta 2005 razliko med spodnjo in zgornjo mejo samo se 8 potez. Nato pa se je
vsako leto zgornja meja in s tem tudi razlika postopoma zmanjsevala vse do leta 2010, ko
je stirim raziskovalcev uspelo izenaciti zgornjo in spodnjo mejo na vsega 20 potez in s tem
dokazati, da je bozje stevilo za to kocko 20.
6.1 Zgodovina 39
6.1.1 Kako so to naredili
Kako so resili vseh 43.252.003.274.489.856.000 pozicij kocke?
• Najprej so razdelili pozicije na 2.217.093.120 mnozic, v vsako po 19.508.428.800 po-
zicij.
Problem so razdelili na 2.217.093.120 manjsih problemov, pri cemer je vsak obsegal
19.508.428.800 razlicnih pozicij. Vsak od teh podproblemov je bil dovolj majhen,
da je ustrezal pomnilniku modernega racunalnika. Nacin, kako so to razdelili (ma-
tematicno je to z uporabo koset grup, generiranih z U, F2, R2, D, B2, L2), jim je
omogocil, da so vsako mnozico resili zelo hitro.
• Nato so zmanjsali stevilo mnozic, ki jih je bilo treba resiti na 55,882,296 z uporabo
simetrij in prekrivanja mnozic.
Ce vzamemo premesano kocko in jo obrnemo na glavo, ne dobimo nic tezjega, ampak
bomo potrebovali enako stevilo potez za resitev kocke. Namesto resevanja obeh od
teh pozcij preprosto resimo zgolj eno in nato resitev obrnemo na glavo in dobimo
resitev tudi za drugo. Obstaja 24 razlicnih nacinov, kako lahko orientiramo kocko v
prostoru in se faktor 2 z uporabo ogledala, za skupno zmanjsanje za faktor 48 stevila
pozicij, ki jih je treba resiti. Z uporabo podobnih argumentov simetrije in z iskanjem
resitev problema velike zaprte mnozice, so lahko zmanjsali stevilo mnozic, potrebnih
za resevanje z 2.217.093.120 na le 55.882.296.
• Niso nasli optimalne resitve za vsako pozicijo, ampak samo resitve z 20 in manj
potezami.
Optimalna resitev za posamezno pozicijo je taksna, pri kateri ne potrebujemo vec
potrez, kot je potrebnih. Ker je bil polozaj, pri katerem potrebujemo natanko 20
potez, ze znan, jim ni bilo treba iskati optimalne resitve za vsako pozicijo, ampak zgolj
resitev v 20 ali manj potezah. To je bistveno lazje. Spodnja tabela nam prikazuje
hitrost dobrega racunalnika pri resevanju nakljucne pozicije.
Nakljucna pozicija KosetOptimalno 0,36 2.000.000
20 potez ali manj 3.900 1.000.000.000
Tabela 6.2: Hitrost resitve, v pozicijah/sekundo, vir: www.cube20.org
• Napisali so racunalniski program, ki resi posamezno mnozico v priblizno 20 sekundah.
Z uporabo kombinacije matematicnih trikov in pazljivega racunalniskega programi-
ranja so lahko resili popoln koset ali optimalno ali z zaporednjem 20 oziroma z manj
potez na posameznem racunalniku.
6.1 Zgodovina 40
• Potrebovali so priblizno 35 CPE let (casovna enota za algoritem, ki se je izvajal tako
dolgo, da ga je ena CPE - centralna procesna enota obdelovala 35 let. Torej CPE
leto: 8760h · 3600s · 109 operacij), da so poiskali resitve za vse pozicije v 55.882.296
mnozicah.
Na koncu so uspeli razdeliti 55.882.296 koset med veliko stevilo racunalnikov na pod-
jetju Google in tako so dokoncali racunanje in preverjanje v samo nekaj tednih. Brez
pomoci Googla bi na zelo dobrem racunalniku potrebovali priblizno 1,1 milijarde
sekund, da bi izvedli ta izracun.
6.1.2 Kaj je najtezji polozaj?
15 let so vedeli, da obstaja polozaj, ki za resitev zahteva 20 potez, vendar so sele po 15
letih dokazali, da ne obstaja noben drug polozaj, ki bi zahteval za resitev vec kot 20 potez.
Polozaji, ki potrebujejo 20 potez za resitev, lahko bi rekli, da je njihova oddaljenost 20, so
tako izdatni kot tudi redki. Vemo, da jih je manj kot milijarda in skoraj zagotovo lahko
trdimo, da jih je vec kot 100.000. Trenutno se ne vemo natancno, koliko je takih pozicij.
Spodnja tabela nam prikazuje stevilo polozajev za posamezno oddaljenost od resitve. Za
oddaljenost 16 in vec je podana samo ocena, koliko taksnih polozajev je za posamezno
oddaljenost. Raziskava je potrdila predhodne rezultate za oddaljenost od 0 do 14, medtem
ko je oddaljenost 15 nov rezultat, ki ga je potrdil nek drug raziskovalec neodvisno od te
raziskave. Do 4. novembra 2013 je bilo znanih 74.700.618 pozicij z oddaljenostjo 20.
Oddaljenost Stevilo pozicij0 11 182 2433 3.2404 43.2395 574.9086 7.618.4387 100.803.0368 1.332.343.2889 17.596.479.79510 232.248.063.31611 3.063.288.809.01212 40.374.425.656.24813 531.653.418.284.62814 6.989.320.578.825.35815 91.365.146.187.124.31316 priblizno 1.100.000.000.000.000.00017 priblizno 12.000.000.000.000.000.00018 priblizno 29.000.000.000.000.000.00019 priblizno 1.500.000.000.000.000.00020 priblizno 490.000.000
Tabela 6.3: vir: www.cube20.org
V tabeli vidimo, da je pri oddaljenosti 0 natanko 1 pozicija, to je resena Rubikova kocka,
6.2 Bozji algoritem 41
saj ne potrebujemo nobene poteze do njene resitve. Pri oddaljenosti 1 imamo 18 pozicij,
kar dobimo, saj imamo 6 ploskev pri kocki in na vsaki ploskvi je na robovih druga barva,
torej ima vsaka ploskev se 4 robne barve. Ce je ena ploskev obrnjena za 90 ◦ ali 180 ◦ ali
270 ◦, dobimo 3 razlicne pozicije, ki se dajo resiti v eni potezi. Glede na vseh 6 ploskev
obstaja zato 6 · 3 = 18 pozicij, ki so imajo oddaljenost 1, itd.
Zgled. Primer Rubikove kocke, za katero so najprej odkrili, da ima oddaljenost 20. Gre za
tako imenovano super zrcaljeno pozicijo, pri kateri vidimo, da je vecina robnih kockic zgolj
obrnjenih oziroma zrcaljenih. Za to pozicijo je leta 1995 Michael Reid kot prvi dokazal, da
je za resitev te pozicije potrebnih 20 potez in tako povecal spodnjo mejo bozjega stevila na
20, kar je tudi ostalo bozje stevilo za Rubikovo kocko.
Slika 6.1: Super zrcaljena pozicija
Poglejmo si se resitev za to pozicijo oziroma 20 potez za prvo dokazano pozicijo, ki se je ne
da resiti v manj kot 20 potezah:
U’ R2 U’ F2 D’ R2 U’ B F U2 L’ B2 R2 F2 D’ U F’ U2 L’ R’
6.2 Bozji algoritem
Bozji algoritem se je prvotono pojavil v razpravah o nacinih resevanja Rubikove kocke, sedaj
pa se uporablja tudi v drugih kombinatoricnih ugankah in matematicnih igrah. Pri tem gre
za algoritem, ki nas pripelje do resitve z najmanjsim stevilom potez, torej da bi vsevedno
bitje poznalo optimalno resitev za katerokoli pozicijo.
Pojem se nanasa na uganke, ki imajo koncno stevilo pozicij, z relativno majhnim, a dobro
definiranim naborom potez, ki se uporabljajo za pri razlicnih pozicijah in nas vodijo do no-
vih pozicij. Resevanje uganke pomeni, da dosezemo tocno doloceno koncno pozicijo oziroma
konfiguracijo ali eno izmed koncnih pozicij, ce jih obstaja vec, z izvajanjem zaporedja potez
6.3 52-potezni algoritem Thistlethwaita 42
s poljubne zacetne pozicije oziroma konfiguracije.
Nekaj najbolj znanih mehanskih ugank, pri katerih govorimo o bozjem algoritmu, so Rubi-
kova kocka, Hanoiski stolpi in igra 15 ali uganka 15, pri kateri imamo 15 ostevilcenih ploscic
na mrezi 4 × 4 in eno prazno mesto. Cilj igre pa je s premikanjem praznega mesta doseci
koncen polozaj ploscic, torej da so urejene po velikosti. Algoritem se lahko obravnava za
resevanje taksne uganke, ce vzame kot zacetek poljubno pozicijo in nam poda zaporedje
potez, ki nas pripeljejo do zeljene koncne pozicije (ce je uganka z dane zacetne pozicije
resljiva, v nasprotnem primeru pa nam pove, da resitev ni mogoca). Resitev je optimalna,
ce je zaporedje potez najmanjse mogoce za dano pozicijo. Bozji algoritem za doloceno
uganko je algoritem, ki resi uganko in nam poda samo optimalne resitve za posamezne
pozicije oziroma konfiguracije.
6.3 52-potezni algoritem Thistlethwaita
Morwen B. Thistlethwaite je matematik, ki je zasnoval pameten algoritem za resevanje
Rubikove kocke z izjemno malo potezami. To je precej zapleten postopek in si ga zato ni
mogoce zapomniti. Prakticno je le za racunalnike in ne za ljudi. Ta algoritem je precej
pomemben s teoreticnega vidika in je bil dolgo metoda z najmanjsim stevilom potez.
Metoda Thistlethwaita se razlikuje od algoritmov po plasteh in algoritmov, kjer najprej
resimo kote. Pri tem algoritmu ne postavljamo posameznih elementov v pravilen polozaj
enega po enega. Namesto tega deluje na vse elemente hkrati. Omejimo jih na vedno manj
moznosti, dokler ne obstaja samo en mozna pozicija za vsak element in kocka je resena.
Nacin, kako je to naredil: najprej z nekaj potezami pridemo do pozicije, ki jo lahko resimo,
ne da uporabimo cetrtinske obrate zgornje in spodnje ploskve (polovicni obrati teh dveh plo-
skev so se zmeraj potrebni). Nato nadaljujemo z resevanjem kocke brez uporabe cetrtinskih
obratov zgornje in spodnje ploskve in zelimo priti do pozicije, ki se jo da resiti se brez upo-
rabe cetrtinskih obratov sprednje in zadnje ploskve. S temi dodatnimi omejitvami pridemo
do pozicije kocke, ki se da resiti brez cetrtinskega obrata sploh. Torej to pomeni, da je
resljiva zgolj s polovicnimi obrati ploskev. Kocka je potem res resljiva zgolj s polovicnimi
obrati ploskev. Te stiri faze so zelo zapletene, saj uporabljajo velike pregledne tabele za
vse pozicije v vsaki pozamezni fazi. Najprej si poglejmo, kako je grupa kocke razdeljena v
4 podgrupe, kar tudi problem razdeli na 4 faze:
• G0 = 〈U,D,L,R, F,B〉
• G1 = 〈U2, D2, L,R, F,B〉
• G2 = 〈U2, D2, L,R, F2, B2〉
6.3 52-potezni algoritem Thistlethwaita 43
• G3 = 〈U2, D2, L2, R2, F2, B2〉
• G4 = I
Sedaj, ko poznamo vse 4 podgrupe, lahko za vsako podgrupo napisemo, koliko razlicnih
pozicij obstaja pri posamezni podgrupi:
• G0 − 4.33 · 1019 pozicij
• G1 − 2.11 · 1016 pozicij
• G2 − 1.95 · 1010 pozicij
• G3 − 6.63 · 105 pozicij
• G4 − 1 pozicija
Matematicno gledano gre za zaporedje ugnezdenih grup in vsaka faza algoritma je prepro-
sta pregledna tabela, ki nam pokaze resitev za vsak element v kvocientu coset prostora. V
nadaljevanju bomo pogledali se faktor za vsako posamezno podgrupo, ki nam pove red posa-
meznega coset prostora, to je velikost pregledne tabele, ki jo pri tem uporabimo. Prvi izmed
stirih manjsih problemov je, kako uporabiti katerokoli potezo, da bi prisli do pozicije, ki lezi
v G1, to je, da dobimo pozicijo, ki se jo da resiti samo z uporabo potez U,R,R2, L2, F,B.
S te nove pozicije je drugi manjsi problem, kako z uporabo samo teh omejenih potez priti
do pozicije, ki se jo da resiti samo z uporabo potez U,R,R2, L2, F2, B2. To se nadaljuje, v
vsaki stopnji uporabimo manj razlicnih tipov potez, da dosezemo pozicijo, ki se jo da resiti z
uporabo se manj razlicnih tipov potez. To nas pripelje do tega, da je kocka v zadnji stopnji
ze resena. Opazimo, kako bi vsako fazo lahko steli kot samostojno uganko, saj elementi
Gi tvorijo podgrupo. To se razlikuje od obicajnih metod resevanja Rubikove kocke, saj
lahko po navadi ze resene dele kocke oziroma posamezne kockice le zacasno premaknemo
pri resevanju nadaljnjih kockic. Tukaj vsak dosezen napredek v zgodnejsih fazah ostaja
nedotaknjen skozi celoten del.
Prva faza ima faktor 211 = 2048. To ustreza dejstvu, da ta faza fiksira orientacijo robnih
kockic, saj je nemogoce, da obrnemo robno kockico, ce imamo na voljo le polovicni obrat za
zgornjo in spodnjo ploskev. Ampak s to omejitvijo se lahko robne kockice dajo v katerokoli
normalno pozicijo, ce je orientacija pravilna.
Druga faza ima faktor 37 · 12!8!4! = 1.082.565. To ustreza dejstvu, da ta faza fiksira orientacijo
kotnih kockic in robne kockice v srednji plasti postavi na pripadajoco ploskev. To je dokaj
preprosto videti, ce so dovoljeni le polovicni obrati za sprednjo, zadnjo, zgornjo in spodnjo
ploskev, s kakrsnimikoli obrati na levi in desni ploskvi, potem leva in desna stran nikoli
6.3 52-potezni algoritem Thistlethwaita 44
ne bosta imeli vec kot dveh barv, srednje robne kockice pa nikoli ne bodo zapustile svoje
pripadajoce ploskve ali bile obrnjene. Dejstvo je, da lahko s temi omejenimi potezami resimo
poljuben polozal v skladu z navedenimi pogoji.
Tretja faza ima faktor[
8!4!4!
]2 ·2 ·3 = 29.400. To ustreza dejstvu, da so robni elementi leve in
desne ploskve na ustreznih pripadajocih ploskvah, kotni elementi so postavljeni na ustrezno
mnozico stirih (tetrada), parnost robne permutacije (in s tem tudi kotne) je soda, in celoten
zasuk za vsako mnozico stirih je fiksen.
Zadnja faza pa dokoncno resi kocko.
Naslednja tabela nam bo pokazala, koliko potez potrebujemo za posamezno fazo.
1 2 3 4 SkupajPrvotni algoritem 7 13 15 17 52
Izboljsan algoritem 7 13 15 15 50Najboljse mozno 7 10 13 15 45
Tabela 6.4: vir: www.jaapsch.net/puzzles/thistle.htm
Da bi zmanjsal velikost preglednih tabel, je Thistlethwaite uporabil poenostavitev predho-
dnih potez, kar je pomenilo, da je stevilo potez, ki jih je potreboval, vcasih bilo vecje, kot
je v najboljsem primeru. Njegovi studentje so nato najprej izboljsali algoritem, da so v
celoti analizirali kvadratne grupe in algoritem izboljsali na 50 potez. Kasneje so vsako fazo
posebej analizirana in izracunali najboljsi primer za vsako posamezno fazo ter prisli do 45
potez za resitev kocke. V letu 1991 je Hans Kloosterman zmanjsal stevilo potez na 42. To
je naredil tako, da je nekoliko spremenil 3. in 4. fazo. Na podlagi obseznih izracunov je
Michael Reid pokazal, da se da priti iz grupe G0 naposredno v grupo G2 v zgolj 12 potezah.
S tem je zmanjsal najboljso moznost za 5 potez v prvih dveh fazah. Prav tako pa je pokazal,
da se da priti iz grupe G2 v grupo G4 v 18 potezah. To pomeni da je zmanjsal najboljso
moznost za 3. in 4. fazo za dodatnih 10 potez, kar pomeni, da je zmanjasal skupno stevilo
potez za resitev na vsega 30 potez. Ker je nato dokazal, da se lahko izognemo polozajem
s 30 potezami za resitev, je s tem dokazal, da je 29 potez vedno dovolj za resitev Rubi-
kove kocke. V zadnjem casu so dodatne oziroma druge tehnike omogocile racunalnikom, da
so preverili in pokazali, da je bozje stevilo 20, torej da se da kocko resiti v 20 potezah v
najslabsem primeru.
Ryan Heise je razvil nacin resevanja Rubikove kocke, ki temelji na algoritmu Thistlethwaita.
Razdelil je 2., 3. in 4. fazo, vsako na dva koraka. Torej je razdelil posebej za kotne elemente
in za robne elemente. To je naredil zato, da bi si lahko clovesko bitje zapomnilo algoritem.
Zgled. Poglejmo si primer, kako se dolocena pozicija kocke resi s pomocjo algoritma Thi-
stlethwaita v 4 fazah. Pozicija kocke naj bo naslednja: Stiri zgornji kotni elementi so
6.4 Kociembov algoritem 45
zavrteni v smeri urinega kazalca, 4 spodnji kotni elementi pa so obrnjeni v nasprotni smeri
urinega kazalca in vseh dvanajst robnih elementov je obrnjenih. Kocko resimo s pomocjo
stirih faz tako:
1. D B F U R’ L’ D
2. L2 F2 D2 F L2 R2 F’ R’ B R2 B’ R’ B’
3. L2 B2 U2 L U2 F2 L2 F2 L’ B2 L B2 L’
4. R2 U2 R2 D2 F2 U2 B2 D2 F2 B2 L2 B2 L2 B2
6.4 Kociembov algoritem
Algoritem Thistlethwaita je leta 1992 izboljsal Herbert Kociemba. Uspelo mu je zdruziti
vec idej v zelo ucinkovit nov algoritem, ki je dal dobre vmesne optimalne resitve zelo hitro.
Lahko najde tudi optimalno resitev za pozicijo zelo hitro, lahko traja precej casa, da bi
s poskusanjem vseh krajsih zaporedij dokazali, da je resitev res optimalna. Kociemba je
zmanjsal stevilo vmesnih grup na samo 2, in sicer:
• G0 = 〈U,D,L,R, F,B〉
• G1 = 〈U,D,L2, R2, F2, B2〉
• G2 = I
Prva ideja je temeljila na delu Thistlethwaita. Kociemba je uporabil le dve fazi. Njegova
prva faza premakne z G0 v G1. Njegova druga faza pa z G1 v G2. Torej vidimo, da vsaka
Kociembova faza zdruzuje 2 Thistlethwaitovi stopnji. Tako kot pri algoritmu Thistlethwa-
ita je zelel iskati preko desnega odcepa G1\G0, da bi vzel kocko v grupo G1. Nadalje je
iskal optimalno resitev za grupo G1. Iskanja v G1\G0 in G1 sta bili obe koncani z metodo
ekvivalento IDA. Iskanje v G1\G0 potrebuje najvec 12 potez in iskanje v G1 pa najvec 18
potez, kot je leta 1995 pokazal Michael Reid. Torej vidimo, da je algoritem za prvo fazo
najvec 30 potez, ce uporabimo metriko polovicnih zasukov. Z generiranjem tudi delno opti-
malnih resitev, ki vzamejo kocko v grupo G1 in z iskanjem krajsih resitev v G1, dobimo po
navadi krajse skupne resitve za kocko. Z uporabo tega algoritma najdemo resitev vecinoma
v manj kot 21 potezah, ampak ni dokazano, da je to vedno tako. Druga velika ideja je bila
nadaljevanje iskanja tudi po najdbi prve resitve. Kot je bilo omenjeno pri Thistlethwaito-
vem algoritmu, lahko ima drugacna resitev prve faze boljso mogoco resitev druge faze. Po
najdbi ene resitve za prvo fazo so pregledali, ali nam da drugacna resitev prve faze boljso
6.5 Nadaljnje izboljsave 46
resitev druge faze in s tem boljso in krajso skupno resitev.
Ni se bilo konec njihovih rezikovanj. Recimo, da smo nasli resitev dolzine 7 + 8 in da so
bile vse ostale resitve prve faze dolzine 7 preizkusene. Tako so nadaljevali z iskanjem resitev
prve faze dolzine 8, ki bi nam dala resitev druge faze v zgolj 6 potezah, kar bi nas pripeljalo
do skupne resitve s krajso dolzino, kot smo jo imeli v nasem prvem primeru. Torej nam
scasoma raste globina prve faze in s tem nam pada dovoljena dolzina resitve za drugo fazo,
dokler prva faza ne doseze dolzine najboljse resitve v danem trenutku. Torej ce smo prej
imeli 7 + 8 = 15, je bila skupna dolzina 15. Torej je bilo naslednje iskanje, da smo imeli
dolzino prve faze 8 in iskali resitve druge faze v 6 potezah, nato smo prvo fazo povisali na 9
in s tem se je dolzina resitve druge faze zmanjsala na 5, ce nismo nasli boljse oziroma krajse
resitve, smo nadaljevali vse, dokler dolzina prve faze ni presegala dolzine 14. Tako smo
nasli optimalno resitev. Pomembna subtilnost je, da se prva faza mora koncati na potezo,
ki se ne pojavi v drugi fazi (tj. L,L′, R,R′, F, F ′, B,B′). Ce tega ne storimo, se vsa enaka
zaporedja potez ponovno iscejo, ko povecamo dolzino prve faze.
Leta 1995 je Michael Reid dokazal, da se z uporabo teh dveg grup vsaka pozicija kocke da
resiti v najvec 29 potezah, ce stejemo obrat ploskve za eno potezo, oziroma v 42 cetrtinskih
potezah, torej vsak obrat ploskve je svoja poteza oziroma obrat ploskve za polovico sta dve
potezi. Ta rezultat je izboljsal Silviu Radu sele leta 2005 na 40 cetrtinskih potez.
6.5 Nadaljnje izboljsave
Leta 2006 je Silviu Radu se izboljsal svojo metodo in dokazal, da se da vsaka pozicija resiti
v najvec 27 potezah oziroma v 35 cetrtinskih potezah. Daniel Kunkle in Gene Cooperman
sta leta 2007 uporabila super racunalnik in pokazala, da se da vse neresene kocke resiti v ne
vec kot 26 potezah. Namesto da bi poskusala resiti vsako od milijard variacij eksplicitno,
sta racunalnik sprogramirala tako, da je kocko pripeljal na eno izmed 15.752 polozajev, od
koder pridemo do resitve z nekaj dodatnimi potezami. Vse so bile resene v 29 potezah, od
tega vecina v 26 potezah. Vse te, ki niso bile sprva resene v 26 potezah, sta jih nato resila
eksplicitno in pokazala, da so prav tako lahko resene v najvec 26 potezah. Tomah Rokicki je
leta 2008 racunsko dokazal, da se vse neresene kocke da resiti v najvec 25 potezah. Kasneje
je bilo to stevilo zmanjsano na vsega 23 potez. V avgustu 2008 je Rokicki napovedal, da
ima dokaz, da se da vsako pozicijo resiti v 22 potezah. V letu 2009 je Tomas Rokicki
dokazal, da je 29 potez v metriki cetrtinskih obratov dovolj za resitev katerekoli premesane
kocke. Nazadnje so leta 2010 Tomas Rokicki, Herbert Kociemba, Morley Davidson in John
Dethridge dali zadnji dokaz z racunalnisko podporo, da se da vsaka pozicija kocke resiti v
najvec 20 potezah.
Literatura
[1] Wikipedia. Dostopno na naslovu: www.wikipedia.org
[2] Jaap’s Puzzle Page. Dostopno na naslovu: www.jaapsch.net/puzzles
[3] God’s Number is 20. Dostopno na naslovu: www.cube20.org
[4] Mathematische Basteleien. Dostopno na naslovu:
www.mathematische-basteleien.de/rubikscube.htm
[5] D. Singmaster, Notes on Rubik’s Magic Cube, Enslow Publishers, 1981, str. 30.
[6] A. H. Frey, Jr. and D. Singmaster, Handbook of Cubik Math, Enslow Publishers, 1982.
47