diff options
| author | jeanpouget-abadie <jean.pougetabadie@gmail.com> | 2015-02-03 11:28:45 -0500 |
|---|---|---|
| committer | jeanpouget-abadie <jean.pougetabadie@gmail.com> | 2015-02-03 11:28:45 -0500 |
| commit | 072f7f0b0a2965d7d640a9fcf5ef60feb0756d93 (patch) | |
| tree | ac73728a08b1085f395a1128677faf7b639b128b | |
| parent | c650550dab33eac8e0eb86d9843a942ae00cc9c9 (diff) | |
| download | cascades-072f7f0b0a2965d7d640a9fcf5ef60feb0756d93.tar.gz | |
random
| -rw-r--r-- | paper/paper.tex | 1 | ||||
| -rw-r--r-- | src/algorithms.py | 3 | ||||
| -rw-r--r-- | src/cascade_creation.py | 18 |
3 files changed, 15 insertions, 7 deletions
diff --git a/paper/paper.tex b/paper/paper.tex index a3ec412..f922b3b 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -117,6 +117,7 @@ \input{sections/linear_threshold.tex} \section{Experiments} +\input{sections/experiments.tex} \section{Discussion} diff --git a/src/algorithms.py b/src/algorithms.py index 0afee24..9f6d3ea 100644 --- a/src/algorithms.py +++ b/src/algorithms.py @@ -61,9 +61,6 @@ def correctness_measure(G, G_hat, print_values=False): edges = set(G.edges()) edges_hat = set(G_hat.edges()) - print(sorted(edges)) - print(sorted(edges_hat)) - fp = len(edges_hat - edges) fn = len(edges - edges_hat) tp = len(edges & edges_hat) 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 |
