
Een collega kreeg hem enkele weken geleden cadeau: de jongste telg in het Rubik’s Gamma. Geen draaipuzzel deze keer, maar een schuifpuzzel: een driedimensionale variant van de bekende 14-15-puzzel. De deltabal is in feite een regelmatig twintigvlak (icosaeder) waar men 1 driehoekje kan uithalen. Dat is het vrije veld en hier kan men 1 van de 3 buurvelden naartoe schuiven. De puzzel bestaat uit 4 kleuren, van elke kleur zijn er 5 genummerde velden. Bedoeling is de velden zo te schuiven dat er een bepaald patroon verschijnt. Verschillende patronen worden meegegeven in bijbehorend boekje.
De eerste vraag die ik me dan stel is:
Kunnen alle mogelijke patronen gemaakt worden?
Bij de 14-15-puzzel is het antwoord neen: een puzzel waar je alles goed hebt geschoven, en enkel de 14 en 15 gewisseld zijn, kan je niet schuiven tot een situatie waar alles in volgorde is.Bij de deltabal kan dit echter wel. We controleren dit door gebruik te maken van groepentheorie. Het eerste dat we nodig hebben is kijken naar de graph van het duale Platonische lichaam: de dodecaeder. Deze graph geeft immers precies aan op welke manier de driehoeken van de deltabal met elkaar verbonden zijn:

Nu gaan we na welke permutaties van vertices we kunnen doen door te schuiven. We zullen ervan uitgaan dat het vrije veldje op plaats 20 staat, en dat dat vrije veldje ook op het einde van het schuiven op plaats 20 eindigt. Een eerste soort permutatie dat we kunnen doen, is alle blokjes doorschuiven volgens een vijfhoek: 1 vakje verder schuiven levert volgens de groene vijfhoek komt dan overeen met de permutatie (19 wordt 18, 18 wordt 17 enz). We zorgen er steeds voor dat elke permutatie vakje 20 open laat.

Naast die ene vijfhoek gaan we in de graph op zoek naar een gesloten pad dat alle vertices precies 1 maal bezoekt. Gelukkig is de dodecaedergraph een Hamiltoniaanse graph en bestaat er zulk een pad. Bijvoorbeeld:

We kijken nu naar de permutatiegroep voortgebracht door deze 2 permutaties:
Kan je nu met deze 2 permutaties alle mogelijke verschuivingen doen op de deltabal?
We controleren dit via GAP:
gap: a:=(19,18,17,16);
gap: b:=(19,14,10,5,4,9,13,18,17,16,11,7,12,8,3,2,1,6,15);
gap: G:=Group(a,b)
Group([ (16,19,18,17), (1,6,15,19,14,10,5,4,9,13,18,17,16,11,7,12,8,3,2) ])
gap: Size(G)
121645100408832000
gap: Factorial(19)
121645100408832000
We merken dat onze permutatiegroep evenveel elementen heeft als en vermits het er een deelgroep van is, moeten deze groepen samenvallen. We kunnen dus besluiten dat alle posities mogelijk zijn op de deltabal!
