11-1100/Assignment I - Permutation Counting: Difference between revisions

From Drorbn
Jump to navigationJump to search
No edit summary
m (Assignment I - Permutation Counting moved to 11-1100/Assignment I - Permutation Counting)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
The puzzle that I have chosen is a 2x2x3 variant of the Rubik's cube. Below is a sketch of how I have labelled.
The puzzle that I have chosen is a 2x2x3 variant of the Rubik's cube. Below is a sketch of how I have labelled it.


[[2x2x3 Permutation Puzzle]]
[[2x2x3 Permutation Puzzle]]

Latest revision as of 10:39, 13 October 2011

The puzzle that I have chosen is a 2x2x3 variant of the Rubik's cube. Below is a sketch of how I have labelled it.

2x2x3 Permutation Puzzle


Here are the generators:

g1 = [1,2,3,4,12,22,7,8,6,11,21,28,13,14,15,16,17,18,5,10,20,27,23,24,25,26,9,19,29,30,31,32] (28,19,5,12)(9,6,22,27)(10,11,21,20)

g2 = [1,2,13,23,5,6,7,4,9,10,11,12,30,14,15,16,17,3,19,20,21,22,29,24,25,26,27,28,8,18,31,32] (18,3,13,30)(8,4,23,29)

g3 = [14,24,3,4,5,6,2,8,9,10,11,12,13,32,16,26,1,18,19,20,21,22,23,31,15,25,27,28,29,30,7,17] (32,17,1,14)(24,31,7,2)(16,26,25,15)

g4 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,22,23,24,25,26,17,18,19,20,21,32,31,30,29,28,27] (17,22)(18,23)(24,19)(25,20)(26,21)(32,27)(28,31)(29,30)


This is the Python code used to implement the NCGE algorithm for the 2x2x3 puzzle.

NCGE Python Code

First, the class of permutations is defined, along with how to multiply them and take their inverses. Then, algorithm is spelled out.

The algorithm yields that their are 39016857600 different configurations of the 2x2x3 puzzle. The implementation was subsequently checked with the Rubik's cube generators given on the handout and the correct numbers were outputted.