{"id":37616938,"url":"https://github.com/lukehollenback/genesis","last_synced_at":"2026-01-16T10:32:27.285Z","repository":{"id":57703723,"uuid":"239405450","full_name":"lukehollenback/genesis","owner":"lukehollenback","description":"Genetic algorithm that strives to breed perfect offspring from imperfect parents.","archived":false,"fork":false,"pushed_at":"2020-09-17T03:36:27.000Z","size":24,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T03:14:44.110Z","etag":null,"topics":["bitwise-operations","evolutionary-algorithms","genetic-algorithms","optimization-algorithms","search-algorithms"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukehollenback.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-10T01:44:19.000Z","updated_at":"2024-04-02T17:40:33.000Z","dependencies_parsed_at":"2022-09-26T21:11:58.246Z","dependency_job_id":null,"html_url":"https://github.com/lukehollenback/genesis","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lukehollenback/genesis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukehollenback%2Fgenesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukehollenback%2Fgenesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukehollenback%2Fgenesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukehollenback%2Fgenesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukehollenback","download_url":"https://codeload.github.com/lukehollenback/genesis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukehollenback%2Fgenesis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: 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":["bitwise-operations","evolutionary-algorithms","genetic-algorithms","optimization-algorithms","search-algorithms"],"created_at":"2026-01-16T10:32:26.998Z","updated_at":"2026-01-16T10:32:27.198Z","avatar_url":"https://github.com/lukehollenback.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Genesis\n\n\u003cimg src=\"https://img.shields.io/badge/status-Complete-green.svg\" alt=\"Status: Complete\"/\u003e\n\nA simple [genetic/evolutionary algorithm](https://en.wikipedia.org/wiki/Genetic_algorithm) written in Go.\n\nSimulates the evolution of generations of creatures with varying traits through breeding,\nmutation, and natural selection. The end goal is that a creature which has *all* known superior traits,\nand *no* known inferior traits, is bred.\n\n_As a note, this was a programming excercise – not a biology excercise. At best, this was a gross\nsimplification of reality fueled by\n[casual reductionism](https://en.wikipedia.org/wiki/Fallacy_of_the_single_cause). At worst, it\nwas an excercise with no corrolation to reality at all._\n\nUltimately, this project serves to:\n\n* Demonstrate use of many of Go's key language features.\n* Demonstrate a (albeit simple) genetic algorithm at work.\n\n## Example Output\n\n```bash\n$ go run .\n--------------------------------------------------------------------------------\nGod  = 00100110011111110011001010110011 (score = 32)\nAdam = 11101100110100100010000100011101 (score = 15)\nEve  = 01111011111111101001101010000001 (score = 19)\n--------------------------------------------------------------------------------\nBreeding next generation (1) (of 534 children)...\n  ↝        Best Child = 11110100011101100011101000110001 (score = 23)\n  ↝ Second Best Child = 11101111000111110011001010011001 (score = 23)\n...Finished.\n--------------------------------------------------------------------------------\nBreeding next generation (2) (of 12 children)...\nNaturally selecting with bad gene mask = 00000000000000000000000000000010...\n  ↝        Best Child = 00110110000111010001101010010001 (score = 24)\n  ↝ Second Best Child = 11101001011111110011101010111001 (score = 23)\n...Finished.\n--------------------------------------------------------------------------------\nBreeding next generation (3) (of 96 children)...\n  ↝        Best Child = 10100010001101110011001010110011 (score = 28)\n  ↝ Second Best Child = 10100110011111010011101010110001 (score = 28)\n...Finished.\n--------------------------------------------------------------------------------\nBreeding next generation (4) (of 337 children)...\n  ↝        Best Child = 00100010011111110011001010110001 (score = 30)\n  ↝ Second Best Child = 00100110011100110011001010110011 (score = 30)\n...Finished.\n--------------------------------------------------------------------------------\nBreeding next generation (5) (of 756 children)...\nNaturally selecting with bad gene mask = 00000000000000000000000000000100...\n  ↝        Best Child = 00100110011111110011001010110011 (score = 32)\n  ↝ Second Best Child = 00100110011101110011001010110011 (score = 31)\n...Finished.\n--------------------------------------------------------------------------------\nFound best possible child after 5 generations.\nBest Possible Child = 00100110011111110011001010110011 (score = 32)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukehollenback%2Fgenesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukehollenback%2Fgenesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukehollenback%2Fgenesis/lists"}