Genetski_algoritmi_prezentacija

Download Report

Transcript Genetski_algoritmi_prezentacija

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.
 Genetski algoritmi koriste neke mehanizme
inspirirane biološkom evolucijom kako bi pronašli
što bolje rješenje određenog problema.
 Potencijalna rješenja optimizacijskog
problema 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?






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
Pseudokod
jednostavnog
GA
Genetski_algoritam(Velicina_Populacij
e, 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;
}
Dijagram toka GA
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)
„ ovi pristup prepoznavanju osumnjičenih
N
 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. dok svjedok 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