diff options
Diffstat (limited to 'src/cascade_creation.py')
| -rw-r--r-- | src/cascade_creation.py | 18 |
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 |
