Skip to content

lyceum-pths/genetic-algorithms

 
 

Repository files navigation

Genetic-algorithms

This program based on a genetic algorithm is aimed on finding the best configuration of knights on a chess desk which follows these simple rules:

  • The more knights - the better
  • The more of them can capture each other - the worse

The genetic algorithm lying in the base of this project can also be applied to different tasks.

To launch the program, execute Launch.py with Python 3 interpreter or execute Launch.bat if you are using Windows or Launch.sh if you are using Linux.

TODO:

  • Make individuals differentiate

  • Add some description and documentation

  • Breeding display to see which genes came from whom

    • Some kind of genealogical tree
  • Settings file (?)

  • Think of a better __init__() for Population

  • Add loading placeholders in GUI

  • Implement saving the progress of evolution (partially done)

  • Think about passing all the parameters to the individuals (extra memory)

  • Fitness_multiplier?

  • CHECK ALL THE CODE FOR REFERENCE TYPE MISTAKES

  • Optimize the number of fitness function calls

  • Correct choose_parent(). Something is definitely wrong with it

    • Maybe force breeding of alpha individuals?
  • Some analytics:

    • Count the percent of mutated nextgens on the list
  • Implement printing from pool

  • Add tooltips for settings

  • Try using canvas instead of frames for improved performance on linux

  • Try to find the dependence of number of cycles needed for population to become stable on field size

  • Think of a better way of breeding in Tests module (not average between two numbers)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%