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. 将一个query后面的参数转为数组

    function detailUri($params) { $returnParams = array(); if (isset($params)) { $arParams = explode(&qu ...

  2. Qunie问题

    Quine 以哲学家 Willard van Orman Quine (1908-2000) 而命名,表示一个可以生成他自己的完全的源代码的程序.编写出某个语言中最简短的 quine 通常作为黑客们的 ...

  3. iOS:Xcode8以下真机测试iOS10.0和iOS10.1配置包

    一.介绍 xcode的升级都已经到8系列了,可是还是有很多开发者使用的xcode还是7系列,然而xcode7...最多支持9.3,无法给升级到10.0和10.1的iPhone手机用户进行真机测试.此时 ...

  4. Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分

    Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍. ...

  5. 在CentOS 6.6下安装与配置mysql

    1.使用yum安装mysql yum list | grep mysql   //查看mysql信息 yum install mysql-server.x86_64 //安装mysql sudo ap ...

  6. Netty writeAndFlush() 流程与异步

    Netty writeAndFlush()方法分为两步, 先 write 再 flush @Override public ChannelFuture writeAndFlush(Object msg ...

  7. 【转】ACM/ICPC生涯总结暨退役宣言—alpc55

    转自:http://hi.baidu.com/accplaystation/item/ca4c2ec565fa0b7fced4f811 ACM/ICPC生涯总结暨退役宣言—alpc55 前言 早就该写 ...

  8. C# 刷新页面浏览次数(点击量)+1

    页面视图: <p class="text-center text-muted">文章来源:@ent.Origin 点击量:@ent.Hits <Script La ...

  9. mysql limit查询优化

    mysql数据库中的查询语句有关limit语句的优化. 一般limit是用在分页的程序的分页上的,当应用数据量够小时,也许感觉不到limit语句的任何问题,但当查询数据量达到一定程度时,limit的性 ...

  10. Gym 100500B

    题目给了四个轮子,每个轮子上有按顺序排列的n个数,要求适当旋转每个轮子,使得四个轮子相同行数相加和相同. 首先,可以计算出每一行的和应该是多少,记为Sum.然后固定第一个轮子,二重循环枚举2.3轮子, ...