1 / 22

ALGORITMI GENETICI

ALGORITMI GENETICI. Comanici Nadia. 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. Pasi / etape.

keilah
Télécharger la présentation

ALGORITMI GENETICI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALGORITMI GENETICI Comanici Nadia

  2. Continut • Notiuni de Genetica • ProgrameEvolutive • AlgoritmiGenetici • UtilizariPractice ale AlgoritmilorGenetici • Demo-uri • Maximizareauneifunctii de o variabila • ProblemaOrarului

  3. Mutatie Gena Recombinare Evolutie Genetica Pasi / etape Aproximare a realitatii Fenotip Cromozom Genotip Solutii Algoritmi Calcule Optimizare - Finititudine - Corectitudine - Generalitate ProgrameleEvolutive AlgoritmiiGenetici

  4. Ce este evolutia?

  5. Notiuni de Genetica - 1 Gena – unitatede bazapurtatoarea ereditatii in organismele vii Cromozom – colectie de gene Individ – organism care se identifica in mod unicprincombinatiasa de cromozomi Populatie– multime de indivizidintr-o anume specie care interactioneazaintreei

  6. 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 organisme-parinte fac schimb de informatie genetica si in urma caruia rezulta organisme-copil

  7. Programe Evolutive • Algoritmiprobabilistici • Pastreazao populatie de indivizi, pentru fiecare iteratie. • Fiecare individ : • Reprezinta o potentialasolutie la problema • Este reprezentat sub forma uneistructuri de date specificeproblemei • Este evaluatpebazauneifunctii de fitness • Se aplicaoperatorigenetici: selectie, incrucisaresimutatie

  8. ProgrameEvolutive + Structuri de Date = AlgoritmiGenetici

  9. Structura unui Algoritm Genetic • Pasul 1 : se alege populatia initiala • Pasul 2 : se evalueazafiecareindivid din populatie • Pasul 3 : repeta • Pasul 3.1 : se selecteaza cei mai buni indivizi pentruurmatoareageneratie • Pasul 3.2 : pe baza unor probabilitati, se aplica operatorii de ıncrucisare si mutatieindivizilorselectati anterior pentru a forma nouapopulatie • Pasul 3.3 : se evalueazafiecareindivid din nouapopulatiepebazafunctiei de fitness pana cand (conditie de oprire)

  10. Elemente definitorii ale Algoritmilor Genetici Structuragenetica a unuiindivid Creareapopulatiainitiala Functia de evaluare a fitness-uluifiecaruiindivid (simuleazamediul) Operatorigenetici: selectie, incrucisare, mutatie Parametriispecificialgoritmului

  11. Constrangeri Constrangeri hard (de corectitudine) care suntasiguratepentrufiecareindivid al populatiei Constrangeri soft (de valoare) pebazacarora se realizeazaevolutiaindivizilor

  12. 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

  13. Selectia

  14. Incrucisarea Incrucisare cu un punct de taiere Parinte 1: Copil 1: Parinte 2: Copil 2: Incrucisare cu maimultepuncte de taiere Parinte 1: Copil 1: Parinte 2: Copil 2: Incrucisare ‘taiesiadauga’ Parinte 1: Copil 1: Parinte 2: Copil 2:

  15. 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#Applications

  16. Problema 1: Maximizareauneifunctii • 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)

  17. 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

  18. Demo : Problemamaximizariiuneifunctii

  19. 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

  20. 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

  21. Demo : Problemaorarului - evolutie

  22. Q&A

More Related