{"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/end-to-end-algorithm-synthesis-with-recurrent","title":"End-to-end Algorithm Synthesis with Recurrent Networks: Logical Extrapolation Without Overthinking","arxiv_id":"2202.05826","date":"2022-02-11","proceeding":null,"authors":["Arpit Bansal","Avi Schwarzschild","Eitan Borgnia","Zeyad Emam","Furong Huang","Micah Goldblum","Tom Goldstein"],"abstract":"Machine learning systems perform well on pattern matching tasks, but their ability to perform algorithmic or logical reasoning is not well understood. One important reasoning capability is algorithmic extrapolation, in which models trained only on small/simple reasoning problems can synthesize complex strategies for large/complex problems at test time. Algorithmic extrapolation can be achieved through recurrent systems, which can be iterated many times to solve difficult reasoning problems. We observe that this approach fails to scale to highly complex problems because behavior degenerates when many iterations are applied -- an issue we refer to as \"overthinking.\" We propose a recall architecture that keeps an explicit copy of the problem instance in memory so that it cannot be forgotten. We also employ a progressive training routine that prevents the model from learning behaviors that are specific to iteration number and instead pushes it to learn behaviors that can be repeated indefinitely. These innovations prevent the overthinking problem, and enable recurrent systems to solve extremely hard extrapolation tasks.","url_abs":"https://arxiv.org/abs/2202.05826v3","url_pdf":"https://arxiv.org/pdf/2202.05826v3.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":"end-to-end-algorithm-synthesis-with-recurrent","repo_url":"https://github.com/aks2203/deep-thinking","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"logical-reasoning","task_name":"Logical Reasoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.05826","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.05826"}},"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/aks2203/deep-thinking","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":18},"by_repo_kind":{"official":{"samples":18,"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":0,"samples":[{"code_sha256_prefix":"f7945168c1ba42ae","entry":"dt_net_1d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/dt_net_1d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/dt_net_1d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f7945168c1ba42ae"}},{"code_sha256_prefix":"72bc1b13ede1f48f","entry":"dt_net_2d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/dt_net_2d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/dt_net_2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"72bc1b13ede1f48f"}},{"code_sha256_prefix":"cb8d7cd07dcb373e","entry":"dt_net_gn_1d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/dt_net_1d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/dt_net_1d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cb8d7cd07dcb373e"}},{"code_sha256_prefix":"3157b448da0db767","entry":"dt_net_gn_2d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/dt_net_2d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/dt_net_2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3157b448da0db767"}},{"code_sha256_prefix":"2745fbdd05dd78c5","entry":"dt_net_recall_1d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/dt_net_1d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/dt_net_1d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2745fbdd05dd78c5"}},{"code_sha256_prefix":"5efe7003a1ae9fce","entry":"dt_net_recall_2d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/dt_net_2d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/dt_net_2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5efe7003a1ae9fce"}},{"code_sha256_prefix":"d906e24e377f708e","entry":"feedforward_net_1d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/feedforward_net_1d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/feedforward_net_1d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d906e24e377f708e"}},{"code_sha256_prefix":"e88c13ba29fae08d","entry":"feedforward_net_2d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/feedforward_net_2d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/feedforward_net_2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e88c13ba29fae08d"}},{"code_sha256_prefix":"fffa340d37ae79ea","entry":"feedforward_net_gn_1d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/feedforward_net_1d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/feedforward_net_1d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fffa340d37ae79ea"}},{"code_sha256_prefix":"0359c5b8a9eddda2","entry":"feedforward_net_gn_2d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/feedforward_net_2d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/feedforward_net_2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0359c5b8a9eddda2"}},{"code_sha256_prefix":"c31bd413c9229009","entry":"feedforward_net_recall_1d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/feedforward_net_1d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/feedforward_net_1d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c31bd413c9229009"}},{"code_sha256_prefix":"a0cc6c49618902d6","entry":"feedforward_net_recall_2d","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/models/feedforward_net_2d.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/models/feedforward_net_2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a0cc6c49618902d6"}},{"code_sha256_prefix":"04c48fd8b7c02d03","entry":"get_df","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/data_analysis/make_table.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/data_analysis/make_table.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"04c48fd8b7c02d03"}},{"code_sha256_prefix":"077d9b81c2525794","entry":"get_little_df_from_one_run","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/data_analysis/make_table.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/data_analysis/make_table.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"077d9b81c2525794"}},{"code_sha256_prefix":"5b24b1cc9133ef6d","entry":"get_schoopy_plot","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/data_analysis/make_schoop.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/data_analysis/make_schoop.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5b24b1cc9133ef6d"}},{"code_sha256_prefix":"340e568d6e6480c5","entry":"get_table","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/data_analysis/make_table.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/data_analysis/make_table.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"340e568d6e6480c5"}},{"code_sha256_prefix":"2a9ba28a21829bcb","entry":"get_trained_checkpoints","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/data_analysis/get_names_and_info.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/data_analysis/get_names_and_info.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2a9ba28a21829bcb"}},{"code_sha256_prefix":"96cfe7a14410ae6d","entry":"get_trained_checkpoints","repo":"aks2203/deep-thinking","repo_kind":"official","path":"deepthinking/data_analysis/parse_training_runs.py","file_url":"https://github.com/aks2203/deep-thinking/blob/HEAD/deepthinking/data_analysis/parse_training_runs.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"96cfe7a14410ae6d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}