{"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/any-equation-is-a-forest-symbolic-genetic","title":"Any equation is a forest: Symbolic genetic algorithm for discovering open-form partial differential equations (SGA-PDE)","arxiv_id":"2106.11927","date":"2021-06-09","proceeding":null,"authors":["Yuntian Chen","Yingtao Luo","Qiang Liu","Hao Xu","Dongxiao Zhang"],"abstract":"Partial differential equations (PDEs) are concise and understandable representations of domain knowledge, which are essential for deepening our understanding of physical processes and predicting future responses. However, the PDEs of many real-world problems are uncertain, which calls for PDE discovery. We propose the symbolic genetic algorithm (SGA-PDE) to discover open-form PDEs directly from data without prior knowledge about the equation structure. SGA-PDE focuses on the representation and optimization of PDE. Firstly, SGA-PDE uses symbolic mathematics to realize the flexible representation of any given PDE, transforms a PDE into a forest, and converts each function term into a binary tree. Secondly, SGA-PDE adopts a specially designed genetic algorithm to efficiently optimize the binary trees by iteratively updating the tree topology and node attributes. The SGA-PDE is gradient-free, which is a desirable characteristic in PDE discovery since it is difficult to obtain the gradient between the PDE loss and the PDE structure. In the experiment, SGA-PDE not only successfully discovered nonlinear Burgers' equation, Korteweg-de Vries (KdV) equation, and Chafee-Infante equation, but also handled PDEs with fractional structure and compound functions that cannot be solved by conventional PDE discovery methods.","url_abs":"https://arxiv.org/abs/2106.11927v1","url_pdf":"https://arxiv.org/pdf/2106.11927v1.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":"any-equation-is-a-forest-symbolic-genetic","repo_url":"https://github.com/YuntianChen/SGA-PDE","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"any-equation-is-a-forest-symbolic-genetic","repo_url":"https://github.com/yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"form","task_name":"Form"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.11927","atlas_url":"https://app.syntology.ai/?focus=2106.11927","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.11927"}},"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/yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YuntianChen/SGA-PDE","reach":null}],"summary":{"ran_fixture":1,"ran_draft_wrong":2,"ran_violates":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"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":3,"samples":[{"code_sha256_prefix":"e40d4a2dcd4267d7","entry":"Diff","repo":"yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search","repo_kind":"listed","path":"PDE_find.py","file_url":"https://github.com/yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search/blob/HEAD/PDE_find.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e40d4a2dcd4267d7"}},{"code_sha256_prefix":"41d34afc94b7b979","entry":"FiniteDiff","repo":"yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search","repo_kind":"listed","path":"PDE_find.py","file_url":"https://github.com/yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search/blob/HEAD/PDE_find.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"41d34afc94b7b979"}},{"code_sha256_prefix":"2d11d7f451e6ee66","entry":"Train","repo":"yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search","repo_kind":"listed","path":"PDE_find.py","file_url":"https://github.com/yingtaoluo/PDE-Discovery-with-Evolutionary-Tree-Search/blob/HEAD/PDE_find.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2d11d7f451e6ee66"}},{"code_sha256_prefix":"c6fbd09210e67c4a","entry":"divide","repo":"YuntianChen/SGA-PDE","repo_kind":"official","path":"codes/configure.py","file_url":"https://github.com/YuntianChen/SGA-PDE/blob/HEAD/codes/configure.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c6fbd09210e67c4a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}