Skip to content

goncalooliveirasilva/genetic-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genetic Algorithms

A growing collection of small projects and notebooks using Genetic Algorithms (GAs) to solve various problems.

Projects

Notebook Description
evolving_a_string Evolves a random string into a target word or sentence using basic GA principles.
knapsack_problem Solves the classic Knapsack Problem with comparison to the brute force approach.

What are Genetic Algorithms?

Genetic Algorithms are optimization techniques inspired by natural selection. They evolve a population of cadidate solutions through:

  • Selection - choosing the best individuals for reprodution
  • Crossover - combining parts of parents to create offspring
  • Mutation - introducing random changes to maintain diversity
  • Fitness Evaluation - scoring how well each solution performs

They are particularly useful for problems where brute-force or exact methods are computationally impractical.

Running the notebooks

  1. Clone this repo
git clone [email protected]:goncalooliveirasilva/genetic-algorithms.git
cd genetic-algorithms
  1. Create and activate Conda environment (optional)
conda env create -f environment.yml
conda activate ga-env
  1. Launch Jupyter
jupyter lab

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Problems solved with GA's in Python using Jupyter notebooks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published