Online since 2002. Over 3300 puzzles, 2600 worldwide members, and 270,000 messages.

TwistyPuzzles.com Forum

It is currently Wed Jul 23, 2014 1:24 am

All times are UTC - 5 hours



Post new topic Reply to topic  [ 33 posts ] 
Author Message
 Post subject: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 08, 2011 12:23 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Ok... I've finally taken a few minutes to read some on the basics. Thanks Andreas.

Using the files Andreas posted here, I have now calculated the number of permutations of all the Crazy Plus Cubes. Andreas have you posted these elsewhere? All credit for the numbers goes to Andreas, I'm simply posting them to show I've finally figured out how to use GAP.

Normal
43252003274489856000

Mercury
2245905519548805169128293934951217661999390392320000000000

Venus
2245905519548805169128293934951217661999390392320000000000

Earth
8325063826975119604181535561907835305645302402199112908800000000000

Mars
8325063826975119604181535561907835305645302402199112908800000000000

Jupiter
8325063826975119604181535561907835305645302402199112908800000000000

Saturn
8325063826975119604181535561907835305645302402199112908800000000000

Uranus
8325063826975119604181535561907835305645302402199112908800000000000

Neptun
8325063826975119604181535561907835305645302402199112908800000000000

Super
88580102706155225088000

And in that file I see:
Quote:

Hmmm... Andreas comments his files in German, I guess that is what Google Translate is for. And yes that link does pose a very interesting idea/puzzle. Looks like Andreas was trying to calculate its number of states. And I see I was even mentioned in that tread. Makes me wonder how many other threads out there that my name has come up in that I haven't even seen yet.

Anyways, now that I know how to use this a bit I hope to tinker around in it more. I did a quick search and didn't see one but is there a GAP thread here already? I find it hard to believe this software isn't used far more then I've seen it around here. It is really easy to use and putting your own puzzle in it looks very very easy.

Carl

_________________
-
Image

Image


Last edited by wwwmwww on Tue Feb 08, 2011 12:25 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 08, 2011 7:11 am 
Offline
User avatar

Joined: Fri Nov 04, 2005 12:31 am
Location: Greece, Australia, Thailand, India, Singapore.
I love to see people using GAP for such a purpose, it is a wonderful program! :)

And here is some code for the Skewb Ultimate I did back in 2005:

viewtopic.php?f=8&t=4184&start=0

:)


Pantazis

_________________

Educational R&D, Gravity, 4D Symmetry, Puzzle Ninja, Matrix Mech, Alien Technology.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 08, 2011 11:47 am 
Offline
User avatar

Joined: Mon Aug 02, 2004 7:03 am
Location: Koblenz, Germany
wwwmwww wrote:
Using the files Andreas posted here, I have now calculated the number of permutations of all the Crazy Plus Cubes. Andreas have you posted these elsewhere? All credit for the numbers goes to Andreas, I'm simply posting them to show I've finally figured out how to use GAP.


No I haven't posted these numbers yet. My plan was indeed to calculate the number of permutations for the full monster with its 64 components. GAP maybe a mighty tool but still has its limitations...


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 08, 2011 6:53 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Andreas Nortmann wrote:
In this case Jaap's page is a help.

Checking here I see where it says:
Quote:
If you can distinguish the centre pieces from one another, then there are two extra parity constraints.

What are these? I'm guessing its that you can't swap just 2 x-centers and that you can't swap just 2 t-centers. I think I know how to answer this question with GAP so I'll try and test these assumptions next time I have a chance to make some new code. Also jaaps page doesn't address the issue of face center rotation. I'm also fairly sure its not possible to twist a single face center by 90 degrees, 180 may be allowed though. Again I think I now know how to test that. If I get that code made I'll post it here.
bmenrigh wrote:
Finally, I assume you meant a theoretical 5x5x5 cube rather than a physical one. On a physical 5x5x5 you can't physically flip a edge-wing piece. If we are talking about randomly assembling a theoretical 5x5x5 cube with no physical restrictions then the orientation parity of the 12 pairs of indistinguishable edge-wing pieces must match for factor of ((2)^12).

So that would be 1 in (3)*(2)*(2)*((2)^12). Or 1 in 49152.

Actually, no I was more thinking of a real one. Let's take a V-Cube 5x5x5 for example. The wing pieces can't be put in the puzzle wrong so I don't think I need that factor of 2^12 (actually I think it would be 2^24 as there are 24 wings, 2 on each edge). If you go theoretical should you also consider the possibility that 2 opposite face centers were put on adjacent sides? I don't want to consider this either so lets say when we take our 5x5x5 V-Cube apart we don't unscrew the face centers. However I do want to consider what happens if we have our 5x5x5 stickered such that its a super 5x5x5 and face center orientation can be seen.
Andreas Nortmann wrote:
Code:
TraditionalGenerators:=(nothing new);
IllegalGenerators:=TraditionalGenerators;
IllegalGenerators[13]:=(21,30,57);#Twist of a single Corner
IllegalGenerators[14]:=(23,53);#Twist of a single edge
IllegalGenerators[n]:=...;#All other parity restrictions
result:=Size(Group(IllegalGenerators))/Size(Group(TraditionalGenerators));
Very crude, but you should get the point.

Agreed, this should work. The only concern I'd have is how do you know when you have "all the other parity restrictions" covered. That and I'm still getting used to the syntax used by GAP.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 08, 2011 7:35 pm 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
Actually, no I was more thinking of a real one. Let's take a V-Cube 5x5x5 for example. The wing pieces can't be put in the puzzle wrong so I don't think I need that factor of 2^12
That mechanical restriction is an implementation detail. It seems wrong to not count those states just because everyone that has made a 5x5x5 hasn't made identical edge wings.

wwwmwww wrote:
(actually I think it would be 2^24 as there are 24 wings, 2 on each edge).
I was assuming that the face center pieces were indistinguishable. On the standard 5x5x5 coloring you can't distinguish the face centers so this allows odd permutations of the edge wings. The reason it would only be a factor of 2^12 rather than 2^24 is that if neither are flipped, no problem and if both are flipped, then just swap their position and no problem. Only when one is flipped and the other isn't is there an issue. With distinguishable centers though you can only swap an even number of pairs to resolve orientation issues. I think that means (2) * ((2)^12) rather than 2^24. I'm having trouble figuring out if this conflicts with Jaap's analysis or not.

wwwmwww wrote:
If you go theoretical should you also consider the possibility that 2 opposite face centers were put on adjacent sides? I don't want to consider this either so lets say when we take our 5x5x5 V-Cube apart we don't unscrew the face centers.
Yeah I ignored that. Per my argument about implementation specific details above, perhaps I shouldn't have.

wwwmwww wrote:
However I do want to consider what happens if we have our 5x5x5 stickered such that its a super 5x5x5 and face center orientation can be seen.
Assuming full super-stickering:

The orientation of the face centers is even (2). The parity of the edge-wings is linked with the parity of the + centers for another factor of (2). The parity of the X centers is linked to the + centers for another factor of (2).

The edge wings seem a bit harder now. I think you can only swap an even number of pairs with "super" centers which would be a factor of (2) * ((2)^12).

The rest of the analysis should be the same.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Last edited by Brandon Enright on Tue Feb 08, 2011 9:51 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 08, 2011 9:21 pm 
Offline
User avatar

Joined: Sat Apr 10, 2010 8:07 pm
Sorry to get off topic a little here, but I was just wondering who here has read David Joyner's "Adventures in Group Theory". It seems like a great intro to this kind of math. I have just started it, hopefully by the time I'm done I'll be understand at least some of the stuff you guys are talking about :roll: :lol:

P.S. Big thanks to Tony's site for linking me to this fascinating book.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Wed Feb 09, 2011 12:42 pm 
Offline
User avatar

Joined: Mon Aug 02, 2004 7:03 am
Location: Koblenz, Germany
wwwmwww wrote:
The only concern I'd have is how do you know when you have "all the other parity restrictions" covered.
Just go through all pieces which are there:
* If it is a Face, Corner or Edge, add a single twist of 90°, 120° or 180°
* Implement a swap of two arbitrary pieces.
Three restrictions:
1. This swap has to work in orientation-preserving manner => On an otherwise blank puzzle is has to be implemented by a rotation not a mirroring of any kind.
2. Because of the first restriction pieces of type L are "naturally separated" into two subsets so in these pieces two swaps have to be added.
3. Everything written above does not apply to puzzles of HC.

Example for the Wing-piecs of 5x5x5:
You have to add the generator: (22,54)(24,52)
This generator would not suffice: (22,24)(52,54)

Applying the rules above to the 5x5x5 I get a factor of 96.
bmenrigh wrote:
That mechanical restriction is an implementation detail. It seems wrong to not count those states just because everyone that has made a 5x5x5 hasn't made identical edge wings.
My 2 cents: To me it seems wrong to introduce something which can only be achieved by mirroring of pieces not by rotation. We are dealing with rotation puzzles not mirroring puzzles...


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Fri Feb 11, 2011 11:20 am 
Offline
User avatar

Joined: Sat Jan 01, 2011 12:54 pm
Location: Copenhagen, Denmark
wwwmwww wrote:
Using the files Andreas posted here, I have now calculated the number of permutations of all the Crazy Plus Cubes. Andreas have you posted these elsewhere? All credit for the numbers goes to Andreas, I'm simply posting them to show I've finally figured out how to use GAP.

...


Careful! These numbers are the number of permutations of the "Super" Crazy Plus Cubes. On the actual cube, the corners (and edges) of the internal circles cannot be distinguished, hence many of the above permutations correspond to identical positions on a physical Crazy Plus Cube.

In the case of the Venus cube (which is the only one I own, hence the one I started investigating) a bit of investigating led me to the following number

440301256704 = 144^2 * 12^4 * 2^10

which is the number of Super Venus positions that would appear to be solved on a non-Super Venus cube. With a bit of GAP fiddling, the above number can be roughly explained as follows:

If we fix everything but the circle part of one face, there are either 144 or 12 permutations possible. If the inner circle is not fixed (i.e. is the (+) type), it is possible to do a 3-cycle of edges (e.g. (62,75,86)) as well as a 3-cycle of corners (e.g. (63,87,85)). On faces with (X) type circles, we can only cycle corners (e.g. (49,51,57)). As the Venus has two (+) circles and four (X) circles, this accounts for the 144^2*12^4 part of the above number.

If we free more than one face, it becomes possible to swap two pairs of two edges (e.g. (62,86)(65,89)), but in some cases this is not possible, (e.g. (73,75)(76,78) and (70,72)(76,78)). This accounts for the 2^10 factor.

If my calculations are correct, we must therefore reduce (divide) the number of positions of the Super Venus by the above number to get the number of actual positions:

5100838313206662750539152126724014080000000000

I hope the above makes sense! And thank you Andreas for releasing the GAP files!

--Taus


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sat Feb 12, 2011 4:51 am 
Offline
User avatar

Joined: Mon Aug 02, 2004 7:03 am
Location: Koblenz, Germany
Here is a piece of code to calculate the size of the Non-Super 5x5x5 out of the Super 5x5x5:
Code:
Rest:=Cube5;
Sets:=[[007,009,017,019],[008,012,014,018],[032,034,042,044],[033,037,039,043],
       [057,059,067,069],[058,062,064,068],[082,084,092,094],[083,087,089,093],
       [107,109,117,119],[108,112,114,118],[132,134,142,144],[133,137,139,143]];
AllDifferent:=[1..150]; 
for s in Sets do SubtractSet(AllDifferent,s); od;
for i in AllDifferent do Rest:=Stabilizer(Rest,i); od;
for s in Sets do Rest:=Stabilizer(Rest,s,OnSets); od;
NonSuperSize:=Size(Cube5)/Size(Rest);

Still don't know how to define the NonSuper5x5x5 as a group.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sat Feb 12, 2011 9:24 am 
Offline
User avatar

Joined: Sat Jan 01, 2011 12:54 pm
Location: Copenhagen, Denmark
Here is the code I used to calculate the above number. It should be straightforward
to apply the same method to other puzzles with indistinguishable pieces.

Code:
IdenticalSolutionsGroup :=
function(group, indistinguishable_sets)
    local domain, g1, g2;
    domain := Set(Flat(OrbitsDomain(group)));
    SubtractSet(domain, Flat(indistinguishable_sets));
    g1 := Stabilizer(group, domain, OnTuples);
    g2 := Stabilizer(g1, indistinguishable_sets, OnTuplesSets);
    return g2;
end;;

TrueSize :=
function(group,indistinguishable_sets)
    return Size(group)/Size(IdenticalSolutionsGroup(group,indistinguishable_sets));
end;;


Here, the indistinguishable_sets argument is a list of sets of indistinguishable parts of the cube. In the case of the Crazy Cubes, this would be
Code:
CircFaces := [[49..57],
              [58,59,60,70,71,72,82,83,84],
              [61,62,63,73,74,75,85,86,87],
              [64,65,66,76,77,78,88,89,90],
              [67,68,69,79,80,81,91,92,93],
              [94..102]];;


(Strictly speaking, we should split these into indistinguishable circle corners and circle edges, but as there is no way to exchange an edge with a corner this is not necessary)

The IdenticalSolutionsGroup function calculates the group of permutations that transforms any apparent solution of the cube into another solution.

Applying the above function to the groups from Andreas' Crazy Cube Plus file, we
get the following results:

TrueSize(Normal,CircFaces);
43252003274489856000

TrueSize(Mercury,CircFaces);
5100838313206662750539152126724014080000000000

TrueSize(Venus,CircFaces);
5100838313206662750539152126724014080000000000

TrueSize(Earth,CircFaces);
455913725440397955184244188829112179097600000000000

TrueSize(Mars,CircFaces);
455913725440397955184244188829112179097600000000000

TrueSize(Jupiter,CircFaces);
455913725440397955184244188829112179097600000000000

TrueSize(Saturn,CircFaces);
455913725440397955184244188829112179097600000000000

TrueSize(Uranus,CircFaces);
455913725440397955184244188829112179097600000000000

TrueSize(Neptun,CircFaces);
455913725440397955184244188829112179097600000000000

TrueSize(Super,CircFaces);
88580102706155225088000

On a related note, I've been looking into the question of how to "reconstruct" a puzzle given only its corresponding group of permutations. For instance, using the Orbits and Blocks commands, it's possible to deduce that the three facelets of every corner move together. There is a part of the GAP documentation called "Analyzing Rubik's Cube with GAP" which does this kind of analysis, but when it comes to e.g. showing that there are parity restrictions for the corners and edges (and between them as well), the method presented seems to be terribly ad hoc.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 9:20 pm 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
Andreas Nortmann wrote:
wwwmwww wrote:
The only concern I'd have is how do you know when you have "all the other parity restrictions" covered.
Just go through all pieces which are there:
* If it is a Face, Corner or Edge, add a single twist of 90°, 120° or 180°
* Implement a swap of two arbitrary pieces.
Three restrictions:
1. This swap has to work in orientation-preserving manner => On an otherwise blank puzzle is has to be implemented by a rotation not a mirroring of any kind.
2. Because of the first restriction pieces of type L are "naturally separated" into two subsets so in these pieces two swaps have to be added.
3. Everything written above does not apply to puzzles of HC.

Example for the Wing-piecs of 5x5x5:
You have to add the generator: (22,54)(24,52)
This generator would not suffice: (22,24)(52,54)

Applying the rules above to the 5x5x5 I get a factor of 96.
Okay I hope I'm not beating this topic to death. I've spent a lot of time thinking about a super 5x5x5 and you've convinced me that the the orientation-restricting mechanical difference between the left and right edge-wing pieces really is fundamental and intrinsic to the puzzle.

Here is my count of the parities on a super 5x5x5, assuming we take the puzzle apart and re-assemble it randomly:
  • The permutation parity of the edge-wings is connected to the + centers (factor: 2)
  • The permutation parity of the X centers is connected to the parity of the middle edges and corners (factor: 2)
  • The permutation parity of the centers is connected to the middle edges (factor: 2)
  • The permutation parity of the middle edges is connected to the parity of the corners (factor: 2)
  • The orientation parity of the centers is even (factor: 2)
  • The orientation parity of middle edges is always even (factor: 2)
  • The orientation parity of the corners is 0 mod 3 (factor: 3)

When you multiply these out you get 2 * 2 * 2 * 2 * 2 * 2 * 3 = 192.

I think the restriction you missed is the 4-cycle (odd) of the centers. If you aren't careful during re-assembly you can put the whole puzzle together with a quarter twist in the orientation of the core.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 9:33 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Andreas Nortmann wrote:
Applying the rules above to the 5x5x5 I get a factor of 96.

Me too... but I'm now not sure why. Let me explain.

First I need a well defined problem. Let's say we take a Super Stickered V-Cube 5x5x5 apart without unscrewing the face centers. What are the odds we could put it back together bindfolded in a state that would be solveable? To answer this I must first find what Andreas calls Illegal Generators.

gap> (013,152,153,151) in SuperCube5;
false
gap> (021,030,051) in SuperCube5;
false
gap> (021,025)(030,055)(051,076) in SuperCube5;
false
gap> (023,053) in SuperCube5;
false
gap> (023,015)(053,078) in SuperCube5;
false
gap> (022,054)(052,024) in SuperCube5;
false
gap> (017,019) in SuperCube5;
false
gap> (018,014) in SuperCube5;
false

Looks like we have 8 Illegal Generators. Next I define the following:

#IllegalGenerator1 Face Center Twist
FT:=(013,152,153,151);
#IllegalGenerator2 Corner Twist
CT:=(021,030,051);
#IllegalGenerator3 Corner Swap
CS:=(021,025)(030,055)(051,076);
#IllegalGenerator4 Middle Edge Twist
MT:=(023,053);
#IllegalGenerator5 Middle Edge Swap
MS:=(023,015)(053,078);
#IllegalGenerator6 Wing Swap
WS:=(022,054)(052,024);
#IllegalGenerator7 X-Center Swap
XS:=(017,019);
#IllegalGenerator8 T-Center Swap
TS:=(018,014);

SuperCube5:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2);
SuperCube5FT:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,FT);
SuperCube5CT:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,CT);
SuperCube5CS:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,CS);
SuperCube5MT:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,MT);
SuperCube5MS:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,MS);
SuperCube5WS:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,WS);
SuperCube5XS:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,XS);
SuperCube5TS:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,TS);
SuperCube5ALL:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,FT,CT,CS,MT,MS,WS,XS,TS);

gap> results:=Size(SuperCube5FT)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5CT)/Size(SuperCube5);
3
gap> results:=Size(SuperCube5CS)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5MT)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5MS)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5WS)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5XS)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5TS)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5ALL)/Size(SuperCube5);
96

So each of these Illegal Generators doubles the size of the group except the Corner Twist generator which triples it.
If I multiply all these factors together I get 384, yet I see applying them all at once I only get a factor of 96. Why? I feel like I'm still missing something.
Andreas Nortmann wrote:
bmenrigh wrote:
That mechanical restriction is an implementation detail. It seems wrong to not count those states just because everyone that has made a 5x5x5 hasn't made identical edge wings.
My 2 cents: To me it seems wrong to introduce something which can only be achieved by mirroring of pieces not by rotation. We are dealing with rotation puzzles not mirroring puzzles...

I agree with Andreas. I've shown elsewhere how its theoretically possible to make a 5x5x5 out of 125 identical cubies. If you start adding mirroring why not also add the swapping of an edge with a corner, or the core with a face center, etc.

Carl

P.S. I see bmenrigh posted while I was working on mine. And he's touching the exact same topic I am. Great minds think alike.

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 9:55 pm 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
I have re-ordered your post a bit which will make it easier for me to reply.

wwwmwww wrote:
[...]So each of these Illegal Generators doubles the size of the group except the Corner Twist generator which triples it.
If I multiply all these factors together I get 384, yet I see applying them all at once I only get a factor of 96. Why? I feel like I'm still missing something.
wwwmwww wrote:
[...]Looks like we have 8 Illegal Generators. Next I define the following:

#IllegalGenerator1 Face Center Twist
FT:=(013,152,153,151);
#IllegalGenerator2 Corner Twist
CT:=(021,030,051);
#IllegalGenerator3 Corner Swap
CS:=(021,025)(030,055)(051,076);
#IllegalGenerator4 Middle Edge Twist
MT:=(023,053);
#IllegalGenerator5 Middle Edge Swap
MS:=(023,015)(053,078);
#IllegalGenerator6 Wing Swap
WS:=(022,054)(052,024);
#IllegalGenerator7 X-Center Swap
XS:=(017,019);
#IllegalGenerator8 T-Center Swap
TS:=(018,014);

Great question :D I think I know the answer.

Going back to your original generators for the 5x5x5, you implemented a face twist. That generator performs a number of things but the important ones are that it does an odd number of corner swaps and an odd number of middle-edge swaps. So when you include:

#IllegalGenerator3 Corner Swap
CS:=(021,025)(030,055)(051,076);


#IllegalGenerator5 Middle Edge Swap
MS:=(023,015)(053,078);


You have over-counted. The important thing is to be able to separate the parity of the two which means pick one of these illegal generators because given one, you can achieve the other (using the face twist generator). If you include both in your multiplication, you over-count by a factor of 2.

Then, the same reasoning applies to these:

#IllegalGenerator6 Wing Swap
WS:=(022,054)(052,024);


#IllegalGenerator8 T-Center Swap
TS:=(018,014);


Their parity is also attached so you only need to include one. The other can be achieved through your slice and face generators. This is another factor of 2 over-count.

So 384 / (2 * 2) = 96.

But as I mentioned in my post, you need to add a center 4-cycle illegal generator. Unless my analysis is totally broken that should give you the answer of 192. I'm going to feel quite dumb if it does not :?

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 9:59 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
bmenrigh wrote:
Okay I hope I'm not beating this topic to death.
Beat away... please. I'm still learning myself.
bmenrigh wrote:
I've spent a lot of time thinking about a super 5x5x5 and you've convinced me that the the orientation-restricting mechanical difference between the left and right edge-wing pieces really is fundamental and intrinsic to the puzzle.

Here is my count of the parities on a super 5x5x5, assuming we take the puzzle apart and re-assemble it randomly:
  • The permutation parity of the edge-wings is connected to the + centers (factor: 2)
  • The permutation parity of the X centers is connected to the parity of the middle edges and corners (factor: 2)
  • The permutation parity of the centers is connected to the middle edges (factor: 2)
  • The permutation parity of the middle edges is connected to the parity of the corners (factor: 2)
  • The orientation parity of the centers is even (factor: 2)
  • The orientation parity of middle edges is always even (factor: 2)
  • The orientation parity of the corners is 0 mod 3 (factor: 3)

When you multiply these out you get 2 * 2 * 2 * 2 * 2 * 2 * 3 = 192.

I think the restriction you missed is the 4-cycle (odd) of the centers. If you aren't careful during re-assembly you can put the whole puzzle together with a quarter twist in the orientation of the core.


I certainly DID miss a factor. You can't swap two individual face centers as they are attached to the core, but you can certainly rotate the core with the face centers attached. I'll call this:

#IllegalGenerator9 Face Center Swap
FS:=(038,063,088,113)(155,158,161,164)(156,159,162,165)(154,157,160,163);

Testing...

gap> Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
gap> (038,063,088,113)(155,158,161,164)(156,159,162,165)(154,157,160,163) in SuperCube5;
false

Yes, that state isn't in the SuperCube.

gap> results:=Size(SuperCube5FS)/Size(SuperCube5);
4

It quadruples the size of the group.

gap> results:=Size(SuperCube5ALL)/Size(SuperCube5);
384

But now I've got a factor of 384 so I disagree with both of you. And when you say two parities are connected you are more or less saying they are equivalent... correct? Is swaping two wings the same as swaping two T-centers? I think I have an idea on how to test that.... off to try.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 10:23 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
bmenrigh wrote:
#IllegalGenerator3 Corner Swap
CS:=(021,025)(030,055)(051,076);

#IllegalGenerator5 Middle Edge Swap
MS:=(023,015)(053,078);

If you include both in your multiplication, you over-count by a factor of 2.

Then, the same reasoning applies to these:
#IllegalGenerator6 Wing Swap
WS:=(022,054)(052,024);

#IllegalGenerator8 T-Center Swap
TS:=(018,014);


Ok... my latest test...

gap> Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
gap> (023,015)(053,078) in SuperCube5CS;
false
gap> (018,014) in SuperCube5WS;
true
gap> quit
>

T-Center Swap is indeed in the Wing Swap group so I agree, I need to drop that factor of 2.

However Middle Edge Swap isn't in the Corner Swap group. Looks like I need to test all of these for equivalence to the others. Here is my latest code if that helps:
Attachment:
Super5x5x5.txt [8.19 KiB]
Downloaded 78 times


Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 10:26 pm 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
But now I've got a factor of 384 so I disagree with both of you.
I'm seriously confused. I love it. I guess I have to think more.

wwwmwww wrote:
And when you say two parities are connected you are more or less saying they are equivalent... correct? Is swaping two wings the same as swaping two T-centers? I think I have an idea on how to test that.... off to try.
Hmm I don't want to say they are equivalent. It's just that if you do one, you must do the other. I dug up my Super 5x5x5 so here we go:
Attachment:
super_5x5x5_parity_small.png
super_5x5x5_parity_small.png [ 198.63 KiB | Viewed 3494 times ]
Notice that I have swapped to edge-wings as well as two T-centers. Using this sequence and either illegal generator, I can achieve the other illegal generator.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 10:46 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
The latest...

gap> Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
gap> (013,152,153,151) in SuperCube5CT;
false
gap> (013,152,153,151) in SuperCube5CS;
false
gap> (013,152,153,151) in SuperCube5MT;
false
gap> (013,152,153,151) in SuperCube5MS;
false
gap> (013,152,153,151) in SuperCube5WS;
false
gap> (013,152,153,151) in SuperCube5XS;
false
gap> (013,152,153,151) in SuperCube5TS;
false
gap> (013,152,153,151) in SuperCube5FS;
false
gap> (021,030,051) in SuperCube5CS;
false
gap> (021,030,051) in SuperCube5MT;
false
gap> (021,030,051) in SuperCube5MS;
false
gap> (021,030,051) in SuperCube5WS;
false
gap> (021,030,051) in SuperCube5XS;
false
gap> (021,030,051) in SuperCube5TS;
false
gap> (021,030,051) in SuperCube5FS;
false
gap> (021,025)(030,055)(051,076) in SuperCube5MT;
false
gap> (021,025)(030,055)(051,076) in SuperCube5MS;
false
gap> (021,025)(030,055)(051,076) in SuperCube5WS;
false
gap> (021,025)(030,055)(051,076) in SuperCube5XS;
false
gap> (021,025)(030,055)(051,076) in SuperCube5TS;
false
gap> (021,025)(030,055)(051,076) in SuperCube5FS;
false
gap> (023,053) in SuperCube5MS;
false
gap> (023,053) in SuperCube5WS;
false
gap> (023,053) in SuperCube5XS;
false
gap> (023,053) in SuperCube5TS;
false
gap> (023,053) in SuperCube5FS;
false
gap> (023,015)(053,078) in SuperCube5WS;
false
gap> (023,015)(053,078) in SuperCube5XS;
false
gap> (023,015)(053,078) in SuperCube5TS;
false
gap> (023,015)(053,078) in SuperCube5FS;
false
gap> (022,054)(052,024) in SuperCube5XS;
false
gap> (022,054)(052,024) in SuperCube5TS;
true
gap> (022,054)(052,024) in SuperCube5FS;
false
gap> (017,019) in SuperCube5TS;
false
gap> (017,019) in SuperCube5FS;
false
gap> (018,014) in SuperCube5FS;
false
gap> quit
>

So of all these the only two that are equivalent are Wing Swap and T-Center Swap. It must be a combination of two of the others includes one already on the list.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 10:57 pm 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
The latest...

gap> Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
[...]

So of all these the only two that are equivalent are Wing Swap and T-Center Swap. It must be a combination of two of the others includes one already on the list.
Yes. It's a bit hard to follow my list of restrictions to see what is connected to what. Here is two corners swapped:
Attachment:
super_5x5x5_parity_2_small.png
super_5x5x5_parity_2_small.png [ 266.41 KiB | Viewed 3489 times ]
Note that because two corners are swapped, that forces two middle-edges to be swapped too. It also swapped two X centers and two T centers. Hopefully that clarifies what I meant. EDIT: And it put a quarter turn in a center.

I still not sure why the center 4-cycle illegal generator is a factor of 4 and not 2 but I have an idea. It's going to take me a while to get my super 5x5x5 into that position to check though.

EDIT: My idea for the center 4-cycle did not pan out. My first idea was that perhaps a half-turn in one axis of the core isn't possible but I was able to do that on my super 5x5x5. Then my idea was that perhaps a quarter turn in the core in two different axes wasn't possible but I was able to achieve that too. I'm stumped. I don't see how the core orientation is a factor of 4 rather than 2.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Sun Feb 13, 2011 11:58 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
bmenrigh wrote:
Hmm I don't want to say they are equivalent.
The two illegal generators both add the same set of illegal states to the states of a Super5x5x5. So in that sense they are equivalent. In other words, take out 2 pieces of a solved cube and do a T-Center swap OR a Wing Swap. Now scramble the cube, at this point you won't be able to tell which was done. They both have the same effect.
bmenrigh wrote:
It's just that if you do one, you must do the other. I dug up my Super 5x5x5 so here we go: ... Notice that I have swapped to edge-wings as well as two T-centers. Using this sequence and either illegal generator, I can achieve the other illegal generator.
Agreed... now do that with the Corner Swap and Middle Swap generators?

More playing in GAP and I have defined these:
SuperCube5ALL1:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,FT,CS,XS,TS);
SuperCube5ALL2:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,CS,XS,TS);
SuperCube5ALL3:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,FT,XS,TS);
SuperCube5ALL4:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,FT,CS,TS);
SuperCube5ALL5:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2,FT,CS,XS);

And testing shows this:
gap> (023,015)(053,078) in SuperCube5ALL1;
true
gap> (023,015)(053,078) in SuperCube5ALL2;
false
gap> (023,015)(053,078) in SuperCube5ALL3;
false
gap> (023,015)(053,078) in SuperCube5ALL4;
false
gap> (023,015)(053,078) in SuperCube5ALL5;
false

So the Middle Edge Swap is contained in the space created by FT (Face Center Twist), CS (Corner Swap), XS (X-Center Swap), and TS (T-Center Swap). Drop any one of those 4 and it no longer contains the Middle Edge Swap state. This tells me that there is a sequence that exists that given any four of these generators will allow you to achieve the fifth generator state. So you only need count 4 of these 5.

This isn't near as simple as the Wing Swap / T-Center Swap case. Is there a simplier way to look at it?

Also just noticed that if FT+CS+XS+MS = TS then it also equals WS. So we don't have to count either Wing Swap or T-Center Swap as long as we count the other 4.

Carl

_________________
-
Image

Image


Last edited by wwwmwww on Mon Feb 14, 2011 12:40 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 12:24 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
bmenrigh wrote:
EDIT: My idea for the center 4-cycle did not pan out. My first idea was that perhaps a half-turn in one axis of the core isn't possible but I was able to do that on my super 5x5x5. Then my idea was that perhaps a quarter turn in the core in two different axes wasn't possible but I was able to achieve that too. I'm stumped. I don't see how the core orientation is a factor of 4 rather than 2.


Ok... I have now tested these two generators. Both of which involve rotation of the core and face center rotation.

#IllegalGenerator9 Face Center Swap
FS:=(038,063,088,113)(155,158,161,164)(156,159,162,165)(154,157,160,163);
#IllegalGenerator10 Face Center Swap 2
FS2:=(038,088)(063,113)(155,161)(158,164)(156,162)(159,165)(154,160)(157,163);

gap> Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
gap> results:=Size(SuperCube5FS2)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5FS)/Size(SuperCube5);
4
gap> quit
>

In the first the up and down face centers are fixed while the other 4 faces rotate by 90 degrees about the vertical axis. This creates your factor of 4. If you limit that rotation to 180 degrees then you get a factor of 2. But I can see from each solvable states how to create the other 3 which can't be solved. Just perform this rotation by 90 degrees, 180 degrees, and 270 degrees.

Are you saying you can reach these states from a solved cube? If I understand what GAP is telling me you can't.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 12:28 am 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
So the Middle Edge Swap is contained in the space created by FT (Face Center Twist), CS (Corner Swap), XS (X-Center Swap), and TS (T-Center Swap). Drop any one of those 4 and it no longer contains the Middle Edge Swap state. This tells me that there is a sequence that exists that given any four of these generators will allow you to achieve the fifth generator state. So you only need count 4 of these 5.

This isn't near as simple as the Wing Swap / T-Center Swap case. Is there a simplier way to look at it?
I don't find any of this analysis simple. The logical deduction needed to reach either conclusion is basically the same though.

Wing Swap / T-Center Swap case:
If you ask me to swap to edge-wing pieces I'm going to look for the lowest side-effect move that I can find. That would be turning one of the slices which will 4-cycle the edge wings. Using 3-cycles we can get the edge-wings down to a single swap which was our original goal. Turning this slice also 4-cycles the T centers and performs 2 4-cycles of the X centers. Luckily 2 4-cycles is an even permutation so you can fix the X centers. The best we can do for the T centers though is to 3-cycle them down to a single swap.

So, swapping 2 edge-wings means also swapping two T centers.

Corner swap case:
If you ask me to swap two corners I have to 4-cycle the corners and no slice-move can do that. I must turn a face. That has the nasty side-effects of 4-cycling the middle-edges, 4-cycling the X centers, 4-cycling the T centers, 2 4-cycles in the edge-wings, and an excess quarter-turn in the face center.

Since the edge-wings are double 4-cycled which is even, we can resolve that with 3-cycles. We can not resolve any of the other parities though. The best we can do is use 3-cycles to get them down to a single swap each.

wwwmwww wrote:
Also just noticed that if FT+CS+XS+MS = TS then it also equals WS. So we don't have to could either Wing Swap or T-Center Swap as long as we count the other 4.
Yup, those could be substituted. I didn't do that for the picture I took though because the 4-cycle in the corners kept the edge-wings in an even permutation and put the T centers into an odd one. I didn't want to switch that arbitrarily.


The way I think about how to count how many illegal generators to add is to try to figure out how the parities of the pieces are connected.

So if to do parity1 I must also do parity2 then I need to break that connection by allowing one or the other in an illegal generator.

In general, if to do parity1 you must do parity2 through parityN then you need to add N - 1 illegal generators. It won't hurt to add them all but then when you multiply them out you'll over-count the restrictions.

Put another way, any parity out of a chain of N can be achieved with N - 1 simple generators.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Last edited by Brandon Enright on Mon Feb 14, 2011 11:20 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 12:32 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Taus wrote:
wwwmwww wrote:
Careful! These numbers are the number of permutations of the "Super" Crazy Plus Cubes.
Yes, I should have been more Careful. These aren't the number of permutations for the "Normal" Crazy Plus Cubes, but they aren't the number of permutations for the "Super" Crazy Plus Cubes either. They don't take into acount face center rotation.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 12:37 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Andreas Nortmann wrote:
Here is a piece of code to calculate the size of the Non-Super 5x5x5 out of the Super 5x5x5:
Code:
Rest:=Cube5;
Sets:=[[007,009,017,019],[008,012,014,018],[032,034,042,044],[033,037,039,043],
       [057,059,067,069],[058,062,064,068],[082,084,092,094],[083,087,089,093],
       [107,109,117,119],[108,112,114,118],[132,134,142,144],[133,137,139,143]];
AllDifferent:=[1..150]; 
for s in Sets do SubtractSet(AllDifferent,s); od;
for i in AllDifferent do Rest:=Stabilizer(Rest,i); od;
for s in Sets do Rest:=Stabilizer(Rest,s,OnSets); od;
NonSuperSize:=Size(Cube5)/Size(Rest);
Care to walk a newbie through this code in English? I'm not able to following it yet.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 12:47 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Taus wrote:
Code:
IdenticalSolutionsGroup :=
function(group, indistinguishable_sets)
    local domain, g1, g2;
    domain := Set(Flat(OrbitsDomain(group)));
    SubtractSet(domain, Flat(indistinguishable_sets));
    g1 := Stabilizer(group, domain, OnTuples);
    g2 := Stabilizer(g1, indistinguishable_sets, OnTuplesSets);
    return g2;
end;;

TrueSize :=
function(group,indistinguishable_sets)
    return Size(group)/Size(IdenticalSolutionsGroup(group,indistinguishable_sets));
end;;

Code:
CircFaces := [[49..57],
              [58,59,60,70,71,72,82,83,84],
              [61,62,63,73,74,75,85,86,87],
              [64,65,66,76,77,78,88,89,90],
              [67,68,69,79,80,81,91,92,93],
              [94..102]];;

Why do you need ;; at the end of several of these lines? Still learning the syntax but I thought you just needed a single ; at the end of each line.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 12:51 am 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
bmenrigh wrote:
EDIT: My idea for the center 4-cycle did not pan out. My first idea was that perhaps a half-turn in one axis of the core isn't possible but I was able to do that on my super 5x5x5. Then my idea was that perhaps a quarter turn in the core in two different axes wasn't possible but I was able to achieve that too. I'm stumped. I don't see how the core orientation is a factor of 4 rather than 2.


Ok... I have now tested these two generators. Both of which involve rotation of the core and face center rotation.

#IllegalGenerator9 Face Center Swap
FS:=(038,063,088,113)(155,158,161,164)(156,159,162,165)(154,157,160,163);
#IllegalGenerator10 Face Center Swap 2
FS2:=(038,088)(063,113)(155,161)(158,164)(156,162)(159,165)(154,160)(157,163);

gap> Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
gap> results:=Size(SuperCube5FS2)/Size(SuperCube5);
2
gap> results:=Size(SuperCube5FS)/Size(SuperCube5);
4
gap> quit
>

In the first the up and down face centers are fixed while the other 4 faces rotate by 90 degrees about the vertical axis. This creates your factor of 4. If you limit that rotation to 180 degrees then you get a factor of 2. But I can see from each solvable states how to create the other 3 which can't be solved. Just perform this rotation by 90 degrees, 180 degrees, and 270 degrees.

Are you saying you can reach these states from a solved cube? If I understand what GAP is telling me you can't.

Carl
Yes I can achieve 180 degree core rotation about the vertical axis. Hopefully the mirror doesn't make this image too confusing:
Attachment:
super_5x5x5_core_180_small.png
super_5x5x5_core_180_small.png [ 1.18 MiB | Viewed 3459 times ]

I can not achieve a 90 degree core rotation without also swapping two middle edges. I can take a photo of this if you'd like.

I can also do two 90 degree core rotation in two different axes with no side-effects. I can take a photo of this if you'd like.

The parity only happening with a single 90 degree core rotation matches my mental analysis perfectly. I don't see how it can be the source of a 4x state increase rather than just a 2x.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 10:12 am 
Offline
User avatar

Joined: Sat Jan 01, 2011 12:54 pm
Location: Copenhagen, Denmark
wwwmwww wrote:
Why do you need ;; at the end of several of these lines? Still learning the syntax but I thought you just needed a single ; at the end of each line.

The extra semicolon suppresses the output of running the given piece of code. This is useful if the output is verbose or uninteresting.

--Taus


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 10:51 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
bmenrigh wrote:
wwwmwww wrote:
If I understand what GAP is telling me you can't.
Yes I can achieve 180 degree core rotation about the vertical axis.

The parity only happening with a single 90 degree core rotation matches my mental analysis perfectly. I don't see how it can be the source of a 4x state increase rather than just a 2x.
Ahhh.... I think I see. And the issue lies back in the GAP code. Look at the operations that are defined on the Super5x5x5?

SuperCube5:=Group(SU1,U2,SL1,L2,SF1,F2,SR1,R2,SB1,B2,SD1,D2);

The group defined here only ever moves the outer 2 layers of each face. None of the slice turns are included and neither is a global rotation of the entire puzzle. As such this code doesn't allow for ANY rotation of the core. I think if I added in either the slice rotations or global rotations then the 180 degree rotation of the core WOULD be an allowed state in this group. I'll try that tonight if I have time but I now believe bmenrigh's factor is correct. The only issue with doing that is then the group over calculates the size/number of permutations.

I believe I got a factor of 4 as the Face Center Swap I tested kept the same face up at all times. In principle any of the 6 faces could be put in the up position so had I been more general I could have got a factor of 24.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 11:10 am 
Offline
User avatar

Joined: Mon Aug 02, 2004 7:03 am
Location: Koblenz, Germany
So many postings.
Once again living in the wrong timezone...

Dealing with the 4-cycle of F-pieces:
Seems like wwwmwww and bmenrigh have figured it out.
The difference in the numbers steems from the different approachs:
I ignore global orientation as a moving possibility and didn't mention it. My fault.
I considered it common-puzzlers-sense to ignore global orientation. If we hadn't we would have calculated to the number of permutations for the Super3x3x3 to
88580102706155225088000*24
instead of
88580102706155225088000
but we always dealt with the lower number.
I will ignore global orientation in the future but hopefully remember myself to mention it explicitly.
wwwmwww wrote:
Care to walk a newbie through this code in English? I'm not able to following it yet.
It may not be a perfect implementation but lets see:
Code:
1. Rest:=Cube5;
2. Sets:=[[007,009,017,019],[008,012,014,018],[032,034,042,044],[033,037,039,043],
       [057,059,067,069],[058,062,064,068],[082,084,092,094],[083,087,089,093],
       [107,109,117,119],[108,112,114,118],[132,134,142,144],[133,137,139,143]];
3. AllDifferent:=[1..150]; 
4. for s in Sets do SubtractSet(AllDifferent,s); od;
5. for i in AllDifferent do Rest:=Stabilizer(Rest,i); od;
6. for s in Sets do Rest:=Stabilizer(Rest,s,OnSets); od;
7. NonSuperSize:=Size(Cube5)/Size(Rest);

Line 1: Rest will be the subgroup of the Super5x5x5 which contains solely out of permutations that are invisible on the Normal5x5x5
Line 2: A list of lists with all pieces to be considered as identical.
Line 3+4: AllDifferent now contains all pieces that have no duplicates.
Line 5: Stepwise creating a subgroup where all duplicate-free pieces stay fixed.
Line 6: Stepwise creating a subgroup where all identical pieces stay within their set.
Line 7: No comment
Have you looked up the Reference of GAP for these commands?


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 10:28 pm 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
Quotes are in the order they appeared in this thread...
Andreas Nortmann wrote:
Applying the rules above to the 5x5x5 I get a factor of 96.

wwwmwww wrote:
gap> results:=Size(SuperCube5ALL)/Size(SuperCube5);
96

See at first I agreed with you.
wwwmwww wrote:
bmenrigh wrote:
I think the restriction you missed is the 4-cycle (odd) of the centers. If you aren't careful during re-assembly you can put the whole puzzle together with a quarter twist in the orientation of the core.

gap> results:=Size(SuperCube5ALL)/Size(SuperCube5);
384

Then in light of bmenrigh's comment I added in another Illegal Generator and then I got 384 and disagreed with both of you.
wwwmwww wrote:
I'll try that tonight if I have time but I now believe bmenrigh's factor is correct.

Then once I saw my error I thought bmenrigh's factor of 192 was correct.
Andreas Nortmann wrote:
Dealing with the 4-cycle of F-pieces:
Seems like wwwmwww and bmenrigh have figured it out.
The difference in the numbers steems from the different approachs:
I ignore global orientation as a moving possibility and didn't mention it. My fault.
I considered it common-puzzlers-sense to ignore global orientation. If we hadn't we would have calculated to the number of permutations for the Super3x3x3 to
88580102706155225088000*24
instead of
88580102706155225088000
but we always dealt with the lower number.
I will ignore global orientation in the future but hopefully remember myself to mention it explicitly.

Not your fault... I just should have seen it sooner. Ignoring global orientation is very common in cases like this. However ignore it or don't ignore it... there can be only one answer to the question. What are the odds that when you reassemble a Super Stickered 5x5x5 V-Cube blindfolded its in a solvable state? Don't you NEED to consider the fact that the core's orientation could have been changed to get the complete answer?

That said... I did a bit more homework.

Read ("K:/Puzzles/Axial3x3x3/Super5x5x5.txt");
gap> results:=Size(SuperCube5wSlice)/Size(SuperCube5);
24

If I add in the slice turns I now get this factor of 24 that we've been talking about

gap> results:=Size(SuperCube5wSliceFS)/Size(SuperCube5wSlice);
2

Now if I just look at a 90 degree rotation of the core, i.e. I add that one illegal generator to the group, I now get bmenrigh's factor of 2 instead of the factor of 4 I was getting earlier.

gap> results:=Size(SuperCube5wSliceALL)/Size(SuperCube5wSlice);
96

Now if I add in all the illegal generators I get a factor of 96. Looks like I've gone full circle and I'm back to agreeing with Andreas again.

However, at the moment I'm not sure if Andreas got lucky and the core rotation illegal generator just happens to be equal to some combination of the other illegal generators and thus redundant. Or if for some reason it is always safe to ignore global orientation and Andreas knows something we don't yet.

What is the combination of illegal generators that equals the core rotation illegal generator? I may save that question for tomorrow night.

And here is my latest code.
Attachment:
Super5x5x5.txt [9.51 KiB]
Downloaded 78 times


Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Mon Feb 14, 2011 10:57 pm 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
[...]Now if I just look at a 90 degree rotation of the core, i.e. I add that one illegal generator to the group, I now get bmenrigh's factor of 2 instead of the factor of 4 I was getting earlier.

gap> results:=Size(SuperCube5wSliceALL)/Size(SuperCube5wSlice);
96

Now if I add in all the illegal generators I get a factor of 96. Looks like I've gone full circle and I'm back to agreeing with Andreas again.

However, at the moment I'm not sure if Andreas got lucky and the core rotation illegal generator just happens to be equal to some combination of the other illegal generators and thus redundant. Or if for some reason it is always safe to ignore global orientation and Andreas knows something we don't yet.

What is the combination of illegal generators that equals the core rotation illegal generator? I may save that question for tomorrow night.
Argh! This thought occurred to me earlier this evening but I pushed it out of my head as too complicated to think about while programming.

I got to thinking about what you were saying about core rotations not being supported by your code and having to eliminate a factor of 24 for orientations and I realized that you can rotate al of the pieces around the core rather than rotate the core to achieve the same thing.

So instead of doing a 90 degree turn of the core, what we can do is do a 90 degree turn of all of the pieces about the core. Whats illegal generators are required? I think just the middle-center swap generator.

I don't have time tonight to think about the problem further but I think we have the answer. Thanks!

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 15, 2011 12:21 am 
Offline
User avatar

Joined: Thu Dec 02, 2004 12:09 pm
Location: Missouri
bmenrigh wrote:
So instead of doing a 90 degree turn of the core, what we can do is do a 90 degree turn of all of the pieces about the core. Whats illegal generators are required? I think just the middle-center swap generator.
You mean the middle-edge swap generator?

SuperCube5wSliceALL7:=Group(SU1,U2,U3,SL1,L2,L3,SF1,F2,F3,SR1,R2,SB1,B2,SD1,D2,MS);

gap> (038,063,088,113)(155,158,161,164)(156,159,162,165)(154,157,160,163) in SuperCube5wSliceALL7;
true

If so it looks like you are correct. May I ask how you saw that? Or did you try it on your Super Stickered 5x5x5?
bmenrigh wrote:
I don't have time tonight to think about the problem further but I think we have the answer. Thanks!
Agreed. And I think Andreas was more then just lucky. I suspect you can prove that global orientation can always be ignored and I think I see why. Just not sure I can prove it.

Carl

_________________
-
Image

Image


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 15, 2011 1:59 am 
Online
User avatar

Joined: Thu Dec 31, 2009 8:54 pm
Location: Bay Area, California
wwwmwww wrote:
bmenrigh wrote:
So instead of doing a 90 degree turn of the core, what we can do is do a 90 degree turn of all of the pieces about the core. Whats illegal generators are required? I think just the middle-center swap generator.
You mean the middle-edge swap generator?

SuperCube5wSliceALL7:=Group(SU1,U2,U3,SL1,L2,L3,SF1,F2,F3,SR1,R2,SB1,B2,SD1,D2,MS);

gap> (038,063,088,113)(155,158,161,164)(156,159,162,165)(154,157,160,163) in SuperCube5wSliceALL7;
true

If so it looks like you are correct. May I ask how you saw that? Or did you try it on your Super Stickered 5x5x5?
Awesome. To see that the middle-edge illegal generator is enough to cover the face-center 4-cycle I thought about re-orienting all of the pieces while leaving the core fixed. Since this is just an alternate way of thinking of doing a 90 degree turn of the core about some axis I decided to think about it in terms of a middle-slice move instead. A middle-slice move does the core re-orienting we want, it does 2 4-cycles of the T centers, and a 4-cycle of the middle edges. The 2 4-cycles is still an even perm so the only parity introduced is in the middle-edges.

As I finished this line of reasoning I had an "oh duh!" moment realizing that I did this very thing on my Super 5x5x5 last night and was left with two middle-edges swapped.

wwwmwww wrote:
bmenrigh wrote:
I don't have time tonight to think about the problem further but I think we have the answer. Thanks!
Agreed. And I think Andreas was more then just lucky.
On the subject of GAP versus mental analysis versus Andreas... GAP and Andreas are the clear winners. Although thinking about (and even twisting a real one a bit) a super 5x5x5 lead to some correct conclusions, it also lead to several wrong ones. I agree, Andreas didn't get lucky.

wwwmwww wrote:
I suspect you can prove that global orientation can always be ignored and I think I see why. Just not sure I can prove it.
Oh you've opened up a whole can of worms with that statement :shock: . Some puzzles don't have a visible core orientation. The 4x4x4 cube is an example. On some puzzles with orbits, the orbits won't come together correctly unless you are solving to this hidden orientation. The non-jumbling super helicopter cube is one of these puzzles.

So is Gelatinbrain's 1.4.9 and 4.3.1.

The first time you run into the strange orbit "parity" problem on these puzzle it is enough to drive you mad.

_________________
Prior to using my real name I posted under the account named bmenrigh.


Top
 Profile  
 
 Post subject: Re: Using GAP to analyize Twisty Puzzles
PostPosted: Tue Feb 15, 2011 10:25 am 
Offline
User avatar

Joined: Mon Aug 02, 2004 7:03 am
Location: Koblenz, Germany
bmenrigh wrote:
Some puzzles don't have a visible core orientation. The 4x4x4 cube is an example. On some puzzles with orbits, the orbits won't come together correctly unless you are solving to this hidden orientation. The non-jumbling super helicopter cube is one of these puzzles.
So is Gelatinbrain's 1.4.9 and 4.3.1.
Global orientation is no problem in GAP at all: All you have to do is to define an arbitrary visible HoldingPoint piece as fixed. The natural choice would be the core or its directly attached pieces if available but you could use any other pieces. For the 2x2x2 this would mean only three twists would be allowed if this puzzle is to be modelled in GAP. For the 3x3x3 this means you could define a corner as fixed like in [U, Uslice, L, Lslice, F, Fslice].
I know this approach is not practical for human-solving since most algorithms deal with a core. But in GAP you get rid of a lot of trouble by doing so.
Another common example for the effects of global orientation is the 3x3x3 and the Void 3x3x3. Define a Void3x3x3 with a corner or an edge fixed in space and you will get twice the number of permutations of the normal 3x3x3.
Inside joke for Carl: I like the concept of HoldingPoint pieces!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 33 posts ] 

All times are UTC - 5 hours


Who is online

Users browsing this forum: Brandon Enright and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Forum powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group