Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa...

40
Algoritmos Genéticos aula 2 - exemplos

Transcript of Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa...

Page 1: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Algoritmos Genéticos

aula 2 - exemplos

Page 2: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Caixeiro viajante

Exemplos de programa

http://www.aic.nrl.navy.mil/~ramsey/tsp_html/tsp.html

http://www-cse.uta.edu/~cook/ai1/lectures/applets/gatsp/TSP.html

Page 3: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Caixeiro viajante

• representação intuitiva: o próprio caminho

• problema: crossover

D E B A H G F I C

Page 4: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Exemplo: recombinação de 2 pontos

A B C D E F G H I

D E B A H G F I C

A B C A H G F H I

D E B D E F G I C

1 2

Page 5: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

PMX crossover (partially mapped)

A B C D E F G H I

D E B A H G F I C

x x x A H G F x x

x x x D E F G x x

x B C A H G F x I

x x B D E F G I C

D B C A H G F E I

A H B D E F G I C

1 2

3 4

Page 6: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

OX crossover (ordered)

A B C D E F G H I

D E B A H G F I C

x x x A H G F x x

x x x D E F G x x

C D E A H G F I B

B A H D E F G I C

1 2

3

3- partindo do segundo ponto de quebra, as cidades do outro pai são copiadas na mesma ordem, omitindo as cidades já presentes no filho

Page 7: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

exemplos de mutação

• inversão: de duas cidades adjacentes

• inserção: seleciona uma cidade e a coloca aleatoriamente em algum ponto

• deslocamento: seleciona um sub-percurso e o coloca aleatoriamente em algum ponto

• troca recíproca: troca de posição entre duas cidades

Page 8: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

2opt method

AB e CD fazem parte do percurso

se AB + CD > AC + BD então faço a troca para AC e BD

A

B

C

D

A

B

C

D

Page 9: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Trabalho de Jorge Meinhardt

• “O presente trabalho pretende mostrar a possibilidade de uso de uma ferramenta de inteligência artificial utilizando a abordagem de algoritmo genético para auxílio ao projeto altimétrico de rodovias.”

Page 10: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

exemplo: robocup

• p/ melhorar o drible, para melhorar a condução da bola, etc...

Page 11: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

An Evolutionary Behavior Tool for Reactive Multi-agent Systems

Andre Zanki Cordenonsi

[email protected]

Centro Universitário FranciscanoÁrea de Ciências ExatasRua dos Andradas 1614

Centro - Santa Maria – RSCEP 97010 - 032

Luis Otávio Alvares

[email protected]

Universidade Federal do Rio Grande do Sul Instituto de Informática

Av. Bento Gonçalves, 9500 Bairro Agronomia - Porto Alegre - RS -Brasil

CEP 91501-970 Caixa Postal: 15064

Page 12: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Topics

1. Introduction

2. Artificial Life

3. The Simula++

4. Genetic Operators

5. Food Foraging Problem

6. Final Considerations and Further Works

Page 13: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

1. Introduction

Multi-agent Systems: “intelligent” autonomous agents

Reactive Multi-agent Systems: the perception/action approach

Evolutionary Reactive Multi-agent Systems: agents can modify

their behavior by a genetic evolutionary process

Page 14: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

1. Introduction (…)

Why to use an Evolutionary Reactive Multi-agent Systems ?

- adaptation to dynamically environments

- adaptation to unknown environments

Objective of this paper: shows the specification and implementation of an Evolutionary Reactive Multi-agent Systems where the behavior of the agents can be modified during the simulation

Page 15: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

1. Introduction (…)

Previous work: the Simula Tool! [Frozza]

A graphical tool to teach the multi-agent technology developed in the Instituto de Informática – UFRGS by Rejane Frozza and Luis Otávio Alvares

A tool to simulate reactive multi-agent systems, using a graphical interface to build the agents behavior and to shows the simulation.

Page 16: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

2. Artificial Life

What is life ?

The subject of :

- Philosophy

- Biology

- Chemistry

- History

- …

Page 17: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

2. Artificial Life (…)

- … and Computer Science !

The Artificial Life IS :

“ the understanding of life through the abstraction of its fundamental dynamic principles, and to create such dynamics in another physical medias, such as the computers ”

Chistopher Langton

Page 18: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

2. Artificial Life (…)

The Emergent Behavior

Complex/Organized behavior formed by the simple/local interactions among the agents

Ex: ant colonies, assembly of cells

Page 19: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

3. The Simula ++

- Reactive Multi-agent Systems

- Didactic tool

- Graphical User Interface

Page 20: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

3. The Simula ++ (…)

Class of agents and the Behavior

Rule A

Rule B

Rule C

Class XRule A

Rule B

Rule C

Agent 00

Rule A

Rule B

Rule C

Agent 01

Rule A

Rule B

Rule C

Agent 02

Initial State

Page 21: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

3. The Simula ++ (…)

Each Agent has

- Set of Independent Elements

- Chromosome ( set of rules )

Page 22: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

3. The Simula ++ (…)

Independent Elements ( equal for all agents of the same class )

- Initial Energy

- Energy Amount

- Maximum Life Time

- Life Time

- Sexual Maturity Time

- New Generation Time

Page 23: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

3. The Simula ++ (…)

Chromosome: the rule characteristics

- declarative

- precondition

- action

- priority

priority = 7

if (not perceive agent A) then

random_move();

RULE A

Page 24: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

3. The Simula ++ (…)The new Generation Algorithm

LT == SMT

New Offspring !

Execute Action

reach NGT

Fertile Agents

yes

yesno

no

LT > SMT

Insert Agent

yes no

Page 25: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

4. Genetic Operators

One-Point External Crossover Two-Point External Crossover

Rule A

Rule B

Rule C

Agent 00

Rule E

Rule F

Rule G

Agent 01

Rule A

Rule F

Rule G

Offspring

Rule A

Rule B

Rule C

Agent 00

Rule E

Rule F

Rule G

Agent 01

Rule A

Rule F

Rule C

Offspring

Page 26: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

4. Genetic Operators (…)

Internal Crossover

IF perceive Agent A AND not perceive Agent B

THEN random move

Agent 00

IF is Load

THEN search base

IF not perceive Agent A OR not perceive Agent B

THEN search mine

Agent 01

IF is not Load

THEN search mine

IF perceive Agent A OR not perceive Agent B

THEN random move

Offspring

IF is not Load

THEN search base

Page 27: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

4. Genetic Operators (…)

Mutation

- between 1% and 2%

- change pieces of a rule (respecting the semantic value)

AND/OR

Agent A, Agent B, Agent C, …

perceive_agent, search_agent, escape_from_agent,…

Page 28: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

5. Food Foraging Problem

- Collect all minerals from an unknown environment

- The environment is a grid ( 100 x 100 )

- Base is fixed

- All agents known where is the base

- There are three mines, with 100 units of mineral

Page 29: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

5. Food Foraging Problem (…)

It was defined six simulation groups:

- Petit Poucet I [Drougol]

- Petit Poucet II [Drougol]

- Petit Poucet III [Drougol]

- Dockers [Drougol]

- Evolutionary Group

- Standard Group

Page 30: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

5. Food Foraging Problem (…)

Standard Group (evolved by the evolutionary algorithm)IF NOT perceive (Mine) AND NOT perceive (Robot)

THEN random move

IF NOT perceive (Mine) AND perceive (Robot)

THEN follows (Robot)

IF NOT perceive (Mine) AND reach (Robot)

THEN flee (Robot)

IF perceive (Mine)

THEN load AND return to base AND leave (Mark Track)

IF perceive (Mark Track)

THEN follows(Mark Track) AND remove(Mark Track)

Page 31: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

0

2000

4000

6000

8000

10000

120001 6 11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

E GroupS Group

Simulation steps

Number of Robots

  PP1 PP2 PP3 Doc. E S

Time to collect all minerals 3351 5315 3519 1746 2303 2217

Minimum time to collect all minerals 1113 1607 1075 695 770 540

Number of Robots for the minimum time 64 98 87 84 95 95

5. Food Foraging Problem (…)

Page 32: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

6. Conclusions and Further Works

- Visual Analysis of the agent behavior

- Discovery of new rules to know/unknown problems

- Rapid prototype of RMAS

- Paradigm change (use or not use the evolutionary algorithm)

Page 33: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

6. Conclusions and Further Works (…)

- Two fitness measure (global/local)

- Automatic statistics and graphics

- Implementation of different genetic operators

Page 34: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

Bibliography

DROGOUL, A. De la Simulation Multi-Agents à la Résolution

Collective de Problèmes. Paris, France: Université Paris VI, 1993.

Thèse de Doctorat.

FROZZA, R. SIMULA – Ambiente para Desenvolvimento de Sistemas

Multiagentes Reativos. Porto Alegre: CPGCC da UFRGS, 1997.

Dissertação de mestrado.

Page 35: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.

De Jong e Otimização de Funções

• De Jong, em sua dissertação “An Analisys of The Behavior of a class of Genetic Adaptive Systems”,fez uma investigação cuidadosa de diversas variações do “algoritmo genético simples” aplicados à otimização de funções.

Page 36: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.
Page 37: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.
Page 38: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.
Page 39: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.
Page 40: Algoritmos Genéticos aula 2 - exemplos. Caixeiro viajante Exemplos de programa ramsey/tsp_html/tsp.html cook/ai1/lectures/applets/gatsp/TSP.html.