1 / 33

Genetiniai algoritmai

Genetiniai algoritmai. Dvi mokslo šakos. Robotai, uždaviniai, sudėtingumas. Uždaviniai, kuriuos sprendžia robotai, rečiau sutinkami klasikinėje informatikoje Sudėtingumas ir neapibrėžtumas yra labai aukštas Reikalingas gebėjimas prisitaikyti kintančiose aplinkose. Evoliucija.

tyler-moses
Download Presentation

Genetiniai algoritmai

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. Genetiniai algoritmai

  2. Dvi mokslo šakos

  3. Robotai, uždaviniai, sudėtingumas • Uždaviniai, kuriuos sprendžia robotai, rečiau sutinkami klasikinėje informatikoje • Sudėtingumas ir neapibrėžtumas yra labai aukštas • Reikalingas gebėjimas prisitaikyti kintančiose aplinkose

  4. Evoliucija • Būtinos sąlygos: • Egzistuoja būtybė, kuri gali sukurti savo kopiją • Yra populiacija tokių būtybių • Yra įvairovė tarp šių būtybių • Dalis populiacijos savybių susijusių su išlikimu šioje aplinkoje yra susiję ir su populiacijos įvairove

  5. Ar galime išspręsti problemas tiksliai neprogramuojant kodo ? • Struktūros kurios nėra įprastos programos: • Svorių vektoriai dirbtiniuose neuroniniuose tinkluose • Savaime besiorganizuojančios sistemos • Sprendimų medžiai • Formalios gramatikos • Polinomų koeficientai • Genetinių algoritmų chromosomos

  6. Trumpai apie genetinius algoritmus • Sukurti JAV apie 1970 • Dažniausiai naudojami diskrečiam optimizavimui • Žinomiausios pavardės: • Holland, DeJong, Goldberg

  7. Keblumai kylantys su genetiniais algoritmais

  8. Kur naudojami • Optimizavime • Automatiniame programavime • Mašinų mokyme – klasifikavime, prognozavime • Ekonomikoje • Imunologijoje • Ekologijoje • Evoliucijoje ir mokyme • Socialinėse sistemose

  9. Problemos kylančios su “kopimo i kalną algoritmais”

  10. Tačiau

  11. Toliau

  12. O tikrovėje

  13. Kada yra naudojamas genetinis algoritmas ? • Genetinius algoritmus geriausiai yra naudoti kai paieškos erdvė yra didelė, netolygi, nereikia rasti globalaus optimumo. T.y. greitai randamas pakankamai optimalus spendimas • Jei erdvė nėra didelė, gali būti nuosekliai peržiūrėta, suprantama (kaip keliaujančio pirklio problema), paieškos metodai su naudojantys srities žinias dažniausiai aplenks genetinius algoritmus.

  14. Esminiai dalykai susiję su problema • Problemos kodavimas – parametrai, kuriuos mums reikia optimizuoti • Tinkamumo funkcija • Optimizavimo problema: turime aibę kintamųjų, kuriuos mums reikia optimizuoti pagal tam tikrą tikslą. Maksimizuoti naudą arba minimizuoti klaidą.

  15. Sąvokos • Chromosoma: genų rinkinys: [xi1, xi2, xi3, xi4, …] • Tinkamumas: funkcija nusakanti kiek gerai individas atlieka savo paskirtį

  16. Genetinio algoritmo sudėtinės dalys

  17. Reprezentacija 1011100111 0011001110 0000111000 Bendri organizmo požymiai • Fenotipas - tai organizmo visų požymių visuma • Genotipas – tai organizmo (ląstelės) genetinės informacijos visuma

  18. Kodavimas • Dažniausiai yra naudojamas fiksuoto ilgio, fiksuotos tvarkos bitų kodavimas, kuris yra labiausiai ištirtas • Tačiau naudojami ir kiti kodavimai, kaip kad simbolių arba pačių reikšmių perkėlimas į chromosomas

  19. Paprasto genetinio algoritmo (PGA) ciklas • Parinkti individus skirtus dauginimuisi (šiuo atveju visą populiaciją) • Išmaišyti individus • Kiekvienai iš eilės einančiai porai pritaikyti krosoverį su tikimybe Pk, kitaip kopijuoti individus • Kiekvienam palikuoniui su tikimybe Pm pritaikyti mutaciją • Pakeisti visą populiaciją palikuonimis

  20. PGA kryžminimas • Surasti atsitiktinį tašką tarp dviejų tėvų chromosomų • Sukeisti tėvų chromosomas tame taške • Sukurti vaikus iš skirtingų chromosomos dalių • Pk paprastai būna 0.6 - 0.9 ribose

  21. PGA mutacija • Pakeisti kiekvieną gena nepriklausomaisu tikimybe Pm • Pm yra vadinama mutacijos tikimybe ir paprastai būna tarp 1/populiacijos dydžio ir 1/chromosomos dydžio

  22. PGA atranka • Pagrindinė idėja geresni individai gauna didesnes galimybes • Tikimybė proporcionali individo tinkamumui • Realizacija: ruletės ratas, kuriame kiekvienam duodamas plotas atitinkantis tinkamumą Pirmo tinkamumas = 5 Antro tinkamumas = 15 Trečio tinkamumas = 30

  23. Klasikinis genetinis algoritmas • Buvo stipriai tiriamas anksčiau ir net dabar naudojamas kaip pagrindas įvertinti naujiems genetiniams algoritmams • Trūkumai: • Reprezentavimas yra labai ribotas (tik bitų eilutės) • Mutacija ir krosoveris tinkamas tik bitų eilutėms • Atrankos mechanizmas yra jautrus populiacijoms su panašiomis tinkamumo reikšmėmis

  24. Kitokios krosoverio operacijos • Vieno taško krosoverio efektyvumas stipriai priklauso nuo genų ir kaip jie yra išsidėstę chromosomoje • Turi savybę išlaikyti kartu genus, kurie yra šalia • Gali niekada neišlaikyti kartu genų, kurie yra skirtingose chromosomos pusėse

  25. N taškų krosoveris • Pasirenkame atsitiktinius krosoverio taškus • Daliname per pasirinktus taškus • Sujungiame dalis, kurios skiriasi tarp tėvų

  26. Tolygus krosoveris • Su tikimybe Pt yra sukeičiami tėvų genai

  27. Krosoveris ar mutacija ? • Yra ginčijamasi, kuris operatorius yra geresnis – krosoveris ar mutacija ? • Atsakymas: • Tai priklauso nuo problemos; • Gerai yra turėti abu

  28. Problemos ir skirtumai • Žvalgymas – naudingų ir daug žadančių vietų radimas paieškos erdvėje t.y. Informacijos apie problemą paieška • Naudojimas – optimizacija aplink surastą vietą, t.y. Informacijos panaudojimas • Krosoveris yra skirtas žvalgymui, šokinėjimui per dideles paieškos erdves • Mutacija skirta tikslių sprendinių paieškai stipriai nenutolstant nuo pradinės vietos

  29. Krosoveris ar mutacija • Tik krosoveris gali apjungti informaciją iš dviejų tėvų • Tik mutacija gali įvesti naują informaciją • Kad pasiekti optimalų tašką dažnai reikalinga “sėkminga” mutacija

  30. Genetiniai algoritmai ir dirbtiniai neuroniniai tinklai • Evoliucionuojantys svoriai • Evoliucionuojanti architektūra • Evoliucionuojanti mokymosi taisyklė • Pakankamai natūralu – gamta naudojasi tiek genetiniais algoritmais, tiek dirbtiniais neuroniniais tinklais

  31. Baldwin ir Lamarck • Ar išmoktos žinios persikelia palikuonims ?

  32. Genetinis programavimas

  33. Pavyzdys

More Related