{"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/evolving-simple-programs-for-playing-atari","title":"Evolving simple programs for playing Atari games","arxiv_id":"1806.05695","date":"2018-06-14","proceeding":null,"authors":["Dennis G Wilson","Sylvain Cussat-Blanc","Hervé Luga","Julian F. Miller"],"abstract":"Cartesian Genetic Programming (CGP) has previously shown capabilities in\nimage processing tasks by evolving programs with a function set specialized for\ncomputer vision. A similar approach can be applied to Atari playing. Programs\nare evolved using mixed type CGP with a function set suited for matrix\noperations, including image processing, but allowing for controller behavior to\nemerge. While the programs are relatively small, many controllers are\ncompetitive with state of the art methods for the Atari benchmark set and\nrequire less training time. By evaluating the programs of the best evolved\nindividuals, simple but effective strategies can be found.","url_abs":"http://arxiv.org/abs/1806.05695v1","url_pdf":"http://arxiv.org/pdf/1806.05695v1.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":"evolving-simple-programs-for-playing-atari","repo_url":"https://github.com/JacobLaney/cgp-tetris","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"evolving-simple-programs-for-playing-atari","repo_url":"https://github.com/ShuhuaGao/gpFlappyBird","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"atari-games","task_name":"Atari Games"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/atari-games-on-atari-2600-alien","task":"Atari Games","dataset":"Atari 2600 Alien","model":"CGP","rank_in_archive_order":30,"of":49,"metrics":{"Score":"1978"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-amidar","task":"Atari Games","dataset":"Atari 2600 Amidar","model":"CGP","rank_in_archive_order":37,"of":48,"metrics":{"Score":"199"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-assault","task":"Atari Games","dataset":"Atari 2600 Assault","model":"CGP","rank_in_archive_order":41,"of":45,"metrics":{"Score":"890.4"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-asterix","task":"Atari Games","dataset":"Atari 2600 Asterix","model":"CGP","rank_in_archive_order":44,"of":49,"metrics":{"Score":"1880"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-asteroids","task":"Atari Games","dataset":"Atari 2600 Asteroids","model":"CGP","rank_in_archive_order":12,"of":43,"metrics":{"Score":"9412"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-atlantis","task":"Atari Games","dataset":"Atari 2600 Atlantis","model":"CGP","rank_in_archive_order":39,"of":42,"metrics":{"Score":"99240"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-bank-heist","task":"Atari Games","dataset":"Atari 2600 Bank Heist","model":"CGP","rank_in_archive_order":43,"of":45,"metrics":{"Score":"148"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-battle-zone","task":"Atari Games","dataset":"Atari 2600 Battle Zone","model":"CGP","rank_in_archive_order":21,"of":47,"metrics":{"Score":"34200"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-beam-rider","task":"Atari Games","dataset":"Atari 2600 Beam Rider","model":"CGP","rank_in_archive_order":45,"of":49,"metrics":{"Score":"1341.6"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-berzerk","task":"Atari Games","dataset":"Atari 2600 Berzerk","model":"CGP","rank_in_archive_order":26,"of":39,"metrics":{"Score":"1138"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-bowling","task":"Atari Games","dataset":"Atari 2600 Bowling","model":"CGP","rank_in_archive_order":14,"of":44,"metrics":{"Score":"85.8"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-boxing","task":"Atari Games","dataset":"Atari 2600 Boxing","model":"CGP","rank_in_archive_order":41,"of":45,"metrics":{"Score":"38.4"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-breakout","task":"Atari Games","dataset":"Atari 2600 Breakout","model":"CGP","rank_in_archive_order":53,"of":58,"metrics":{"Score":"13.2"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-centipede","task":"Atari Games","dataset":"Atari 2600 Centipede","model":"CGP","rank_in_archive_order":13,"of":45,"metrics":{"Score":"24708"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-chopper-command","task":"Atari Games","dataset":"Atari 2600 Chopper Command","model":"CGP","rank_in_archive_order":38,"of":45,"metrics":{"Score":"3580"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-crazy-climber","task":"Atari Games","dataset":"Atari 2600 Crazy Climber","model":"CGP","rank_in_archive_order":47,"of":49,"metrics":{"Score":"12900"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-defender","task":"Atari Games","dataset":"Atari 2600 Defender","model":"CGP","rank_in_archive_order":1,"of":21,"metrics":{"Score":"993010"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-demon-attack","task":"Atari Games","dataset":"Atari 2600 Demon Attack","model":"CGP","rank_in_archive_order":41,"of":46,"metrics":{"Score":"2387"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-double-dunk","task":"Atari Games","dataset":"Atari 2600 Double Dunk","model":"CGP","rank_in_archive_order":19,"of":43,"metrics":{"Score":"2"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-enduro","task":"Atari Games","dataset":"Atari 2600 Enduro","model":"CGP","rank_in_archive_order":43,"of":48,"metrics":{"Score":"56.8"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-fishing-derby","task":"Atari Games","dataset":"Atari 2600 Fishing Derby","model":"CGP","rank_in_archive_order":43,"of":44,"metrics":{"Score":"-51"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-freeway","task":"Atari Games","dataset":"Atari 2600 Freeway","model":"CGP","rank_in_archive_order":40,"of":59,"metrics":{"Score":"28.2"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-frostbite","task":"Atari Games","dataset":"Atari 2600 Frostbite","model":"CGP","rank_in_archive_order":37,"of":53,"metrics":{"Score":"782"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-gopher","task":"Atari Games","dataset":"Atari 2600 Gopher","model":"CGP","rank_in_archive_order":40,"of":43,"metrics":{"Score":"1696"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-gravitar","task":"Atari Games","dataset":"Atari 2600 Gravitar","model":"CGP","rank_in_archive_order":15,"of":53,"metrics":{"Score":"2350"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-hero","task":"Atari Games","dataset":"Atari 2600 HERO","model":"CGP","rank_in_archive_order":44,"of":44,"metrics":{"Score":"2974"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-ice-hockey","task":"Atari Games","dataset":"Atari 2600 Ice Hockey","model":"CGP","rank_in_archive_order":13,"of":43,"metrics":{"Score":"4"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-james-bond","task":"Atari Games","dataset":"Atari 2600 James Bond","model":"CGP","rank_in_archive_order":13,"of":45,"metrics":{"Score":"6130"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-kangaroo","task":"Atari Games","dataset":"Atari 2600 Kangaroo","model":"CGP","rank_in_archive_order":39,"of":47,"metrics":{"Score":"1400"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-krull","task":"Atari Games","dataset":"Atari 2600 Krull","model":"CGP","rank_in_archive_order":23,"of":45,"metrics":{"Score":"9086.8"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-kung-fu-master","task":"Atari Games","dataset":"Atari 2600 Kung-Fu Master","model":"CGP","rank_in_archive_order":15,"of":43,"metrics":{"Score":"57400"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-montezumas-revenge","task":"Atari Games","dataset":"Atari 2600 Montezuma's Revenge","model":"CGP","rank_in_archive_order":45,"of":50,"metrics":{"Score":"0"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-ms-pacman","task":"Atari Games","dataset":"Atari 2600 Ms. Pacman","model":"CGP","rank_in_archive_order":32,"of":47,"metrics":{"Score":"2568"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-name-this-game","task":"Atari Games","dataset":"Atari 2600 Name This Game","model":"CGP","rank_in_archive_order":40,"of":43,"metrics":{"Score":"3696"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-phoenix","task":"Atari Games","dataset":"Atari 2600 Phoenix","model":"CGP","rank_in_archive_order":20,"of":21,"metrics":{"Score":"7520"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-pitfall","task":"Atari Games","dataset":"Atari 2600 Pitfall!","model":"CGP","rank_in_archive_order":7,"of":23,"metrics":{"Score":"0"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-pong","task":"Atari Games","dataset":"Atari 2600 Pong","model":"CGP","rank_in_archive_order":29,"of":52,"metrics":{"Score":"20"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-private-eye","task":"Atari Games","dataset":"Atari 2600 Private Eye","model":"CGP","rank_in_archive_order":10,"of":52,"metrics":{"Score":"12702.2"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-qbert","task":"Atari Games","dataset":"Atari 2600 Q*Bert","model":"CGP","rank_in_archive_order":51,"of":57,"metrics":{"Score":"770"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-river-raid","task":"Atari Games","dataset":"Atari 2600 River Raid","model":"CGP","rank_in_archive_order":39,"of":41,"metrics":{"Score":"2914"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-road-runner","task":"Atari Games","dataset":"Atari 2600 Road Runner","model":"CGP","rank_in_archive_order":40,"of":44,"metrics":{"Score":"8960"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-robotank","task":"Atari Games","dataset":"Atari 2600 Robotank","model":"CGP","rank_in_archive_order":35,"of":42,"metrics":{"Score":"24.2"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-seaquest","task":"Atari Games","dataset":"Atari 2600 Seaquest","model":"CGP","rank_in_archive_order":48,"of":57,"metrics":{"Score":"724"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-skiing","task":"Atari Games","dataset":"Atari 2600 Skiing","model":"CGP","rank_in_archive_order":9,"of":23,"metrics":{"Score":"-9011"},"uses_additional_data":true},{"leaderboard":"/sota/atari-games-on-atari-2600-solaris","task":"Atari Games","dataset":"Atari 2600 Solaris","model":"CGP","rank_in_archive_order":9,"of":23,"metrics":{"Score":"8324"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-space-invaders","task":"Atari Games","dataset":"Atari 2600 Space Invaders","model":"CGP","rank_in_archive_order":46,"of":55,"metrics":{"Score":"1001"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-star-gunner","task":"Atari Games","dataset":"Atari 2600 Star Gunner","model":"CGP","rank_in_archive_order":38,"of":43,"metrics":{"Score":"2320"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-tennis","task":"Atari Games","dataset":"Atari 2600 Tennis","model":"CGP","rank_in_archive_order":25,"of":43,"metrics":{"Score":"0"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-time-pilot","task":"Atari Games","dataset":"Atari 2600 Time Pilot","model":"CGP","rank_in_archive_order":20,"of":44,"metrics":{"Score":"12040"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-tutankham","task":"Atari Games","dataset":"Atari 2600 Tutankham","model":"CGP","rank_in_archive_order":44,"of":44,"metrics":{"Score":"0"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-up-and-down","task":"Atari Games","dataset":"Atari 2600 Up and Down","model":"CGP","rank_in_archive_order":34,"of":44,"metrics":{"Score":"14524"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-venture","task":"Atari Games","dataset":"Atari 2600 Venture","model":"CGP","rank_in_archive_order":54,"of":55,"metrics":{"Score":"0"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-video-pinball","task":"Atari Games","dataset":"Atari 2600 Video Pinball","model":"CGP","rank_in_archive_order":39,"of":42,"metrics":{"Score":"33752.4"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-wizard-of-wor","task":"Atari Games","dataset":"Atari 2600 Wizard of Wor","model":"CGP","rank_in_archive_order":34,"of":41,"metrics":{"Score":"3820"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-yars-revenge","task":"Atari Games","dataset":"Atari 2600 Yars Revenge","model":"CGP","rank_in_archive_order":14,"of":17,"metrics":{"Score":"28838.2"},"uses_additional_data":false},{"leaderboard":"/sota/atari-games-on-atari-2600-zaxxon","task":"Atari Games","dataset":"Atari 2600 Zaxxon","model":"CGP","rank_in_archive_order":39,"of":41,"metrics":{"Score":"2980"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1806.05695","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.05695"}},"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/ShuhuaGao/gpFlappyBird","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JacobLaney/cgp-tetris","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"listed":{"samples":9,"ran":0,"repositories":2}},"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":"e19e5ccfdc0938b3","entry":"evolve","repo":"ShuhuaGao/gpFlappyBird","repo_kind":"listed","path":"cgp.py","file_url":"https://github.com/ShuhuaGao/gpFlappyBird/blob/HEAD/cgp.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":"e19e5ccfdc0938b3"}},{"code_sha256_prefix":"5c4c9aa4cbc88e62","entry":"get_column_heights","repo":"JacobLaney/cgp-tetris","repo_kind":"listed","path":"configurations/tetris_heuristic.py","file_url":"https://github.com/JacobLaney/cgp-tetris/blob/HEAD/configurations/tetris_heuristic.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":"5c4c9aa4cbc88e62"}},{"code_sha256_prefix":"42b8b705cb0ccf7d","entry":"get_grid","repo":"JacobLaney/cgp-tetris","repo_kind":"listed","path":"configurations/tetris_heuristic.py","file_url":"https://github.com/JacobLaney/cgp-tetris/blob/HEAD/configurations/tetris_heuristic.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":"42b8b705cb0ccf7d"}},{"code_sha256_prefix":"82cb0a926867b651","entry":"max2","repo":"JacobLaney/cgp-tetris","repo_kind":"listed","path":"cgp/functions/comparison.py","file_url":"https://github.com/JacobLaney/cgp-tetris/blob/HEAD/cgp/functions/comparison.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":"82cb0a926867b651"}},{"code_sha256_prefix":"0aaefee9b6b899be","entry":"protected_div","repo":"ShuhuaGao/gpFlappyBird","repo_kind":"listed","path":"cgp.py","file_url":"https://github.com/ShuhuaGao/gpFlappyBird/blob/HEAD/cgp.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":"0aaefee9b6b899be"}},{"code_sha256_prefix":"aeec1a19a777b8d9","entry":"remove_floating_tile","repo":"JacobLaney/cgp-tetris","repo_kind":"listed","path":"configurations/tetris_heuristic.py","file_url":"https://github.com/JacobLaney/cgp-tetris/blob/HEAD/configurations/tetris_heuristic.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":"aeec1a19a777b8d9"}},{"code_sha256_prefix":"eb0aac8daa0fc7f1","entry":"round_expr","repo":"ShuhuaGao/gpFlappyBird","repo_kind":"listed","path":"postprocessing.py","file_url":"https://github.com/ShuhuaGao/gpFlappyBird/blob/HEAD/postprocessing.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":"eb0aac8daa0fc7f1"}},{"code_sha256_prefix":"d474e08b2934addf","entry":"run_episode_async","repo":"JacobLaney/cgp-tetris","repo_kind":"listed","path":"cgp/training_environment.py","file_url":"https://github.com/JacobLaney/cgp-tetris/blob/HEAD/cgp/training_environment.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":"d474e08b2934addf"}},{"code_sha256_prefix":"e8359b3bb176b5fa","entry":"simplify","repo":"ShuhuaGao/gpFlappyBird","repo_kind":"listed","path":"postprocessing.py","file_url":"https://github.com/ShuhuaGao/gpFlappyBird/blob/HEAD/postprocessing.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":"e8359b3bb176b5fa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}