In [1]:
%matplotlib inline

import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

In [317]:
class FinancialNetwork:
    def __init__(self, g, th, N, E):
        self.g = g
        self.th = th
        self.N = N
        self.E = E
        self.a = np.zeros(N)
        self.e = np.zeros(N)
        self.invest = np.zeros(N)
        self.l = np.zeros(N)
        self.c = np.zeros(N)
        self.d = np.zeros(N)
        self.b = np.zeros(N)
        self.A = E/(1-th)
        self.I = th*self.A
        
    def set_assets(self):
        for i in range(self.N):
            self.e[i] = self.e_j_wave(i) + self.e_j_hat(i)
            self.invest[i] = self.iinvest(i)
            self.a[i] = self.e[i] + self.invest[i]
            self.c[i] = self.g*self.a[i]
            self.b[i] = self.get_bank(i)  
            self.d[i] = self.a[i] - self.c[i] - self.b[i]  
            self.l[i] = self.c[i] + self.d[i] + self.b[i]  
    
    def e_j_wave(self, i):
        G = self.network
        i_j = self.iinvest(i)
        b_j = self.get_bank(i)
        if b_j - i_j > 0:
            e_j_wave = b_j - i_j
        else:
            e_j_wave = 0
        return e_j_wave
    
    def e_j_hat(self, i):
        G = self.network
        e_j_sum = 0
        for j in range(self.N):
            e_j_sum += self.e_j_wave(j)
        e_j_sum = float(e_j_sum)
        k_sum = 0
        for j in range(25):
            k_sum += G.degree(j)
        k_sum = float(k_sum)
        k_j = float(G.degree(i))
        e_j_hat = (self.E - e_j_sum)*k_j/k_sum
        return e_j_hat
    
    def iinvest(self, i):
        G = self.network
        w = self.weight()
        iinvest = w*G.out_degree(i)
        return iinvest
    
    def get_bank(self, i):
        G = self.network
        w = self.weight()
        get_bank = w*G.in_degree(i)
        return get_bank
    
    def weight(self):
        G = self.network
        z = 0
        for i in range(25):
            z += G.degree(i)
        z = float(z)
        w = self.I/z
        return w      
    
    def set_rn(self, p):
        N = self.N
        G = nx.DiGraph()
        G.add_nodes_from([i for i in range(N)])
        for i in range(N):
            for j in range(N):
                if i != j:
                    y = np.random.choice([0, 1], p=[p, 1-p])
                    if y == 0:
                        G.add_edge(i,j,weight=1)
        self.network = G
        return self.network
    
    def set_sf(self, m_0, m_in, m_out):
        N = self.N
        G = nx.DiGraph()
        G.add_nodes_from([i for i in range(m_0)])
        for i in range(m_0):
            for j in range(m_0):
                if i != j:
                    G.add_edge(i,j,weight=1)
        
        k = 1
        while m_0+k-1 != N:
            G.add_node(m_0+k-1)
            k_in_sum = 0
            k_out_sum = 0
            for i in range(m_0+k-1):
                k_in_sum += float(G.in_degree(i))
                k_out_sum += float(G.out_degree(i))
            
            while G.in_degree(m_0+k-1) != m_in:
                for i in range(m_0+k-2):
                    p_in = G.in_degree(i)/k_in_sum
                    y_in = np.random.choice([0, 1], p=[p_in, 1-p_in])
                    if y_in == 0:
                        G.add_edge(i, m_0+k-1, weight=1)
                    if G.in_degree(m_0+k-1) == m_in:
                        break
            while G.out_degree(m_0+k-1) != m_out:
                for i in range(m_0+k-2):
                    p_out = G.out_degree(i)/k_out_sum
                    y_out = np.random.choice([0, 1], p=[p_out, 1-p_out])
                    if y_in == 0:
                        G.add_edge(m_0+k-1, i, weight=1)
                    if G.out_degree(m_0+k-1) == m_out:
                        break
            k += 1
        self.network = G
        print G.degree(6)
        return self.network
    
    def plot(self):
        G = self.network
        pos = nx.spring_layout(G)
        nx.draw_circular(G)
        plt.show()
        
    def select_bank(self, n, t):
        s_banks = np.array([])
        nodes = self.network.nodes()
        a = self.a
        if t == "top":
            while len(s_banks) != n+1:
                s_banks = np.append(s_banks, np.argmax(a))
                a[np.argmax(a)] = 0
                print a, np.argmax(a)
    
        elif t == "bottom":
            while len(s_banks) != n+1:
                s_banks = np.append(s_banks, np.argmin(a))
                a[np.argmin(a)] = 10000    
        else:
            while len(s_banks) != n+1:
                r = np.random.choice(nodes)
                s_banks = np.append(s_banks, r)
                nodes = np.delete(nodes, np.where(nodes==r))
        self.s_banks = s_banks
        return self.s_banks
    
    def evl(self):
        num = 0
        h = 1
        for i in range(self.N):
            if (self.a[i] > (self.l[i]-10)) and (self.a[i] < (self.l[i]+10)):
                num += 1
            elif ((self.a[i]-10) < self.l[i]) and (self.l[i] < (self.a[i]+10)):
                num += 1
            h += 1
            if num == self.N:
                return 1
        return 0
    
    def default(self):
        G = self.network
        dflt = np.array([])
        for i in range(10):
            for bank in range(self.N):
                if self.l[bank] - self.a[bank] > self.c[bank]:
                    if bank in G.nodes():
                        if bank not in dflt:
                            dflt = np.append(dflt, bank)
                        if (self.c[bank] + self.b[bank]) >= (self.l[bank] - self.a[bank]):
                            for j in range(self.N):
                                if j in G.nodes():
                                    if bank in G[j].keys():
                                        self.e[j] -= (self.l[bank] - self.a[bank] - self.c[bank])/G.in_degree(bank)
                                        if self.e[j] < 0:
                                            return j
                            self.b[bank] -= self.l[bank] - self.a[bank] - self.c[bank]
                        else:
                            for j in range(self.N):
                                if j in G.nodes():
                                    if bank in G[j].keys():
                                        self.e[j] -= self.b[bank]/G.in_degree(bank)
                            self.d[bank] -= self.l[bank] - self.a[bank] - self.c[bank] - self.b[bank]
                            self.b[bank] = 0
                        self.c[bank] = 0
                        G.remove_node(bank)
                else:
                    self.c[bank] -= self.l[bank] - self.a[bank]
            for i in range(self.N):
                self.a[i] = self.e[i] + self.invest[i]
                self.l[i] = self.c[i] + self.d[i] + self.b[i] 
                print self.a[i], self.l[i], G.nodes()
            if self.evl() == True:
                break
        return dflt
        
    def simulate(self, u):
        s_banks = self.s_banks
        for bank in s_banks:
            self.e[bank] = u*self.e[bank]
            self.a[bank] = self.e[bank] + self.invest[bank]
        d = self.default()
        return d

In [326]:
FN = FinancialNetwork(0.08, 0.3, 25, 100000)

In [331]:
FN.set_rn(0.3)


Out[331]:
<networkx.classes.digraph.DiGraph at 0x108859d90>

In [333]:
FN.set_sf(5, 2, 3)


5
Out[333]:
<networkx.classes.digraph.DiGraph at 0x105c85150>

In [334]:
FN.plot()
plt.savefig("1.jpg")


<matplotlib.figure.Figure at 0x105c7dd10>

In [322]:
FN.set_assets()

In [323]:
FN.select_bank(5, "r")


Out[323]:
array([  1.,   5.,  12.,  19.,  20.,   3.])

In [324]:
FN.simulate(0.8)


19366.7782738 20059.5238095 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 17299.1071429 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3869.04761905 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3080.35714286 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3653.27380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3080.35714286 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2507.44047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
19366.7782738 19366.7782738 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16970.2380952 16970.2380952 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
16769.3080357 16769.3080357 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
4149.21875 4226.19047619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3662.90922619 3662.90922619 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3518.26636905 3595.23809524 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3479.42708333 3479.42708333 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2530.17113095 2607.14285714 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
3003.38541667 3003.38541667 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2036.1235119 2113.0952381 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
2430.46875 2430.46875 [0, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24]
Out[324]:
array([  1.,   3.,   5.,  12.,  19.,  20.])

In [277]:
G = nx.DiGraph()
G.add_nodes_from([i for i in range(25)])
for i in range(25):
    for j in range(25):
        if i != j:
            y = np.random.choice([0, 1], p=[0.3, 0.7])
            if y == 0:
                G.add_edge(i,j,weight=1)

In [ ]:


In [278]:
pos = nx.spring_layout(G)

nx.draw_circular(G)

plt.show()



In [485]:
G[1].keys()


Out[485]:
[4, 7, 11, 15, 20, 21, 24]

In [45]:
y = np.random.choice([0, 1], 0.1)

In [492]:
G[2]


Out[492]:
{3: {'weight': 1}}

In [69]:
k = 0
for i in range(25):
    k += G.degree(i)
k


Out[69]:
334

In [62]:
G.nodes()


Out[62]:
[0,
 1,
 2,
 3,
 4,
 5,
 6,
 7,
 8,
 9,
 10,
 11,
 12,
 13,
 14,
 15,
 16,
 17,
 18,
 19,
 20,
 21,
 22,
 23,
 24]

In [68]:
G.number_of_edges()


Out[68]:
167

In [489]:
G = nx.DiGraph()
G.add_nodes_from([i for i in range(5)])
G.add_node(3)

In [490]:
for i in range(3):
    G.add_edge(1,2,weight=1)
G.add_edge(1,2,weight=1)
G.add_edge(2,3,weight=1)

In [487]:
G.in_degree(2)


Out[487]:
8

In [464]:
j = np.array([1, 3])

In [469]:
j[np.where(j==1)]


Out[469]:
array([1])

In [ ]: