{"id":21467786,"url":"https://github.com/smaniu/oim","last_synced_at":"2025-07-06T21:38:51.633Z","repository":{"id":212965774,"uuid":"46553000","full_name":"smaniu/oim","owner":"smaniu","description":"Algorithms for online influence maximization","archived":false,"fork":false,"pushed_at":"2017-02-20T10:18:41.000Z","size":201,"stargazers_count":21,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T22:22:47.320Z","etag":null,"topics":["algorithm","graph","influence-maximization","research-project"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smaniu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-11-20T09:40:05.000Z","updated_at":"2024-12-09T04:47:06.000Z","dependencies_parsed_at":"2023-12-17T16:47:03.860Z","dependency_job_id":"715437e7-aa0d-4949-85bc-8651fa02af82","html_url":"https://github.com/smaniu/oim","commit_stats":null,"previous_names":["smaniu/oim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smaniu/oim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smaniu%2Foim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smaniu%2Foim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smaniu%2Foim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smaniu%2Foim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smaniu","download_url":"https://codeload.github.com/smaniu/oim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smaniu%2Foim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263977436,"owners_count":23538680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","graph","influence-maximization","research-project"],"created_at":"2024-11-23T08:19:44.537Z","updated_at":"2025-07-06T21:38:51.608Z","avatar_url":"https://github.com/smaniu.png","language":"C++","readme":"This folder contains the source code for the Online Influence Maximization with\nPersistence algorithms, as described in this [paper][1] and the model-free\n[extension][6]. The source code is header-only.\n\n# Compiling\n\nThe *Makefile* is in the main folder, so simply execute *make*:\n\n    make clean; make\n\nThe output binary is *oim*.\n\n## Dependencies\n\nThe *Makefile* requires GCC 4.9.0 (or superior) and uses C++14 features.\n\nThe code needs the Boost C++ library headers. It assumes the include files are\npresent in */usr/local/include*. If your Boost installation is someplace else,\nyou have to modify the *INCLUDE_DIRS* directive in *Makefile*. The binary\nlibrary does not need to be linked.\n\n# Datasets\n\nThe networks used in the experimental section of [our paper][6] are available\n[here](https://drive.google.com/open?id=0B6peHJJcM5GvQnZGdHU1U1owa0U). We\nprovide scripts to generate your own datasets in the `graph/` folder.\n\n# Methods and usage\n\nThe program expects as input a tab delimited graph file of the following format:\n\n    node1 \u003cTAB\u003e node2 \u003cTAB\u003e prob\n\nwhere *node1* and *node2* are the endpoints of a graph edge, and *prob* is the\ninfluence probability.\n\nThe following methods are currently supported:\n\n1. *exponentiated gradient*, which is run as follows:\n\n        ./oim --eg \u003cgraph\u003e \u003calpha\u003e \u003cbeta\u003e \u003cexploit\u003e \u003ctrials\u003e \u003ck\u003e [\u003cmodel\u003e\n        \u003cupdate\u003e \u003cupdate_type\u003e \u003ccascades\u003e]\n\n2. *missing mass*, which runs as follows:\n\n        ./oim --missing_mass \u003cgraph\u003e \u003cpolicy\u003e \u003creduction\u003e \u003cbudget\u003e \u003ck\u003e\n        \u003cn_experts\u003e [\u003cmodel\u003e \u003ccascades\u003e]\n\n3. *real graph*, which executes on the real graph:\n\n        ./oim --real \u003cgraph\u003e \u003cexploit\u003e \u003ctrials\u003e \u003ck\u003e [\u003cmodel\u003e \u003csamples\u003e\n        \u003ccascades\u003e]\n\n## Parameters\n\nThe parameters are set as follows:\n\n* *graph* is the name of the graph file\n* *alpha*, *beta* are the global prior on the edges of the graph\n* *exploit*, *explore* can take any of the following values: **0** Random,\n  **1** Discountdegree, **2** Maxdegree, **3** [CELF][2], **4** [TIM][3],\n  **5** [SSA][4], **6** [PMC][5]\n* *samples* is the number of spreads to estimate the expected value of chosen\n  seeds\n* *trials* is the number of trials, *k* is the number of seeds in each trial\n* *update* is **1** if the graph is updated, **0** otherwise\n* *update_type* is the type of update: **0** local only, **1** least squares or\n  **2** maximum likelihood\n* *reduction* can take the following values: **0** max cover, **1** highest\n  degree\n* *policy* can take the following values: **0** random, **1** Good-UCB\n* *model* can take the following values: **0** Linear Threshold, **1**\n  Independent Cascade\n* *cascades* contains the path to the file containing **real** cascades (logs)\n\n## Output\n\nThe different methods write on the standard output with the following format:\n\n1. *exponentiated gradient*:\n\n        stage \u003cTAB\u003e cum spread \u003cTAB\u003e expected spread \u003cTAB\u003e tselection \u003cTAB\u003e tupdate \u003cTAB\u003e\n        tround \u003cTAB\u003e ttotal \u003cTAB\u003e theta \u003cTAB\u003e memory \u003cTAB\u003e k \u003cTAB\u003e model \u003cTAB\u003e seeds\n\n2. *missing mass*:\n\n        stage \u003cTAB\u003e cumulative spread \u003cTAB\u003e treduction \u003cTAB\u003e tselection \u003cTAB\u003e tupdate \u003cTAB\u003e\n        tround \u003cTAB\u003e ttotal \u003cTAB\u003e memory \u003cTAB\u003e k \u003cTAB\u003e n_experts \u003cTAB\u003e n_policy \u003cTAB\u003e\n        n_reduction \u003cTAB\u003e model \u003cTAB\u003e seeds\n\n3. *real graph*:\n\n        stage \u003cTAB\u003e cumulative spread \u003cTAB\u003e expected spread \u003cTAB\u003e tround \u003cTAB\u003e\n        ttotal \u003cTAB\u003e k \u003cTAB\u003e model \u003cTAB\u003e seeds\n\n# Contributors\n\n* Paul Lagrée (Université Paris-Sud)\n* Siyu Lei (University of Hong Kong) on code published in 2015\n* Silviu Maniu (University of Hong-Kong, then Université Paris-Sud)\n* Luyi Mo (University of Hoong-Kong) on code published in 2015\n\n# License\n\nThe source code is provided as-is under an MIT License. If it is useful to you,\nplease cite the seminal [paper][1] and the model-free [extension][6].\n\n[1]: \u003chttp://arxiv.org/pdf/1506.01188v1.pdf\u003e \"S. Lei, S. Maniu, L. Mo, R. Cheng, P. Senellart. Online Influence Maximization. KDD 2015\"\n\n[2]: \u003chttp://snap.stanford.edu/class/cs224w-readings/goyal11celf.pdf\u003e \"A. Goyal, W. Lu, L. Lakshmanan. CELF++: Optimizing the Greedy Algorithm for Influence Maximization in Social Networks. WWW 2011\"\n\n[3]: \u003chttp://arxiv.org/pdf/1404.0900v2.pdf\u003e \"Y. Tang, X. Xiao, and Y. Shi. Influence maximization: Near-optimal time complexity meets practical efficiency. SIGMOD 2014\"\n\n[4]: \u003chttps://arxiv.org/pdf/1605.07990v2.pdf\u003e \"H. T. Nguyen, M. T. Thai, and T. N. Dinh. Stop-and-Stare: Optimal Sampling Algorithms for Viral Marketing in Billion-scale Networks. SIGMOD 2016\"\n\n[5]: \u003chttps://www.aaai.org/ocs/index.php/AAAI/AAAI14/paper/download/8455/8411\u003e \"N. Ohsaka, T. Akiba, Y. Yoshida and K. Kawarabayashi. Fast and Accurate Influence Maximization on Large Networks with Pruned Monte-Carlo Simulations. AAAI 2014\"\n\n[6]: \u003chttp://arxiv.org/pdf/1702.05354.pdf\u003e \"P. Lagrée, O. Cappé, B. Cautis, S. Maniu. Online Model-Free Influence Maximization with Persistence.\"\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmaniu%2Foim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmaniu%2Foim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmaniu%2Foim/lists"}