dcf14b945f
Better random avoid best
2020-12-09 10:55:33 -05:00
a404eba685
Changed the way probabilities adapt work
2020-12-09 10:35:09 -05:00
f94a7ec9a8
Fixed rate bounds
...
Avoid extremely slow generations due to either
- Excessive mutations.
- Extreme selection probabilities, which make tournament selection struggle.
2020-12-09 10:34:34 -05:00
efcd571a9a
Update setup.py
2020-12-09 01:57:52 -05:00
f5935c9a5a
changed run.py
2020-12-09 01:50:24 -05:00
d71b5e81bf
Merge branch 'master' of https://github.com/danielwilczak101/EasyGA
2020-12-09 01:49:41 -05:00
2cc7d93793
Change adapt rate and turn it off by default
2020-12-09 01:49:31 -05:00
c65cfdcea0
Update setup.py
2020-12-08 17:04:49 -05:00
160e67bb21
Fixed changing database field issue
2020-12-08 02:57:39 -05:00
34eb286710
Added underscores to decorators for consistency
2020-12-07 21:08:23 -05:00
c19ef0d1be
Fixed bugs involving None types
2020-12-07 21:07:04 -05:00
23803593fc
Forgot to zip chromosomes
2020-12-06 11:36:16 -05:00
ea93ad8796
Mathematically solved for weight
2020-12-06 11:35:30 -05:00
7e4dffd646
Added preset numerical and permutated chromosome settings
2020-12-06 11:18:00 -05:00
60c0fe3930
Added permutation crossover methods
2020-12-06 11:17:35 -05:00
21a709f5d0
Added chromosome comparison by their genes
2020-12-06 11:17:15 -05:00
58849e87e6
Added gene comparison by gene value
2020-12-06 11:15:10 -05:00
d49008c19d
Cleaned up create connection and multiline strings
2020-12-05 23:41:46 -05:00
a6530fb15e
Cleaned up some parts and optimized a little
2020-12-05 23:41:10 -05:00
15e17f0b84
Updated bounds for gene_mutation_rate
2020-12-05 23:39:19 -05:00
956447079d
Merge branch 'master' of https://github.com/danielwilczak101/EasyGA
2020-12-04 14:30:45 -05:00
8c024a0290
Added distance attribute
2020-12-04 14:26:18 -05:00
05fa220d61
Changed back adapt and changed generation goal to 100 so its looks normal grpahing
2020-12-04 03:34:03 -05:00
a0423e313e
version number
2020-12-04 03:24:51 -05:00
f683e23ba3
Setup.py now had tabulate included and update version number
2020-12-04 03:24:22 -05:00
0e299265f5
Changed adapt rate = 0 so i can push to pypi
2020-12-04 03:22:25 -05:00
046592a3a8
Split adapting into parts
2020-12-03 17:10:39 -05:00
6d0ec0c30e
Fixed bug/typo
2020-12-03 17:00:32 -05:00
169c204296
Fixed ga.yscale so it works with all plots
2020-12-03 02:21:32 -05:00
5fb26545d4
pushed fix
2020-12-03 02:16:10 -05:00
85855c2746
Renamed decorators for consistency
2020-12-03 00:21:52 -05:00
3271d7d271
Update crossover_methods.py
...
- Added check_weight decorator.
- Implemented better random floats with weights that allow weighting all the way to either side.
2020-12-02 23:13:35 -05:00
2941be665c
Avoid one-sided edge cases
...
- Single-point crossover allows either parent to have their genes come first now.
- Rounding to integers is doing with an additional +/- 0.5 random value so that integer genes do not get stuck at one value when rounding at the midpoint of two integers e.g. 0.5 now randomly rounds to 0 or 1 instead of always 0.
2020-12-02 20:39:51 -05:00
e7f696fd06
Better word choice for comment
2020-12-02 18:59:40 -05:00
4386f2c959
Cleaner comments
2020-12-02 18:55:25 -05:00
23efae27dc
Added selection_probability to stochastic selection.
2020-12-02 18:50:59 -05:00
df05cf1f5c
Looser rate bounds inside adapt
2020-12-02 18:43:44 -05:00
88624345d0
Using standard multiline code formatting
2020-12-02 18:06:31 -05:00
bfe4699513
Added cleaner comments to explain.
2020-12-02 18:00:23 -05:00
1761092abb
Update stochastic methods
...
- Added a stochastic rank selection and edited cleaner stochastic fitness selection using random.choices.
- Edited stochastic fitness selection to allow negative converted fitness values.
- Edited exception message for check_positive_fitness.
2020-12-02 17:55:57 -05:00
fb84ac40d4
Update EasyGA.py
...
Probably better to let fitness-based selection to work as expected than to break due to unexpected negatives.
2020-12-02 17:06:15 -05:00
6f2392234d
Added past runs and tabulate
2020-12-02 12:50:49 -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
4a1b87a3b7
Cleaned up and distanced further for more genetic variety
2020-12-01 18:20:46 -05:00
8579565bb6
Caught bug if population is None
2020-12-01 18:17:33 -05:00
62ecfc38fa
Update crossover_methods.py
2020-12-01 10:38:12 -05:00
ea9beb8d8a
Reset the fitness when mutating
2020-12-01 10:36:56 -05:00
5b6d925088
Update ga.adapt()
...
Faster convergence by allowing more genetic variety using negative weights to push chromosomes too similar away from the best chromosome.
2020-12-01 10:36:17 -05:00
4d273df5ae
Adapting faster seems beneficial
2020-12-01 10:33:52 -05:00