Extras din proiect
Calcul evolutiv. Principiile calculului evolutiv
Este inspirat de procesele de evolutie din natura bazate pe principiile ereditatii si a supravietuirii celui mai bun individ
Se bazeaza pe determinarea solutiei unei probleme prin explorarea spatiului solutiilor potentiale folosind o populatie de “cautatori” (agenti)
Elementele populatiei sunt codificate in functie de specificul problemei (siruri de biti, vectori de valori reale, arbori etc.)
Principiile calculului evolutiv
Analogia dintre procesele de evolutie din natura si rezolvarea problemelor
Structura unui algoritm evolutiv
Algoritm evolutiv = proces iterativ constand in aplicarea succesiva a unor operatori :
- recombinare
- mutatie
- selectie
asupra unei populatii initializata aleator
Clase de algoritmi
Algoritmi genetici:
– Codificarea binara a informatiei
– Incrucisarea (recombinarea) este operatorul principal
– Mutatia este operator secundar
– Adecvate pentru probleme de optimizare combinatoriala
Strategii evolutive:
– Codificare reala a informatiei
– Mutatia este operatorul principal
– Incrucisarea este operator secundar
– Adecvate pentru rezolvarea de probleme de optimizare continua
Programare genetica:
– Elementele populatiei sunt structuri (arbori, expresii, programe etc)
– Permit generarea unor structuri de calcul prin procese de evolutie
Programare evolutiva:
– Codificare reala a informatiei
– Mutatia este singurul operator
– Utilizata in rezolvarea problemelor de optimizare continua
Domenii de aplicabilitate
Probleme de identificare a unor structuri (bioinformatica)
Probleme de predictie (evolutia unui activ financiar sau a cursului valutar).
Probleme de planificare a activitatilor (generarea automata a orarelor sau planificarea sarcinilor).
Programare automata (generarea unor programe care sau structuri computationale cum sunt automatele celulare si retelele de sortare).
Prelucrarea imaginilor (proiectarea filtrelor pentru imagini si analiza imaginilor).
Proiectarea retelelor neuronale (stabilirea arhitecturii si/sau a ponderilor).
Simularea unor activitati creative (generare de imagini, muzica etc.)
Calcul evolutiv
În general, orice sarcină abstractă care trebuie îndeplinită, poate fi privită ca fiind rezolvarea unei probleme, care, la rândul ei, poate fi percepută ca o căutare în spaţiul soluţiilor potenţiale. Deoarece, de obicei, căutăm cea mai bună soluţie, putem privi acest proces ca fiind unul de optimizare. Pentru spaţii mici, metodele clasice exhaustive sunt suficiente; pentru spaţii mari, pot fi folosite tehnicile speciale ale inteligenţei artificiale.
Metodele calculului evolutiv se numără printre aceste tehnici; ele folosesc algoritmi ale căror metode de căutare au ca model câteva fenomene naturale: moştenirea genetică şi lupta pentru supravieţuire. Cele mai cunoscute tehnici din clasa calculului evolutiv sunt algoritmii genetici, strategiile evolutive, programarea genetică şi programarea evolutivă.
Există şi alte sisteme hibride care încorporează diferite proprietăţi ale paradigmelor de mai sus; mai mult, structura oricărui algoritm de calcul evolutiv este, în mare măsură, aceeaşi. În ultimii 30 de ani, s-a manifestat un mare interes în rezolvarea problemelor de sistem bazate pe principiile evoluţiei şi ereditatii. Astfel de sisteme menţin o populaţie de soluţii potenţiale, ele au unele procese de selecţie bazate pe fitness individual, şi caţiva operatori genetici. Un astfel de system este o clasa a evoluţiei strategice i.e, algoritmi care imita principiile evoluţiei naturale pentru problemele de optimizare de parametru(Rechemberg, Schwefel).
Evoluţia programarii lui Fogel este o tehnica de cautare intr-un spaţiu finit, mic de maşini. Tehnologiile de cautare a maşinii lui Glover
Scatter menţin o populaţie de puncte de referinţă, generand o stare speciala prin greutatea combinaţiilor liniare. Alte tipuri de sisteme evoluţionare sunt Holland.s Genetic Algorithms. În 1990 Koza a propus un astfel de sistem evoluţional, genetic programming, pentru a cauta cel mai potrivit program de computer sa rezolve o problema particulara .Folosind un termen comun E.P pentru toate sistemele(incluzând sistemele descrise mai sus). Structura evoluţiei programului este aratat in figura 1.
În cele ce urmează vom explica algoritmul general propus mai sus.
Evoluţia programului este un algoritm probabilistic ce contine elemente distincte, P(t)={x1t, x2t, ...xnt}.
Preview document
Conținut arhivă zip
- Tehnici Evoluate de Conducere.doc