Vous êtes sur la page 1sur 60

Universitatea Dunarea de Jos din Galati

Facultatea de Automatica, Calculatoare,


Inginerie Electrica si Electronica
Departamentul de Electronica si Telecomunicatii

Algoritmi evolutivi. Aplicatii


Rustem Popa
http://www.etc.ugal.ro/rpopa/index.html

18.03.2014

Algoritmi evolutivi. Aplicatii

Evolutionary Computation =
Calcul evolutiv

sau

Calcul evolutionist ?

18.03.2014

Algoritmi evolutivi. Aplicatii

SpringerLink contine 81187 lucrari despre algoritmi


genetici, dintr-un total de 5276591, iar IEEExplore
contine 32632 lucrari, dintr-un total de 2926204.

18.03.2014

Algoritmi evolutivi. Aplicatii

Reviste de referinta (ISI)


- IEEE Transactions on Evolutionary Computation
(din 1997, factor impact = 4,810)

- Evolutionary Computation, MIT Press


(din 1993, factor impact = 2,109)

- Natural Computing, Springer


(din 2002, factor impact = 0,680)

- Genetic Programming and Evolvable Machines, Springer


(din 2000, factor impact = 1,333)

- Soft Computing, Springer


(din 1997, factor impact = 1,124)
18.03.2014

Algoritmi evolutivi. Aplicatii

Continut
Metafora evolutiva
Structura unui algoritm evolutiv
Aplicatii:
- simularea evolutiei in natura

- hardware evolutiv (evolvable hardware EHW)


- implementarea algoritmilor in FPGA
- constiinta artificiala
18.03.2014

Algoritmi evolutivi. Aplicatii

Metafora evolutiva
- intr-un mediu (problema de rezolvat) exista o populatie
de indivizi (solutii posibile) care lupta pentru supravietuire
- performanta fiecarui individ (calitatea solutiei), data de
modul in care se adapteaza la mediu, influenteaza direct
sansa lui de supravietuire si reproducere
- indivizii mai bine adaptati sunt selectati pentru a deveni
parinti, care, prin recombinare si mutatie genereaza urmasi
- noii indivizi sunt evaluati si lupta pentru supravietuire cu
ceilalti indivizi din populatie
- selectia naturala determina cresterea performantei populatiei odata cu trecerea timpului
18.03.2014

Algoritmi evolutivi. Aplicatii

Metafora evolutiva
- Survival of the fittest teoria lui Darwin

(supravietuirea celui mai adaptat)


- Jean-Baptiste Lamarck
(1744-1829)

- Charles Darwin
(1809-1882)
18.03.2014

Algoritmi evolutivi. Aplicatii

Metafora evolutiva
Clase de algoritmi evolutivi si momentele aparitiei lor

18.03.2014

Algoritmi evolutivi. Aplicatii

Structura unui algoritm


evolutiv
Initial population of chromosomes

Population

Offspring

Calculate fitness value

Evolutionary
operations
18.03.2014

No

Solution
found?

Algoritmi evolutivi. Aplicatii

Yes

Stop

Structura unui algoritm


evolutiv
begin
t = 0;
initialize population P(t);
evaluate P(t);
repeat
t = t + 1;
select P(t) from P(t 1);
alter P(t);
evaluate P(t);
until terminating condition not reached
end
18.03.2014

Algoritmi evolutivi. Aplicatii

10

Structura unui algoritm


genetic
begin
generate randomly the initial population of chromosomes;
repeat
calculate the fitness of chromosomes in population;
repeat
select 2 chromosomes as parents;
apply crossover to the selected parents;
calculate the fitness of new child chromosomes;
until end of the number of new chromosomes
apply mutation to the new chromosomes;
update the population;
until end of the number of generations
end
18.03.2014

Algoritmi evolutivi. Aplicatii

11

Operatori genetici

18.03.2014

Algoritmi evolutivi. Aplicatii

12

Aplicatii (simularea evolutiei


naturale)
Richard Dawkins The Blind Watchmaker, 1986
Richard Dawkins Ceasornicarul orb,
Editura Humanitas, 2009

Diferenta dintre
selectia aleatoare si
selectia cumulativa
18.03.2014

Algoritmi evolutivi. Aplicatii

13

Aplicatii (simularea evolutiei


naturale)
Selectia aleatoare, numita si selectie intr-un singur
pas, face alegeri independente de fiecare data.

Selectia cumulativa presupune o reproducere a


alegerilor facute, adica rezultatele unui proces de
sortare sunt folosite la pasul urmator si asa mai
departe
18.03.2014

Algoritmi evolutivi. Aplicatii

14

Aplicatii (simularea evolutiei


naturale)
Ca exemplu, Richard Dawkins alege o fraza
din dialogul lui Hamlet cu Polonius:
Hamlet: Methinks it is like a weasel.
Probabilitatea de a scrie fraza prin alegeri
aleatoare este de (1/27) x (1/27) x (1/27) x x
(1/27) de 28 de ori, adica cam 1 la 10 40 .

O sarcina imposibila!
18.03.2014

Algoritmi evolutivi. Aplicatii

15

Aplicatii (simularea evolutiei


naturale)
Daca pornim insa de la o secventa aleatoare
formata din 28 de caractere si aplicam selectia
cumulativa si un algoritm evolutiv care foloseste
numai mutatia, atunci ne indreptam catre fraza tinta
in urmatorii pasi:
pasul 1:
pasul 2:

WDL MNLT DTJBKWIRZREZLMQCO P


WDLTMNLT DTJBSWIRZREZLMQCO P

18.03.2014

Algoritmi evolutivi. Aplicatii

16

Aplicatii (simularea evolutiei


pasul 10:

naturale)

MDLDMNLS ITJISWHRZREZ MECS_P

pasul 20:

MELDINLS IT ISWPRKE Z WECSEL


.. .

pasul 30:

METHINGS IT ISWLIKE B WECSEL


.. .

pasul 40:

METHINKS IT IS LIKE I WEASEL


.. .

pasul 43:
18.03.2014

METHINKS IT IS LIKE A WEASEL


Algoritmi evolutivi. Aplicatii

17

Aplicatii (simularea evolutiei


naturale)
Dan Nilsson, Susanne Pelger A pessimistic estimate
of the time required for an eye to evolve, Proc. of the
Royal Society, London, vol. 256, no. 1345, 53-58,1994

Ochiul, organul perfect in opinia


creationistilor, care nu ar putea fi decat
rezultatul unui proiect inteligent, are
nevoie de 400.000 generatii pentru a
ajunge la structura actuala
18.03.2014

Algoritmi evolutivi. Aplicatii

18

Aplicatii (simularea evolutiei


naturale)

d diametru normalizat
f distanta focala a lentilei
P distanta pana la retina

18.03.2014

Algoritmi evolutivi. Aplicatii

19

Aplicatii (simularea evolutiei


naturale)

18.03.2014

Algoritmi evolutivi. Aplicatii

20

18.03.2014

Algoritmi evolutivi. Aplicatii

21

Could you paint a replica of the Mona Lisa


using only 50 semi transparent polygons?

18.03.2014

Algoritmi evolutivi. Aplicatii

22

Corespondenta intre doua imagini diferite ale


unui nev melanocitar (algoritmul PSO)
aceeasi leziune melanocitara

leziuni diferite

18.03.2014

Algoritmi evolutivi. Aplicatii

23

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

24

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

25

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

26

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

27

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

28

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

29

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

30

Aplicatii (hardware evolutiv EHW)

Doua solutii de evolutie extrinseca


pentru o functie binara de 3 variabile (2010)

18.03.2014

Algoritmi evolutivi. Aplicatii

31

Aplicatii (hardware evolutiv EHW)

Doua solutii de evolutie extrinseca


pentru o functie binara de 3 variabile (2010)

18.03.2014

Algoritmi evolutivi. Aplicatii

32

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

33

Aplicatii (hardware evolutiv Doua solutii EHW)


de evolutie extrinseca
pentru un automat finit cu 8 stari (2006)

18.03.2014

Algoritmi evolutivi. Aplicatii

34

Aplicatii (hardware evolutiv EHW)prin evolutie intrinseca


Numarator cu 5 stari implementat
(platforma cu circuite CMOS) (2004)

18.03.2014

Algoritmi evolutivi. Aplicatii

35

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

36

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

37

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

38

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

39

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

40

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

41

Aplicatii (hardware evolutiv EHW)

18.03.2014

Algoritmi evolutivi. Aplicatii

42

Aplicatii (hardware evolutiv EHW)

Filtru trece jos, care este identic cu circuitul


brevetat de Otto Zobel de la AT&T in 1925

18.03.2014

Algoritmi evolutivi. Aplicatii

43

Aplicatii (hardware evolutiv EHW)


Circuitul evoluat BALUN de joasa tensiune,
brevetat de Sang Gug Lee in 2001

18.03.2014

Algoritmi evolutivi. Aplicatii

44

Aplicatii (implementarea in
FPGA)
Adrian Thompson An evolved circuit, intrinsic in
silicon, entwined with physics, ICES96, 1996

18.03.2014

Algoritmi evolutivi. Aplicatii

45

Aplicatii (implementarea in
FPGA)

18.03.2014

Algoritmi evolutivi. Aplicatii

46

Aplicatii (implementarea in
FPGA)

18.03.2014

Algoritmi evolutivi. Aplicatii

47

Aplicatii (implementarea in
FPGA)

18.03.2014

Algoritmi evolutivi. Aplicatii

48

- durata experimentului: 3 saptamani


- evaluarea fiecarui
cromozom: 5 sec.
- iesirea circuitului
dupa 3500 generatii

18.03.2014

Algoritmi evolutivi. Aplicatii

49

Aplicatii (implementarea in
FPGA)

HGA Hardware-based Genetic Algorithm (1996)

18.03.2014

Algoritmi evolutivi. Aplicatii

50

Aplicatii (implementarea in
FPGA) (2009)

HGA Hardware-based Genetic Algorithm

18.03.2014

Algoritmi evolutivi. Aplicatii

51

Aplicatii (implementarea in
FPGA)

18.03.2014

Algoritmi evolutivi. Aplicatii

52

Aplicatii (implementarea in
FPGA)

18.03.2014

Algoritmi evolutivi. Aplicatii

53

Aplicatii (constiinta
artificiala)

James Crowder, John Carbone, Shelli Friess


Artificial cognition architectures Springer, 2014

18.03.2014

Algoritmi evolutivi. Aplicatii

54

Aplicatii (constiinta
artificiala)
Un sistem SELF (Synthetic, Evolving Life Form)
trebuie sa fie capabil sa:
- actioneze pe cont propriu
- sa gandeasca autonom
- sa-si descopere si sa-si rezolve propriile probleme
(auto-reglare, auto-reparare etc.)
- sa prezica evenimente viitoare, in functie de care
sa-si modifice starea si memoria interna.

18.03.2014

Algoritmi evolutivi. Aplicatii

55

The Artificial Cognitive Neural Framework (ACNF)

18.03.2014

Algoritmi evolutivi. Aplicatii

56

SELF Artificial Social Intelligence

18.03.2014

Algoritmi evolutivi. Aplicatii

57

Cognitronic analysis, reasoning and reporting with DAS


(Dialectic Search Argument)

18.03.2014

Algoritmi evolutivi. Aplicatii

58

Reconfigurable Advanced Rapid-Prototyping


Environment (RARE) Processing Boards

18.03.2014

Algoritmi evolutivi. Aplicatii

59

Reconfigurable Advanced Rapid-Prototyping


Environment (RARE) 3-D Connectivity

18.03.2014

Algoritmi evolutivi. Aplicatii

60