paradigme ale ce - bel.utcluj.ro · strategii evolutive (evolution strategies) se bazeaza pe...

15
Tehnici de inteligenţă computaţională în electronică, G. Oltean CALCUL EVOLUTIONIST Paradigme ale CE Calculul evolutiv contine paradigmele optimizarii si clasificarii cu masini instruibile, care se bazeaza pe mecanisme evolutive: genetica biologica, selectia naturala comportament adaptiv Paradigmele calculului evolutiv furnizeaza instrumente pentru a construi sisteme inteligente care modeleaza comportamentul inteligent.

Upload: hadan

Post on 07-Jun-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Paradigme ale CE

Calculul evolutiv contine paradigmele optimizarii si clasificarii

cu masini instruibile, care se bazeaza pe mecanisme evolutive:

genetica biologica,

selectia naturala

comportament adaptiv

Paradigmele calculului evolutiv furnizeaza instrumente pentru

a construi sisteme inteligente care modeleaza comportamentul

inteligent.

Page 2: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Specificul CE

Mecanisme de cautare in spatiul solutiilor bazate pe principiile

evolutiei naturale principiul supravietuirii celui mai bun (teoria

evolutionista - Darwin).

Pentru gasirea solutiei se utilizeaza o populaţie de soluţii

potentiale care evolueaza (căutători).

Evolutia indivizilor din populatie: indivizii din noua generatie devin

mai adaptati mediului dacat indivizii din care au fost creati -

similar cu adaptarea naturala.

Furnizeaza aproximari din ce in ce mai bune ale solutiei.

Pentru a ghida cautarea solutiei, asupra populatiei se utilizeaza

transformari specifice evolutiei naturale: selectie, recombinare

(crossover, incrucisare), mutatie, reinsertie, etc

Page 3: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Transformari specifice CE Selectie

Indivizii populatiei mai apropiati de solutia problemei (o masura de

tip eroare) sunt considerati mai adecvati (potriviti) si sunt favorizati,

adica au mai multe sanse de a fi selectati pentru crearea generatiei

urmatoare.

Page 4: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Transformari specifice CE

Recombinare (Crossover, Incrucisare)

Pornind de la doi indivizi ai populatiei curente (parinti) se genereaza

noi indivizi (urmasi, copii). In functie de calitatea acestora (adecvare,

potrivire) urmasii isi (pot) inlocui parintii.

Mutatie

Pentru a asigura variabilitatea (diversitatea) populatiei, se aplica, la

fel ca in natura, transformari cu caracter aleator (stocastic) asupra

indivizilor populatiei, permitand astfel aparitia unor noi trasaturi

(gene) care doar prin selectie si incrucisare nu ar fi aparut in cadrul

populatiei.

Page 5: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Paradigmele EC sunt unice

Paradigmele CE difera de paradigmele metodelor

traditionale de cautare si optimizare deoarece in CE:

in cautare se utilizeaza o populatie de solutii candidate

(indivizi)

utilizeaza în mod direct informatii privind “potrivirea”

(adecvarea) in loc de informatii de gradient, derivate, etc.

utilizeaza reguli de tranzitie (determinarea variabilelor in

iteratia urmatoare) aleatoare (stocastice, ne-deterministe) nu

deterministe.

Page 6: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Subdomenii ale CE

In functie de modul in care este construita populatia si de modul in

care este implementata evolutia, sistemele de calcul evolutiv pot fi

incadrate in mai multe categorii [Eberhart, Shi07]:

Algoritmi genetici (genetic algorithms)

Programare evolutiva (evolutionary programming)

Strategii evolutive (evolution strategies)

Programare genetica (genetic programming)

Optimizare cu roiuri de particule (particle swarm optimization)

Page 7: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Subdomenii ale CE - AG Algoritmi genetici (genetic algorithms)

Reprezinta tehnici de cautare si optimizare avand ca punct de

pornire o metafora biologica, bazata pe mostenirea genetica si

evolutia naturala

Se folosesc in special pentru rezolvarea unor probleme complexe de

optimizare (prin minimizarea sau maximizarea unei functii obiectiv).

Populatia este reprezentata de stari din spatiul problemei codificate

binar (un element al populatiei este un sir de biti) sau cu variabile reale.

Principalii operatori sunt cei de selectie si incrucisare, cel de mutatie

avand o probabilitate mai mica de aplicare.

Algoritmii genetici au fost propusi de catre Holland in perioada anilor

1960, initial ca modele ale evolutiei si adaptarii la mediu a sistemelor

naturale.

Ulterior s-a observat ca algoritmii genetici pot fi utilizati si ca

instrumente eficace in rezolvarea problemelor de optimizare.

Page 8: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Subdomenii ale CE - PE

Programare evolutiva (evolutionary programming)

Initial programarea evolutiva a avut ca obiectiv dezvoltarea unor

structuri de calcul (automate) printr-un proces de evolutie in care se

utilizeaza doar selectia si mutatia; nu se utilizeaza incrucisarea.

Fiecare punct in populatie reprezinta o intraga specie, speciile fiind

in competitie

Concentrata pe procese top-down a comportamentului adaptiv;

dezvoltarea de modele comportamentale

Bazele domeniului au fost puse de catre Fogel.

Ulterior, programarea evolutiva a fost orientata catre rezolvarea

problemelor de optimizare avand aceeasi sfera de aplicabilitate ca si

strategiile evolutive.

Se folosesc in special pentru rezolvarea unor probleme de

optimizare.

Page 9: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Subdomenii ale CE - SE

Strategii evolutive (evolution strategies)

Se bazeaza pe evolutia evolutiei

Au fost concepute initial pentru a rezolva probleme de optimizare, in

tehnica fiind destinate rezolvarii problemelor de optimizare continua.

Supravietuirea celui mai potrivit

Operatorul principal este cel de mutatie dar este folosita si

recombinarea .

Pentru strategiile evolutive au fost dezvoltate scheme de adaptare a

parametrilor de control (auto-adaptare).

Scopul este de a muta populatia inspre regiunea cea mai buna din

spatiul solutiilor

La dezvoltarea strategiilor evolutive contributii importante au adus

Rechenberg si Schwefel.

Page 10: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Subdomenii ale CE - PG Programare genetica (genetic programming)

Este o directie mai recenta a calculului evolutiv, dezvoltata la sfarsitul

anilor 1980 de catre Koza.

Scopul programarii genetice este dezvoltarea unor "modele" de calcul

(programe simple).

Populatia este reprezentata de programe care candideaza la rezolvarea

problemei.

Exista diferite reprezentari ale elementelor populatiei, una dintre cele

mai utilizate fiind aceea in care se utilizeaza o structura arborescenta

pentru reprezentarea programelor (a populatiei).

Incrucisarea este realizata selectand aleator sub-arbori din arborele

asociat programelor parinte si interschimbandu-le.

Ca si in cazul algoritmilor genetici mutatia are pondere mica.

Programe de calculator care sunt codificate de catre alte programe

proiectate pentru a le optimiza performantele

Page 11: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Subdomenii ale CE - PSO Particle swarm optimization - PSO

PSO is a population based (stochastic) optimization algorithm

that simulates the social behavior of animals

Optimizes a problem by iteratively trying to improve a candidate

solution with regard to a given measure of quality.

PSO optimizes a problem by having a population of candidate

solutions, (particles), and moving these particles around in the

search-space according to simple mathematical formulae over the

particle's position and velocity.

Each particle's movement is influenced by its local best known

position and is also guided toward the best known positions in the

search-space, which are updated as better positions are found by

other particles. This is expected to move the swarm toward the

best solutions.

Page 12: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Structura unui algoritm evolutiv

Page 13: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Bazele biologice ale CE Legatura cu genetica, “ramură a biologiei care studiază

fenomenele şi legile eredităţii şi variabilităţii organismelor”

Cromozom: o structura ordonata (liniara) de elemente numite

gene ale caror valori determina caracteristicile unui individ si

care transmite informatie genetica. In genetica pozitiile pe care se

afla genele in cadrul cromozomului se numesc loci (locus – sg.),

iar valorile pe care le pot lua genele se numesc alele (alel – sg.).

Page 14: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Bazele biologice ale CE – cont.

Vectorii (sirurile, pattern) individuali utilizati in CE corespund

cromozomilor din sistemele biologice.

In genetica, colectia cromozomilor necesara pentru a caracteriza

complet un organism (individ) se numeste genotip (structura).

In CE, colectia de vectori necesara pentru a specifica complet un

individ este denumita structura.

In general, in CE un individ este caracterizat printr-un singur

vector (vector de stare, pattern) cromozom structura.

Un fenotip (phénotype) este setul de valori corespunzand unui

genotip, adica este o structura decodata (o solutie)

Page 15: Paradigme ale CE - bel.utcluj.ro · Strategii evolutive (evolution strategies) Se bazeaza pe evolutia evolutiei Au fost concepute initial pentru a rezolva probleme de optimizare,

Tehnici de inteligenţă computaţională în electronică, G. Oltean

CALCUL EVOLUTIONIST

Cromozomi umani

46 de cromozomi (organizati in perechi) in nucleul fiecarei celule:

22 perechi de autozomi (numerotati dupa marime)

• arata la fel pentru ambele sexe

1 pereche de heterozomi (determina sexul)

feminin X,X

masculin X,Y

in fiecare pereche avem

cate un cromozom de la fiecare

parinte)

cromozomii pot fi vazuti ca

siruri lungi de gene

Contin informatie ereditara a organismului