ALGORITMI GENETICI Comanici Nadia Continut Notiuni de Genetica

  • Slides: 22
Download presentation
ALGORITMI GENETICI Comanici Nadia

ALGORITMI GENETICI Comanici Nadia

Continut Notiuni de Genetica Programe Evolutive Algoritmi Genetici Utilizari Practice ale Algoritmilor Genetici Demo-uri

Continut Notiuni de Genetica Programe Evolutive Algoritmi Genetici Utilizari Practice ale Algoritmilor Genetici Demo-uri Maximizarea unei functii de o variabila Problema Orarului

Mutatie Gena Recombinare Evolutie Genetica Aproximare a realitatii Pasi / etape Fenotip Cromozom Genotip

Mutatie Gena Recombinare Evolutie Genetica Aproximare a realitatii Pasi / etape Fenotip Cromozom Genotip Algoritmi Solutii Calcule - Finititudine - Corectitudine - Generalitate Optimizare Programele Evolutive Algoritmii Genetici

Ce este evolutia?

Ce este evolutia?

Notiuni de Genetica - 1 Gena – unitate de baza purtatoare a ereditatii in

Notiuni de Genetica - 1 Gena – unitate de baza purtatoare a ereditatii in organismele vii Cromozom – colectie de gene Individ – organism care se identifica in mod unic prin combinatia sa de cromozomi Populatie – multime de indivizi dintr-o anume specie care interactioneaza intre ei

Notiuni de Genetica - 2 Evolutie – procesul prin care o populatie de organisme

Notiuni de Genetica - 2 Evolutie – procesul prin care o populatie de organisme isi schimba trasaturile mostenite de la o generatia la generatia urmatoare Mostenire – un organism-copil dobandeste trasaturi ale organismului-parinte Mutatie – schimbare in materialul genetic al unui organism Incrucisare – procesul prin care doua organismeparinte fac schimb de informatie genetica si in urma caruia rezulta organisme-copil

Programe Evolutive Algoritmi probabilistici Pastreaza o populatie de indivizi, pentru fiecare iteratie. Fiecare individ

Programe Evolutive Algoritmi probabilistici Pastreaza o populatie de indivizi, pentru fiecare iteratie. Fiecare individ : Reprezinta o potentiala solutie la problema Este reprezentat sub forma unei structuri de date specifice problemei Este evaluat pe baza unei functii de fitness Se aplica operatori genetici: selectie, incrucisare si mutatie

Programe Evolutive + Structuri de Date = Algoritmi Genetici

Programe Evolutive + Structuri de Date = Algoritmi Genetici

Structura unui Algoritm Genetic Pasul 1 : se alege populatia initiala Pasul 2 :

Structura unui Algoritm Genetic Pasul 1 : se alege populatia initiala Pasul 2 : se evalueaza fiecare individ din populatie Pasul 3 : repeta – Pasul 3. 1 : se selecteaza cei mai buni indivizi pentru urmatoarea generatie – Pasul 3. 2 : pe baza unor probabilitati, se aplica operatorii de ıncrucisare si mutatie indivizilor selectati anterior pentru a forma noua populatie – Pasul 3. 3 : se evalueaza fiecare individ din noua populatie pe baza functiei de fitness pana cand (conditie de oprire)

Elemente definitorii ale Algoritmilor Genetici Structura genetica a unui individ Crearea populatia initiala Functia

Elemente definitorii ale Algoritmilor Genetici Structura genetica a unui individ Crearea populatia initiala Functia de evaluare a fitness-ului fiecarui individ (simuleaza mediul) Operatori genetici: selectie, incrucisare, mutatie Parametrii specifici algoritmului

Constrangeri hard (de corectitudine) care sunt asigurate pentru fiecare individ al populatiei Constrangeri soft

Constrangeri hard (de corectitudine) care sunt asigurate pentru fiecare individ al populatiei Constrangeri soft (de valoare) pe baza carora se realizeaza evolutia indivizilor

Functia de evaluare a fitness-ului Joaca rol de mediu, evaluand indivizii si asociind fiecarui

Functia de evaluare a fitness-ului Joaca rol de mediu, evaluand indivizii si asociind fiecarui individ o valoare (un fitness) Reprezinta functia pentru care se doreste optimizarea cu ajutorul algoritmilor genetici

Selectia

Selectia

Incrucisarea Incrucisare cu un punct de taiere Parinte 1: Copil 1: Parinte 2: Copil

Incrucisarea Incrucisare cu un punct de taiere Parinte 1: Copil 1: Parinte 2: Copil 2: Incrucisare cu mai multe puncte de taiere Parinte 1: Copil 1: Parinte 2: Copil 2: Incrucisare ‘taie si adauga’ Parinte 1: Copil 1: Parinte 2: Copil 2:

Utilizari ale Algoritmilor Genetici Designul topologiilor Spargerea codurilor Optimizarea structurii moleculelor Predictii Planificari (orare,

Utilizari ale Algoritmilor Genetici Designul topologiilor Spargerea codurilor Optimizarea structurii moleculelor Predictii Planificari (orare, programari etc) Retele neuronale recurente More: http: //en. wikipedia. org/wiki/Genetic_algorithm#Applicatio ns

Problema 1: Maximizarea unei functii Structuri de date speciale – O gena (celula) =

Problema 1: Maximizarea unei functii Structuri de date speciale – O gena (celula) = un bit (0 sau 1) – Un individ = un cromozom = un numar in binar, reprezentat pe k biti (sir de biti) – O populatie de NR indivizi = o colectie de siruri de biti Fitness-ul unui individ = valoarea functiei in acel punct (care se obtine din reprezentarea binara)

Problema 1: Maximizarea unei functii Operatori speciali – Pentru generarea indivizilor initiali – se

Problema 1: Maximizarea unei functii Operatori speciali – Pentru generarea indivizilor initiali – se genereaza aleator o populatie din NR indivizi, fiecare avand k gene – Pentru incrucisare – pe baza unei probabilitati de incrucisare, se considera doi indivizi si se creeaza alti indivizi noi folosind o singura taietura – Pentru mutatie – pe baza unei probabilitati de mutatie (PM), se schimba un bitul cu valoarea 0 in 1 sau cu valoarea 1 in 0

Demo : Problema maximizarii unei functii

Demo : Problema maximizarii unei functii

Problema 2: Problema Orarului Este NP-completa Presupune numeroase constrangeri (pentru profesori, grupe, cursuri, sali

Problema 2: Problema Orarului Este NP-completa Presupune numeroase constrangeri (pentru profesori, grupe, cursuri, sali sau facultati) Presupune diferite tipuri de cursuri – Saptamanale – Bisaptamanale – Partajate

Solutia Problemei folosind Algoritmi Genetici Structuri de date speciale – O gena (celula) =

Solutia Problemei folosind Algoritmi Genetici Structuri de date speciale – O gena (celula) = un container care poate contine diferite tipuri de activitati de tip curs (saptamanale, bisaptamanale sau partajate) – Un individ = un orar – O populatie de indivizi = o colectie de orare Operatori speciali – Pentru generarea indivizilor initiali – Pentru incrucisare – Pentru mutatie

Demo : Problema orarului - evolutie

Demo : Problema orarului - evolutie

Q&A

Q&A