{"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/tree-of-problems-improving-structured-problem","title":"Tree of Problems: Improving structured problem solving with compositionality","arxiv_id":"2410.06634","date":"2024-10-09","proceeding":null,"authors":["Armel Zebaze","Benoît Sagot","Rachel Bawden"],"abstract":"Large Language Models (LLMs) have demonstrated remarkable performance across multiple tasks through in-context learning. For complex reasoning tasks that require step-by-step thinking, Chain-of-Thought (CoT) prompting has given impressive results, especially when combined with self-consistency. Nonetheless, some tasks remain particularly difficult for LLMs to solve. Tree of Thoughts (ToT) and Graph of Thoughts (GoT) emerged as alternatives, dividing the complex problem into paths of subproblems. In this paper, we propose Tree of Problems (ToP), a simpler version of ToT, which we hypothesise can work better for complex tasks that can be divided into identical subtasks. Our empirical results show that our approach outperforms ToT and GoT, and in addition performs better than CoT on complex reasoning tasks. All code for this paper is publicly available here: https://github.com/ArmelRandy/tree-of-problems.","url_abs":"https://arxiv.org/abs/2410.06634v1","url_pdf":"https://arxiv.org/pdf/2410.06634v1.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":"tree-of-problems-improving-structured-problem","repo_url":"https://github.com/ArmelRandy/tree-of-problems","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"tree-of-problems-improving-structured-problem","repo_url":"https://github.com/masoudhashemi/AWMS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"in-context-learning","task_name":"In-Context Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2410.06634","atlas_url":"https://app.syntology.ai/?focus=2410.06634","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.06634"}},"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/ArmelRandy/tree-of-problems","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/masoudhashemi/AWMS","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":3,"unverified":1},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":3,"ran":3,"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":0,"samples":[{"code_sha256_prefix":"432af6a5e4dafb42","entry":"extract_boxed","repo":"masoudhashemi/AWMS","repo_kind":"listed","path":"awms/utils.py","file_url":"https://github.com/masoudhashemi/AWMS/blob/HEAD/awms/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"432af6a5e4dafb42"}},{"code_sha256_prefix":"725bdea2d7c60809","entry":"latex_to_sympy_matrix","repo":"masoudhashemi/AWMS","repo_kind":"listed","path":"awms/utils.py","file_url":"https://github.com/masoudhashemi/AWMS/blob/HEAD/awms/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"725bdea2d7c60809"}},{"code_sha256_prefix":"16cb466e83af607e","entry":"parse_intervals","repo":"masoudhashemi/AWMS","repo_kind":"listed","path":"awms/utils.py","file_url":"https://github.com/masoudhashemi/AWMS/blob/HEAD/awms/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"16cb466e83af607e"}},{"code_sha256_prefix":"d945e94523780ec5","entry":"divide","repo":"ArmelRandy/tree-of-problems","repo_kind":"official","path":"top/divide.py","file_url":"https://github.com/ArmelRandy/tree-of-problems/blob/HEAD/top/divide.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d945e94523780ec5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}