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的更多相关文章

  1. Evolutionary Computing: 5. Evolutionary Strategies(2)

    Resource: Introduction to Evolutionary Computing, A.E.Eliben Outline recombination parent selection ...

  2. Evolutionary Computing: 5. Evolutionary Strategies(1)

    resource: Evolutionary computing, A.E.Eiben Outline What is Evolution Strategies Introductory Exampl ...

  3. Evolutionary Computing: 1. Introduction

    Outline 什么是进化算法 能够解决什么样的问题 进化算法的重要组成部分 八皇后问题(实例) 1. 什么是进化算法 遗传算法(GA)是模拟生物进化过程的计算模型,是自然遗传学与计算机科学相互结合的 ...

  4. 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 ...

  5. Evolutionary Computing: Assignments

    Assignment 1: TSP Travel Salesman Problem Assignment 2: TTP Travel Thief Problem The goal is to find ...

  6. Evolutionary Computing: multi-objective optimisation

    1. What is multi-objective optimisation [wikipedia]: Multi-objective optimization (also known as mul ...

  7. Evolutionary Computing: 3. Genetic Algorithm(2)

    承接上一章,接着写Genetic Algorithm. 本章主要写排列表达(permutation representations) 开始先引一个具体的例子来进行表述 Outline 问题描述 排列表 ...

  8. Evolutionary Computing: 2. Genetic Algorithm(1)

    本篇博文讲述基因算法(Genetic Algorithm),基因算法是最著名的进化算法. 内容依然来自博主的听课记录和教授的PPT. Outline 简单基因算法 个体表达 变异 重组 选择重组还是变 ...

  9. [Z] 计算机类会议期刊根据引用数排名

    一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html Th ...

随机推荐

  1. 分享:一款前端布局工具(alloydesigner)

    困扰 设计师给出静态的高保真图片, 需要前端工程师按照高保真图,进行html编码. 前端工程师, 一般工作方法为: 打开图片,一边看下图片, 一边编写相应的html代码. 这样有两个问题: 1. 前端 ...

  2. Fiddler---前端利器

    摘要:Fiddler是一个不错的工具,可以用来调试HTTP协议.工具很强大,本篇根据现有使用总结了下,以后有更多使用再做补充. 在做HTTPS协议对接的时候,拿不到数据,不得不找个工具试下,确定是接收 ...

  3. Postgres Plus Advanced Server installation

    # setenforce Permissive # ./ppasmeta-9.3.1.3-linux-x64.run --mode text Installation Directory [/opt/ ...

  4. Centos7中源码安装Nodejs

    Step 1.确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安装. [root@BobServerStation local]# yum -y install gcc gcc- ...

  5. Java基本语法

    一:跨行 Java变量不能跨行,如:String na me = “张三"; 字符串不能跨行,如:String a = "xxxxxxxxxx yyyyyyyy"; 二: ...

  6. java实现求数组中元素第二大的元素

    /** * 找出数组中数第二大的值 * @param array * @date 2016-9-25 * @author shaobn */ public static void getMethod_ ...

  7. 大数据导致DataReader.Close超时的异常

    公司一个数据抓取的程序,数据量极大,读取数据的用IDataReader的Read方法来进行数据处理,在测试的时候我想跑一部分数据后跳出循环,即break; 然后关闭datareader,但是在执行da ...

  8. URL、URI和URN三者之间的区别

    URI   统一资源标识符 Uniform Resource Identifier URL      统一资源定位符     Uniform Resource Locator URN     统一资源 ...

  9. asp.net 分页-自己写分页控件

    去年就发表过asp.net 分页-利用后台直接生成html分页 ,那种方法只是单纯的实现了分页,基本不能使用,那时就想写个自己的分页控件,无奈能力有限.最近有点时间了,就自己做出了这个分页控件.我承认 ...

  10. android在全屏下第一次触摸屏幕没有触发事件

    A.设置全屏的方法很多就不多说了,常见如下两种(记录用以备忘): 1.在Androidmanifest.xml文件中设定,如: <activity android:name="com. ...