330 likes | 596 Views
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.
E N D
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 • 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
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
Trumpai apie genetinius algoritmus • Sukurti JAV apie 1970 • Dažniausiai naudojami diskrečiam optimizavimui • Žinomiausios pavardės: • Holland, DeJong, Goldberg
Kur naudojami • Optimizavime • Automatiniame programavime • Mašinų mokyme – klasifikavime, prognozavime • Ekonomikoje • Imunologijoje • Ekologijoje • Evoliucijoje ir mokyme • Socialinėse sistemose
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.
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ą.
Sąvokos • Chromosoma: genų rinkinys: [xi1, xi2, xi3, xi4, …] • Tinkamumas: funkcija nusakanti kiek gerai individas atlieka savo paskirtį
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
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
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
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
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
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
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
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
N taškų krosoveris • Pasirenkame atsitiktinius krosoverio taškus • Daliname per pasirinktus taškus • Sujungiame dalis, kurios skiriasi tarp tėvų
Tolygus krosoveris • Su tikimybe Pt yra sukeičiami tėvų genai
Krosoveris ar mutacija ? • Yra ginčijamasi, kuris operatorius yra geresnis – krosoveris ar mutacija ? • Atsakymas: • Tai priklauso nuo problemos; • Gerai yra turėti abu
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
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
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
Baldwin ir Lamarck • Ar išmoktos žinios persikelia palikuonims ?