{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/14040900","title":"Influence Maximization: Near-Optimal Time Complexity Meets Practical Efficiency","arxiv_id":"1404.0900","date":"2014-04-03","proceeding":null,"authors":["Youze Tang","Xiaokui Xiao","Yanchen Shi"],"abstract":"Given a social network G and a constant k, the influence maximization problem asks for k nodes in G that (directly and indirectly) influence the largest number of nodes under a pre-defined diffusion model. This problem finds important applications in viral marketing, and has been extensively studied in the literature. Existing algorithms for influence maximization, however, either trade approximation guarantees for practical efficiency, or vice versa. In particular, among the algorithms that achieve constant factor approximations under the prominent independent cascade (IC) model or linear threshold (LT) model, none can handle a million-node graph without incurring prohibitive overheads. This paper presents TIM, an algorithm that aims to bridge the theory and practice in influence maximization. On the theory side, we show that TIM runs in O((k+\\ell) (n+m) \\log n / \\epsilon^2) expected time and returns a (1-1/e-\\epsilon)-approximate solution with at least 1 - n^{-\\ell} probability. The time complexity of TIM is near-optimal under the IC model, as it is only a \\log n factor larger than the \\Omega(m + n) lower-bound established in previous work (for fixed k, \\ell, and \\epsilon). Moreover, TIM supports the triggering model, which is a general diffusion model that includes both IC and LT as special cases. On the practice side, TIM incorporates novel heuristics that significantly improve its empirical efficiency without compromising its asymptotic performance. We experimentally evaluate TIM with the largest datasets ever tested in the literature, and show that it outperforms the state-of-the-art solutions (with approximation guarantees) by up to four orders of magnitude in terms of running time. In particular, when k = 50, \\epsilon = 0.2, and \\ell = 1, TIM requires less than one hour on a commodity machine to process a network with 41.6 million nodes and 1.4 billion edges.","url_abs":"http://arxiv.org/abs/1404.0900v2","url_pdf":"http://arxiv.org/pdf/1404.0900v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"14040900","repo_url":"https://github.com/TikaToka/CapstoneSpring","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"14040900","repo_url":"https://github.com/olety/TIMLinUCB","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"14040900","repo_url":"https://github.com/smaniu/oim","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1404.0900","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1404.0900"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/olety/TIMLinUCB","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/smaniu/oim","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TikaToka/CapstoneSpring","reach":{"status":"ok"}}],"summary":{"unverified":2},"by_repo_kind":{"listed":{"samples":2,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"e08741ed6ff5739e","entry":"generate_node2vec_fetures","repo":"olety/TIMLinUCB","repo_kind":"listed","path":"timlinucb.py","file_url":"https://github.com/olety/TIMLinUCB/blob/HEAD/timlinucb.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e08741ed6ff5739e"}},{"code_sha256_prefix":"595ace8a8dae3b1d","entry":"get_features_nodes","repo":"olety/TIMLinUCB","repo_kind":"listed","path":"timlinucb.py","file_url":"https://github.com/olety/TIMLinUCB/blob/HEAD/timlinucb.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"595ace8a8dae3b1d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}