brianjosephwalters/Genetic-Algorithm
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Genetic Algorithm Project CSCI 6635 - Pattern Recogition You need to develop a Genetic Algorithm (GA) (or, any other heuristics based nondeterministic approach) based structural search algorithms. The algorithm for a given sequences will search for the best conformation or will go for minimum Energy conformation and it will visually show or draw the best conformation found in each generations or in each steps along with the computed fitness value. NOTE: I am not a biologist. Throughout this project I used the term "gene" where I probably should have used "chromosome". Included Secondary Sources: Halm, Eyal (2007) "Genetic Algorithm for Predicting Protein Folding in the 2D HP Model" Requirements: Python 2.7.3 Tkinter (should be included in the standard python library) How to run the project: 1. Ensure that Python 2.7.3 is installed. 2. Extract the files to your computer. 3. Run using: python genetic_algorithm.py GUI Features: Load a "valid" data files (as specified in the assignment). Specify features such as: Data Set (drop-down menu) Population Size Number of Generations % Elite (genes to be preserved between generations.) % Crossover (genes on which to apply crossover.) % Mutation (gene components to be mutated.) You may run the program in two ways. 1) Run Data Set Runs the genetic algorithm on the selected data set for the specified number of generations. The gene with the best fitness score is rendered as a 2D visualization, as well as printed in the log. Upon completion of a "run", a history is available. 2) Walk Data Set Walking a data set allows a closer look at the generations. Each generation is produced, one at a time, with a detailed textual representation of the population. Each generation displays information about its origination: * The first row references the indexes of the parents from which the current gene has been crossed-over. * The second row provides indexes for the genes of the current generation. An "!" indicates the gene was produced from a crossover operation that did not complete successfully. A "x" indicates that the gene was the product of a crossover operation. * The following rows indicate the turn state of the gene at a particular cell. A turn surrounded by "<" and ">" indicates a cross-over location from the previous generation. An "!" indicates a mutation created this cell. * The final row indicates the fitness of the gene. A "*" indicates an elite gene that was carried over directly from the previous generation. A walk can be canceled at any point.
About
Project for CSCI 6635: Pattern Recognition
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published