aboutsummaryrefslogtreecommitdiffstats
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
parentc650550dab33eac8e0eb86d9843a942ae00cc9c9 (diff)
downloadcascades-072f7f0b0a2965d7d640a9fcf5ef60feb0756d93.tar.gz
random
-rw-r--r--paper/paper.tex1
-rw-r--r--src/algorithms.py3
-rw-r--r--src/cascade_creation.py18
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