All Projects → smaniu → oim

smaniu / oim

Licence: other
Algorithms for online influence maximization

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to oim

landslide
Research project on building and evaluating deep learning models for landslides detection on satellite images
Stars: ✭ 36 (+125%)
Mutual labels:  research-project
Fake-News-Detection-Project
Fake News Detection Final Year College Project with Project Report, PPT, Code, Research Paper and Documents.
Stars: ✭ 16 (+0%)
Mutual labels:  research-project
KrantikariQA
An InformationGain based Question Answering over knowledge Graph system.
Stars: ✭ 54 (+237.5%)
Mutual labels:  research-project
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (+93.75%)
Mutual labels:  research-project
paprika
Paprika is a powerfull toolkit to detect some code smells in analysed Android applications.
Stars: ✭ 69 (+331.25%)
Mutual labels:  research-project
GeneticAlgorithmUniversityClassScheduler
A class scheduler using adaptive-elitist genetic algorithm.
Stars: ✭ 98 (+512.5%)
Mutual labels:  research-project
ML-in-Agriculture
Prediction of Crop Yield for farmers based on weather, satellite data
Stars: ✭ 32 (+100%)
Mutual labels:  research-project
UAV-Stereo-Vision
A program for controlling a micro-UAV for obstacle detection and collision avoidance using disparity mapping
Stars: ✭ 30 (+87.5%)
Mutual labels:  research-project
cashpack
A stateless event-driven HPACK codec
Stars: ✭ 25 (+56.25%)
Mutual labels:  research-project
alprbd
Automated Bangla License Plate Detection and Recognition - Implementation. For thesis report visit- https://github.com/dipu-bd/thesis-report
Stars: ✭ 16 (+0%)
Mutual labels:  research-project
caffe-simnets
The SimNets Architecture's Implementation in Caffe
Stars: ✭ 13 (-18.75%)
Mutual labels:  research-project
RTX-Mesh-Shaders
Different mesh shading techniques using the NVIDIA RTX (Turing) technology.
Stars: ✭ 84 (+425%)
Mutual labels:  research-project
derain-net
A (WIP) TensorFlow reproduction of Fu, Huang, Ding, Liao, and Paisley's method for single-image rain removal (https://arxiv.org/abs/1609.02087)
Stars: ✭ 15 (-6.25%)
Mutual labels:  research-project
lc
JIT compiler for Scheme targeting x86-64 platforms
Stars: ✭ 24 (+50%)
Mutual labels:  research-project
IM GreedyCELF
Source code for blog post at https://hautahi.com/im_greedycelf
Stars: ✭ 24 (+50%)
Mutual labels:  influence-maximization
Influence-Maximization
Top-K Influential Nodes in Social Networks: A Game Perspective (SIGIR'17)
Stars: ✭ 19 (+18.75%)
Mutual labels:  influence-maximization

This folder contains the source code for the Online Influence Maximization with Persistence algorithms, as described in this paper and the model-free extension. The source code is header-only.

Compiling

The Makefile is in the main folder, so simply execute make:

make clean; make

The output binary is oim.

Dependencies

The Makefile requires GCC 4.9.0 (or superior) and uses C++14 features.

The code needs the Boost C++ library headers. It assumes the include files are present in /usr/local/include. If your Boost installation is someplace else, you have to modify the INCLUDE_DIRS directive in Makefile. The binary library does not need to be linked.

Datasets

The networks used in the experimental section of our paper are available here. We provide scripts to generate your own datasets in the graph/ folder.

Methods and usage

The program expects as input a tab delimited graph file of the following format:

node1 <TAB> node2 <TAB> prob

where node1 and node2 are the endpoints of a graph edge, and prob is the influence probability.

The following methods are currently supported:

  1. exponentiated gradient, which is run as follows:

     ./oim --eg <graph> <alpha> <beta> <exploit> <trials> <k> [<model>
     <update> <update_type> <cascades>]
    
  2. missing mass, which runs as follows:

     ./oim --missing_mass <graph> <policy> <reduction> <budget> <k>
     <n_experts> [<model> <cascades>]
    
  3. real graph, which executes on the real graph:

     ./oim --real <graph> <exploit> <trials> <k> [<model> <samples>
     <cascades>]
    

Parameters

The parameters are set as follows:

  • graph is the name of the graph file
  • alpha, beta are the global prior on the edges of the graph
  • exploit, explore can take any of the following values: 0 Random, 1 Discountdegree, 2 Maxdegree, 3 CELF, 4 TIM, 5 SSA, 6 PMC
  • samples is the number of spreads to estimate the expected value of chosen seeds
  • trials is the number of trials, k is the number of seeds in each trial
  • update is 1 if the graph is updated, 0 otherwise
  • update_type is the type of update: 0 local only, 1 least squares or 2 maximum likelihood
  • reduction can take the following values: 0 max cover, 1 highest degree
  • policy can take the following values: 0 random, 1 Good-UCB
  • model can take the following values: 0 Linear Threshold, 1 Independent Cascade
  • cascades contains the path to the file containing real cascades (logs)

Output

The different methods write on the standard output with the following format:

  1. exponentiated gradient:

     stage <TAB> cum spread <TAB> expected spread <TAB> tselection <TAB> tupdate <TAB>
     tround <TAB> ttotal <TAB> theta <TAB> memory <TAB> k <TAB> model <TAB> seeds
    
  2. missing mass:

     stage <TAB> cumulative spread <TAB> treduction <TAB> tselection <TAB> tupdate <TAB>
     tround <TAB> ttotal <TAB> memory <TAB> k <TAB> n_experts <TAB> n_policy <TAB>
     n_reduction <TAB> model <TAB> seeds
    
  3. real graph:

     stage <TAB> cumulative spread <TAB> expected spread <TAB> tround <TAB>
     ttotal <TAB> k <TAB> model <TAB> seeds
    

Contributors

  • Paul Lagrée (Université Paris-Sud)
  • Siyu Lei (University of Hong Kong) on code published in 2015
  • Silviu Maniu (University of Hong-Kong, then Université Paris-Sud)
  • Luyi Mo (University of Hoong-Kong) on code published in 2015

License

The source code is provided as-is under an MIT License. If it is useful to you, please cite the seminal paper and the model-free extension.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].