genetic algorithm n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Genetic Algorithm PowerPoint Presentation
Download Presentation
Genetic Algorithm

Loading in 2 Seconds...

play fullscreen
1 / 46

Genetic Algorithm - PowerPoint PPT Presentation


  • 660 Views
  • Uploaded on

Genetic Algorithm. 20015159 신희성. Overview. Motivation 다윈의 진화론 유전자 알고리즘의 개요 예제 : Minimum of function 유전자 알고리즘의 구성요소 Encoding Scheme Fitness Function Genetic Operators Parameter Setting 유전자 알고리즘의 특성 예제 : Traveling Salesman Problem (TSP). Where are we at?. Search Uninformed Search

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Genetic Algorithm' - nike


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
genetic algorithm

Genetic Algorithm

20015159 신희성

overview
Overview
  • Motivation
    • 다윈의 진화론
  • 유전자 알고리즘의 개요
    • 예제 : Minimum of function
  • 유전자 알고리즘의 구성요소
    • Encoding Scheme
    • Fitness Function
    • Genetic Operators
    • Parameter Setting
  • 유전자 알고리즘의 특성
    • 예제 : Traveling Salesman Problem (TSP)
where are we at
Where are we at?
  • Search
    • Uninformed Search
      • Breadth-First, Unform-Cost, Depth-First, Depth-Limited, Iterative Deepening, Bidirectional Search
    • Informed Search
      • Best-First Search (Greedy Search)
      • A* Search
      • Memory Bounded Search
        • IDA*, SMA*
    • Iterative Improvement Algorithm
      • Hill-Climbing, Simulated Annealing
slide5

초기 토끼집단

  • 느리고 영리하지 못한 토끼

진화된 토끼집단

  • 빠르고 영리한 토끼
다윈의 진화론
  • 다산  생존경쟁  변이  자연선택  진화

e.g.) 똑똑한 토끼가 살아 남는다?

history of genetic algorithm 1 3
History of Genetic Algorithm (1/3)
  • 1965년 Rechenberg(독일)
    • 진화전략(Evolutionary Strategy) 발표
    • 단 두개의 해로 이루어진 해 집단 사용
    • 교차 연산자 사용 안함
  • 1966년 Fogel, Owens, Walsh
    • 진화 프로그램 제안
    • 교차 연산이 없는 변이만을 사용
history of genetic algorithm 2 3
History of Genetic Algorithm (2/3)
  • Developed by John Holland in the early 70’s
    • 유전 알고리즘의 대부
    • 해 집단에 근거, 교차와 변이를 포함한 GA의 골격 마련
    • 1975년 역사적 저서 [Adaptation in Natural and Artificial Systems] 발표
    • 1984년 산타페 연구소에 합류, 연구 방향을 [Complex System]에서 [Adaptive Complex System]으로 선회
history of genetic algorithm 3 3
History of Genetic Algorithm (3/3)
  • 1985년 제 1회 International Conference on Genetic Algorithms 개최
  • 90년대 많은 주목을 받은 Artificial Life의 주된 도구로 활용됨
  • 1997년 IEEE Transactions on Evolutionary Computing 개설
ga genetic algorithm
유전자 알고리즘 (GA: Genetic Algorithm)
  • 진화의 원리를 문제 풀이 또는 모의 실험에 이용하는 연구의 한 방법
    • Solutions are encoded as chromosomes
    • Search proceeds through maintenance of a population of solutions
    • Reproduction favors “better” chromosomes
    • New chromosomes are generated during reproduction through processes of mutation and cross over, etc.
genetic algorithm1
Genetic Algorithm
  • GA가 필요 없는 문제
    • 잘 정의된 Algorithm이 존재하는 문제
    • 최단 경로 탐색 문제, Sorting 등
  • GA의 적용이 효과적인 문제
    • Traveling salesman problem (TSP)
    • 함수 값을 최대화하는 변수
    • NP Complete 문제
basic terminology in biology
Basic Terminology in Biology
  • DNA, Chromosome : 염색체, 유전물질
  • 유전자(gene) : 염색체 상의 각 인자
  • 유전자형(genotype) : 유전자의 조합
  • 표현형(phenotype) : 관찰되는 형질
  • 생물학적 진화
    • 개체는 교차에 의해 염색체를 부분 결합과 돌연변이에 의해 새로운 염색체를 가진 새로운 개체 생성
    • 환경에 적응하기 유리한 개체만이 선택적으로 번성
basic terminology in ga
Basic Terminology in GA
  • 염색체 (chromosome) : 임의의 solution
  • 해집단 (population) : 정해진 개수의 염색체 집단
  • 유전자 (gene) : 염색체의 인자 하나
  • 유전자 형 : 염색체 자체
  • 표현형 : 유전자형에 대응하는 해의 모양
slide13

A

B

C

D

1

1

1

1

0

0

1

1

0

1

1

1

0

0

0

0

0

0

1

1

1

0

0

0

0

1

1

0

1

1

population

1

0

0

1

1

selection

0

1

1

1

0

Fitness

evaluation

1

0

0

1

1

0

1

1

1

0

유전자 알고리즘의 구조

cross over

Search

space

mutation

reproduction

Substitution

slide14
유전자 알고리즘

% REPRODUCTION

= cross-over + mutation

function GENETIC-ALGORITHM(population, FITNESS-FN) returns an individual

input:population, a set of individuals

FITNESS-FN, a function that measures the fitness of an individual

repeat

parents SELECTION(population,FITNESS-FN)

population  REPRODUCTION(parents)

until some individual is fit enough

return the best individual in population, according to FITNESS-FN

1 minimum of function

minimum value

예1 : Minimum of Function
  • Minimum of Function

: 함수의 최소값을 찾는 문제

  • http://cs.felk.cvut.cz/~xobitko/ga/example_f.html
  • Example Function
1 minimum of function1
예1 : Minimum of Function
  • Initial state
  • State after evolutions
slide17
유전자 알고리즘의 구성요소
  • 개체 표현 방법 (Encoding Scheme)
    • 문제의 해가 될 가능성이 있는 것의 유전자적 표현 방법
  • 적합도 함수 (Fitness Function)
    • 유전자를 평가하는 함수
    • Solution에 가까운 유전자일 수록 높게 평가
  • 유전 연산자 (Genetic Operators)
    • 자손의 합성을 변화시키는 유전 연산자들
  • 알고리즘 제어 파라미터 (Parameter Setting)
    • 유전자 알고리즘이 사용하는 여러 가지 매개변수의 값
    • 개체 집단의 크기, 유전 연산자를 적용시키는 확률 등
encoding scheme

개체 표현 방법

개체 표현 방법 (Encoding Scheme)
  • 문제의 해가 될 가능성이 있는 것을 유전자로 표현하는 것
  • 전형적인 표현 양식은 이진수 0과 1을 이용한 일차원적 표현
  • 표현 양식이 결정된 후 이에 맞는 교차 연산자 및 변이 연산자 결정
schema

개체 표현 방법

스키마 (Schema)
  • 염색체에 들어 있는 패턴
    • 1101에는 1***, *1**,…11**, 1*0*, …, 110*, *101, ..., 1101, ****의 16개 스키마가 포함됨
    • * : don’t care symbol
    • 1 또는 0 : specific symbol
    • 유전 알고리즘이란 초기의 작은 스키마가 결합하여 점점 더 큰 스키마를 이루어가는 과정
    • 마지막 return value는 하나의 거대한 스키마
slide20

개체 표현 방법

1. 이진수 표현, k진수 표현
  • Binary Encoding, n-ary Encoding
  • 010101100010101100001001 vs. 562409
  • 이진수 표현할 경우 교차시 자름 선 위치가 많아져 추가 변이 효과 발생
    • 교차의 다양성 제공
  • k진수의 경우 의미 있는 스키마 보존 가능성 높음
    • 교차의 다양성은 시뮬레이션으로 가능
2 gray coding

개체 표현 방법

2. Gray Coding
  • 0000, 0001, 0011, 0010, 0110, 0111, 0101, 0100, 1100, …
  • 2진수 표현의 한 변형
  • 인접한 수는 단 한 비트만 차이가 나도록 하는 코드 체계
  • 의미상으로 유사한 두 해가 문제 공간에서 가까이 위치하도록 만든 코드 체계

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

3 permutation encoding

개체 표현 방법

3. 순열 표현 (Permutation Encoding)
  • 1234, 1243, 1324, 1342, 1423, 1432, 2134, 2143, 2314, …
  • 순열을 유전자형으로 가짐
  • 순서 기반형 표현
  • Traveling salesman problem (TSP)
4 value encoding

개체 표현 방법

4. 실수 표현 (Value Encoding)
  • 독일의 진화 전략 그룹
    • 교차 연산자를 사용 안 함
    • 이진연산자 사용 불필요, 실수 사용
  • Bremermann이 교차 연산에 실수를 처음 사용
  • 실수 하나를 하나의 유전자로 사용
  • 크기의 개념을 연산자에 적용 가능
    • 부모의 값을 평균하여 자식의 값에 적용시키는 산술 교차를 사용할 수 있음
  • Finding weights for neural network
slide24

개체 표현 방법

5. 가변 표현
  • 대부분의 GA는 수행이 완료될 때까지 표현 방식을 바꾸지 않음
  • 표현상의 비효율로 인한 한계 극복 불가능
  • 표현 방식을 미리 고정하지 않고 알고리즘 수행 중 표현 방식을 변화하는 방법 고안
  • 역치, 메시 유전 알고리즘, 유전 프로그래밍
  • 유전자 재배열
slide25

A

1

B

5

D

3

J

2

6

E

D

8

4

I

7

B

1

1

0

0

1

1

1

1

1.2

5.3

0.4

2.3

5

3.1

06

7.2

e.g.)

e.g.)

e.g.)

개체 표현 방법

개체 표현 방법 정리
  • 여러가지 표현형태들
    • Binary Encoding
    • Permutation Encoding
    • Value Encoding
  • 주로 0과 1의 Binary encoding을 많이 사용
fitness function

0

0

1

1

1

0

1

1

0

0

1

0

1

0

0

0

0

1

0

1

적합도

염색체

64

361

169

576

적합도 함수

적합도 함수 (Fitness Function)
  • 염색체의 해(solution)로서의 적합도를 평가

e.g.)

operators of ga

유전 연산자

유전 연산자 (Operators of GA)
  • 선택 연산자 (Selection)
    • 교차를 위해 해집단(population)에서 2개의 염색체를 선택
    • 우수한 해에게 선택 가능성을 높게 해 준다
  • 교차 연산자 (Crossover)
    • 선택된 두개의 parent로부터 하나의 offspring을 생성
    • GA의 대표적 연산자
  • 변이 연산자 (Mutation)
    • 해를 임의로 변환
  • 대치 연산자 (Substitution)
    • 부모의 염색체를 생성된 염색체로 대치
slide28

유전 연산자

선택 연산자 (1/2)
  • Roulette wheel selection
    • 각 염색체의 적합도에 비례하는 만큼 roulette의 영역을 할당한 다음, roulette을 돌려 화살표가 가리키는 영역의 염색체를 선택
    • 적합도가 높은 것은 선택될 확률이 그만큼 많고 적합도가 낮을 것은 선택될 확률이 상대적으로 낮다
  • Elitist preserving selection

e.g.)

Roulette Wheel

slide29

유전 연산자

선택 연산자 (2/2)
  • Expected-value selection

: 적합도에 대한 각 개체의 확률적인 재생 개체수를 구하여 선택

  • Ranking selection

: 적합도의 크기 순서에 따라 순위를 매기고 순위에 따라 확률을 결정

slide30

1

1

0

0

1

0

1

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

0

1

1

0

1

1

1

1

0

0

1

0

1

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

0

1

1

0

1

1

유전 연산자

교배 연산자 (1/4)
  • 두 부모의 염색체를 부분적으로 바꾸어 자식의 염색체를 생성
  • Single point crossover
  • Two point crossover
slide31

유전 연산자

교배 연산자 (2/4)
  • Uniform crossover (균등 교차)
    • 자름 선을 이용하지 않음
    • 스키마의 결합 형태가 다양
    • 스키마 내의 특정 기호의 위치가 거의 영향을 미치지 않음
    • 교란의 정도가 크므로 수렴 시간이 오래 걸림

Initialize threshold P0 ;

for each gene in chromosome {

generate random number t ;

if (t < P0)

copy the gene from S1 ;

else

copy the gene from S2 ; }

slide32

유전 연산자

교배 연산자 (3/4)
  • 균등 교차의 예

S1 : a b c d e f g h i j

S2 : k l m n o p q r s t

t : .83 .27 .33 .89 .91 .66 .44 .72 .42 .19 P0 = 0.6

O : a l m d e f q h s t

slide33

유전 연산자

교배 연산자 (4/4)
  • Arithmetic crossover (산술적 교차)
    • 실수 표현(Value Encoding)일 경우 사용 가능
    • 염색체의 각 위치에 대해 두 부모 염색체의 유전자의 평균값을 내어 자식 유전자로 삼는다.
    • 매우 빠른 수렴을 보이므로, 변이 등을 적절히 조절하여 설익은 수렴이 되지 않도록 주의하여야 한다.

s1 : 1.98 3.31 20.43 12.01 -2.34 8.34 98.86

s2 : 11.28 2.21 12.39 1.44 2.45 3.55 87.44

offspring : 6.63 2.76 16.41 6.73 0.06 5.95 93.15

slide34

1

1

0

0

1

0

1

1

1

0

0

0

1

0

1

1

GA Search Method

Hill-climbing Method

유전 연산자

변이 연산자 (1/2)
  • 유전자를 일정한 확률로 변화시키는 조작
  • 개체군의 다양성 유지
    • 돌연변이가 없는 경우 초기 유전자 조합 이외의 공간을 탐색할 수 없어 초기 조합에 적절한 해가 없을 경우 원하는 해를 구할 수 없다.

 local optimum 방지

cf.

slide35

유전 연산자

변이 연산자 (2/2)
  • 부모 해에 없는 속성을 도입하여 탐색 공간을 넓힘
  • 전형적 변이
    • 난수를 발생시켜 변이
  • 비균등 변이
    • 초기에는 품질이 좋지 않은 해가 많으므로 변이의 강도를 높임
    • 후반에는 변이가 강할 경우 품질 향상이 일어나지 않으므로 변이의 강도를 낮춤
  • 변이의 확률이 높아지면
    • 다양한 해 생성에 의해 GA의 역동성이 높아짐
    • 수렴성이 떨어져 수행 시간이 많이 걸림
    • 개선의 속도가 느려짐
slide36

유전 연산자

대치 연산자 (1/3)
  • 대치가 GA성능을 크게 좌우
  • Steady state GA :
    • 가장 성능이 낮은 해를 선택 대치하는 것이 가장 보편적
      • 빠른 수렴 보장
      • 설익은 수렴 가능성
  • Generational GA :
    • 가장 우수한 해만을 제외한 나머지 전부 대치 (Elitism)
slide37

유전 연산자

대치 연산자 (2/3)
  • 그 이외의 것들
    • 두 부모 해 중 품질이 나쁜 해와 대치 (preselection)
      • 해집단의 다양성 유지에 좋다
    • 부모 해 중 하나보다 폼질이 좋을 경우 부모 해와 대치하고 그렇지 않을 경우 해집단에서 가장 나쁜 해와 대치
    • 부모 해보다 품질이 좋을 경우 대치, 그렇지 않으면 대치 포기
      • 수렴에 시간이 너무 오래 걸린다.
    • 해집단 전체를 비교하여 자신과 가장 가까운 해를 대치
    • 해집단 중 일부를 임의로 선정, 이 중 가장 닮은 해를 대치(군집 대치, crowding)
slide38

유전 연산자

대치 연산자 (3/3)
  • 대치 연산자의 선택
    • 해집단의 다양성을 합리적으로 유지시킬 수 있는 연산자의 선택이 중요
    • 교차, 변이 연산자와 연관하여 결정
    • perturbation이 강할 경우
      • 교차, 변이 연산자 쌍이 부모 해를 많이 변형시킬 경우
      • 수렴성이 강한 대치 연산자 사용
    • perturbation이 약할 경우
      • 수렴성 보다는 해집단의 다양성을 유지시키도록 하는 대치 연산자를 선택
slide39

제어 파라미터

알고리즘 제어 파라미터
  • 개체군의 크기(Population size)
    • How many chromosomes are in population
      • Too few chromosome  small part of search space
      • Too many chromosome  GA slow down
    • Recommendation : 20-30, 50-100
  • 교배 확률(Probability of crossover)
    • How often will be crossover performed
    • Recommendation : 80% -95%
  • 돌연변이 확률(Probability of mutation)
    • How often will be parts of chromosome mutated
    • Recommendation : 0.5% - 1%
  • http://cs.felk.cvut.cz/~xobitko/ga/params.html
questions
Questions
  • 개체 표현 방식은 어떤 것이 좋은가?
    • 문제를 잘 고려 하여 선택한다.
    • 이것을 잘 선택하면 문제의 반은 푼 것이다.
  • 개체군의 크기는 어느 정도로 정할까?
  • 적합도 함수는 어떻게 정의할까?
  • 선택 연산자는 무엇을 사용할까?
  • 교배 확률을 어느 정도로 정할까?
  • 돌연변이 확률은 어느 정도로 정할까?
  • 대치 연산자는 어떻게 정할까?
    • 교배 연산자와 변이 연산자를 고려하여 선택
slide41

개체 표현 방식

일차원 vs. 다차원
  • 많은 경우 1차원 표현 과정에서 정보의 손실이 일어남
  • 1986, Cohoon 등이 VLSI 회로 최적 재배치 문제에서 2차원 격자형 염색체 사용
  • 2차원 배열, Tree Encoding
vs 1 2

개체 표현 방식

위치기반 vs. 순서기반 (1/2)
  • 위치 기반
    • 유전자의 위치가 유전자의 속성을 결정
    • n번째 유전자는 n번째 속성을 결정
    • 한 해에 대해 유일한 염색체를 갖는 장점이 있으나 유전자의 배치로 인한 한계 극복에 어려움
  • 순서 기반
    • 유전자 값의 상대적 순서가 의미를 가짐
    • 동일한 해에 대해 n개의 표현이 존재
    • 밀접한 관계를 갖는 염색체가 인접하여 교차시 생존 확률이 높음
vs 2 2

개체 표현 방식

위치기반 vs. 순서기반 (2/2)

순서기반

0 1 3 4 8 5 7 9 6 2

1 3 4 8 5 7 9 6 2 0

2 0 1 3 4 8 5 7 9 6

위치기반

1 3 0 4 8 7 2 9 5 6

2

0

1

6

3

4

5

7

8

9

Traveling Salesman Problem

2 traveling salesman problem
예2 : Traveling Salesman Problem
  • http://cs.felk.cvut.cz/~xobitko/ga/tspexample.html
slide45
유전자 알고리즘의 특성
  • 어려운 비선형 문제에서 최적 해를 찾는데 적합하다.
    • 선로 라우팅, 적응제어, 게임놀이, 인지 모델링, 운송문제, 순회 판매원문제, 최적제어문제, …
  • Local optima를 피해갈 능력이 있는 메커니즘을 가지고 있다.
  • 해를 나타내는 파라미터를 염색체 형태로 코드화하여 이용한다.
  • 점(point)이 아닌 다점(multi points) 탐색 방법이다.
  • 탐색에 적합도 함수(fitness function)을 이용하며 blind search를 한다.
  • 결정론적인 규칙이 없고 확률적 연산자를 사용하여 수행된다.
reference
Reference
  • 공성곤 외, 유전자 알고리즘, 그린, 1996.
  • http://cs.felk.cvut.cz/~xobitko/ga/