aboutsummaryrefslogtreecommitdiffstats
path: root/src/cascade_creation.py
diff options
context:
space:
mode:
authorjeanpouget-abadie <jean.pougetabadie@gmail.com>2015-02-03 11:28:45 -0500
committerjeanpouget-abadie <jean.pougetabadie@gmail.com>2015-02-03 11:28:45 -0500
commit072f7f0b0a2965d7d640a9fcf5ef60feb0756d93 (patch)
treeac73728a08b1085f395a1128677faf7b639b128b /src/cascade_creation.py
parentc650550dab33eac8e0eb86d9843a942ae00cc9c9 (diff)
downloadcascades-072f7f0b0a2965d7d640a9fcf5ef60feb0756d93.tar.gz
random
Diffstat (limited to 'src/cascade_creation.py')
-rw-r--r--src/cascade_creation.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/cascade_creation.py b/src/cascade_creation.py
index db0ea7a..c647b9a 100644
--- a/src/cascade_creation.py
+++ b/src/cascade_creation.py
@@ -18,6 +18,17 @@ class InfluenceGraph(nx.DiGraph):
G = nx.erdos_renyi_graph(n, p, directed=True)
self.add_edges_from(G.edges())
+ def connected_watts_strogatz(self, n, k, p):
+ """
+ n : number of nodes
+ k : number of nearest neighbor
+ p : proba of rewiring edge
+ """
+ G = nx.connected_watts_strogatz_graph(n, k, p)
+ self.add_edges_from(G.edges())
+ #TODO: Make the graph directed!
+ self.add_edges_from(G.edges())
+
def import_from_file(self, file_name):
"""
Takes a file from the Stanford collection of networks
@@ -31,8 +42,8 @@ class InfluenceGraph(nx.DiGraph):
@property
def mat(self):
if not hasattr(self, '_mat'):
- self._mat = (self.max_proba * np.random.rand(len(self), len(self))
- * np.asarray(nx.adjacency_matrix(self).todense()))
+ self._mat = self.max_proba * np.random.rand(len(self), len(self)
+ ) * np.asarray(nx.adjacency_matrix(self).todense().T)
return self._mat
@property
@@ -145,8 +156,7 @@ def add_edges_from_proba_vector(G, p_node, node, floor_cstt):
floor_parent = np.nonzero(p_node*(p_node > floor_cstt))
print(floor_parent)
for parent in floor_parent[0]:
- #SOMEHOW THERE WAS A BUG HERE!
- G.add_edge(node, parent)
+ G.add_edge(parent, node)
#TODO: update G's mat matrix
return G