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

CALCUL EVOLUTIONIST Paradigme ale CE - bel.utcluj.ro fileelementelor populatiei permitand aparitia unor trasaturi (gene) care doar prin incrucisare si selectie nu ar fi aparut in cadrul

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

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

CALCUL EVOLUTIONIST

Paradigme ale CECalculul evolutionist contine paradigmele optimizarii si clasificarii cu masini instruibile, care se bazeaza pe mecanisme evolutive:

genetica biologica, selectia naturalacomportament adaptiv

Paradigmele calculului evolutionist furnizeaza instrumente pentru a construi sisteme inteligente care modeleaza comportamentul inteligent.

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

CALCUL EVOLUTIONIST

Specificul CEMecanisme de cautare in spatiul solutiilor bazate pe principiileevolutiei naturale principiul supravietuirii celui mai bun (teoriaevolutionista - Darwin).Pentru gasirea solutiei se utilizeaza o populatie de solutii potentialecare evolueaza.Evolutia indivizilor din populatie: acestia devin mai adaptatimediului dacat indivizii din care au fost creati - similar cu adaptareanaturala.Furnizeaza aproximari din ce in ce mai bune ale solutiei.Pentru a ghida cautarea catre solutia problemei asupra populatiei se utilizeaza transformari specifice evolutiei naturale: selectie, incrucisare (recombinare), mutatie, reinsertie, etc

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

CALCUL EVOLUTIONIST

Transformari specifice CESelectie

Elementele populatiei care se apropie de solutia problemei suntconsiderate adecvate si sunt favorizate in sensul ca au mai multesanse de a contribui la generatie urmatoare.

Recombinare (Incrucisare)La fel ca in inmultirea din natura (reproducerea), pornind de la doua

sau mai multe elemente ale populatiei (parinti) se genereaza noielemente (urmasi). In functie de calitatea acestora (apropierea de solutia problemei) urmasii isi pot inlocui parintii.

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

fel ca in natura, transformari cu caracter aleator (stocastic) asupraelementelor populatiei permitand aparitia unor trasaturi (gene) care doar prin incrucisare si selectie nu ar fi aparut in cadrul populatiei.

4 /14Tehnici 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 (puncte)

utilizeaza in mod direct informatii privind “potrivirea”(adecvarea) in loc de informatii de gradient, derivate, etc.

utilizeaza reguli de tranzitie (determinarea variabilelor in iteratia urmatoare) probabilistice (stocastice) nu deterministe.

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

CALCUL EVOLUTIONIST

Domenii 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 una dintre urmatoarele categorii:

Algoritmi genetici (genetic algorithms)

Programare evolutionista (evolutionary programming)

Strategii evolutive (evolution strategies)

Programare genetica (genetic programming)

Optimizarea roiurilor de particule (particle swarm optimization)

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

CALCUL EVOLUTIONIST

Domenii ale CE - AGAlgoritmi genetici (genetic algorithms)

Reprezinta tehnici de cautare si optimizare avand ca punct de pornire o metafora bilogica, si anume mostenirea genetica si evolutia naturalaSe folosesc in special pentru rezolvarea unor probleme complexe de optimizare (discreta).Populatia este reprezentata de stari din spatiul problemei codificatebinar (un element al populatiei este un sir de biti) sau cu variabile reale.Principalii operatori sunt cei de selectie si incrucisare, cel de mutatieavand probabilitate mica de aplicare. Algoritmii genetici au fost propusi de catre Holland in perioada anilor1960, initial ca modele ale evolutiei si adaptarii la mediu a sistemelornaturale. Ulterior s-a observat ca algoritmii genetici pot fi utilizati si ca instrumente eficace in rezolvarea problemelor de optimizare.

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

CALCUL EVOLUTIONIST

Domenii ale CE - PE

Programare evolutionista (evolutionary programming)Initial programarea evolutionista a avut ca obiectiv dezvoltarea unor structuri de calcul (automate) printr-un proces de evolutia in care operatorul principal este cel de mutatie. Bazele domeniului au fost puse de catre Fogel. Ulterior, programarea evolutionista 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.

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

CALCUL EVOLUTIONIST

Domenii ale CE - SE

Strategii evolutive (evolution strategies)Au fost concepute initial pentru a rezolva probleme de optimizare in tehnica fiind destinate rezolvarii problemelor de optimizare continua. Populatia este constituita din elemente din domeniul de definitie al functiei obiectiv. Operatorul principal este cel de mutatie dar si recombinarea este folosita. Pentru strategiile evolutive au fost dezvoltate scheme de adaptare a parametrilor de control (auto-adaptare). La dezvoltarea strategiilor evolutive contributii importante au adus

Rechenberg si Schwefel.

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

CALCUL EVOLUTIONIST

Domenii ale CE - PGProgramare 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 clasice fiind aceea in care se utilizeaza o structura arborescenta pentru reprezentarea programelor (a populatiei).Incrucisarea este realizata selectand aleator subarbori 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

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

CALCUL EVOLUTIONIST

Domenii ale CE - ORPOptimizarea roiurilor de particule (particle swarm optimization)

Are radacini in trei mari domenii:viata artificiala in general si stoluri de pasari, bancuri de pesti si teoria roiurior(furnicarelor) in particularcalcul evolutionist (algoritmi genetici si strategii evolutive)psihologie sociala (comportarea grupurilor)

Comportarea indivizilor poate fi explicata in termenii proprietatilor de auto-organizare a sistemelor lor sociale care aduna impreuna indivizii cu credinte similare si astfelsubpopulatiile sunt divergente una fata de cealalta - polarizare (Latane 1981) – teoriaimpactului social dinamicProbabilitatea de interactiune intre doi indivizi este in functie de similitudinile dintre ei; de asemena indivizii devin mai asemanatori ca rezultat al interactiunii dintre ei. Dinamica observata este cea de polarizare adica populatii omogene care difera una fatade alta. (Axelrod1984) – model culturalIndivizii in cautare de solutii invata din experienta altora (invata de la vecini). Indiviziicare intercationeaza frecvent devin similari. Cultura afecteaza performantele indivizilorpe care ii contine (indivizii castiga beneficii prin imitarea vecinilor) (Kennedy 1998) model cultural adaptiv

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

CALCUL EVOLUTIONIST

Structura unui algoritm evolutiv

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

CALCUL EVOLUTIONIST

Bazele biologice ale CELegatura 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, iar valorile pe care le pot lua se numesc alele. Cromozomul este codificat pentru a reprezenta un set de parametriiOamenii au 46 de cromozomi existand 23 de perechi omoloage pentru sexul feminin si 22 de perechi omoloage si o pereche neidentica pentru sexul masculin. Un cromozom din fiecare pereche este derivat de la mama si unul de la tata.

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

CALCUL EVOLUTIONIST

Bazele biologice ale CE – cont.

Vectorii (sirurile, pattern) individuale utilizate in CE corespund cromozomilor din sistemele biologice.In genetica, colectia cromozomilor necesara pentru a caracterizacomplet un organism se numeste genotip.In CE, colectia de siruri necesara pentru a specifica complet unsistem este cunoscuta sub numele de structura. In general sistemele sunt specificate printr-un singur sir (vector de stare, pattern) ⇒ cromozom ≡ structura.

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

CALCUL EVOLUTIONIST

Cromozomi

Schita a trei perechi de cromozomi umani