{"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/fast-genetic-algorithms","title":"Fast Genetic Algorithms","arxiv_id":"1703.03334","date":"2017-03-09","proceeding":null,"authors":["Benjamin Doerr","Huu Phuoc Le","Régis Makhmara","Ta Duy Nguyen"],"abstract":"For genetic algorithms using a bit-string representation of length~$n$, the\ngeneral recommendation is to take $1/n$ as mutation rate. In this work, we\ndiscuss whether this is really justified for multimodal functions. Taking jump\nfunctions and the $(1+1)$ evolutionary algorithm as the simplest example, we\nobserve that larger mutation rates give significantly better runtimes. For the\n$\\jump_{m,n}$ function, any mutation rate between $2/n$ and $m/n$ leads to a\nspeed-up at least exponential in $m$ compared to the standard choice.\n  The asymptotically best runtime, obtained from using the mutation rate $m/n$\nand leading to a speed-up super-exponential in $m$, is very sensitive to small\nchanges of the mutation rate. Any deviation by a small $(1 \\pm \\eps)$ factor\nleads to a slow-down exponential in $m$. Consequently, any fixed mutation rate\ngives strongly sub-optimal results for most jump functions.\n  Building on this observation, we propose to use a random mutation rate\n$\\alpha/n$, where $\\alpha$ is chosen from a power-law distribution. We prove\nthat the $(1+1)$ EA with this heavy-tailed mutation rate optimizes any\n$\\jump_{m,n}$ function in a time that is only a small polynomial (in~$m$)\nfactor above the one stemming from the optimal rate for this $m$.\n  Our heavy-tailed mutation operator yields similar speed-ups (over the best\nknown performance guarantees) for the vertex cover problem in bipartite graphs\nand the matching problem in general graphs.\n  Following the example of fast simulated annealing, fast evolution strategies,\nand fast evolutionary programming, we propose to call genetic algorithms using\na heavy-tailed mutation operator \\emph{fast genetic algorithms}.","url_abs":"http://arxiv.org/abs/1703.03334v2","url_pdf":"http://arxiv.org/pdf/1703.03334v2.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":"fast-genetic-algorithms","repo_url":"https://github.com/FastGA/fast-genetic-algorithms","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"fast-genetic-algorithms","repo_url":"https://github.com/rafalpronko/tsp-kaggle","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1703.03334","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}