Commit Graph

21 Commits

Author SHA1 Message Date
0090db9dce Fixed method names and added some crossover methods and tests for floats 2020-10-13 21:07:05 -04:00
55c92d920f Update fitness_examples.py 2020-10-12 19:59:01 -04:00
3424fd4da7 Added blank lines and fixed run_testing 2020-10-12 19:57:57 -04:00
42c0fdbc10 updated all code to use .size() methods 2020-10-12 17:05:57 -04:00
94d7c52666 Added comments & fixed small bug
Mostly added comments, but also fixed a small bug in parent selection where the tournament size would be much smaller than it should be.
2020-10-12 09:23:41 -04:00
88927f7415 File name changes to match the rest of framework. generation goal was setup twice in EasyGA. 2020-10-08 15:53:35 -04:00
3649293133 Updated GA attribute structure, separated selection file structure
Updated GA attribute structure, separated selection file structure
2020-10-06 22:11:40 -04:00
59f0d03f72 Merge branch 'master' into ryley_beta 2020-10-06 21:11:22 -04:00
e7ac0e23f4 Optimizations/updates
1. Deleted duplicate functions in EasyGA
2. Added new index-dependent fitness example
3. GA now auto-sorts by best fitness immediately after the fitness is calculated across the board
4. Removed 'selected' status flag from the Chromosome flag
5. Added mating_pool attribute to the population
6. Changed other code to be in line with 4 and 5
7. Optimized tournament selection method
2020-10-06 17:55:17 -04:00
665062fdf1 Updated Implementation Framework
Updated to cover changes made by Dan to Master regarding general design changes

Also added remove_two_worst survivor selection method
2020-10-05 20:46:25 -04:00
68db360b94 Alot of name changes and file name changes 2020-10-04 23:56:51 -04:00
7e587d48d0 Test Implementation for selection/crossover/mutation
The current test implementation includes random mutation, single point crossover, and tournament selection. The implementation, in short, is a nested approach. The selection method is the only thing actually called by the GA. Both crossover and mutation occur within the selection method. As long as these three systems all follow a standard input/output system, any implementation we build, as well as any user implementations, will work perfectly. The selection function must take GA as a parameter and output a new population. Crossover takes in GA and outputs a population. Mutation takes a chromosome set and outputs a new chromosome set.

Many of the changes in this commit are regarding this test implementation. I have also changed many of the file names from "x_examples" to "x_types" and updated the class names to follow capitalziation standards. I did this because I feel personally like the built-in mutation, crossover, and selection implementations are less "examples" and more just already built implementations to make the code required from the user smaller.
2020-10-04 08:00:33 -04:00
aa0c5320c8 Requested file name changes 2020-09-30 23:25:44 -04:00
8377650c58 Changes from meeting 2020-09-30 19:33:23 -04:00
625143da7d Added the termination features 2020-09-30 00:05:39 -04:00
d531888d78 Fixed import problems 2020-09-29 21:23:18 -04:00
bd76e967ff Added fitness function and changed evolve function 2020-09-29 20:52:06 -04:00
fbbe017c9b Blank init files 2020-09-28 14:08:49 -04:00
2c3ef3f589 rewrote test fitness funciton 2020-09-22 18:54:03 -04:00
ba62846d4b File structure change, added tests into major folders. 2020-09-22 15:18:37 -04:00
083294ed21 Added file structure 2020-09-21 23:24:07 -04:00