190 likes | 557 Views
Genetski algoritmi. Pripremila: Petra Filipi. Evolucija u prirodi. Osnovna karakteristika evolucije u prirodi je prilagođavanje živih bića uvjetima u prirodi. Mehanizam odabira u prirodnom evolucijskom procesu čine okolina i uvjeti u prirodi.
E N D
Genetski algoritmi Pripremila: Petra Filipi
Evolucija u prirodi • Osnovna karakteristika evolucije u prirodi je prilagođavanje živih bića uvjetima u prirodi. • Mehanizam odabira u prirodnom evolucijskom procesu čine okolina i uvjeti u prirodi. • Jedinka koja je najbolje prilagođena uvjetima i okolini ima najveću vjerojatnost preživljavanja i parenja pa tako i prenošenja svog genetskog materijala na svoje potomke.
Proces evolucije kao motivacija za genetski algoritam • Inspirirana procesom evolucije, znanost je razvila računalnu paradigmu zvanu evolucijsko računarstvo koja oponašanjem prirodnih evolucijskih procesa pokušava riješiti razne procesorski zahtjevne računalne probleme. • Genetskialgoritmi koriste neke mehanizme inspirirane biološkom evolucijomkako bi pronašli što bolje rješenje određenog problema. • Potencijalna rješenja optimizacijskogproblema kojeg evolucijski algoritam pokušava riješiti igraju ulogu "jedinke" u "populaciji". Pritom se potencijalna rješenje (jedinke) međusobno kombiniraju i razvijaju na sličan način kao što to u prirodi čine biološke jedinke neke vrste.
Genetski algoritam (definicija) • Genetski ili genetički algoritam (GA) je heuristička metoda optimiranja koja oponaša prirodni evolucijski proces te ga primjenjuje u traženju najoptimalnijeg rješenja zadanog problema. • GA koriste umjetne ‘kromosome’ koji opisuju skup svojstava objekata .Svaki kromosom sastoji se od niza gena.Geni su predstavljeni binarnim znamenkama 0 i 1.
Kako radi GA? Pseudokod jednostavnog GA Genetski_algoritam(Velicina_Populacije, t, pm, pc, M) { t = 0; generiraj početnu populaciju potencijalnih rješenja P(0); sve dok nije zadovoljen uvjet završetka evolucijskog procesa { t = t + 1; selektiraj P'(t) iz P(t-1); križaj jedinke iz P'(t) i djecu spremi P(t); mutiraj jedinke P(t); } ispiši rješenje; } • Stvori se inicijalna populacija, svaka jedinka s vlastitim genomom • Svaka jedinka ocjenjuje se posebnom funkcijom koja se zove funkcija cilja(dobrote) • Funkcija vraća vrijednost koja nam govori koliko je jedinka „sposobna” • Nakon što se svaka jedinka procijeni poredaju se po vrijednostima funkcije cilja i iz populacije izbacuju oni s najnižom vrijednosti • Genomi različitih jedinki se rekombiniraju, događaju se mutacije i tako se stvori sljedeća generacija • Jedinke se ponovno ocjenjuju funkcijom cilja i to se ponavlja dok se ne dobije optimalno rješenje
Genetski operatori • Evaluacija: -cilj je razlučiti dobra rješenja od loših -na temelju svojstva jedinke može se odrediti koliko je ona dobro rješenje u odnosu na druge (dobrota) odnosno loša u odnosu na druge(kazna) -važno je da funkcija evaluacije bude dobra da se ne bi izgubila dobra svojstva jedinke
Selekcija -Odabiru se jedinke koje će sudjelovati u reprodukciji -lošim jedinkama potrebno omogućiti minimalnu vjerojatnost razmnožavanja -bolje jedinke trebaju imati veću mogućnost razmnožavanja
Križanje -imitira prirodni proces križanja -u njemu sudjeluju dvije jedinke populacije -križanjem njihova genetskog materijala dobiva se jedna ili dvije nove jedinke -postiže se konvergencija optimumu -najjednostavniji način križanje s jednom točkom prekida Izvodi se u dva koraka: 1) Parovi nizova znakova određuju se na slučajan način 2) Na slučajan način se odabire položaj k unutar nizova znakova i znakovi iz tog položaja iz oba niza znakova se međusobno zamjenjuju
Mutacija -unarni operator koji mijenja neki dio gena u neku nasumično odabranu vrijednost -može promijeniti jedno ili više svojstava jedinke • Mutacija ima sekundarnu ulogu u radu genetskih algoritama • Ona omogućuje da se izbjegne gubitak korisnog genetskog materijala (0 ili 1 na nekim lokacijama). • Mutacija se izvodi tako da se na slučajan način povremeno zamijene 0 u 1 (i obrnuto) na nekim mjestima niza znakova • Mutacija se izvodi dosta rijetko (~ 1 mutacija na 1.000 bitova)
Način funkcioniranja GA • GA rade s kodiranim varijablama (a ne s varijablama u originalnom obliku) • GA pretražuju iz cijele populacije točaka • (a ne iz jedne točke) • GA koristi direktno funkciju cilja (a ne njene derivacije i sl.) • GA koristi probabilistička pravila za prijelaz u slijedeći skup točaka (a ne deterministička pravila)
Portretiranje osumnjičenika (New Mexico State University) • Novi pristup prepoznavanju osumnjičenih • GA generira 20 lica na ekran • Svjedok ocjenjuje sličnost svakog od tih lica sa osumnjičenikom (na skali od 1-10) • GA na temelju tih ocjena generira novu generaciju lica sličnijih osumnjičeniku, itd.doksvjedok ne nađe da je neko lice dovoljno slično osumnjičeniku • Koriste se sljedeće crte lica: usta, kosa, oči, nos i brada
Test sustava: svjedoci vide simuliranu kriminalnu radnju U ovom primjeru: svjedok je rekonstruirao lice 3 dana nakon simulirane kriminalne radnje
Prednosti • GA su računarski jednostavni ali snažni algoritmi • GA se mogu koristiti i kod problema koji se zbog svojih značajki ne mogu rješavati tradicionalnim algoritmima optimizacije • GA postižu dobru ravnotežu efikasnosti i efektnosti (tj. nalaženje pravih rješenja) Puno mogućnosti nadogradnje i povećanja učinkovitosti ! Ponavljanje postupka rješavanja !
Nedostaci: • često potrebno prilagoditi problem ili • algoritam • velik utjecaj parametara • priroda rješenja je nepoznata • nema 100% učinkovitosti • sporost izvođenja
Zaključak… • Genetski algoritmi predstavljaju jednostavan pristup složenim problemima pretrage velikog prostora. Korištenjem modela učenja i evolucije iz prirode omogućuju modeliranje željenih osobina sustava, te automatsko pronalaženje rješenja. Ostvareni rezultati, iako pokazuju zadovoljavajuća rješenja, ne osiguravaju uvijek nalaženje optimalnog rješenja.
Primjer GA: • Dostupna programska rješenja koja demonstriraju rad genetskih algoritama dostupna su u velikom broju. Jedno od njih je dostupno na adresi http://math.hws.edu/xJava/GA/, koje ilustrira proces evolucije biljojeda u virtualnom svijetu.
HVALA NA PAŽNJI!Za one koji žele znati više…http://www.zemris.fer.hr/~golub/ga/ga.html