In [1]:
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
import os
from IPython.display import SVG
from IPython.display import HTML
In [2]:
pwd()
Out[2]:
In [3]:
In [4]:
Out[4]:
In [13]:
%run "../shared_code/constants.py"
%run "../shared_code/utilities.py"
%run "../shared_code/components.py"
%run "../shared_code/neighbors.py"
%run "../shared_code/display.py"
In [14]:
cards = np.zeros((40,1,3),dtype='ulonglong')
In [15]:
cards[6,0]
Out[15]:
In [16]:
# Card 18 - Itermediate
v18 = np.zeros((6,6),dtype=int)
v18[0,:2] = hcar
v18[1,:2] = hcar
v18[2,1:3] = hcar
v18[:2,2] = vcar
v18[:3,3] = vtruck
v18[2:5,0] = vtruck
v18[3,1:4] = htruck
v18[4,1:3] = hcar
v18[5,:3] = htruck
i1,i2 = split_int(board_to_int(v18))
cards[18] = [i1,i2,2]
HTML(svg_from_state(board_to_int(v18),2))
Out[16]:
In [17]:
cards[18]
Out[17]:
In [18]:
HTML(svg_from_state(combine_ints(cards[18,0,0],cards[18,0,1]),2))
Out[18]:
In [19]:
board_to_int(v18),split_int(board_to_int(v18))
Out[19]:
In [20]:
# Card 28 - Advanced
i = 28
v = np.zeros((6,6),dtype=int)
v[0,:3] = htruck
v[2,:2] = hcar
v[5,:2] = hcar
v[5,2:4] = hcar
v[1,4:6] = hcar
v[3,3:5] = hcar
v[4,2:5] = htruck
v[3:5,0] = vcar
v[3:5,1] = vcar
v[:2,3] = vcar
v[1:4,2] = vtruck
v[3:6,5] = vtruck
i1,i2 = split_int(board_to_int(v))
cards[i] = [i1,i2,2]
HTML(svg_from_state(board_to_int(v),1))
Out[20]:
In [21]:
# Card 14 - intermediate
i = 14
red_col = 3
v = np.zeros((6,6),dtype=int)
v[0,:2] = hcar
v[1,4:] = hcar
v[2,2:4] = hcar
v[3,2:4] = hcar
v[4,4:] = hcar
v[5,:2] = hcar
v[2:4,0] = vcar
v[2:4,1] = vcar
v[2:4,4] = vcar
v[2:4,5] = vcar
v[4:,2] = vcar
v[:2,2] = vcar
i1,i2 = split_int(board_to_int(v))
cards[i] = [i1,i2,2]
HTML(svg_from_state(board_to_int(v),red_col))
Out[21]:
In [23]:
# Card 37 - intermediate
i = 37
red_col = 2
v = np.zeros((6,6),dtype=int)
v[0,:2] = hcar
v[1,:2] = hcar
v[2,1:3] = hcar
v[3,1:4] = htruck
v[5,:2] = hcar
v[0,4:] = hcar
v[4,4:] = hcar
v[5,4:] = hcar
v[2:5,0] = vtruck
v[1:4,4] = vtruck
v[1:4,5] = vtruck
v[4:,3] = vcar
v[:2,2] = vcar
i1,i2 = split_int(board_to_int(v))
cards[i] = [i1,i2,2]
HTML(svg_from_state(board_to_int(v),red_col))
Out[23]:
In [98]:
comps = components([(board_to_int(v),int(1))])
In [99]:
comps
Out[99]:
In [100]:
g = comps[0]
In [101]:
g.size()
Out[101]:
In [102]:
len(g.nodes())
Out[102]:
In [18]:
%run numpy_distance_partition.py
partition = distance_partition(g)
In [19]:
len(partition)
Out[19]:
In [20]:
partition[60]
Out[20]:
In [21]:
HTML(svg_from_state(276745027360252628944933584371200, 2))
Out[21]:
In [22]:
HTML(svg_neighborhood(276745027360252628944933584371200, 2))
Out[22]:
In [23]:
g
Out[23]:
In [36]:
import copy
h = nx.Graph()
#h.nodes = copy.deepcopy(g.nodes)
h
Out[36]:
In [37]:
len(h.nodes())
Out[37]:
In [38]:
h.size()
Out[38]:
In [39]:
len(g.nodes())
Out[39]:
In [40]:
nodes = list(g.nodes())
In [41]:
nodes[0]
Out[41]:
In [42]:
d_0 = [n for n in g.nodes() if n[1] == 5]
len(d_0)
Out[42]:
In [43]:
for n in d_0:
h.add_node(n)
len(h.nodes())
Out[43]:
In [44]:
g
Out[44]:
In [45]:
len(g.edges())
Out[45]:
In [46]:
edges = [g.edges()]
In [51]:
type(edges[0])
Out[51]:
In [52]:
g.edges()[0]
Out[52]:
In [54]:
g.edges()[1]
Out[54]:
In [57]:
p_edges = [e for e in g.edges() if abs( e[0][1] - e[1][1] ) == 1]
len(p_edges)
In [58]:
len(p_edges)
Out[58]:
In [64]:
g.nodes()[0]
Out[64]:
In [65]:
g[(276745027360252628944933584371200, 2)]
Out[65]:
In [68]:
nbr_depths = {n:set([ x[1] for x in g[n]]) for n in g.nodes()}
In [75]:
buried_nodes = [x for x in nbr_depths.keys() if set(x[1]) == nbr_depths[x]]
In [83]:
list(nbr_depths.keys())[0][1]
Out[83]:
In [82]:
nbr_depths[(276745027360252628944933584371200, 2)]
Out[82]:
In [84]:
{1.2} == {2}
Out[84]:
In [134]:
cards[18],cards[28],cards[14],cards[37]
Out[134]:
In [ ]: