Probleme mit GAP (Software) |
11.08.2016, 17:44 | Amily | Auf diesen Beitrag antworten » |
Probleme mit GAP (Software) Hallo liebes Forum! Ich schreibe zur zeit meine Zulassungsarbeit in der Algebra über den Zauberwürfel als Gruppenbeispiel. Dabei benutze ich die Software GAP. Meine Zauberwürfel-Gruppe wird von folgenden Permutationen gebildet: gap> Oben:=( 1, 3, 8, 6)( 2, 5, 7, 4)( 9,33,25,17)(10,34,26,18)(11,35,27,19);; gap> Links:=( 9,11,16,14)(10,13,15,12)( 1,17,41,40)( 4,20,44,37)( 6,22,46,35);; gap> Vorne:=(17,19,24,22)(18,21,23,20)( 6,25,43,16)( 7,28,42,13)( 8,30,41,11);; gap> Rechts:=(25,27,32,30)(26,29,31,28)( 3,38,43,19)( 5,36,45,21)( 8,33,48,24);; gap> Hinten:=(33,35,40,38)(34,37,39,36)( 3, 9,46,32)( 2,12,47,29)( 1,14,48,27);; gap> Unten:=(41,43,48,46)(42,45,47,44)(14,22,30,38)(15,23,31,39)(16,24,32,40);; gap> Rubikscube:=Group(Oben,Vorne,Hinten,Links,Rechts,Unten); <permutation group with 6 generators> Nun mein Problem: Ich komme mit diesen Schleifen in GAP nicht ganz zurecht. Ich möchte, dass GAP aus einer Liste mit allen Würfel-Seitendrehungen alle möglichen Produkte bestehend aus 5 Faktoren berechnet und mir dann aber nur die kürzeste Permutation von allen Ergebnissen anzeigt. Meine Liste sieht folgendermaßen aus: Liste:=[Oben,Unten,Rechts,Links,Vorne,Hinten,Oben^-1,Unten^-1,Vorne^-1,Hinten^-1,Links^1,Rechts^1,Oben^2,Unten^2,Vorne^2,Hinten^2,Links^2,Rechts^2];; Meine Ideen: Ich dachte mir ich gehe über den for- und den if-loop. Dazu habe ich 5 Variablen defniert, die miteinander multipliziert n ergeben sollen und a soll die Anzahl der bewegten Zahlen in der Permutation n darstellen. Über den If-loop wollte ich dann das n heraushilftern, für das das a am kleinsten von allen ist. gap> best:=48; gap> for b in Liste do > for c in Liste do > for d in Liste do > for e in Liste do > for f in Liste do > n:=b*c*d*e*f; > a:=NrMovedPoints(n); > if a<best and a>0 then > best:=a; > fi; > od; > od; > od; > od; > od; gap> n; (3,43)(5,45)(8,48)(19,38)(21,36)(24,33)(25,32)(26,31)(27,30)(28,29) gap> a; 20 Passen meine Schleifen so und komme ich damit auch zum richtigen Ergebnis? Oder gibt es einen anderen Weg? Und eigentlich müsste ich doch mehrere Permutationen mit a=20 bekommen oder? |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|