{"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/patternboost-constructions-in-mathematics","title":"PatternBoost: Constructions in Mathematics with a Little Help from AI","arxiv_id":"2411.00566","date":"2024-11-01","proceeding":null,"authors":["François Charton","Jordan S. Ellenberg","Adam Zsolt Wagner","Geordie Williamson"],"abstract":"We introduce PatternBoost, a flexible method for finding interesting constructions in mathematics. Our algorithm alternates between two phases. In the first ``local'' phase, a classical search algorithm is used to produce many desirable constructions. In the second ``global'' phase, a transformer neural network is trained on the best such constructions. Samples from the trained transformer are then used as seeds for the first phase, and the process is repeated. We give a detailed introduction to this technique, and discuss the results of its application to several problems in extremal combinatorics. The performance of PatternBoost varies across different problems, but there are many situations where its performance is quite impressive. Using our technique, we find the best known solutions to several long-standing problems, including the construction of a counterexample to a conjecture that had remained open for 30 years.","url_abs":"https://arxiv.org/abs/2411.00566v1","url_pdf":"https://arxiv.org/pdf/2411.00566v1.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":"patternboost-constructions-in-mathematics","repo_url":"https://github.com/zawagner22/transformers_math_experiments","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2411.00566","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.00566"}},"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/zawagner22/transformers_math_experiments","reach":{"status":"ok"}}],"summary":{"ran_violates":1,"unverified":7},"by_repo_kind":{"official":{"samples":8,"ran":1,"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":8,"samples":[{"code_sha256_prefix":"cc66d68d2046d6a3","entry":"bool_flag","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/utils.py","link_basis":"plan_row","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":"cc66d68d2046d6a3"}},{"code_sha256_prefix":"d8a9cf83d322e37d","entry":"create_datasets","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"makebettertokens.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/makebettertokens.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d8a9cf83d322e37d"}},{"code_sha256_prefix":"2f7db44ecae76417","entry":"create_logger","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"logger.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/logger.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2f7db44ecae76417"}},{"code_sha256_prefix":"620b50d564c38f6f","entry":"evaluate","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"makebettertokens.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/makebettertokens.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"620b50d564c38f6f"}},{"code_sha256_prefix":"c0404a54188e528d","entry":"evaluate","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"makemoretokens.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/makemoretokens.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c0404a54188e528d"}},{"code_sha256_prefix":"fa1a19150c9003a6","entry":"generate","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"makebettertokens.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/makebettertokens.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fa1a19150c9003a6"}},{"code_sha256_prefix":"355a98837a3c3cc6","entry":"logprobs","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"makemoretokens.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/makemoretokens.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"355a98837a3c3cc6"}},{"code_sha256_prefix":"e7b55aa114a5156a","entry":"timeout","repo":"zawagner22/transformers_math_experiments","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zawagner22/transformers_math_experiments/blob/HEAD/utils.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e7b55aa114a5156a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}