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"), ), )
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'"), )
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, )
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"), ))
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"), )
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", ))
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'), ))
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)
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"), ))
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')))
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")))
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"), )
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"), ))
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"), ))
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"), ))
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')))
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, )
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)
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", ))
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'), ))
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')))
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", ))
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")))
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')))
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", ))
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", ))
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)
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)
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", ))
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)