Ejemplo n.º 1
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-UD-x-center-stage',
            (),
            '5x5x5',
            'lookup-table-5x5x5-step12-UD-centers-stage-x-center-only.txt',
            True,  # store_as_hex

            # starting cubes
            (
                ("""
            . . . . .
            . U . U .
            . . . . .
            . U . U .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . x . x .  . x . x .  . x . x .  . x . x .
 . . . . .  . . . . .  . . . . .  . . . . .
 . x . x .  . x . x .  . x . x .  . x . x .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . U . U .
            . . . . .
            . U . U .
            . . . . .""", "ascii"), ),
        )
Ejemplo n.º 2
0
    def __init__(self):
        BFS.__init__(
            self,
            '4x4x4-FB-centers-stage',
            moves_444,
            '4x4x4',
            'starting-states-4x4x4-step13-FB-centers-stage.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
          . . . .
          . x x .
          . x x .
          . . . .

 . . . .  . . . .  . . . .  . . . .
 . x x .  . F F .  . x x .  . F F .
 . x x .  . F F .  . x x .  . F F .
 . . . .  . . . .  . . . .  . . . .

          . . . .
          . x x .
          . x x .
          . . . .""", 'ascii'), ),
            legal_moves=("x", "x'", "y", "y'", "z", "z'"),
        )
Ejemplo n.º 3
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-reduce333-edges',
            ("Uw", "Uw'", "Lw", "Lw'", "Fw", "Fw'", "Rw", "Rw'", "Bw", "Bw'",
             "Dw", "Dw'", "L", "L'", "R", "R'"),
            '4x4x4',
            'lookup-table-4x4x4-step31-reduce333-edges.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
          . U U .
          U . . U
          U . . U
          . U U .

 . L L .  . F F .  . R R .  . B B .
 L . . L  F . . F  R . . R  B . . B
 L . . L  F . . F  R . . R  B . . B
 . L L .  . F F .  . R R .  . B B .

          . D D .
          D . . D
          D . . D
          . D D .""", 'ascii'), ),
            use_edges_pattern=True,
        )
Ejemplo n.º 4
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-lr-x-center-stage',
            ("Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'", "Rw", "Rw'"),
            '5x5x5',
            'lookup-table-5x5x5-step22-LR-x-centers-stage.txt',
            True,  # store_as_hex

            # starting cubes
            (
                ("""
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . L . L .  . x . x .  . L . L .  . x . x .
 . . . . .  . . . . .  . . . . .  . . . . .
 . L . L .  . x . x .  . L . L .  . x . x .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .""", "ascii"), ))
Ejemplo n.º 5
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-reduce333-centers',
            moves_444,
            '4x4x4',
            'lookup-table-4x4x4-step32-reduce333-centers.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
          . . . .
          . U U .
          . U U .
          . . . .

 . . . .  . . . .  . . . .  . . . .
 . L L .  . F F .  . R R .  . B B .
 . L L .  . F F .  . R R .  . B B .
 . . . .  . . . .  . . . .  . . . .

          . . . .
          . D D .
          . D D .
          . . . .""", 'ascii'), ),
            legal_moves=("", "x2", "y2", "z2"),
        )
Ejemplo n.º 6
0
    def __init__(self):
        BFS.__init__(
            self,
            'starting-states-5x5x5-step42',

            # illegal moves
            (),
            '5x5x5',
            'starting-states-lookup-table-5x5x5-step42.txt',
            False,  # store_as_hex
            (("""
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . L L L .  . . . . .  . R R R .  . . . . .
 . L L L .  . . . . .  . R R R .  . . . . .
 . L L L .  . . . . .  . R R R .  . . . . .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .""", "ascii"), ),
            legal_moves=(
                "L2",
                "R2",
                "2U2",
                "2D2",
            ))
Ejemplo n.º 7
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-highlow-edges-edges',
            ("Uw", "Uw'", "Dw", "Dw'", "Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'",
             "Rw", "Rw'"),
            '4x4x4',
            'lookup-table-4x4x4-step21-highlow-edges-edges.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
          . U D .
          D . . U
          U . . D
          . D U .

 . D U .  . D U .  . D U .  . D U .
 D . . U  U . . D  D . . U  U . . D
 U . . D  D . . U  U . . D  D . . U
 . U D .  . U D .  . U D .  . U D .

          . U D .
          D . . U
          U . . D
          . D U .""", 'ascii'), ))
Ejemplo n.º 8
0
 def __init__(self):
     BFS.__init__(
         self,
         '5x5x5-step41',
         (
             "Fw",
             "Fw'",
             "Bw",
             "Bw'",
             "Lw",
             "Lw'",
             "Rw",
             "Rw'",
             "Uw",
             "Uw'",
             "Dw",
             "Dw'",
         ),
         '5x5x5',
         'lookup-table-5x5x5-step40.txt',
         False,  # store_as_hex
         (('.---.D...-D...-D...-.---..LLL.-LLL--LLL--LLL-.LLL..---.-...--...--...-.---..---.-RRR--RRR--RRR-.---..---.-...--...--...-.---..---.U...-U...-U...-.---.',
           'ULFRBD'),
          ('.---.D...-D...-D...-.---..LLL.-LLL--LLL--RRR-.LLL..---.-...--...--...-.---..---.-LLL--RRR--RRR-.---..---.-...--...--...-.---..---.U...-U...-U...-.---.',
           'ULFRBD'),
          ('.---.D...-D...-D...-.---..LLL.-RRR--LLL--LLL-.LLL..---.-...--...--...-.---..---.-RRR--RRR--LLL-.---..---.-...--...--...-.---..---.U...-U...-U...-.---.',
           'ULFRBD'),
          ('.---.U...-U...-U...-.---..LLL.-LLL--LLL--RRR-.LLL..---.-...--...--...-.---..---.-RRR--RRR--LLL-.---..---.-...--...--...-.---..---.D...-D...-D...-.---.',
           'ULFRBD'),
          ('.---.U...-U...-U...-.---..LLL.-RRR--LLL--LLL-.LLL..---.-...--...--...-.---..---.-LLL--RRR--RRR-.---..---.-...--...--...-.---..---.D...-D...-D...-.---.',
           'ULFRBD'),
          ('.---.U...-U...-U...-.---..LLL.-RRR--LLL--RRR-.LLL..---.-...--...--...-.---..---.-LLL--RRR--LLL-.---..---.-...--...--...-.---..---.D...-D...-D...-.---.',
           'ULFRBD')),
         use_edges_pattern=True)
Ejemplo n.º 9
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-centers-solve-unstaged',
            ("Rw", "Rw'", "Rw2", "Lw", "Lw'", "Lw2", "Fw", "Fw'", "Fw2", "Bw",
             "Bw'", "Bw2", "L", "L'", "F", "F'", "R", "R'", "B", "B'"),
            '5x5x5',
            'lookup-table-5x5x5-step500-ULFRBD-centers-solve-unstaged.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
            . . . . .
            . U U U .
            . U U U .
            . U U U .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . L L L .  . F F F .  . R R R .  . B B B .
 . L L L .  . F F F .  . R R R .  . B B B .
 . L L L .  . F F F .  . R R R .  . B B B .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . D D D .
            . D D D .
            . D D D .
            . . . . .""", "ascii"), ))
Ejemplo n.º 10
0
    def __init__(self):
        BFS.__init__(
            self,
            '4x4x4-ULFRBD-centers-stage',
            (
                "Lw",
                "Lw'",
                "Lw2",  # can skip these for 4x4x4 cubes
                "Bw",
                "Bw'",
                "Bw2",
                "Dw",
                "Dw'",
                "Dw2"),
            '4x4x4',
            'lookup-table-4x4x4-step10-ULFRBD-centers-stage.txt',
            False,  # store_as_hex

            # starting cubes
            (('.....FF..FF..........LL..LL..........UU..UU..........LL..LL..........UU..UU..........FF..FF.....',
              'ULFRBD'),
             ('.....FF..FF..........UU..UU..........LL..LL..........UU..UU..........LL..LL..........FF..FF.....',
              'ULFRBD'),
             ('.....LL..LL..........FF..FF..........UU..UU..........FF..FF..........UU..UU..........LL..LL.....',
              'ULFRBD'),
             ('.....LL..LL..........UU..UU..........FF..FF..........UU..UU..........FF..FF..........LL..LL.....',
              'ULFRBD'),
             ('.....UU..UU..........FF..FF..........LL..LL..........FF..FF..........LL..LL..........UU..UU.....',
              'ULFRBD'),
             ('.....UU..UU..........LL..LL..........FF..FF..........LL..LL..........FF..FF..........UU..UU.....',
              'ULFRBD')))
Ejemplo n.º 11
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-edges-stage-first-four',
            (),
            '5x5x5',
            'lookup-table-5x5x5-step100-stage-first-four-edges.txt',
            True,  # store_as_hex
            (("""
            . - - - .
            - U U U -
            - U U U -
            - U U U -
            . - - - .

 . - - - .  . - - - .  . - - - .  . - - - .
 L L L L L  L F F F L  L R R R L  L B B B L
 L L L L L  L F F F L  L R R R L  L B B B L
 L L L L L  L F F F L  L R R R L  L B B B L
 . - - - .  . - - - .  . - - - .  . - - - .

            . - - - .
            - D D D -
            - D D D -
            - D D D -
            . - - - .""", "ascii"), ("""
            . L L L .
            - U U U -
            - U U U -
            - U U U -
            . L L L .

 . - - - .  . L L L .  . - - - .  . L L L .
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 . - - - .  . L L L .  . - - - .  . L L L .

            . L L L .
            - D D D -
            - D D D -
            - D D D -
            . L L L .""", "ascii"), ("""
            . - - - .
            L U U U L
            L U U U L
            L U U U L
            . - - - .

 . L L L .  . - - - .  . L L L .  . - - - .
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 . L L L .  . - - - .  . L L L .  . - - - .

            . - - - .
            L D D D L
            L D D D L
            L D D D L
            . - - - .""", "ascii")))
Ejemplo n.º 12
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-reduce333',
            moves_444,
            '4x4x4',
            'lookup-table-4x4x4-step30-reduce333.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
          . U U .
          U U U U
          U U U U
          . U U .

 . L L .  . F F .  . R R .  . B B .
 L L L L  F F F F  R R R R  B B B B
 L L L L  F F F F  R R R R  B B B B
 . L L .  . F F .  . R R .  . B B .

          . D D .
          D D D D
          D D D D
          . D D .  """, 'ascii'), ),
            use_edges_pattern=True,
            legal_moves=("", "x2", "y2", "z2"),
        )
Ejemplo n.º 13
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-t-centers-solve',
            ("Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'", "Rw", "Rw'", "Uw", "Uw'",
             "Dw", "Dw'"),
            '5x5x5',
            'lookup-table-5x5x5-step33-ULFRBD-t-centers-solve.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
            . . . . .
            . . U . .
            . U . U .
            . . U . .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . . L . .  . . F . .  . . R . .  . . B . .
 . L . L .  . F . F .  . R . R .  . B . B .
 . . L . .  . . F . .  . . R . .  . . B . .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . . D . .
            . D . D .
            . . D . .
            . . . . .""", "ascii"), ))
Ejemplo n.º 14
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-LF-centers-solve',
            ("Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'", "Rw", "Rw'", "Uw", "Uw'",
             "Dw", "Dw'"),
            '5x5x5',
            'lookup-table-5x5x5-step33-LF-centers-solve.txt',
            True,  # store_as_hex

            # starting cubes
            (
                ("""
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . L L L .  . F F F .  . x x x .  . x x x .
 . L L L .  . F F F .  . x x x .  . x x x .
 . L L L .  . F F F .  . x x x .  . x x x .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .""", "ascii"), ))
Ejemplo n.º 15
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-centers-solve-unstaged',
            (),
            '5x5x5',
            'lookup-table-5x5x5-step30-ULFRBD-centers-solve-unstaged.txt',
            False,  # store_as_hex

            # starting cubes
            (
                ("""
            . . . . .
            . U U U .
            . U U U .
            . U U U .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . L L L .  . F F F .  . R R R .  . B B B .
 . L L L .  . F F F .  . R R R .  . B B B .
 . L L L .  . F F F .  . R R R .  . B B B .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . D D D .
            . D D D .
            . D D D .
            . . . . .""", "ascii"), ))
Ejemplo n.º 16
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-highlow-edges-centers',
            ("Uw", "Uw'", "Dw", "Dw'", "Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'",
             "Rw", "Rw'"),
            '4x4x4',
            'lookup-table-4x4x4-step22-highlow-edges-centers.txt',
            False,  # store_as_hex

            # starting cubes
            (('.....................LL..LL..........................RR..RR.....................................',
              'ULFRBD'),
             ('.....................LL..RR..........................LL..RR.....................................',
              'ULFRBD'),
             ('.....................LL..RR..........................RR..LL.....................................',
              'ULFRBD'),
             ('.....................LR..LR..........................LR..LR.....................................',
              'ULFRBD'),
             ('.....................LR..LR..........................RL..RL.....................................',
              'ULFRBD'),
             ('.....................LR..RL..........................RL..LR.....................................',
              'ULFRBD'),
             ('.....................RL..LR..........................LR..RL.....................................',
              'ULFRBD'),
             ('.....................RL..RL..........................LR..LR.....................................',
              'ULFRBD'),
             ('.....................RL..RL..........................RL..RL.....................................',
              'ULFRBD'),
             ('.....................RR..LL..........................LL..RR.....................................',
              'ULFRBD'),
             ('.....................RR..LL..........................RR..LL.....................................',
              'ULFRBD'),
             ('.....................RR..RR..........................LL..LL.....................................',
              'ULFRBD')))
Ejemplo n.º 17
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-edges-last-four-x-plane',
            ("Rw", "Rw'", "Rw2", "Lw", "Lw'", "Lw2", "Fw", "Fw'", "Fw2", "Bw",
             "Bw'", "Bw2", "L", "L'", "F", "F'", "R", "R'", "B", "B'"),
            '5x5x5',
            'lookup-table-5x5x5-step500-edges-last-four-x-plane.txt',
            False,  # store_as_hex
            (("""
            . - - - .
            - U U U -
            - U U U -
            - U U U -
            . - - - .

 . - - - .  . - - - .  . - - - .  . - - - .
 L L L L L  F F F F F  R R R R R  B B B B B
 L L L L L  F F F F F  R R R R R  B B B B B
 L L L L L  F F F F F  R R R R R  B B B B B
 . - - - .  . - - - .  . - - - .  . - - - .

            . - - - .
            - D D D -
            - D D D -
            - D D D -
            . - - - .""", "ascii"), ),
            use_edges_pattern=True,
        )
Ejemplo n.º 18
0
    def __init__(self):
        BFS.__init__(
            self,
            '4x4x4-FB-centers-stage',
            (
                "Lw",
                "Lw'",
                "Lw2",  # can skip these for 4x4x4 cubes
                "Bw",
                "Bw'",
                "Bw2",
                "Dw",
                "Dw'",
                "Dw2"),
            '4x4x4',
            'lookup-table-4x4x4-step13-FB-centers-stage.txt',
            True,  # store_as_hex

            # starting cubes
            (
                ('.....FF..FF..........xx..xx..........xx..xx..........xx..xx..........xx..xx..........FF..FF.....',
                 'ULFRBD'),
                ('.....xx..xx..........FF..FF..........xx..xx..........FF..FF..........xx..xx..........xx..xx.....',
                 'ULFRBD'),
                ('.....xx..xx..........xx..xx..........FF..FF..........xx..xx..........FF..FF..........xx..xx.....',
                 'ULFRBD'),
            ),
            use_cost_only=True)
Ejemplo n.º 19
0
    def __init__(self):
        BFS.__init__(
            self,
            'starting-states-5x5x5-step40',

            # illegal moves
            (),
            '5x5x5',
            'starting-states-lookup-table-5x5x5-step40.txt',
            False,  # store_as_hex
            (("""
            . - - - .
            U . . . -
            U . . . -
            U . . . -
            . - - - .

 . L L L .  . - - - .  . - - - .  . - - - .
 - L L L -  - . . . -  - R R R -  - . . . -
 - L L L -  - . . . -  - R R R -  - . . . -
 - L L L -  - . . . -  - R R R -  - . . . -
 . L L L .  . - - - .  . - - - .  . - - - .

            . - - - .
            D . . . -
            D . . . -
            D . . . -
            . - - - .""", "ascii"), ),
            use_edges_pattern=True,
            legal_moves=(
                "L2",
                "R2",
                "2U2",
                "2D2",
            ))
Ejemplo n.º 20
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-highlow-edges-centers',
            ("Uw", "Uw'", "Dw", "Dw'", "Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'",
             "Rw", "Rw'", "L", "L'", "R", "R'"),
            '4x4x4',
            'starting-states-lookup-table-4x4x4-step21-highlow-edges-centers.txt',
            False,  # store_as_hex
            # starting cubes
            (
                ("""
          . . . .
          . . . .
          . . . .
          . . . .

 . . . .  . . . .  . . . .  . . . .
 . L L .  . . . .  . R R .  . . . .
 . L L .  . . . .  . R R .  . . . .
 . . . .  . . . .  . . . .  . . . .

          . . . .
          . . . .
          . . . .
          . . . .""", 'ascii'), ))
Ejemplo n.º 21
0
 def __init__(self):
     BFS.__init__(
         self,
         '5x5x5-step42',
         (
             "Fw",
             "Fw'",
             "Bw",
             "Bw'",
             "Lw",
             "Lw'",
             "Rw",
             "Rw'",
             "Uw",
             "Uw'",
             "Dw",
             "Dw'",
         ),
         '5x5x5',
         'lookup-table-5x5x5-step42.txt',
         False,  # store_as_hex
         (('...............................LLL..LLL..LLL.....................................RRR..RRR..RRR........................................................',
           'ULFRBD'),
          ('...............................LLL..LLL..RRR.....................................LLL..RRR..RRR........................................................',
           'ULFRBD'),
          ('...............................LLL..LLL..RRR.....................................RRR..RRR..LLL........................................................',
           'ULFRBD'),
          ('...............................RRR..LLL..LLL.....................................LLL..RRR..RRR........................................................',
           'ULFRBD'),
          ('...............................RRR..LLL..LLL.....................................RRR..RRR..LLL........................................................',
           'ULFRBD'),
          ('...............................RRR..LLL..RRR.....................................LLL..RRR..LLL........................................................',
           'ULFRBD')))
Ejemplo n.º 22
0
    def __init__(self):

        BFS.__init__(
            self,
            '5x5x5-step51',

            # illegal moves
            (),
            '5x5x5',
            'lookup-table-5x5x5-step51.txt',
            False,  # store_as_hex
            (("""
            . - - - .
            - . . . U
            - . . . U
            - . . . U
            . - - - .

 . - - - .  . - - - .  . R R R .  . - - - .
 - . . . -  - . . . -  - . . . -  - . . . -
 - . . . -  - . . . -  - . . . -  - . . . -
 - . . . -  - . . . -  - . . . -  - . . . -
 . - - - .  . - - - .  . R R R .  . - - - .

            . - - - .
            - . . . D
            - . . . D
            - . . . D
            . - - - .""", "ascii"), ),
            use_edges_pattern=True,
            legal_moves=(
                "F",
                "F'",
                "F2",
                "B",
                "B'",
                "B2",
                "L2",
                "R",
                "R'",
                "R2",
                "Lw2",
                "Rw2",
                "2U2",
                "2D2",
                "2L2",
                "2R2",
            ))
Ejemplo n.º 23
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-edges-stage-second-four',
            ("Rw", "Rw'", "Lw", "Lw'", "Fw", "Fw'", "Bw", "Bw'", "L", "L'",
             "F", "F'", "R", "R'", "B", "B'"),
            '5x5x5',
            'lookup-table-5x5x5-step101-stage-second-four-edges.txt',
            True,  # store_as_hex
            (("""
            . L L L .
            - U U U -
            - U U U -
            - U U U -
            . L L L .

 . - - - .  . L L L .  . - - - .  . L L L .
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 . - - - .  . L L L .  . - - - .  . L L L .

            . L L L .
            - D D D -
            - D D D -
            - D D D -
            . L L L .""", "ascii"), ("""
            . - - - .
            L U U U L
            L U U U L
            L U U U L
            . - - - .

 . L L L .  . - - - .  . L L L .  . - - - .
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 . L L L .  . - - - .  . L L L .  . - - - .

            . - - - .
            L D D D L
            L D D D L
            L D D D L
            . - - - .""", "ascii")))
Ejemplo n.º 24
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-reduce333-centers',
            ("Uw", "Uw'", "Lw", "Lw'", "Fw", "Fw'", "Rw", "Rw'", "Bw", "Bw'",
             "Dw", "Dw'", "L", "L'", "R", "R'"),
            '4x4x4',
            'lookup-table-4x4x4-step32-reduce333-centers.txt',
            False,  # store_as_hex

            # starting cubes
            (('.....UU..UU..........LL..LL..........FF..FF..........RR..RR..........BB..BB..........DD..DD.....',
              'ULFRBD'),
             ('.....UU..UU..........RR..RR..........BB..BB..........LL..LL..........FF..FF..........DD..DD.....',
              'ULFRBD'),
             ('.....DD..DD..........LL..LL..........BB..BB..........RR..RR..........FF..FF..........UU..UU.....',
              'ULFRBD'),
             ('.....DD..DD..........RR..RR..........FF..FF..........LL..LL..........BB..BB..........UU..UU.....',
              'ULFRBD')))
Ejemplo n.º 25
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-edges-last-six-edges',

            # illegal moves...will list legal moves instead
            (),
            '5x5x5',
            'lookup-table-5x5x5-step601-edges-last-six-edges.txt',
            False,  # store_as_hex
            (("""
            . U U U .
            U . . . U
            U . . . U
            U . . . U
            . U U U .

 . L L L .  . F F F .  . R R R .  . B B B .
 - . . . -  - . . . -  - . . . -  - . . . -
 - . . . -  - . . . -  - . . . -  - . . . -
 - . . . -  - . . . -  - . . . -  - . . . -
 . - - - .  . F F F .  . - - - .  . B B B .

            . D D D .
            - . . . -
            - . . . -
            - . . . -
            . D D D .""", "ascii"), ),
            use_edges_pattern=True,
            legal_moves=(
                "D2",
                "F2",
                "B2",
                "U",
                "U'",
                "U2",
                "2L",
                "2L'",
                "2L2",
                "2R",
                "2R'",
                "2R2",
            ))
Ejemplo n.º 26
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-edges-last-six-centers',

            # illegal moves...will list legal moves instead
            (),
            '5x5x5',
            'lookup-table-5x5x5-step602-edges-last-six-centers.txt',
            False,  # store_as_hex
            (("""
            . . . . .
            . U U U .
            . U U U .
            . U U U .
            . . . . .

 . . . . .  . . . . .  . . . . .  . . . . .
 . . . . .  . F F F .  . . . . .  . B B B .
 . . . . .  . F F F .  . . . . .  . B B B .
 . . . . .  . F F F .  . . . . .  . B B B .
 . . . . .  . . . . .  . . . . .  . . . . .

            . . . . .
            . D D D .
            . D D D .
            . D D D .
            . . . . .""", "ascii"), ),
            legal_moves=(
                "D2",
                "F2",
                "B2",
                "U",
                "U'",
                "U2",
                "2L",
                "2L'",
                "2L2",
                "2R",
                "2R'",
                "2R2",
            ))
Ejemplo n.º 27
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-reduce333',
            ("Uw", "Uw'", "Lw", "Lw'", "Fw", "Fw'", "Rw", "Rw'", "Bw", "Bw'",
             "Dw", "Dw'", "L", "L'", "R", "R'"),
            '4x4x4',
            'lookup-table-4x4x4-step30-reduce333.txt',
            False,  # store_as_hex

            # starting cubes
            (('.UU.UUUUUUUU.UU..LL.LLLLLLLL.LL..FF.FFFFFFFF.FF..RR.RRRRRRRR.RR..BB.BBBBBBBB.BB..DD.DDDDDDDD.DD.',
              'ULFRBD'),
             ('.UU.UUUUUUUU.UU..RR.RRRRRRRR.RR..BB.BBBBBBBB.BB..LL.LLLLLLLL.LL..FF.FFFFFFFF.FF..DD.DDDDDDDD.DD.',
              'ULFRBD'),
             ('.DD.DDDDDDDD.DD..LL.LLLLLLLL.LL..BB.BBBBBBBB.BB..RR.RRRRRRRR.RR..FF.FFFFFFFF.FF..UU.UUUUUUUU.UU.',
              'ULFRBD'),
             ('.DD.DDDDDDDD.DD..RR.RRRRRRRR.RR..FF.FFFFFFFF.FF..LL.LLLLLLLL.LL..BB.BBBBBBBB.BB..UU.UUUUUUUU.UU.',
              'ULFRBD')),
            use_edges_pattern=True)
Ejemplo n.º 28
0
    def __init__(self):
        BFS.__init__(
            self,
            '5x5x5-step41',
            (
                "Fw",
                "Fw'",
                "Bw",
                "Bw'",
                "Lw",
                "Lw'",
                "Rw",
                "Rw'",
                "Uw",
                "Uw'",
                "Dw",
                "Dw'",
            ),
            '5x5x5',
            'lookup-table-5x5x5-step41.txt',
            False,  # store_as_hex
            (("""
            . - - - .
            U . . . -
            U . . . -
            U . . . -
            . - - - .

 . L L L .  . - - - .  . - - - .  . - - - .
 - . . . -  - . . . -  - . . . -  - . . . -
 - . . . -  - . . . -  - . . . -  - . . . -
 - . . . -  - . . . -  - . . . -  - . . . -
 . L L L .  . - - - .  . - - - .  . - - - .

            . - - - .
            D . . . -
            D . . . -
            D . . . -
            . - - - .""", "ascii"), ),
            use_edges_pattern=True)
Ejemplo n.º 29
0
    def __init__(self):
        BFS.__init__(
            self,
            'starting-states-5x5x5-step50',

            # illegal moves
            (),
            '5x5x5',
            'starting-states-lookup-table-5x5x5-step50.txt',
            False,  # store_as_hex
            (("""
            . - - - .
            - . . . U
            - . . . U
            - . . . U
            . - - - .

 . - - - .  . - - - .  . R R R .  . - - - .
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 - L L L -  - F F F -  - R R R -  - B B B -
 . - - - .  . - - - .  . R R R .  . - - - .

            . - - - .
            - . . . D
            - . . . D
            - . . . D
            . - - - .""", "ascii"), ),
            use_edges_pattern=True,
            legal_moves=(
                "2R2",
                "2L2",
                "F2",
                "B2",
                "L2",
                "R2",
                "2U2",
                "2D2",
            ))
Ejemplo n.º 30
0
    def __init__(self):
        BFS.__init__(
            self,
            '444-highlow-edges',
            ("Uw", "Uw'", "Dw", "Dw'", "Fw", "Fw'", "Bw", "Bw'", "Lw", "Lw'",
             "Rw", "Rw'"),
            '4x4x4',
            'lookup-table-4x4x4-step20-highlow-edges.txt',
            False,  # store_as_hex

            # starting cubes
            (('.UD.D..UU..D.DU..DU.DLLUULLD.UD..DU.U..DD..U.UD..DU.DRRUURRD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DLLUURRD.UD..DU.U..DD..U.UD..DU.DLLUURRD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DLLUURRD.UD..DU.U..DD..U.UD..DU.DRRUULLD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DLRUULRD.UD..DU.U..DD..U.UD..DU.DLRUULRD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DLRUULRD.UD..DU.U..DD..U.UD..DU.DRLUURLD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DLRUURLD.UD..DU.U..DD..U.UD..DU.DRLUULRD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DRLUULRD.UD..DU.U..DD..U.UD..DU.DLRUURLD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DRLUURLD.UD..DU.U..DD..U.UD..DU.DLRUULRD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DRLUURLD.UD..DU.U..DD..U.UD..DU.DRLUURLD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DRRUULLD.UD..DU.U..DD..U.UD..DU.DLLUURRD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DRRUULLD.UD..DU.U..DD..U.UD..DU.DRRUULLD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD'),
             ('.UD.D..UU..D.DU..DU.DRRUURRD.UD..DU.U..DD..U.UD..DU.DLLUULLD.UD..DU.U..DD..U.UD..UD.D..UU..D.DU.',
              'ULFRBD')),
            use_centers_then_edges=True)