{"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/stochastic-iterative-graph-matching","title":"Stochastic Iterative Graph Matching","arxiv_id":"2106.02206","date":"2021-06-04","proceeding":null,"authors":["Linfeng Liu","Michael C. Hughes","Soha Hassoun","Li-Ping Liu"],"abstract":"Recent works leveraging Graph Neural Networks to approach graph matching tasks have shown promising results. Recent progress in learning discrete distributions poses new opportunities for learning graph matching models. In this work, we propose a new model, Stochastic Iterative Graph MAtching (SIGMA), to address the graph matching problem. Our model defines a distribution of matchings for a graph pair so the model can explore a wide range of possible matchings. We further introduce a novel multi-step matching procedure, which learns how to refine a graph pair's matching results incrementally. The model also includes dummy nodes so that the model does not have to find matchings for nodes without correspondence. We fit this model to data via scalable stochastic optimization. We conduct extensive experiments across synthetic graph datasets as well as biochemistry and computer vision applications. Across all tasks, our results show that SIGMA can produce significantly improved graph matching results compared to state-of-the-art models. Ablation studies verify that each of our components (stochastic training, iterative matching, and dummy nodes) offers noticeable improvement.","url_abs":"https://arxiv.org/abs/2106.02206v2","url_pdf":"https://arxiv.org/pdf/2106.02206v2.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":"abstracts"},"code_links":[{"paper_slug":"stochastic-iterative-graph-matching","repo_url":"https://github.com/tufts-ml/sigma","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-matching","task_name":"Graph Matching"},{"task_slug":"stochastic-optimization","task_name":"Stochastic Optimization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.02206","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.02206"}},"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/tufts-ml/sigma","reach":null}],"summary":{"ran":1,"ran_draft_wrong":3},"by_repo_kind":{"listed":{"samples":4,"ran":4,"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":4,"samples":[{"code_sha256_prefix":"6f9275aef2da9dbd","entry":"SIGMA","repo":"tufts-ml/sigma","repo_kind":"listed","path":"common-graph-matching/model.py","file_url":"https://github.com/tufts-ml/sigma/blob/HEAD/common-graph-matching/model.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":"6f9275aef2da9dbd"}},{"code_sha256_prefix":"2f49b6d479f3c528","entry":"gumbel_sinkhorn","repo":"tufts-ml/sigma","repo_kind":"listed","path":"common-graph-matching/model.py","file_url":"https://github.com/tufts-ml/sigma/blob/HEAD/common-graph-matching/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2f49b6d479f3c528"}},{"code_sha256_prefix":"8d70c8348e72fcfa","entry":"log_sinkhorn_norm","repo":"tufts-ml/sigma","repo_kind":"listed","path":"common-graph-matching/model.py","file_url":"https://github.com/tufts-ml/sigma/blob/HEAD/common-graph-matching/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8d70c8348e72fcfa"}},{"code_sha256_prefix":"db91f51302837cfe","entry":"reward_general","repo":"tufts-ml/sigma","repo_kind":"listed","path":"common-graph-matching/model.py","file_url":"https://github.com/tufts-ml/sigma/blob/HEAD/common-graph-matching/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"db91f51302837cfe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}