{"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/pi-gps-enhancing-geometry-problem-solving-by","title":"Pi-GPS: Enhancing Geometry Problem Solving by Unleashing the Power of Diagrammatic Information","arxiv_id":"2503.05543","date":"2025-03-07","proceeding":null,"authors":["Junbo Zhao","Ting Zhang","Jiayu Sun","Mi Tian","Hua Huang"],"abstract":"Geometry problem solving has garnered increasing attention due to its potential applications in intelligent education field. Inspired by the observation that text often introduces ambiguities that diagrams can clarify, this paper presents Pi-GPS, a novel framework that unleashes the power of diagrammatic information to resolve textual ambiguities, an aspect largely overlooked in prior research. Specifically, we design a micro module comprising a rectifier and verifier: the rectifier employs MLLMs to disambiguate text based on the diagrammatic context, while the verifier ensures the rectified output adherence to geometric rules, mitigating model hallucinations. Additionally, we explore the impact of LLMs in theorem predictor based on the disambiguated formal language. Empirical results demonstrate that Pi-GPS surpasses state-of-the-art models, achieving a nearly 10\\% improvement on Geometry3K over prior neural-symbolic approaches. We hope this work highlights the significance of resolving textual ambiguity in multimodal mathematical reasoning, a crucial factor limiting performance.","url_abs":"https://arxiv.org/abs/2503.05543v1","url_pdf":"https://arxiv.org/pdf/2503.05543v1.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":[],"tasks":[{"task_slug":"geometry-problem-solving","task_name":"Geometry Problem Solving"},{"task_slug":"mathematical-reasoning","task_name":"Mathematical Reasoning"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.05543","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.05543"}},"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":"deterministic:regex_extraction","url":"https://github.com/hellozting/Pi-GPS","reach":null}],"summary":{"ran":1,"ran_draft_wrong":2,"ran_violates":3,"ran_honours":1},"by_repo_kind":{"found_in_text":{"samples":7,"ran":7,"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":7,"samples":[{"code_sha256_prefix":"56a1d877006b358a","entry":"LogicSolver","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.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":"56a1d877006b358a"}},{"code_sha256_prefix":"de9957623fbf197a","entry":"angle_area_formula","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"de9957623fbf197a"}},{"code_sha256_prefix":"17a6df8f16c6b529","entry":"hasNumber","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"17a6df8f16c6b529"}},{"code_sha256_prefix":"e6f4a42d81e688ba","entry":"heron_triangle_formula","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e6f4a42d81e688ba"}},{"code_sha256_prefix":"722011153b6800a8","entry":"isAlgebra","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"722011153b6800a8"}},{"code_sha256_prefix":"7134b436156bc5e1","entry":"isNumber","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7134b436156bc5e1"}},{"code_sha256_prefix":"c07bed8f4e04921d","entry":"sort_points","repo":"hellozting/Pi-GPS","repo_kind":"found_in_text","path":"Solver/logic_solver.py","file_url":"https://github.com/hellozting/Pi-GPS/blob/HEAD/Solver/logic_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c07bed8f4e04921d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}