{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# code for loading the format for the notebook\n", "import os\n", "\n", "# path : store the current path to convert back to it later\n", "path = os.getcwd()\n", "os.chdir(os.path.join('..', '..', 'notebook_format'))\n", "\n", "from formats import load_style\n", "load_style(plot_style=False)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ethen 2018-10-25 17:38:52 \n", "\n", "CPython 3.6.4\n", "IPython 6.4.0\n", "\n", "igraph 0.7.1\n", "numpy 1.14.1\n", "matplotlib 2.2.2\n" ] } ], "source": [ "os.chdir(path)\n", "\n", "# 1. magic for inline plot\n", "# 2. magic to print version\n", "# 3. magic so that the notebook will reload external python modules\n", "# 4. magic to enable retina (high resolution) plots\n", "# https://gist.github.com/minrk/3301035\n", "%matplotlib inline\n", "%load_ext watermark\n", "%load_ext autoreload\n", "%autoreload 2\n", "%config InlineBackend.figure_format='retina'\n", "\n", "import time\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from igraph import Graph # pip install python-igraph\n", "\n", "%watermark -a 'Ethen' -d -t -v -p igraph,numpy,matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Submodular Optimization & Influence Maximization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The content and example in this documentation is build on top of the wonderful blog post at the following link. [Blog: Influence Maximization in Python - Greedy vs CELF](https://hautahi.com/im_greedycelf). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Influence Maximization (IM)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Influence Maximization (IM)** is a field of network analysis with a lot of applications - from viral marketing to disease modeling and public health interventions. IM is the task of finding a small subset of nodes in a network such that the resulting \"influence\" propagating from that subset reaches the largest number of nodes in the network. \"Influence\" represents anything that can be passed across connected peers within a network, such as information, behavior, disease or product adoption. To make it even more concrete, IM can be used to answer the question:\n", "\n", "> If we can try to convince a subset of individuals to adopt a new product or innovation, and the goal is to trigger a large cascade of further adoptions, which set of individuals should we target?\n", "\n", "[Kempe et al. (2003)](https://www.cs.cornell.edu/home/kleinber/kdd03-inf.pdf) were the first to formalize IM as the following combinatorial optimization problem: Given a network with $n$ nodes and given a \"spreading\" or propagation process on that network, choose a \"seed set\" $S$ of size $k best_spread:\n", " best_spread = spread\n", " best_node = node\n", "\n", " solution.append(best_node)\n", " spreads.append(best_spread)\n", "\n", " elapse = round(time.time() - start_time, 3)\n", " elapsed.append(elapse)\n", "\n", " return solution, spreads, elapsed" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "solution: [0, 1]\n", "spreads: [2.74, 5.098]\n", "elapsed: [0.263, 0.755]\n" ] } ], "source": [ "# the result tells us greedy algorithm was able to find the two most influential\n", "# node, node 0 and node 1\n", "k = 2\n", "prob = 0.2\n", "n_iters = 1000\n", "greedy_solution, greedy_spreads, greedy_elapsed = greedy(graph, k, prob, n_iters)\n", "print('solution: ', greedy_solution)\n", "print('spreads: ', greedy_spreads)\n", "print('elapsed: ', greedy_elapsed)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Submodular Optimization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have a brief understanding of the IM problem and taken a first stab at solving this problem, let's take a step back and formally discuss submodular optimization. **A function $f$ is said to be submodular if it satisfies the diminishing return property**. More formally, if we were given a ground set $V$, a function $f:2^V \\rightarrow \\mathbb{R}$ (the function's space is 2 power $V$, as the function can either contain or not contain each element in the set $V$). The submodular property is defined as:\n", "\n", "\\begin{align}\n", "f(A \\cup \\{i\\}) - f(A) \\geq f(B \\cup \\{i\\}) - f(B)\n", "\\end{align}\n", "\n", "For any $A \\subseteq B \\subseteq V$ and $i \\in V \\setminus B$. Hence by adding any element $i$ to $A$, which is a subset of $B$ yields as least as much value (or more) if we were to add $i$ to $B$. In other words, the marginal gain of adding $i$ to $A$ should be greater or equal to the marginal gain of adding $i$ to $B$ if $A$ is a subset of $B$.\n", "\n", "The next property is known as monotone. We say that a submodular function is monotone if for any $A \\subseteq B\n", "\\subseteq V$, we have $f(A) \\leq f(B)$. This means that adding more elements to a set cannot decrease its value.\n", "\n", "For example: Let $f(X)=max(X)$. We have the set $X= \\{1,2,3,4,5\\}$, and we choose $A=\\{1,2\\}$ and $B=\\{1,2,5\\}$. Given those information, we can see $f(A)=2$ and $f(B)=5$ and the marginal gain of items 3,4 is :\n", "\n", "\\begin{align}\n", "f(3 \\, | \\, A) = 1 \\\\ \\nonumber\n", "f(4 \\, | \\, B) = 0 \\\\ \\nonumber\n", "f(3 \\, | \\, A) = 2 \\\\ \\nonumber\n", "f(4 \\, | \\, B) = 0\n", "\\end{align}\n", "\n", "Here we use the shorthand $f(i \\, | \\, A)$, to denote $f(A \\cup \\{i\\}) - f(A)$.\n", "\n", "Note that $f(i \\, | \\, A) \\ge f(i \\, | \\, B)$ for any choice of $i$, $A$ and $B$. This is because $f$ is submodular and monotone. To recap, submodular functions has the diminishing return property saying adding an element to a larger set results in smaller marginal increase in the value of $f$ (compared to adding the element to a smaller set). And monotone ensures that adding additional element to the solution set does not decrease the function's value.\n", "\n", "Since the functions we're dealing with functions that are monotone, the set with maximum value is always including everything from the ground set $V$. But what we're actually interested in is when we impose a cardinality constraint - that is, finding the set of size at most k that maximizes the utility. Formally:\n", "\n", "\\begin{align}\n", "A^* = \\underset{A: |A| \\leq k}{\\text{argmax}} \\,\\, f(A)\n", "\\end{align}\n", "\n", "For instance, in our IM problem, we are interested in finding the subset $k$ nodes that generates the largest influence. The greedy algorithm we showed above is one approach of solving this combinatorial problem.\n", "\n", "- Given a ground set $V$, if we're interested in populating a solution set of size $k$.\n", "- The algorithm starts with the empty set $A_0$\n", "- Then repeats the following step for $i = 0, ... , (k-1)$:\n", "\n", "\\begin{align}\n", "A_{i+1} = A_{i} \\cup \\{ \\underset{v \\in V \\setminus A_i}{\\text{argmax}} \\,\\, f(A_i \\cup \\{v\\}) \\}\n", "\\end{align}\n", "\n", "From a theoretical standpoint, this procedure guarantees a solution that has a score of 0.63 of the optimal set." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2.74 , 2.358])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# if we check the solutions from the greedy algorithm we've\n", "# implemented above, we can see that our solution is in fact\n", "# submodular, as the spread we get is in diminshing order\n", "np.diff(np.hstack([np.array([0]), greedy_spreads]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cost Effective Lazy Forward (CELF) Algorithm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**CELF Algorithm** was developed by [Leskovec et al. (2007)](https://www.cs.cmu.edu/~jure/pubs/detect-kdd07.pdf). In other places, this is referred to as the **Lazy Greedy Algorithm**. Although the Greedy algorithm is much quicker than solving the full problem, it is still very slow when used on realistically sized networks. CELF was one of the first significant subsequent improvements.\n", "\n", "CELF exploits the sub-modularity property of the spread function, which implies that the marginal spread of a given node in one iteration of the Greedy algorithm cannot be any larger than its marginal spread in the previous iteration. This helps us to choose the nodes for which we evaluate the spread function in a more sophisticated manner, rather than simply evaluating the spread for all nodes. More specifically, in the first round, we calculate the spread for all nodes (like Greedy) and store them in a list/heap, which is then sorted. Naturally, the top node is added to the seed set in the first iteration, and then removed from the list/heap. In the next iteration, only the spread for the top node is calculated. If, after resorting, that node remains at the top of the list/heap, then it must have the highest marginal gain of all nodes. Why? Because we know that if we calculated the marginal gain for all other nodes, they'd be lower than the value currently in the list (due to submodularity) and therefore the \"top node\" would remain on top. This process continues, finding the node that remains on top after calculating its marginal spread, and then adding it to the seed set. By avoiding calculating the spread for many nodes, CELF turns out to be much faster than Greedy, which we'll show below.\n", "\n", "The `celf()` function below that implements the algorithm, is split into two components. The first component, like the Greedy algorithm, iterates over each node in the graph and selects the node with the highest spread into the seed set. However, it also stores the spreads of each node for use in the second component.\n", "\n", "The second component iterates to find the remaining $k-1$ seed nodes. Within each iteration, the algorithm evaluates the marginal spread of the top node. If, after resorting, the top node stays in place then that node is selected as the next seed node. If not, then the marginal spread of the new top node is evaluated and so on.\n", "\n", "Like `greedy()`, the function returns the optimal seed set, the resulting spread and the time taken to compute each iteration. In addition, it also returns the list `lookups`, which keeps track of how many spread calculations were performed at each iteration. We didn't bother doing this for `greedy()` because we know the number of spread calculations in iteration $i$ is $N-i-1$." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "import heapq\n", "\n", "\n", "def celf(graph, k, prob, n_iters=1000):\n", " \"\"\"\n", " Find k nodes with the largest spread (determined by IC) from a igraph graph\n", " using the Cost Effective Lazy Forward Algorithm, a.k.a Lazy Greedy Algorithm.\n", " \"\"\"\n", " start_time = time.time()\n", "\n", " # find the first node with greedy algorithm:\n", " # python's heap is a min-heap, thus\n", " # we negate the spread to get the node\n", " # with the maximum spread when popping from the heap\n", " gains = []\n", " for node in range(graph.vcount()):\n", " spread = compute_independent_cascade(graph, [node], prob, n_iters)\n", " heapq.heappush(gains, (-spread, node))\n", "\n", " # we pop the heap to get the node with the best spread,\n", " # when storing the spread to negate it again to store the actual spread\n", " spread, node = heapq.heappop(gains)\n", " solution = [node]\n", " spread = -spread\n", " spreads = [spread]\n", "\n", " # record the number of times the spread is computed\n", " lookups = [graph.vcount()]\n", " elapsed = [round(time.time() - start_time, 3)]\n", "\n", " for _ in range(k - 1):\n", " node_lookup = 0\n", " matched = False\n", "\n", " while not matched:\n", " node_lookup += 1\n", "\n", " # here we need to compute the marginal gain of adding the current node\n", " # to the solution, instead of just the gain, i.e. we need to subtract\n", " # the spread without adding the current node\n", " _, current_node = heapq.heappop(gains)\n", " spread_gain = compute_independent_cascade(\n", " graph, solution + [current_node], prob, n_iters) - spread\n", "\n", " # check if the previous top node stayed on the top after pushing\n", " # the marginal gain to the heap\n", " heapq.heappush(gains, (-spread_gain, current_node))\n", " matched = gains[0][1] == current_node\n", "\n", " # spread stores the cumulative spread\n", " spread_gain, node = heapq.heappop(gains)\n", " spread -= spread_gain\n", " solution.append(node)\n", " spreads.append(spread)\n", " lookups.append(node_lookup)\n", "\n", " elapse = round(time.time() - start_time, 3)\n", " elapsed.append(elapse)\n", "\n", " return solution, spreads, elapsed, lookups" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "solution: [0, 1]\n", "spreads: [2.74, 5.098]\n", "elapsed: [0.257, 0.327]\n", "lookups: [10, 1]\n" ] } ], "source": [ "k = 2\n", "prob = 0.2\n", "n_iters = 1000\n", "\n", "celf_solution, celf_spreads, celf_elapsed, celf_lookups = celf(graph, k, prob, n_iters)\n", "print('solution: ', celf_solution)\n", "print('spreads: ', celf_spreads)\n", "print('elapsed: ', celf_elapsed)\n", "print('lookups: ', celf_lookups)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Larger Network" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we know both algorithms at least work correctly for a simple network for which we know the answer, we move on to a more generic graph to compare the performance and efficiency of each method. Any `igraph` network object will work, but for the purposes of this post we will use a random Erdos-Renyi graph with 100 nodes and 300 edges. The exact type of graph doesn't matter as the main points hold for any graph. Rather than explicitly defining the nodes and edges like we did above, here we make use of the `.Erdos_Renyi()` method to automatically create the graph." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "np.random.seed(1234)\n", "graph = Graph.Erdos_Renyi(n=100, m=300, directed=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given the graph, we again compare both optimizers with the same parameter. Again for the `n_iters` parameter, it is not uncommon to see it set to a much higher number in literatures, such as 10,000 to get a more accurate estimate of spread, we chose a lower number here so we don't have to wait as long for the results" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "celf output: [95, 6, 61, 42, 29, 97, 52, 12, 98, 58]\n", "greedy output: [95, 6, 61, 42, 29, 97, 52, 12, 98, 58]\n" ] } ], "source": [ "k = 10\n", "prob = 0.1\n", "n_iters = 1500\n", "celf_solution, celf_spreads, celf_elapsed, celf_lookups = celf(graph, k, prob, n_iters)\n", "greedy_solution, greedy_spreads, greedy_elapsed = greedy(graph, k, prob, n_iters)\n", "\n", "# print resulting solution\n", "print('celf output: ' + str(celf_solution))\n", "print('greedy output: ' + str(greedy_solution))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thankfully, both optimization method yields the same solution set.\n", "\n", "In the next few code chunk, we will use some of the information we've stored while performing the optimizing to perform a more thorough comparison. First, by plotting the resulting expected spread from both optimization method. We can see both methods yield the same expected spread." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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rFy5kn379tHc3Mzo0aNZtGgRr3rVq/j93/99zj///L4uVZIkSZI0gDmTRYPaE088wcyZM7nzzjv57ne/S3V1NZlMhoqKCvbt28dPfvITPvrRj3LBBRfw+te/nv379/d1yZIkSZI0oNXXHeNAzd6+LqNPGLJo0PqXf/kXrr/+enbv3s38+fO5//77qampob6+noMHD9LU1MSKFSv4yEc+wuTJk/nxj3/Mjh07+rpsSZIkSRqQWppb2LB6M8vX72dlzTGaG5v6uqRzzuVCGpRWrlzJ3XffTZIkXHfddXzrW9+irKzslHPS6TTLli1j2bJlvOc97+EjH/kIxcXFfVSxJEmSJA1MSZKwZ+su1uxvpD5dAinIkGbj+m0sOn9OX5d3TjmTRYPSBz7wAZqampgxYwaPPPLIaQFLeyUlJXzkIx9h8eLFJx5bvnw5IQSqqqoAeOqpp7jqqqsYP348qVSKz33uc6dco6mpifvuu49LL72UMWPGUFpayowZM7j99ttZu3Ztl8+/b98+/vqv/5qlS5dSWVlJRUUFS5Ys4f3vfz8HDx7sdFySJHzxi1/kggsuoLy8nHHjxnHttdfy85//vMPzY4zMmTOHEAL33XdflzVddtllhBB43/ve1+V5kiRJkoau2gOH+MXKTaw4FLMBSxtbmks4euhIH1XWN5zJMgC1PPm9vi6hoIquueGsxm/fvp2nnnoKgHvuuYfKysqzrunTn/409957LyEERo4cSSp1aj65a9currrqKp5//nkAUqkUFRUVbNu2jQceeIBvfvObPProo9x4442nXfu///u/ue66606EKSUlJaRSKVavXs3q1at5+OGHeeaZZ5g/f/4p41paWrj55pt5/PHHASgqKqKlpYUf/vCHPP300zz22GOnPVcIgdtvv533v//9PPDAA/zpn/5ph69306ZN/Nd//RcAb33rW/N8tyRJkiQNdk0NDWxYv4OtLSXEVHmH58SQYs3mvbziopHnuLq+40wWDTrPPffcid+vueaas77enj17eO9738vdd9/Nrl27OHToEEePHuXmm28GoLm5meuuu47nn3+e3/3d3+V//ud/aGhooLa2lpqaGt797nfT0NDArbfeyqZNm0659tatW7n22ms5ePAgf/Inf8LGjRupr6/n2LFjrFq1iiuvvJLt27dz4403kslkThn7iU98gscff5xU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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 392, "width": 556 } }, "output_type": "display_data" } ], "source": [ "# change default style figure and font size\n", "plt.rcParams['figure.figsize'] = 8, 6\n", "plt.rcParams['font.size'] = 12\n", "\n", "lw = 4\n", "fig = plt.figure(figsize=(9,6))\n", "ax = fig.add_subplot(111)\n", "ax.plot(range(1, len(greedy_spreads) + 1), greedy_spreads, label=\"Greedy\", color=\"#FBB4AE\", lw=lw)\n", "ax.plot(range(1, len(celf_spreads) + 1), celf_spreads, label=\"CELF\", color=\"#B3CDE3\", lw=lw)\n", "ax.legend(loc=2)\n", "plt.ylabel('Expected Spread')\n", "plt.title('Expected Spread')\n", "plt.xlabel('Size of Seed Set')\n", "plt.tick_params(bottom=False, left=False)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now compare the speed of each algorithm. The plot below shows that the computation time of Greedy is larger than CELF for all seed set sizes greater than 1 and the difference in computational times grows exponentially with the size of the seed set. This is because Greedy must compute the spread of $N-i-1$ nodes in iteration $i$ whereas CELF generally performs far fewer spread computations after the first iteration." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABGgAAAMRCAYAAACwAIC3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl8XXWd//H35yRt2ibd91Joy9ZWWlq6sooiooAgFJRxwUFAwGVEHX7qII446IyMiiK4DCqUERBQccFaBBzLUkpbulNaqKUrpWvaJk2zNPd8fn+ck/Q2zU1Om3tzs7yej8d93OV8vud87s0Nmne/53vM3QUAAAAAAID8CfLdAAAAAAAAQGdHQAMAAAAAAJBnBDQAAAAAAAB5RkADAAAAAACQZwQ0AAAAAAAAeUZAAwAAAAAAkGcENAAAAAAAAHlGQAMAAAAAAJBnBDQAAAAAAAB5RkADAAAAAACQZwQ0AAAAAAAAeUZAAwAAAAAAkGcENAAAAAAAAHlGQAMAANDGmdkcM3MzW5/vXtoSMxsZfy5uZrfnux8AAFqCgAYAgDwyszPN7Dtm9rKZvWVmVWa2z8w2mtksM/s3MxuV7z6BbDCz29MClZbc3pXv9wIAQLYR0AAAkAdmNs7M/k/SXElfkTRd0jBJRZKKJR0r6SJJ/ylprZn91sxOyFe/HZmZvSvtD/9rOuoxAQBA21aY7wYAAOhszOwSSY9IKolfWi/pMUkvSdoWvzZU0tmSLpN0gqQrJL0q6fZWbBVthLu/K989ZMlPJP02w7Zhkv4aP35F0ieb2M86SXL39ZIsW80BAJBPBDQAALQiM5si6TeKZsq4pH+X9N/uXtNI+R/M7MuSPibpztbrEsgNd98uaXtj28xsX9rTCnd/tXW6AgCgbSCgAQCglZhZF0mPKwpnJOlf3P3HTY1x91DSr8zsGUmn5bhFAAAA5Alr0AAA0Ho+Ialuwd9nmwtn0rn7VnefnWm7mX3AzB6PFxeuMrM9ZrbczL5nZiOa2nfDKwSZWX8z+7aZrYwXLN5uZs+Y2QUNxvUws5vNbKGZ7Y5r55vZNWaW8bSTRo431Mz+28xWxfvYY2ZzzewmMytoYj8z69Zxaeb9NXqln7rXJf09rfyBRhakndNgf4Vm9n4zuzte3HmnmR0wszIze83M/sfMTm2ql6M4ZqKrOJlZTzP7spm9aGY7zKzGzLbGP7+b4pAw8edkZhPN7EEz22Bm1fF34U9mdm5TfbSWTD/bprZbtDD3o2a2Kf5dWWtmPzGz4Q3GjjGzn5nZGjOrjN/742Y2LmFvJWb2JTP7m5m9HX9+u8zsJTO71cz6ZOMzAAB0HMygAQCg9Vyf9vh72dihmZVIelTSxQ02FUkaH98+Z2afdfdfJtjfOEmzJaX/sVos6XxJ55vZ5939nviP2T9LmtBgF9Pi22RJ/5LgeJMk/UXS4AabzoxvHzezi919b3P7akXfk3RzI6/3lDQ2vn3KzG5z9/9srabM7HRJf9Dhn+Xg+Ha+pC/En+faBPu7QdK9ktJDnYGSLpH0ATP7jLv/LCvNtxIz+5Kk7+rQf6Q8XtKnJV1mZu9y9zfM7MOSZkrqnlbXTdKHFL3397n7C00c5z2K1pka1GBTP0lnxLcvmNmV7v58C98WAKCDYAYNAACtIA5SpsRP90v6Wxb2aZKe0MFw5jVFIdA0Se+S9B1JVYrCml+Y2Uea2WUPRX/g95T0DUnnxPu6RVJ5XPMDMxsb142RdJek9yh6b5+StDWu+5yZnZ/geL9T9EfrD+P9TJV0jaTlcc1ZyryobEu9pSjAujbttdt0MNiquzVcrLZQ0mZF4cXVcY+TFQUX35S0S9HCtd9u5DM/2mM2yczGSHpWB8OZRyR9IO7rCklPxa+PlvScmfVvZpcXSPqppDcU/Vynx+/zW5Jq4vd3t5mdfCR95tn7FYVrSxT93KYoCq1+HW8fKuk+M5sm6WFFP6ubFL33cyT9KK7rLunBTLORzOy9ij7vQZJKFX1ml8fHO0/StyWVKQq7ZpnZKVl9lwCA9svduXHjxo0bN245vin6F3OPby9laZ/Xpe1zjqRujdRMl1QR1+yR1LuRmjlp+ymVNKaRmkvTarZLqpZ0TiN1EyWl4rrfZ+g7/XgHJJ3fSE1XRSFWXd3HGqmZWbe9mc9pZNp+bm9k+7vStl+T4HM/XlJBE9v7KAqYXNJaSUEWjln3ma3PsP2FtP3dlKHmu2k1M5v5nFxRyFDUSN0n0mruyuLvSPrx5xzFmMZ+tg3f058kdWmk7ncNvt8LJPVspO6utLoPNrK9VzzeFQVmh+0jrjspvS5bnyE3bty4cWvfN2bQAADQOgakPd6WserI1J1mUyPpanevaljg7vMl1Z1m01vNz8z4d3df3ch+/iRpY/x0oKQfeSOneLj7Uklz46fvbPYdSPe5+7ON7Kcm7vVA/FKzp0u1Fnd/091TTWzfo2hWjBSFOQ1PA8uq+DSxs+OnT3nm047+TdKq+PFHzazh6TfpqiT9s7tXN7LtIR2cKdUm1qJJqErSde5+oJFt6etBDZR0rbuXN1J3b9rjxt77TfH4/ZI+kmEfcvc1kv4jfvoeMxvVWB0AoHMhoAEAoHX0Snu8L2NVQmY2RNGpMJI02903NVH+P5LC+PEFTdS5Dp7u0ZhlaY+bqlsa3/czs95N1EnS/Rmbcd8o6Zn46bQE+8oLM+tlZqPM7BQzGxev41ObVpLrq2+l/0z/J1ORu9dK+kX8tIuiWTyZPOvujQaJHl1ZbFH89PjkbebdM+6+I8O2pWmPV3iGS3y7+5s6eLpfY6HKjPj+2SaOVWdO2uOzmqkFAHQCBDQAALSO9H9JL8nC/sanPZ7XVKG775S0Jn7a6NWFYjvdfVcT2/ekPT5slk2Gul4Zq6KZP8ua2C5J8+N706HvOa/M7GQz+6mZbZS0V9Kbkl6VtCK+zUorH9DILrIp8XdB0ktpj5v6LjT185WiU+Gkpn++bU3S72xz772u9pD3btEVxybHTy9t5Mpch9wUfU/qDE3yBgAAHRtXcQIAoHXsTHvc8Co7RyN9kdetGasOrRndYFxD+5vZR90sHLl7U7Vh2uOMl8mWtCue1dGU9FkczS1s2yrM7GOSHtChVzdqSvfmS1qk7nMJFa1r0pT070pTn2dFM/up+xm3p3/sy/iddffQDl4ZPunvQcPvdl8d/f+37nGU4wAAHQgBDQAArWOFotNeCiVNNLPCBOEE2hgzO0nRaVldFIUYdylaTPcfkvbWrdliZscrWiBYimb/oONL///Vf5D09SMY21ywBgDoBAhoAABoBe5ebmaLFF1Vqbuiy/s+1fSoJqWfijQkQX1dTVOnMLW2/gmCqvTZRg17r1+o18yCeG2UxhQfbYON+KSiK0xJ0gx3fzpDXd8sHrM5dZ9LoOjSzk0tQp3+XWlL34WOYJeidZxMUtdM69gAAJBJe5qWCgBAe/eLtMf/2sJ9LU97fHpThWY2QNFlfaXm13xpTV3V/BWOpsf3DdfskA5d16epQGRsM8fwZranq1vvpbSJcEaSpmTxmM1J/F2QdGba47b0XWj34qtD1f0sTjezpKfAAQAgiYAGAIDW9L+S1sePzzezzyYdaGaDzezCuufxFXbq/hi80MyGNzH8Uzr4v/lNhQr5cG2mDWZ2nKT3xk8XuPveBiVvpj2e2sQxPt5MD5Vpj4uaqa2bfdzNzBr9/1Hx6zdm8ZjNSf+Z3pCpKF7E9rr4aY0OvYoQsuOJ+L6fDn7WAAAkQkADAEArcfcaSR+WVB2/dI+Zfa2pf2k3s8DMPippiQ7OJqlzd3xfJOlBMzvsD30zmyLpa/HTPZJmHv07yIkbzOz8hi+aWVcduhDvPY2MnZP2+F8bC0zM7BpJH2ymhy1pj09upvaN+L6Hop9lY76r5i+tfSTHbJK7L5H0Qvz0IjO7PkPptyW9I378SILLQOPI/UgHTx27y8ze11SxmQ0ws3/JfVsAgPaANWgAAGhF7r7QzD4k6RFFl9v+lqTrzexRSXN1cLHQoYpOR7lMmf+Af0DSPymaZXKepEVmdpeimTU9JL1P0hd18CpCn25kFko+7VC00O4sM/uxpD8pOm3pFElf0sHTn55194cbDnb35Wb2vKR3KlrTZ5aZ3SPpbUnHSLpK0scUfa5nZWrC3Teb2XpJIyVdZ2YrJS3SwSBtv7tvjB//r6R/UbTOyP1mdpqkZyTtVnSVrBvjfl6UdHaWjpnEp+LxxZJ+bmbnSvq1oqs2jYi3183AekvSLUewbyTk7nvi3++/Kvq9m21mf1A0s2aNoplL/SSNU/Q7+35FvweNBZAAgE6GgAYAgFbm7k+a2RmK/ih7l6I/0r/a1BBJjykKZNL342Y2Q9Kjki5WFGz8spHx1ZI+6+6Ptrj57NovaYak2YqCpC82UvOSpCub2Me1kp6XNEzRH7vvb7D9r/F+X2uml28q+nx76/DP8DlFPye5+yIzu1XSfyn6A/zL8S3ds5JulrQyG8dMwt1fj2ci/UHRwsofV+Ondr0u6WJ3Z4HgHHH3v6cFZCMkXR7fMmlLoSkAII84xQkAgDxw91fd/d2KZnb8t6T5imZ+1CgKLjZJ+oui4Gaku3/E3Tc0sp997v4BSZdK+q2kzYoCmTJFi+reJWm0uzcW3ORdfHrOREnfk7Ra0XsvkzRP0mckvbOpWT/uvlbSJEk/VHSp62pFs1nmSrpe0ayRykzj0/YzU1G480dFM0xqmqj9jqIZO3+WtFPSAUUzVZ5VdJWnC+L3kbVjJuHuLytaDPqrioKtXXFv2+PePi3p1PgzQw65+zxFP4trFM2e2aDoO3FA0XdmgaQfK/q9nZifLgEAbY25Z/MiAgAAAE0zszmSzpW0wd1H5rcbAACAtoEZNAAAAAAAAHlGQAMAAAAAAJBnBDQAAAAAAAB5RkADAAAAAACQZwQ0AAAAAAAAecZVnAAAAAAAAPKMGTQAAAAAAAB5RkADAAAAAACQZwQ0AAAAAAAAeUZAAwAAAAAAkGeF+W4AyZjZOkm9JK3PcysAAAAAAOCgkZLK3H1US3ZCQNN+9OrevXu/sWPH9st3IwAAAAAAILJq1SpVVla2eD8ENO3H+rFjx/ZbtGhRvvsAAAAAAACxyZMna/Hixetbuh/WoAEAAAAAAMgzAhoAAAAAAIA8I6ABAAAAAADIMwIaAAAAAACAPCOgAQAAAAAAyDMCGgAAAAAAgDwjoAEAAAAAAMgzAhoAAAAAAIA8I6ABAAAAAADIs8J8N4DccXeVlZVp9+7dqqqqkrvnuyXgEGambt26qW/fvurVq5fMLN8tAQAAAEBeENB0YNu3b1dpaWm+2wAycndVVlaqsrJSVVVVGjx4cL5bAgAAAIC86BABjZn1lPRuSVMlTYnv+8ebx7r76gzjZkr654SHmenun2wwfo6kc5sZ92N3/1zCY2TNvn37VFpaKjPT4MGD1atXLxUUFLR2G0CTUqmUysrKtG3bNpWWlqq4uFglJSX5bgsAAAAAWl2HCGgkvUfS749i3F5J25rY3kVSv/jx4ibqyiRVNrGt1ZWVRYft37+/+vbtm48WgGYVFBSob9++qq2t1c6dO1VWVkZAAwAAAKBT6igBjSRtl/SKpIWS3pJ0X3MD3P1mSTdn2m5mX5R0l6QaSY80saub3X3mkTSba/v375ck9ezZM8+dAM3r2bOndu7cWf+9BQAAAIDOpqMENE+6+x/qnpjZyCztt+70p1nuvitL+2wVtbW1kqSuXbvmuROgeXXf07rvLQAAAAB0Nh3iMtvunsr2Ps1sgqQJ8dOZ2d5/rtVdsSkIOsSPGB1c3dWbuNIYAAAAgM6Kv94zq5s9s0PS7Hw2AnR0XF4bAAAAQGdHQNMIMyuU9LH46SPufqCZIbeY2RYzqzGzHWb2NzP7tJl1y3GrAAAAAACgAyCgadyFkgbFj2cmqD9F0dWeKiQNkHSepJ9IWmBmx+WiQQAAAAAA0HEQ0DSu7vSm5e6+tIm6OZI+IWmopO7u3lfSYEm3SqqWNF7SX8yMlXoBAAAAAEBGBDQNmFk/SZfETx9sqtbdb3f3X7n7Vo9XN3X37e7+X5KuiMtOkXRNrvoFcsnMZGZav359vlsBAAAAgA6NgOZw/ySpq6RaSQ8d7U7cfZak5+OnlzRVi7atqqpKP//5z3XFFVdo1KhRKikpUVFRkYYMGaLzzjtPX//617V8+fJ8twkAAAAAaMcIaA5Xd3rTU+6+vYX7mh/fH9/C/SBPnnzySY0aNUo33HCDnnjiCa1fv16pVErFxcXasWOH/v73v+tb3/qWJkyYoPe9733auXNnvlsGAAAAgHbJ91co3LAu323kDQFNGjMbK2la/LTJ05vQ8f3yl7/UZZddpq1bt2r06NG6//77tWXLFlVWVqq0tFQ1NTVatGiR7rjjDg0bNkxPP/20Nm/enO+2AQAAAKDd8cr9Sr38osJXlyr8x+v5bicvCvPdQBtTN3umVNKfsrC/6fF9540A26nFixfrM5/5jMIw1Ac/+EE9+uij6tbt0KumFxQUaNKkSZo0aZK+/OUv64477lCXLl3y1DEAAAAAtE9eWanUyy9KlfslSeHrr0nuCk4ak+fOWhczaGJmFkj6ePz0UXevaabemtn+fknvjJ/OanmHaE233XabampqNGLECD300EOHhTMNde3aVXfccYdOOeWU+tfmzJkjM9PIkSMlSbNnz9aFF16oQYMGKQgC/fCHPzxkHzU1Nbr33nt1zjnnqF+/fioqKtKIESN07bXXatWqVU0ef8eOHfq3f/s3jR8/XiUlJSouLta4ceP0ta99TaWlpRnHhWGoe+65RxMmTFD37t01cOBAXXLJJZo3b16j9e6uE088UWame++9t8mezj33XJmZbr311ibrAAAAAHReXlWp1MsvSPsrDnk9fGOVUm+sUnw9nk6hw8ygMbMBaU/7pj3u02BbqbuHjezifEnHxI+TnN70VTM7SdKvJb3s7uVxHwMlfVLS7XHd65LuT7C/VlE76/f5biGnCi++vMX72LRpk2bPni1Juvnmm1VSUtLifX7/+9/XLbfcIjNT7969FQSHZqNvv/22LrzwQi1btkySFASBiouLtXHjRj3wwAP69a9/rYcfflgzZsw4bN8vvviiPvjBD9YHMV27dlUQBFq5cqVWrlypX/3qV3rmmWc0evToQ8bV1tbqyiuv1B//+EdJUmFhoWpra/XnP/9ZTz31lB577LHDjmVmuvbaa/W1r31NDzzwgD73uc81+n7Xrl2rF154QZL0yU9+8gg/LQAAAACdgVdVRTNnGoQz9dvXrFboruDksWpmjkSH0JFm0OxIuy1Oe31eg23HZRhfd3rTKndfkOB4RYqCmKcl7TWzPWa2W9J2SXdK6i5phaT3u3v1Eb4X5NFzzz1X//jiiy9u8f62bdumr3zlK/rMZz6jt99+W7t379a+fft05ZVXSpIOHDigD37wg1q2bJne85736KWXXlJVVZXKysq0ZcsWfeELX1BVVZWuvvpqrV279pB9b9iwQZdccolKS0v16U9/WmvWrFFlZaUqKiq0YsUKXXDBBdq0aZNmzJihVCp1yNg777xTf/zjHxUEgb773e9q79692r17t958802df/75uvbaaxt9P9dcc40KCgq0ePHijFeveuCBB+TuOuecc3TSSSe1+DMEAAAA0LF4dZVS81+UKvY1XfeP16NTnjqBjhTQHDUz6yWpbupF0sWBfyPp25L+LmmTotlIPSS9LWm2pOskTXX39VltFjlXdzpRt27dshIuVFVV6cMf/rB+/OMfa/DgwfX7Hj58uCTpwQcf1MKFC3XOOedo9uzZOuOMM+rXshk6dKh+8IMf6MYbb9T+/fv1gx/84JB9f+1rX9OePXv01a9+VT/5yU904oknKggCBUGgcePG6cknn9Spp56q1157Tb///cHZUxUVFbrzzjslSV//+td1yy23qEePHpKkUaNG6Q9/+IOOOeYYNWbYsGH1wdUDDzxw2PYwDPXgg9GvUaaQBwAAAEDn5dXV0cyZfeWJ6q1X7xx31DZ0mIDG3S3hbX0jY8vcvUe8/c6Ex1vp7re5+3nuPsLdS9y9yN2HuftF7n4/M2fap7pThfr06ZNxGt23v/1tDRky5LDbzTff3Gj9//t//y/j8erCjJtvvjnjIsMf+9jHJEnPPPNM/Wv79+/Xb37zGwVBoC996UuNjuvatWv9TJ30sU8//bTKy8tVVFSkL37xi4eNKyoq0i233JKx5+uvv16S9NBDD+nAgQOHbHvmmWe0efNm9ezZUx/60Icy7gMAAABA5+M11dHMmYThTDBxioJhw3PcVdvQYdagAVpTeXm5tm3bdtjre/fuPey17t27a8KECY3up7a2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6BgNDRkypNHXe/furddffz2rxwIAAADQPoSbNypcvjhZca/eKph+lqxL19w2hUMQ0AAN7Nq1S1J0SeqWnrZUUVGhioqKjNszhSktsW3btkZfr6qqyvqxAAAAALR94VubFC5blKy4Z68onOlKONPaOMUJyKFvfOMbcveMt6VLE577eQQyHWvPnj1ZPxYAAACAti3cslnh0leSFZf0VMH0s2Vdi3LbFBpFQAM00L9/f0nS7t27uTITAAAAgHYrfPut5OFMcYkKTj9bVkQ4ky8ENEADY8eOlSRVV1ezZgsAAACAdincukXhkoVSkn90Li5RwennyIq65b4xZERAAzRw7rnn1q8986c//SnP3QAAAADAkQm3va1w8YJk4UyP4mjmTDfCmXxjkeBO5gOThue7hTZv+PDhuuiiizRr1izdc889uummm9SrV69mx7l7ixcVBgAAAICWCLdvPcJw5hxZt+65bwzNYgYN0IhvfetbKioq0ubNm/XRj3602SsgPf7447rrrrtaqTsAAAAAOFy4Y5vCRfOlMGy+uHuPaOZMd8KZtoKABmjExIkT9eMf/1hmplmzZum0007TQw89pNLS0vqavXv36oknntC73/1uXXXVVSovL89qD9XV1dq5c2eTtzDJf3gBAAAAdHjhzu0KX3k5YTjTPQ5neuS+MSTGKU5ABtddd5369++vG2+8UatXr9bVV18tSSopKZGZHRLIjBgxQuedd95h+/je976nn/3sZ00e5+6779ZVV1112OuPPvqoHn300SbHrlu3TiNHjkzwbgAAAAB0VOGuHQoXJgxnunWPLqXdozj3jeGIENAATbjsssv03ve+Vw8++KBmzZql5cuXa+fOnTIzjRw5UlOmTNGMGTM0Y8YMFTVyObqKigpVVFQ0eYzKyspctQ8AAACgg/PSnQoXzpPCVPPFRd2imTPFJblvDEfMPMnCQcg7M1s0adKkSYsWLUpUv2rVKkkHLxkNtHV8ZwEAAIAj46W7lFowV0olCWeKogWBS3rmvrFOZvLkyVq8ePFid5/ckv2wBg0AAAAAAO2M7y5VauFLycKZrkXRaU2EM20aAQ0AAAAAAO2I79kdzZyprW2+uGvX6LSmnr1y3xhahIAGAAAAAIB2wvfuVmp+wnCmS9do5gzhTLtAQAMAAAAAQDvge/fE4cyB5ou7dFHB9LNkvXrnvjFk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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 392, "width": 564 } }, "output_type": "display_data" } ], "source": [ "lw = 4\n", "fig = plt.figure(figsize=(9,6))\n", "ax = fig.add_subplot(111)\n", "ax.plot(range(1, len(greedy_elapsed) + 1), greedy_elapsed, label=\"Greedy\", color=\"#FBB4AE\", lw=lw)\n", "ax.plot(range(1, len(celf_elapsed) + 1), celf_elapsed, label=\"CELF\", color=\"#B3CDE3\", lw=lw)\n", "ax.legend(loc=2)\n", "plt.ylabel('Computation Time (Seconds)')\n", "plt.xlabel('Size of Seed Set')\n", "plt.title('Computation Time')\n", "plt.tick_params(bottom=False, left=False)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get some further insight into the superior computational efficiency of CELF by observing how many \"node lookups\" it had to perform during each of the 10 rounds. The list that records this information shows that the first round iterated over all 100 nodes of the network. This is identical to Greedy which is why the graph above shows that the running time is equivalent for $k=1$. However, for subsequent iterations, there are far fewer spread computations because the marginal spread of a node in a previous iteration is a good indicator for its marginal spread in a future iteration. Note the relationship between the values below and the corresponding computation time presented in the graph above. There is a visible jump in the blue line for higher values of the \"node lookups\". This again solidifies the fact that while CELF produces identical solution set as Greedy, it usually has enormous speedups over the standard Greedy procedure." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[100, 1, 4, 9, 2, 7, 4, 1, 5, 13]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "celf_lookups" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We implemented both the Greedy and CELF algorithms and showed the following:\n", "\n", "- Both correctly identify the influential nodes in simple examples\n", "- Both result in the same seed set for a larger example.\n", "- The CELF algorithm runs a lot faster for any seed set $k>1$. The speed arises from the fact that after the first round, CELF performs far fewer spread computations than Greedy.\n", "- During the Greedy Algorithm section, we mentioned briefly that a natural greedy strategy obtains a solution that is provably within 63% of optimal. We didn't formally proved this statement here, but there are several good notes online that goes more in-depth into the proof behind this. [Notes: N. Buchbinder, M.Feldman - Submodular Functions Maximization Problems (2017)](https://www.openu.ac.il/personal_sites/moran-feldman/publications/Handbook2018.pdf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Reference" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [Blog: Influence Maximization in Python - Greedy vs CELF](https://hautahi.com/im_greedycelf)\n", "- [Blog: The greedy algorithm for monotone submodular maximization](https://homes.cs.washington.edu/~marcotcr/blog/greedy-submodular/)\n", "- [Paper: D. Kempe, J. Kleinberg, E. Tardos - Maximizing the Spread of Influence through a Social\n", "Network (2003)](https://www.cs.cornell.edu/home/kleinber/kdd03-inf.pdf)\n", "- [Notes: N. Buchbinder, M.Feldman - Submodular Functions Maximization Problems (2017)](https://www.openu.ac.il/personal_sites/moran-feldman/publications/Handbook2018.pdf)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" }, "toc": { "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "258px" }, "toc_section_display": true, "toc_window_display": true }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }