selection


Genetic Algorithm - producing a new generation


I am struggling to completely understand how to get a new generation in GA. AFAIK, these are the steps (let's consider elitist approach):
selection (retain 20% of the best in population and put them in next generation)
crossover (crossover the rest 70% - each parent crosses with other parent only once; what do we do with crossover probability here?)
mutate (mutate all specimens in generation with probability MP)
I am not sure this is OK and also as mentioned - what do you do with crossover probability CP? I mean, you need to have the same population size between generations therefore you need to cross all specimens from the worse 70% of population - rendering CP useless.
The probabilities for crossover act as follows:
if rand() < crossProb:
child1, child2 = crossover(parent1, parent2)
else:
child1, child2 = parent1, parent2
Assuming rand() gives a float between [0, 1) and your crossover function is designed to return two values. Mutation works essentially the same but with a single parent-to-child relation.
The initial 20% in your selection process is simply guaranteed to have no mutation/crossover.
Each individual could contain two copies of genome, and gametes contain a single copy. Gametes are produced from such dual genome by taking the required genes from each of these two copies at random. When gametes join, a new individual with two copies is produced. At least, this is how it works in nature where crossover always occurs (there is no such thing as CP).
This however requires to solve how two genomes are reflected to the single phenotype that participates in selection. Depending on the task you try to solve with genetic algorithm this may vary from trivial to very problematic.
I also recommend to use JGap package that provides many algorithms, both nature and human invented.

Related Links

Gimp python-fu how do I select a polygon?
FabricJS - disable layer index changing when object is selected
How to change selection behaviour of qtableview? [duplicate]
How to change a Shopify variant selection container color
Should I always mutate the offspring in steady-state selection?
Ideally how many chromosomes in the population should I kill during steady state selection?
Using XQuery to count nodes with a certain criteria
Select from selection based on attribute table in ArcGIS or arcpy
AEM - How to add fieldDescription for an item of selection
Multiple Interval Selection in JList
PySide QTreeView: Print the name of the selected item
Selecting and playing movie from jit.playlist
Why does clicking certain elements in the Elements tab cause them to flash orange and not be selected?
flot selection / highlighting - need to have simple value, not range
Big Query - And/Or Operators
Selecting text including $ in Sublime Text 3

Categories

HOME
cocoapods
weblogic12c
vagrant
barcode-scanner
windows-10
hid
command-prompt
autocomplete
dronekit-python
portable-class-library
dependencies
gentelella
linker
repair
cdi
static-analysis
timber
swarm
yahoo
spring-security-oauth2
fbloginview
cname
business-intelligence
jquery-file-upload
xbox360
sonicwall
hidden
cloudsim
spyder
angular2-highcharts
social-tables
substring
pyopencl
software-packaging
fusetools
password-generator
phpstorm-2016.1
location-services
windowsiot
progid
argv
sca
ms-media-foundation
counting
grails-2.5
des
runtimeexception
cordys-opentext
android-alarms
cheat-engine
gitolite
sspi
system-on-chip
jqgrid-asp.net
virtual-memory
sendinput
linq-to-excel
absolute
realstudio
photoswipe
skip-lists
webvtt
scala-collections
wikimapia
deviare
google-identity-toolkit
bigdecimal
xcode6.4
nunit-console
always-on-top
jenkins-workflow
frame-grab
urbit
polymerfire
pack
phpquery
wso2ml
gql
modern.ie
clarion
shoes
cakephp-2.2
cout
smacss
iplimage
full-text-indexing
nodeload
jomsocial
particle-swarm
jmenubar
mute
jquery-transit
ofstream
dojo-1.9
handshake
semantic-merge
multiple-dispatch
nsmutablestring
audiotoolbox
android-dialog
n-queens
affinetransform
qtextbrowser
glassfish-esb
snackjs
startupscript
cewolf
eaccelerator
ccl
watchpoint
code-camp
parentid

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App