{"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/arxiv-2605-28814","title":"Self-Improving Language Models with Bidirectional Evolutionary Search","arxiv_id":"2605.28814","date":"2026-05-27","proceeding":null,"authors":["Guowei Xu","Zhenting Qi","Huangyuan Su","Weirui Ye","Himabindu Lakkaraju","Sham M. Kakade","Yilun Du"],"abstract":"Search has been proposed as an effective method for self-improving language models and agentic systems, both for post-training sample generation and for inference. However, widely used methods such as best-of-N sampling and tree search face two fundamental limitations: they are guided by sparse verification signals, and they construct candidates primarily through autoregressive expansion, restricting exploration to regions with substantial model probability mass. To address these, we propose Bidirectional Evolutionary Search (BES), a search framework that couples forward candidate evolution with backward goal decomposition. In the forward search, BES augments standard expansion with evolution operators that recombine partial trajectories to generate candidates that are difficult to obtain from a single model rollout. In the backward search, BES recursively decomposes the original task into checkable subgoals, producing dense intermediate feedback that guides forward search. We provide theoretical motivation showing that candidates generated by expansion-only search are confined to a narrow entropy shell while evolutionary operators can escape it, and that backward search can exponentially reduce the number of required samples to find a correct answer. Experiments show that on challenging post-training tasks where mainstream post-training algorithms fail to improve, BES enables consistent gains, and on three open problem solving benchmarks at inference time, BES outperforms existing open-source frameworks in both average and best-case performance. Code and trained models are available at https://github.com/Embodied-Minds-Lab/BES.","url_abs":"https://arxiv.org/abs/2605.28814","url_pdf":"https://arxiv.org/pdf/2605.28814","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2605.28814","atlas_url":"https://app.syntology.ai/?focus=2605.28814","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.28814"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Embodied-Minds-Lab/BES","reach":null}],"summary":{"ran":6},"by_repo_kind":{"found_in_text":{"samples":6,"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":0,"samples":[{"code_sha256_prefix":"f3cff0862975e331","entry":"load_program","repo":"Embodied-Minds-Lab/BES","repo_kind":"found_in_text","path":"inference/shinka/core/wrap_eval.py","file_url":"https://github.com/Embodied-Minds-Lab/BES/blob/HEAD/inference/shinka/core/wrap_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f3cff0862975e331"}},{"code_sha256_prefix":"af08ae01723c6028","entry":"normalize_subq_for_match","repo":"Embodied-Minds-Lab/BES","repo_kind":"found_in_text","path":"multihop/search_r1/llm_agent/generation_bes.py","file_url":"https://github.com/Embodied-Minds-Lab/BES/blob/HEAD/multihop/search_r1/llm_agent/generation_bes.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"af08ae01723c6028"}},{"code_sha256_prefix":"64c70cf1ab234cda","entry":"parse_actions","repo":"Embodied-Minds-Lab/BES","repo_kind":"found_in_text","path":"multihop/search_r1/llm_agent/generation_bes.py","file_url":"https://github.com/Embodied-Minds-Lab/BES/blob/HEAD/multihop/search_r1/llm_agent/generation_bes.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"64c70cf1ab234cda"}},{"code_sha256_prefix":"b3c0064f81e51ff3","entry":"summarize_timing_metadata","repo":"Embodied-Minds-Lab/BES","repo_kind":"found_in_text","path":"inference/shinka/core/pipeline_timing.py","file_url":"https://github.com/Embodied-Minds-Lab/BES/blob/HEAD/inference/shinka/core/pipeline_timing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b3c0064f81e51ff3"}},{"code_sha256_prefix":"7a050b038b5146f9","entry":"with_pipeline_timing","repo":"Embodied-Minds-Lab/BES","repo_kind":"found_in_text","path":"inference/shinka/core/pipeline_timing.py","file_url":"https://github.com/Embodied-Minds-Lab/BES/blob/HEAD/inference/shinka/core/pipeline_timing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7a050b038b5146f9"}},{"code_sha256_prefix":"c2c8c84f8b5ec35e","entry":"with_side_effect_timing","repo":"Embodied-Minds-Lab/BES","repo_kind":"found_in_text","path":"inference/shinka/core/pipeline_timing.py","file_url":"https://github.com/Embodied-Minds-Lab/BES/blob/HEAD/inference/shinka/core/pipeline_timing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c2c8c84f8b5ec35e"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}