1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen...

25
1 Rubik’s Cube & Wiskunde Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen [email protected] UHD Functionele Programmeertalen, Informatica, KUN Afgestudeerd KUN-Wiskunde, 1981

Transcript of 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen...

Page 1: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

1

Rubik’s Cube & WiskundeRubik’s Cube & Wiskunde

80 jaar KUN

Reünistendag De Wortel, 17 mei 2003

Marko van Eekelen [email protected] Functionele Programmeertalen, Informatica, KUN

Afgestudeerd KUN-Wiskunde, 1981

Page 2: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

2/25

GeschiedenisGeschiedenis

Erno Rubik, Department of Interior Design,Academy of Applied Arts and Crafts, Boedapest• Magic Cube, eerste idee 1974,

patent 1975, eerste exemplaren 1977• Rubik’s Cube, eerste industrieel export uit Hongarije, may

1980• 1981, David Singmaster’s Cube Notes• 1981, Scientific American, D. Hofstadter• 1981, Museum of modern art, New York• 1981, Nederlandse Kubus Club (NKC)• 1982, Oxford English Dictionary• 1980-1982: 100 miljoen exemplaren

Page 3: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

3/25

Mijn ervaringenMijn ervaringen

• een weekend in oktober en een vakantie in december 1980

• 2e bij het 1e open Draaikubuskampioenschap van Zuid-Holland, 11 juli ’81

• 1e bij “De Eerste de Beste” en wereldrecord in het Guiness Book of Records, 21 aug ’81

• 1e bij de Open Nederlandse Kubus Kampioenschappen, 28 aug ’81

Ongeveer een halve minuut per kubus

Page 4: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

4/25

TVTV

1981• De eerste de beste (TROS)• TV-verslag van Radiokampioenschap (KRO)• MIES (AVRO)Bij ‘herhaling’…• Triviant (TROS)• Het gevoel van … (KRO)• De tijd van ons leven (KRO)• De televisiejaren (NCRV)

Page 5: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

5/25

Vreemde gevolgenVreemde gevolgen

• Allerlei krantenartikelen, ook WN-bulletin• Gratis friet in een snackbar• Gevraagd

– om op een beurs voor een verzekeringsmaat- schappij ‘op te treden’

– om op een feest van een groot IT-bedrijf ‘op te treden’– om op een middelbare school een demonstratie te geven– om een plaat te maken met Ad Visser– om een video te maken met Dolf Brouwers

• Zelfs gevraagd voor TV-Privé, maar dat ging me toen als linkse student toch écht te ver!

Page 6: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

6/25

TetraederTetraeder

• Afstudeerscriptie 1981• met Bernard van Houtum• Op papier uitgezocht– aantal standen (3.732.480)– oplossingsmethode– ordes (max 90), aantal standen per orde– karakterisatie van de groepsstructuur– gebruik makend van duale karakter

• Geen fysieke vorm en geen simulatie

Page 7: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

7/25

GroepenGroepenZij G een verzameling

met een afbeelding (de groepsoperatie)* : G x G x G(g1,g2) g1 * g2

Dan is G een groep d.e.s.d.a.1. G is gesloten onder *

g, h G [ g * h G ]

2. * is associatief g,h,k G [ ( g * h) * k = g * (h * k) ]

3. Er is een eenheidselement (Identiteit) Id G g G [ Id * g = g * Id = g ]

4. Elk element heeft een inverse g g g-1 G [ g * g-1 = g-1 * g = Id ]

Page 8: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

8/25

EigenschappenEigenschappenvan groepenvan groepen

• Elk element g uit een groep heeft een orde n waarvoor geldt: gn = 1n is dan altijd een deler van het aantal elementen van de groep

• Twee elementen g en h commuteren desda g * h = h * g

• De commutator van g en h is g * h * g-1 * h-1

• De geconjugeerde van g door h ish-1 * g * h Geconjugeerden van g vormen equivalentieklasse

Page 9: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

9/25

Even wat notatieEven wat notatie

Met de klok mee (als je tegen het desbetreffende centrum aankijkt):U (up), D (down), L (left), R (right), F (front), B (back)

Tegen de klok in:U’,D’,L’,R’,F’,B’

Halve slagen:U2,D2,L2,R2,F2,B2

Slices (schijven):RL’, R’L, FB’, …

Page 10: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

10/25

Rubik’s groepRubik’s groep

Zij

X de verzameling van alle genummerde kleine gekleurde vierkantjes van de kubus

SX de verzameling van alle volledige rijtjes van elementen van X (alle permutaties over X).

R,L,U,D,F,B verwisselingen van een aantal kanten

Dan is Rubik’s groep de permutatiegroep gegenereerd door {R,L,U,D,F,B} SX

De groepsoperatie is dan het samenstellen van verwisselingen

Page 11: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

11/25

Eigenschappen vanEigenschappen vanRubik’s groepRubik’s groep

• De blokjes kunnen op 8!*38*12!*212=519.024.039.293.878.272.000manieren in elkaar gezet worden

• De groep heeft 43.252.003.274.489.856.000 elementen (1/12 is slechts door draaien bereikbaar vanuit start)

• Op hele-kubus-symmetrie na zijn er 901.083.404.981.813.616 (Turner&Gold ’85)

• Er is geen element van orde 13.• Max orde is 1260 (bv. RU2D’BD’)

Page 12: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

12/25

EquivalentiesEquivalenties

UU = U2

UUU = U’

L’R = RL’

L2U2 = U2L2

(U)-1 = U’

(RU)-1 = U’R’

RR’ = Id

U2 U2 = Id

Page 13: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

13/25

Wat Wat kun je gebruiken?kun je gebruiken?

Algemeen• Roteren • SpiegelenGroepen• Geconjugeerde• Commutatoren• Inverse• Permutaties samenstellen• Orde

Page 14: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

14/25

ConjugerenConjugerenmoet je lerenmoet je leren

• Een bekende actie op een andere plaats uitvoeren

Voorbeeld:L2U2 L2U2 L2U2 verwisselt 4 randblokjes, 2 aan 2 in boven en linkervlakIn permutatienotatie: (lf,lb)(uf,ub)Kan zonder los te laten! (Singmaster greep)

Conjugeren:(BF’U) L2U2 L2U2 L2U2 (BF’U)-1 = (uf,ub)(ur,ul)verwisselt 2 aan 2 in bovenvlak

(B2DU’LUF’U) L2U2 L2U2 L2U2 (B2DU’LUF’U)-1 = (uf+,ub+)(ur,ul)verwisselt en draait 2 randblokjes in het bovenvlak!

Page 15: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

15/25

CentrumCentrumvan een groepvan een groep

Het centrum van een groep G is de subgroepCentrum(G) die bestaat uit die elementen van G diemet alle elementen van G commuteren m.a.w:

Centrum(G) = { z G | z * g = g * z, g G}Een viertal eigenschappen:

1. z Centrum (G) gG [ g * z * g-1 = z ]2. G [Id Centrum(G)]3. Centrum (G) = G G is commutatief4. Centrum (Rubik) = {Id, Superflip}

Superflip = de operatie die elk randblokje op zijn eigen plaats draait

R’U2BL’FU’BDFUD’LD2F’RB’DF’U’B’UD’

24 kwartslagen (Mike Reid, minimaal Jerry Bryan ‘95)

Page 16: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

16/25

DiameterDiametervan de groepvan de groep

• Diameter is “de langste afstand die je (in kwartslagen gerekend) eventueel af zou moeten leggen als je altijd de kortste weg zou weten”

• 1981– David Singmaster,ondergrens 18 (kwartslagen)– Morwen Thistlethwaite, bovengrens 52 (1981, later 45)

• Mike Reid (1998) ondergrens 26 (kwartslagen): superflip4spot(1995) bovengrens 42 (kwartslagen)

• Implementaties God’s algoritme (het algoritme wat de kortste weg naar de beginstand gebruikt)(naar idee van Herbert Kociemba): Mike Reid, Rich Korf, Dik Winter

18 slagen (halve slagen inbegrepen) is te doen

Page 17: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

17/25

Een oplossingEen oplossing

Conjugeren, spiegelen, inverteren en roteren

Elk blokje heeft vaste plaats tussen de centra

Kies eerste kleur bijvoorbeeld wit

• Eerst witte laag, dan tweede laag• Hoeken verwisselen• Hoeken draaien• Randen verwisselen• Randen draaien

Page 18: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

18/25

De De eersteeerste laag laag

Wit boven houdenEerst randblokjes 1 voor 1

op de goede plaats, in de juiste orientatie

Nu wit onder houdenDan hoeken van bovenlaag naar benedenlaag

op de goede plaats, in de juiste orientatie

Roteer de kubus en draai bovenvlak zodat het gat rechtsonder zit en:

– wit aan de zijkant, linksvoor: RU’R’ – wit aan de zijkant, rechtsachter: F’UF– wit boven, rechtsvoor: RU’R’ U F’UF

Page 19: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

19/25

De middelste laagDe middelste laag

Wit onder houdenMaar 4 middenblokjes, zet ze 1 voor 1 goedRoteer de kubus en draai bovenvlak zodat het gat rechtsmidden zit

en:– De voorkleur boven, middenachter: F’UF U RU’R’ – De voorkleur opzij, links: RUR’ U’ F’UF

Eventuele Optimalisatie:Doe voor je de hoeken van de eerste laag goed zet, – eerst de eerste 3 blokjes van de middenlaag, – dan is er een gootje ontstaan waardoor je 1 voor 1 de hoeken van

de eerste laag kunt plaatsen, zoals eerder beschrevenje moet wel steeds door aan het ondervlak te draaien de juiste plaats onder het gootje brengen

- vervolgens doe je alleen het vierde middenblokje zoals boven beschreven

Page 20: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

20/25

De laatste laag…De laatste laag…

Hoeken verwisselen

L’URU’LUR’ (A-,C,D-,B-,)

RUR’URU2R’ (A+,C+)(B+,D)

(A-,C,D-,B-,) (A+,C+)(B+,D) = A D (B,C)

Dus

L’URU’LUR’ RUR’URU2R’ (B,C)

Ofwel (R’R annihilatie en met effect op randen erbij)

L’URU’LU2R’URU2R’ (B,C) (b,c)

A B

CD

abd

c

Page 21: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

21/25

Hoeken draaien

RUR’URU2R’ (A+,C+)(B+,D)

Gespiegelde daarvan is

L’U’LUL’U2L (A-,C)(B-,D-)

(A+,C+)(B+,D) (A-,C)(B-,D-) = A+D-

Dus

RUR’URU2R’ L’U’LUL’U2L A+D-

Met effect op randen erbij

RUR’URU2R’ L’U’LUL’U2L A+D-

De laatste laag…De laatste laag…

A B

CD

abd

c

Page 22: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

22/25

De laatste laag…De laatste laag…

Randen verwisselen 2 aan 2??? (a,c)(b,d)

Singmaster grip

L2U2 L2U2 L2U2 (a,c)(lb,lf)

lb = left-back, lf = left-front

Conjugeren:

(BF’U) L2U2 L2U2 L2U2 (BF’U)-1 = (a,c)(b,d)

Dus

BF’U L2U2 L2U2 L2U2 U’FB’ (a,c)(b,d)

Ofwel

BF’U L2U2 L2U2 L2UFB’ (a,c)(b,d)

A B

CD

abd

c

Page 23: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

23/25

De laatste laag…De laatste laag…

Randen verwisselen 3-cykel??? (a,b,c)Small slicer

U2 LR’ F2 L’R (a,df,c)df = down-front

Conjugeren: (R’D’) U2 LR’ F2 L’R (R’D’)-1 = (a,b,c)Dus

R’D’ U2 LR’ F2 L’R DR (a,c)(b,d)

(a,b,c) roteren geeft (b,c,d)(a,b,c)(b,c,d) = (a,c)(b,d) Etcetera….

A B

CD

abd

c

Page 24: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

24/25

De laatste laag…De laatste laag…

Randen draaien??? a+b+

Slicing around RL’ B RL’ D RL’ F2 R’L D R’L B R’L U2 a+c+

Lijkt moeilijk maar als je na de eerste 3 slices elke keer de kubus zo draait dat achter boven wordt (+) en bij de tweede 3 slices de kubus elke keer zo draait dat boven weer achter wordt (-) dan wordt de serie eenvoudig:

RL’ + URL’ + URL’ + U2R’L - UR’L - UR’L - U2 a+c+

Conjugeren: (R’F’)RL’BRL’DRL’F2R’LDR’LBR’LU2(R’F’)-1 a+b+

Meer slicing:bestudeer R’L B R’L D R’L F RL’ U U2 en weer R’L B R’L D R’L F RL’ U a+b+c+d+

A B

CD

abd

c

Page 25: 1 Rubik’s Cube & Wiskunde 80 jaar KUN Reünistendag De Wortel, 17 mei 2003 Marko van Eekelen marko@cs.kun.nl UHD Functionele Programmeertalen, Informatica,

25/25

LiteratuurLiteratuur

Wiskunde:• Adventures in Group Theory

David Joyner• mathworld.wolfram.com/RubiksCube.htmlWiskunde + spelen:• hedgehog.math.arizona.edu/~reid/Rubik/• cff.helm.luSpelen:• www.speedcubing.com• www.rubiks.com