aboutsummaryrefslogtreecommitdiffstats
path: root/jpa_test
diff options
context:
space:
mode:
Diffstat (limited to 'jpa_test')
-rw-r--r--jpa_test/cascade_creation.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/jpa_test/cascade_creation.py b/jpa_test/cascade_creation.py
index ac094b9..f30b208 100644
--- a/jpa_test/cascade_creation.py
+++ b/jpa_test/cascade_creation.py
@@ -15,6 +15,24 @@ class InfluenceGraph(nx.Graph):
self.add_nodes_from(G.nodes())
self.add_edges_from(G.edges())
+ def createStanfordGraph(self, file):
+ """
+ Takes a file from the Stanford collection of networks
+ Need to remove comments on top of the file
+ Graph still needs to be weighted on the edges
+ """
+ f = open(file, 'r')
+ data = f.readlines()
+ G = nx.DiGraph()
+ for edge in data:
+ split1 = edge.split('\t')
+ split2 = split1[1].split('\n')
+
+ u = int(split1[0])
+ v = int(split2[0])
+ G.add_edge(u,v)
+ return G
+
@property
def mat(self):
if not hasattr(self, '_mat'):
@@ -37,7 +55,9 @@ def icc_cascade(G, p_init):
p_init: proba that node in seed set
"""
susceptible = np.ones(G.number_of_nodes(), dtype=bool)
+ print susceptible
active = np.random.rand(G.number_of_nodes()) < p_init
+ print active
susceptible = susceptible - active
cascade = []
while active.any() and susceptible.any():
@@ -53,8 +73,28 @@ def concat_cascades(cascades):
"""
Concatenate list of cascades into matrix
"""
+ return np.vstack(cascades)
+
+def createStanfordGraph(file):
+ """
+ Takes a file from the Stanford collection of networks
+ Need to remove comments on top of the file
+ Graph still needs to be weighted on the edges
+ """
+ f = open(file, 'r')
+ data = f.readlines()
+ G = nx.DiGraph()
+ for edge in data:
+ split1 = edge.split('\t')
+ split2 = split1[1].split('\n')
+
+ u = int(split1[0])
+ v = int(split2[0])
+ G.add_edge(u,v)
+ return G
+
def test():
"""
unit test