Evolutionary Computing: 4. Review
Resource:《Introduction to Evolutionary Computing》
1. What is an evolutionary algorithm?
There are many different variants of evolutionary algorithms. The common underlying behind all these techniques is the same: given a population of individuals within some environment that has limited resources, competition for those resources causes natural selection (survival of the fittest)
2. Components of Evolutionary Algorithms
- Representation (definition of individuals)
- Evalution function (or fitness function)
- Population
- Parent selection mechanism
- Variation operators, recombination and mutation
- Survivor selection mechanism (replacement)
- Initialisation procedure
- Termination condition
The general scheme of an evolutionary algorithm as a flowchart:

The general scheme of an evolutionary algorithm in pseudocode:

3. Genetic Algorithms
3.1 Introduction
This is commonly referred as a means of generating new candidate solutions.
This has:
- a binary representation
- fitness proportionate selection
- a low probability of mutation
- an emphasis on genetically inspired recombination as a means of generating new candidate solutions.
An introductory example: f(x) = x^2
3.2 Representation of Individuals
- binary representations
- integer representations
- real-valued or floating-point representation
- permutation representation
3.3 Mutation
- mutation for binary representations
- mutation operators for integer representations
- mutation operators for floating-point representations
- mutation operators for permutation representations
3.4 Recombination
- recombination operators for binary representations
- recombination operators for integer representations
- recombination operators for floating-point representations
- recombination operators for permutation representations
- multiparent recombination
3.5 Population models
- generational model
- steady-state model
generational model: In each generation we begin with a population of size μ, from which a mating pool of μ parents is selected. Next, λ (=μ) offspring are created from the mating pool by the application of variantion operators, and evaluated. After each generation, the whole population is replaced by its offspring, which is called the "next generation".
steady state model: The entire population is not changed at once, but rather a part of it. In this case, λ (<μ) old individuals are replaced by λ new ones, the offspring. The percentage of the population that is replaced is called the generational gap, and is equal to λ/μ. Usually, λ = 1 and a corresponding generation gap of 1/μ.
3.6 Parent Selection
- fitness proportional selection
- ranking selection
- implementing selection probabilities
- tournament selection
3.7 Survivor Selection
The survivor selection mechanism is responsible for managing the process whereby the working memory of the GA is reduced from a set of μ parents and λ offspring to produce the set of μ individuals for the next generation.
This step in the main evolutionary cycle is also called replacement.
age-based replacement
fitness-based replacement
Evolutionary Computing: 4. Review的更多相关文章
- Evolutionary Computing: 5. Evolutionary Strategies(2)
Resource: Introduction to Evolutionary Computing, A.E.Eliben Outline recombination parent selection ...
- Evolutionary Computing: 5. Evolutionary Strategies(1)
resource: Evolutionary computing, A.E.Eiben Outline What is Evolution Strategies Introductory Exampl ...
- Evolutionary Computing: 1. Introduction
Outline 什么是进化算法 能够解决什么样的问题 进化算法的重要组成部分 八皇后问题(实例) 1. 什么是进化算法 遗传算法(GA)是模拟生物进化过程的计算模型,是自然遗传学与计算机科学相互结合的 ...
- Evolutionary Computing: [reading notes]On the Life-Long Learning Capabilities of a NELLI*: A Hyper-Heuristic Optimisation System
resource: On the Life-Long Learning Capabilities of a NELLI*: A Hyper-Heuristic Optimisation System ...
- Evolutionary Computing: Assignments
Assignment 1: TSP Travel Salesman Problem Assignment 2: TTP Travel Thief Problem The goal is to find ...
- Evolutionary Computing: multi-objective optimisation
1. What is multi-objective optimisation [wikipedia]: Multi-objective optimization (also known as mul ...
- Evolutionary Computing: 3. Genetic Algorithm(2)
承接上一章,接着写Genetic Algorithm. 本章主要写排列表达(permutation representations) 开始先引一个具体的例子来进行表述 Outline 问题描述 排列表 ...
- Evolutionary Computing: 2. Genetic Algorithm(1)
本篇博文讲述基因算法(Genetic Algorithm),基因算法是最著名的进化算法. 内容依然来自博主的听课记录和教授的PPT. Outline 简单基因算法 个体表达 变异 重组 选择重组还是变 ...
- [Z] 计算机类会议期刊根据引用数排名
一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html Th ...
随机推荐
- ORM系列之一:Dos.ORM
阅读目录 引言 1.为什么使用Dos.ORM 2.配置 3.开始使用 3.1. 物理表 3.2. 实体类 3.3. 使用方法 引言 Dos.ORM(原名Hxj.Data)于2009年发布,2015年正 ...
- Java学习-048-插件应用之 Find Bugs
FindBugs 是一个静态分析工具,它可以检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题,使用 FindBugs 可以在不实际运行程序的情况对软件进行分析.使用时最好将字节 ...
- mybatis父子表批量插入
<!--父子表批量插入 --> <insert id="insertBatch" parameterType="com.niwopay.dto.beni ...
- Python开发【第八章】:Socket
一.Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. so ...
- PowerShell 常用命令
下载文件 http://powershell.com/cs/blogs/tips/archive/2012/10/11/downloading-files-from-internet.aspx Pow ...
- 简明python教程 --C++程序员的视角(一):数值类型、字符串、运算符和控制流
最初的步骤 Python是大小写敏感的 任何在#符号右面的内容都是注释 >>> help('print')在“print”上使用引号,那样Python就可以理解我是希望获取关于“pr ...
- 几个精彩的DMV
--统计表的增删改次数,反映表的使用程度 SELECT DB_NAME([database_id]) AS [Database] ,iops.[object_id] AS [ObjectID] ,QU ...
- SqlServer分区表概述(转载)
什么是分区表 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...
- C#属性和变量的区别学习
参考一 昨天看三层架构 (具体没怎么弄懂) 发现一般有一页代码专门用户存放字段的 而且都用用属性封装..令我诧异的是 很多字段属性都存在 get{}和set{} 和普通的变量没什么区别(可读可写) ...
- 详解 Array.prototype.slice.call(arguments)
首先,slice有两个用法,一个是String.slice,一个是Array.slice,第一个返回的是字符串,第二个返回的是数组 在这里我们看第二个方法 1.在JS里Array是一个类 slice是 ...