{"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/sublinear-time-opinion-estimation-in-the","title":"Sublinear-Time Opinion Estimation in the Friedkin--Johnsen Model","arxiv_id":"2404.16464","date":"2024-04-25","proceeding":null,"authors":["Stefan Neumann","Yinhao Dong","Pan Peng"],"abstract":"Online social networks are ubiquitous parts of modern societies and the discussions that take place in these networks impact people's opinions on diverse topics, such as politics or vaccination. One of the most popular models to formally describe this opinion formation process is the Friedkin--Johnsen (FJ) model, which allows to define measures, such as the polarization and the disagreement of a network. Recently, Xu, Bao and Zhang (WebConf'21) showed that all opinions and relevant measures in the FJ model can be approximated in near-linear time. However, their algorithm requires the entire network and the opinions of all nodes as input. Given the sheer size of online social networks and increasing data-access limitations, obtaining the entirety of this data might, however, be unrealistic in practice. In this paper, we show that node opinions and all relevant measures, like polarization and disagreement, can be efficiently approximated in time that is sublinear in the size of the network. Particularly, our algorithms only require query-access to the network and do not have to preprocess the graph. Furthermore, we use a connection between FJ opinion dynamics and personalized PageRank, and show that in $d$-regular graphs, we can deterministically approximate each node's opinion by only looking at a constant-size neighborhood, independently of the network size. We also experimentally validate that our estimation algorithms perform well in practice.","url_abs":"https://arxiv.org/abs/2404.16464v1","url_pdf":"https://arxiv.org/pdf/2404.16464v1.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":"sublinear-time-opinion-estimation-in-the","repo_url":"https://github.com/stefanresearch/sublinear-time-opinions","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2404.16464","atlas_url":"https://app.syntology.ai/?focus=2404.16464","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.16464"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/stefanresearch/sublinear-time-opinions","reach":{"status":"ok"}}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":8,"samples":[{"code_sha256_prefix":"ba8e596c26ff873b","entry":"estimateDisagreementForEdges","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/Disagreement.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/Disagreement.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ba8e596c26ff873b"}},{"code_sha256_prefix":"386a711e7b5a2ba1","entry":"getGroundTruthExpressedOpinions","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/Estimator.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/Estimator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"386a711e7b5a2ba1"}},{"code_sha256_prefix":"03590a28cab4ac69","entry":"getGroundTruthInnateOpinions","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/Estimator.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/Estimator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"03590a28cab4ac69"}},{"code_sha256_prefix":"6a95b5f55e6d2424","entry":"getInitCommand","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/OracleModule.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/OracleModule.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6a95b5f55e6d2424"}},{"code_sha256_prefix":"ddf0a2cfe6e277be","entry":"readMeasuresFile","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/GraphReader.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/GraphReader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddf0a2cfe6e277be"}},{"code_sha256_prefix":"f9ed2fa777e2dc7a","entry":"readOpinionsFile","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/GraphReader.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/GraphReader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f9ed2fa777e2dc7a"}},{"code_sha256_prefix":"3a58b6459d492404","entry":"estimateAllOpinions","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/OracleModule.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/OracleModule.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":"3a58b6459d492404"}},{"code_sha256_prefix":"fbf003ce8de08278","entry":"estimateOpinionsOfGivenVertices","repo":"stefanresearch/sublinear-time-opinions","repo_kind":"official","path":"implementation/OracleModule.py","file_url":"https://github.com/stefanresearch/sublinear-time-opinions/blob/HEAD/implementation/OracleModule.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":"fbf003ce8de08278"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}