2b6f0e2e97
Decorators cleanly preserve both function names and doc-strings.
2020-12-27 10:11:43 -05:00
adab92216f
Removed unnecessary code and decorator naming
2020-12-21 09:56:56 -05:00
97cb4e869c
Added another mutation method
2020-12-20 14:01:26 -05:00
f0a9d77f70
Added Arithmetic.average
2020-12-13 10:08:13 -05:00
dcf14b945f
Better random avoid best
2020-12-09 10:55:33 -05:00
c19ef0d1be
Fixed bugs involving None types
2020-12-07 21:07:04 -05:00
85855c2746
Renamed decorators for consistency
2020-12-03 00:21:52 -05:00
1aa314a805
Cleaner gene reflection method.
2020-12-01 19:01:07 -05:00
700ca556f1
Update mutation_methods.py
2020-12-01 18:46:22 -05:00
ea9beb8d8a
Reset the fitness when mutating
2020-12-01 10:36:56 -05:00
d25ea314ac
Using random.sample for efficiency
2020-11-27 22:17:13 -05:00
d845e7fc1b
Fixed percent of population unmutated
2020-11-27 20:19:23 -05:00
5b5ed70d73
Fixed bug
2020-11-27 19:16:08 -05:00
e54824238b
Ensure sorted not needed.
...
The problem was not appending old chromosomes to the front of the next population during survivor selection.
2020-11-27 19:13:37 -05:00
a87103b80c
Added ensure_sorted decorator.
...
Ensures elitism occurs.
2020-11-27 19:08:05 -05:00
f21512f178
Fixed random_avoid_best
2020-11-27 18:40:58 -05:00
1ba86c0661
Cleaned up spacing
2020-11-26 21:30:49 -05:00
243d0dd1a0
Error checking and avoid creating new chromosome for mutation
2020-11-23 11:53:46 -05:00
c8985f9872
Opted for single _ instead of double _
2020-11-22 17:55:58 -05:00
261870d702
Update mutation_methods.py
...
- Using deepcopy to avoid chromosomes sharing genes.
- Improved readibility.
2020-11-22 15:57:00 -05:00
815dc2a5c3
Potentially faster list
2020-11-21 16:14:10 -05:00
470b33aa31
Cleaner random functions used.
2020-11-20 19:58:25 -05:00
73461f7915
Comments updated
2020-11-20 19:06:55 -05:00
965ad352a6
Added copies for external access of function decorators
2020-11-19 23:25:33 -05:00
3d10adb2d9
Fixed scope of function decorators
2020-11-19 22:28:04 -05:00
0bd08b94a9
Added function decorators
2020-11-19 21:16:51 -05:00
3412c05da2
Cleaned up list usage
2020-11-19 18:02:07 -05:00
7511429228
Shortened code
2020-11-19 17:14:14 -05:00
0ee545429c
Added iterable features
2020-11-19 11:46:47 -05:00
f1105f4df0
Added comment
2020-11-19 09:53:42 -05:00
7e0134e785
Fixed bug
...
Potentially 0 mutations occur
2020-11-12 18:46:09 -05:00
ef5f87cbc6
Fixed bug
2020-11-12 17:59:55 -05:00
0c9c545125
Cleaned up code
2020-11-12 17:50:07 -05:00
45316286c0
Added Permutation class
2020-11-12 17:38:10 -05:00
3e9c2fc784
Multiple updates
...
- Removed obsolete whole_chromosome method.
- Renamed single_gene to individual_genes.
- Rewrote single_genes to use copied data instead of modifying original data.
- Added random_selection_then_cross.
2020-11-12 17:13:23 -05:00
00af4dbbe7
Added gene mutation rate
2020-10-27 17:32:40 -04:00
543b295e52
Updated gene impl
2020-10-14 23:09:55 -04:00
fb213f04dd
Added more structure methods and some quality of life changes
...
Overall cleaned up a lot of comments.
EasyGA:
- Code cleanup.
Population:
- Added sort_by_best_fitness
- Added parent/mating pool methods.
- Renamed some methods for consistency.
Chromosome:
- Added get_gene(index).
Parent Selection:
- Improved selection methods to use the ga.selection_probability so that the roulette selection actually works well.
- Added stochastic selection.
Survivor Selection:
- Added fill_in_random and fill_in_parents_then_random.
Crossover/Mutation:
- Cleaned up code.
2020-10-13 12:48:20 -04:00
f277bc1684
Changed a few comments
2020-10-12 22:05:26 -04:00
0b53f2cd81
Added comments
2020-10-12 21:43:23 -04:00
b6ae77c7ea
Several Changes
...
Crossover/Mutation:
- Split into individual and population subclasses.
- Added sequential population crossover selection.
- Renamed and reimplemented mutation methods.
EasyGA:
- Improved make_obj methods for the chromosomes and populations to take arguments.
Initialization:
- Improved to shorter code.
- Fixed repeated error messages
Chromosome:
- Changed get/set_genes to get/set_gene_list.
2020-10-12 21:39:17 -04:00
8137bb64d9
Some cleaning up
...
Added Population.size() and cleaned up the survivor selection.
2020-10-12 16:53:06 -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
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
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