# Tutte's 8 cage tuttes8cage.py -------
actionset = [
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'10',
'11',
'12',
'13',
'14',
'15',
'16',
'17',
'18',
'19',
'20',
'21',
'22',
'23',
'24',
'25',
'26',
'27',
'28',
'29',
'0',
]
valuationdomain = {'min':0, 'med':1, 'max':2}
relation = {
'1': {
'1':0,
'2':2,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':2,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':2,
},
'2': {
'1':2,
'2':0,
'3':2,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':2,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'3': {
'1':0,
'2':2,
'3':0,
'4':2,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':2,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'4': {
'1':0,
'2':0,
'3':2,
'4':0,
'5':2,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':2,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'5': {
'1':0,
'2':0,
'3':0,
'4':2,
'5':0,
'6':2,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':2,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'6': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':2,
'6':0,
'7':2,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':2,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'7': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':2,
'7':0,
'8':2,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':2,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'8': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':2,
'8':0,
'9':2,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':2,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'9': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':2,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':2,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':2,
},
'10': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':2,
'16':0,
'17':0,
'18':0,
'19':0,
'20':2,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':2,
},
'11': {
'1':2,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':2,
'17':0,
'18':0,
'19':0,
'20':0,
'21':2,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'12': {
'1':0,
'2':2,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':2,
'18':0,
'19':0,
'20':0,
'21':0,
'22':2,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'13': {
'1':0,
'2':0,
'3':2,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':2,
'19':0,
'20':0,
'21':0,
'22':0,
'23':2,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'14': {
'1':0,
'2':0,
'3':0,
'4':2,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':2,
'20':0,
'21':0,
'22':0,
'23':0,
'24':2,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'15': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':2,
'6':0,
'7':0,
'8':0,
'9':0,
'10':2,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':2,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'16': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':2,
'7':0,
'8':0,
'9':0,
'10':0,
'11':2,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':2,
'27':0,
'28':0,
'29':0,
'0':0,
},
'17': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':2,
'8':0,
'9':0,
'10':0,
'11':0,
'12':2,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':2,
'28':0,
'29':0,
'0':0,
},
'18': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':2,
'9':0,
'10':0,
'11':0,
'12':0,
'13':2,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':2,
'29':0,
'0':0,
},
'19': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':2,
'10':0,
'11':0,
'12':0,
'13':0,
'14':2,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':2,
'0':0,
},
'20': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':2,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':2,
'24':0,
'25':0,
'26':0,
'27':2,
'28':0,
'29':0,
'0':0,
},
'21': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':2,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':2,
'25':0,
'26':0,
'27':0,
'28':2,
'29':0,
'0':0,
},
'22': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':2,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':2,
'26':0,
'27':0,
'28':0,
'29':2,
'0':0,
},
'23': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':2,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':2,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':2,
'27':0,
'28':0,
'29':0,
'0':0,
},
'24': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':2,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':2,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':2,
'28':0,
'29':0,
'0':0,
},
'25': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':2,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':2,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':2,
'29':0,
'0':0,
},
'26': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':2,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':2,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':2,
'0':0,
},
'27': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':2,
'18':0,
'19':0,
'20':2,
'21':0,
'22':0,
'23':0,
'24':2,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'28': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':2,
'19':0,
'20':0,
'21':2,
'22':0,
'23':0,
'24':0,
'25':2,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},
'29': {
'1':0,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':0,
'10':0,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':2,
'20':0,
'21':0,
'22':2,
'23':0,
'24':0,
'25':0,
'26':2,
'27':0,
'28':0,
'29':0,
'0':0,
},
'0': {
'1':2,
'2':0,
'3':0,
'4':0,
'5':0,
'6':0,
'7':0,
'8':0,
'9':2,
'10':2,
'11':0,
'12':0,
'13':0,
'14':0,
'15':0,
'16':0,
'17':0,
'18':0,
'19':0,
'20':0,
'21':0,
'22':0,
'23':0,
'24':0,
'25':0,
'26':0,
'27':0,
'28':0,
'29':0,
'0':0,
},

}

reflections = {
'g1':
frozenset([
('5','14'),('6','24'),('7','27'),('8','20'),
('9','10'),('15','19'),('16','21'),('18','23'),
('25','29'),('26','28')
]),
'g2':
frozenset([
('4','13'),('5','23'),('6','26'),('7','29'),
('8','19'),('14','18'),('15','20'),('17','22'),
('24','28'),('25','27')
]),
'g3':
frozenset([
('1','10'),('2','15'),('3','5'),('6','13'),
('7','18'),('11','20'),('12','25'),('16','23'),
('17','28'),('21','27')
])
}

rotations = {
'g4':
{
'0':'1', '1':'2', '2':'3', '3':'4', '4':'5', '5':'6',
'6':'7', '7':'8', '8':'9', '9':'0',
'10':'11', '11':'12', '12':'13',
'13':'14', '14':'15', '15':'16', '16':'17',
'17':'18', '18':'19', '19':'10',
'20':'21', '21':'22', '22':'23', '23':'24',
'24':'25', '25':'26', '26':'27', '27':'28', '28':'29', '29':'20'
}

}
