{"id":14958685,"url":"https://github.com/dadukhankevin/finch","last_synced_at":"2025-07-03T23:33:47.055Z","repository":{"id":62916211,"uuid":"558552888","full_name":"dadukhankevin/Finch","owner":"dadukhankevin","description":"🐤The next evolution of evolution.","archived":false,"fork":false,"pushed_at":"2025-05-26T22:32:01.000Z","size":1274,"stargazers_count":39,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-14T08:18:05.135Z","etag":null,"topics":["artificial-intelligence","evolutionary-algorithms","genetic-algorithm","genetic-algorithms","keras","python3"],"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/dadukhankevin.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}},"created_at":"2022-10-27T19:29:56.000Z","updated_at":"2025-05-26T22:32:05.000Z","dependencies_parsed_at":"2023-10-31T02:22:14.484Z","dependency_job_id":"a8e798da-d1c2-4ea5-86cb-45908d457493","html_url":"https://github.com/dadukhankevin/Finch","commit_stats":{"total_commits":53,"total_committers":2,"mean_commits":26.5,"dds":"0.018867924528301883","last_synced_commit":"0bba8fd3208cb1118f3a261d82feb207789e8927"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/dadukhankevin/Finch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadukhankevin%2FFinch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadukhankevin%2FFinch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadukhankevin%2FFinch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadukhankevin%2FFinch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dadukhankevin","download_url":"https://codeload.github.com/dadukhankevin/Finch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadukhankevin%2FFinch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260924534,"owners_count":23083524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["artificial-intelligence","evolutionary-algorithms","genetic-algorithm","genetic-algorithms","keras","python3"],"created_at":"2024-09-24T13:17:49.944Z","updated_at":"2025-07-03T23:33:47.032Z","avatar_url":"https://github.com/dadukhankevin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Finch: Evolutionary Algorithm Framework\n\nFinch is a Python framework for implementing evolutionary algorithms. It provides a modular approach to building and experimenting with various evolutionary computation techniques.\n\n## Key Features\n\n- Modular design with customizable components\n- Support for different types of genes (float arrays, strings, arrays)\n- Various selection, crossover, and mutation operators\n- GPU acceleration support using CuPy\n- Visualization tools for monitoring evolution progress\n\n## Main Components\n\n1. **GenePool**: Generates initial populations\n   - FloatPool, StringPool, ArrayPool, ImagePool\n\n2. **Individual**: Represents a single solution in the population\n\n3. **Layer**: Defines genetic operators\n   - Selection layers\n   - Crossover layers (e.g., N-Point, Uniform)\n   - Mutation layers (e.g., Gaussian, Uniform, Polynomial, Swap, Inversion, Scramble)\n\n4. **Environment**: Manages the evolution process\n\n5. **Competition**: Allows comparing multiple evolutionary strategies\n\n## Usage\n\n1. Define your fitness function\n2. Create a GenePool\n3. Set up Layers for selection, crossover, and mutation\n4. Initialize an Environment with your layers and individuals\n5. Run the evolution process\n\n## Example\n\n```python\n\nimport Finch.layers as layers\nfrom Finch.selectors import *\nfrom Finch.generic import *\n\ndef fitness_function(individual):\n    return sum(individual.item)\n\ngene_pool = layers.float_arrays.FloatPool(ranges=[[-5, 5]] * 10, length=10, fitness_function=fitness_function)\nmutation_selection = RandomSelection(percent_to_select=.1)\ncrossover_selection = RandomSelection(amount_to_select=2)\n\n# Set up layers\nlayers = [\n    layers.universal_layers.Populate(population=500, gene_pool=gene_pool),\n    layers.array_layers.ParentNPoint(selection_function=crossover_selection.select, families=4, children=4),\n    layers.float_arrays.GaussianMutation(mutation_rate=0.1, sigma=0.5, selection_function=mutation_selection.select),\n    layers.universal_layers.SortByFitness(),\n    layers.universal_layers.CapPopulation(1000),\n]\n\nenv = Environment(layers)\nenv.compile()\nenv.evolve(generations=1000)\n\nprint(env.best_ever.item)\nenv.plot()\n```\n\n## Installation\n\n```\npip install finch-genetics\n```\n\nFind this project on [Gitstar](http://127.0.0.1:5000/repository/2) - where repositories battle for glory!\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadukhankevin%2Ffinch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdadukhankevin%2Ffinch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadukhankevin%2Ffinch/lists"}