Extras din curs
Aplicarea algoritmilor genetici asupra unei populatii de programe
Indivizii = nu gene cu dim fixe ci programe
Op genetici:
crossover (2 parinti)
reproducere (1 parinte)
mutatie
duplicare gene
stergere gene
Programele = arbori sintactici
max(x * x, x + 3 * y)
Noduri interne = functii
Frunze = terminale
Programe = compuse din rutine
Set de arbori (rutine) grupate intr-o radacina
Nr, tip, structura rutine = arhitectura
Arborii – notatie prefixata (S-expression)
(max (* x x) (+ x (* 3 y)))
Descriere de nivel inalt
Set de terminale (vars, funct cu 0 args, const)
Set de functii (aritmetice, conditionale)
Fitness (explicit sau implicit)
Parametrii de control al AG
Conditia de terminare si metoda de alegere a rez
Ex:
Tragerea la tinta
Aspersoare
Robot care se deplaseaza
Populatie generata aleator cu programe compuse din functii si terminale
Repeta pentru mai multe generatii
Executa fiecare program si determina fitness
Selectioneaza cf schemei de selectie
Creaza noi indivizi prin aplicarea op gen:
Reproductie: copiaza individ
Crossover: creeaza 2 descendenti din 2 parinti sau 1 parinte
Mutatie: asupra unui individ existent in populatie
Operatii de alterare a arhitecturii – asupra unui individ
3. Testeaza cond de terminare
Populatie generata aleator cu programe compuse din functii si terminale
Construieste aleator arborele pana la o adancime maxima
Metoda “Full” – numai functii pana la nivelul frunzelor
Metoda “Grow” – functii si terminale pe orice nivel.
Conținut arhivă zip
- Sisteme de Programe pentru Timp Real.ppt