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
adfs3.0
seedstack
opencv-python
kendo-dropdown
operating-system
compilation
hid
dafny
visual-studio-2010
histogram
gallery
lvm
moodle-api
drag-and-drop
hystrix
nsstring
createjs
pygobject
tomcat8
spam
opam
spring-ldap
gitkraken
anova
kaggle
uislider
software-packaging
jpa-2.1
ipa
fusion
google-play-developer-api
lxml
advanced-filter
char-pointer
rails-postgresql
keyboard-layout
assertions
bluemixtools
runtimeexception
eclipse-gmf
hidden-markov-models
newtons-method
oracle-bmcs
linq-to-excel
uiautomatorviewer
beeline
nusoap
lightning-workbench
phppgadmin
popen
dtd
lvalue
.when
word-2016
oid
yargs
ipywidgets
polymerfire
seadragon
myfaces
enunciate
lovefield
deeplink
google-maps-api-2
ora-04091
asp.net-web-api-helppages
bjam
embeddedwebserver
scala-swing
mgwt
android-audiomanager
hp-idol-ondemand
wicket-1.5
visual-studio-6
mobile-country-code
oracle-adf-mobile
nidaqmx
webmethod
two.js
forio-contour
cpu-time
mute
unrealscript
libxml-js
google-code-prettify
void-pointers
days
examine
django-filebrowser
gprof
clearinterval
gamesalad
yuidoc
motodev-studio
tablet-pc
fragment-identifier
airprint
suphp
mongrel
ccnet-config
main-method
eai
inversion
stretchblt
acceleration
word-automation

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App