{"id":27298955,"url":"https://github.com/fralotito/neat-control","last_synced_at":"2026-04-12T08:41:37.886Z","repository":{"id":93566143,"uuid":"230139450","full_name":"FraLotito/neat-control","owner":"FraLotito","description":"Self-solving control problems from OpenAI Gym with NEAT","archived":false,"fork":false,"pushed_at":"2020-01-02T11:33:32.000Z","size":1763,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-27T05:45:03.097Z","etag":null,"topics":["algorithms","cartpole","evolutionary-algorithms","lunarlander-v2","neat","neat-python","neural-networks","reinforcement-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FraLotito.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-25T18:27:07.000Z","updated_at":"2022-04-24T06:45:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"2bcd8c8d-6a95-48be-bdcb-2a5103766ff7","html_url":"https://github.com/FraLotito/neat-control","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FraLotito/neat-control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FraLotito%2Fneat-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FraLotito%2Fneat-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FraLotito%2Fneat-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FraLotito%2Fneat-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FraLotito","download_url":"https://codeload.github.com/FraLotito/neat-control/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FraLotito%2Fneat-control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31709294,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","cartpole","evolutionary-algorithms","lunarlander-v2","neat","neat-python","neural-networks","reinforcement-learning"],"created_at":"2025-04-12T00:38:33.061Z","updated_at":"2026-04-12T08:41:37.880Z","avatar_url":"https://github.com/FraLotito.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Self-solving control problems with NEAT\nThis is a brief tutorial to solve some classical control problems from OpenAI Gym using NEAT.\n\n## Background\n\n### NEAT\nNEAT (Neuro-Evolution of Augmenting Topologies) is a popular neuroevolution algorithm. Usually, when you are dealing with neural networks you need to decide apriori the topology of the network (this is tipically done relying on experience and heuristics) and then you train the weights of the networks through gradient descent and backpropagation; the idea behind the NEAT algorithm is to use an evolutionary approach to make the topology and the weights of the neural network evolve to solve a certain task. \n\n\u003cimg src=\"images/neuroevolution.png\" width=\"600\" height=\"368\" /\u003e\n\nYou can find more information on the algorithms in this paper http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf\n\nA python implementation of NEAT is available with the package python-neat.\n\n### OpenAI Gym\nThe Gym library is a collection of test problems — environments — that you can use to work out your reinforcement learning algorithms, these environments have a shared interface, allowing you to write general algorithms. It supports teaching agents everything from walking to playing games like Pong or Pinball.\n\nIt makes no assumptions about the structure of your agent, and it's compatible with any numerical computation library.\n\n## Environments\nSo far this repository contains the write-ups of the following environments:\n\n* [CartPole-v1](https://github.com/FraLotito/neat-control/tree/master/cartpole)\n* [LunarLander-v2](https://github.com/FraLotito/neat-control/tree/master/lunarlander)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffralotito%2Fneat-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffralotito%2Fneat-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffralotito%2Fneat-control/lists"}