You are on page 1of 17

Naslov seminarskog rada : Operatori kod genetskih algoritama za probleme s kontinuiranim varijablama

SADRAJ
1. UVOD ...................................................................................................................... 3 2. GENETSKI ALGORITMI ....................................................................................... 4 3. KRIANJE, MUTACIJA I SELEKCIJA ................................................................ 7 3.1. Krianje ............................................................................................................. 7 3.2 Mutacija ................................................................................................................. 8 3.3 Selekcija jedinki .................................................................................................... 9 4. KONTINUIRANE VARIJABLE ............................................................................. 10 5. OPERATORI ZA PROBLEME S KONTINUIRANIM VARIJABLAMA ........... 11 5.1. Operatori krianja .............................................................................................. 11 5.1.1. Operator krianja s jednom tokom prekida ............................................... 11 5.1.2. Operator krianja s dvije toke prekida ....................................................... 12 5.1.3. Nasumino krianje ..................................................................................... 13 5.2.Operatori mutacije ............................................................................................... 13 5.2.1. Nasumini operator mutacije ....................................................................... 13 5.2.2.Gaussov operator .......................................................................................... 14 5.3. Operatori selekcije ............................................................................................. 14 5.3.1.Selekcija kotaa ruleta .................................................................................. 14 5.3.2. Selekcija kotaem ruleta sa linearnim skaliranjem ..................................... 15 ZAKLJUAK ............................................................................................................... 16 LITERATURA ............................................................................................................. 17

1. UVOD
1960. godine I. Rechenberg u svome djelu Evolucijske strategije donosi ideju evolucijskog raunarstva. Ideja je prihvaena od strane istraivaa na podruju raunalne znanosti, te se poinje intenzivno prouavati. Genetski algoritmi su rezultat istraivanja John-a Holland-a, u emu su mu pomogli njegovi kolege i studenti. Kao algoritmi koji crpe ideju iz prirode, pogodni su za pretraivanje velikog prostora mogunosti za najoptimalnijim rjeenjem, tj. preivljavanjem najpogodnijih. U dananjem svijetu genetski algoritmi imaju veliku vanost u raznim primjenama strategije igara, optimiziranju, upita i podataka u bazama. Rijeavaju probleme najkraeg puta, minimalnog raspona stabla. Koriste se u problemima dizajna i sigurnosti mrea, te problemima planiranja i transportnog problema. U prvom dijelu rada opisuje se pojam genetskog algoritma te upoznavanje pojmova krianja, mutacije i selekcije, potom se pribliava pojam kontinuiranih varijabli tj. opisana je razlika izmeu kontinuirane i diskretne varijable, a zatim je u drugom sijelu rada opisan rad operatora za probleme s kontinuiranim varijablama.

2. GENETSKI ALGORITMI
Kao to im sam naziv kae, ovdje nije rije o jednom genetskom algoritmu, nego o grupi metoda koje slijede slian koncept. Genetski algoritam predstavlja heuristiku metodu sluajnog i usmjerenog pretraivanja prostora rjeenja koja imitira prirodni evolucijski proces. Genetski algoritam slui za rjeavanje proraunski tekih optimizacijskih problema za koje ne postoji egzaktna matematika metoda rjeavanja, ili su izvanredno kompleksni, pa se za vei broj nepoznanica ne mogu rijeiti u zadanom vremenu. Princip rada genetskog algoritma moe se opisati na sljedei nain: nakon to se generira poetna populacija, genetski algoritam cikliki obavlja selekciju boljih jedinki koje potom sudjeluju u reprodukciji, sve dok nije zadovoljen uslov zavretka evolucijskog procesa. Reprodukcija stvara nove jedinke uz pomo genetskih operatora krianja i mutacije. Krianjem se neka svojstva prenose s roditelja na djecu, a mutacijom se sluajno mijenjaju svojstva jedinke. Genetski algoritam ne specificira kako se krianjem svojstva prenose s roditelja na djecu, kako se sluajno mijenjaju svojstva jedinki, kako se vri selekcija boljih jedinki za reprodukciju, niti kako se generira poetna populacija. Upravo je ta sloboda u odabiru vrste krianja, mutacije, selekcije i inicijalizacije oteavajua okolnost u procesu izgradnje genetskog algoritma za rjeavanje specificnog optimizacijskog problema. Naime, pokazalo se da ne postoji takav skup genetskih operatora za koji bi genetski algoritam, ako se primjeni za rjeavanje proizvoljnog skupa optimizacijskih problema, dao superiorne rezultate u odnosu na genetski algoritam s nekim drugim operatorom..

Slika 1. Krianje kromosoma


4

Svaka jedinka ini potencijalno rjeenje problema koji se obrauje, a to moe biti matematika funkcija, plan rada neke elektrane, raspodjela optereenja na proizvodne jedinice i slino. Svaka je jedinka predstavljena s jednakom strukturom podataka (broj, niz, matrica, stablo, itd.). Te jedinke se nazivaju kromosomi. Svakom rjeenju se dodjeljuje odredena mjera kvalitete koja se u literaturi obicno naziva dobrota, dok se funkcija koja tu kvalitetu odreduje naziva funkcija cilja ili funkcija dobrote. Nova populacija formira se iz stare tako to se, po nekom postupku odabira, izdvajaju bolje jedinke iz skupa postojeih. Neki lanovi ove nove populacije podvrgnuti su utjecajima genetskih operatora koji iz njih formiraju nove jedinke. Operatori se dijele na unarne, koji stvaraju novu jedinku mijenjajuci manji dio genetskog materijala (mutacijska grupa) i operatore vieg reda, koji kreiraju nove individue kombinirajuci svojstva nekoliko jedinki (grupa krianja). Nakon nekog broja formiranih generacija cijeli postupak se prekida kada se zadovolji zahtjev zaustavljanja, a najbolji lan trenutne populacije predstavlja rjeenje koje bi trebalo biti sasvim blizu optimuma. Opa struktura genetskog algoritma prikazana je na sljedeem primjeru:

Genetski_algoritam { t=0; generiraj poetnu populaciju potencijalnih rjeenja P(0); sve dok nije zadovoljen zahtjev zavretka evolucijskog procesa { t=t+1; selektiraj P'(t) iz P(t-1); kriaj jedinke iz P'(t) i djecu spremi u P(t); mutiraj jedinke iz P(t); } ispii rjeenje; } Prilikom inicijalizacije formira se poetna populacija jedinki. Obino se poetna populacija generira sluajnim odabirom rjeenja iz domene, mada je mogue poetnu populaciju generirati uniformno (sve jedinke su iste, pa u poetku evolucijskog procesa genetski algoritam nije efikasan i taj postupak se ne preporuuje) ili se u
5

poetnu populaciju moe uvesti poetno rjeenje dobiveno primjenom neke druge optimizacijske metode. Slijedi proces koji se ponavlja sve dok ne istekne vrijeme, ili dok ne bude zadovoljen neki uvjet (naprimjer, za 95 % jedinki ostvarena funkcija dobrote odstupa od eljene za manje od ). Taj proces se sastoji od djelovanja genetskih operatora selekcije, krianja i mutacije nad populacijom jedinki. Tokom selekcije loe jedinke odumiru, a bolje preivljavaju, te se u sljedeem koraku, kroz krianje, razmnoavaju. Krianjem se svojstva prenose s roditelja na djecu. Mutacijom se mijenjaju svojstva jedinke sluajnom promjenom gena. Takvim postupkom se postie sve vea prosjena dobrota populacije u svakoj sljedeoj generaciji. Genetski algoritam simulira prirodni evolucijski proces za koji se moe ustanoviti sljedee: postoji populacija jedinki; neke jedinke su bolje (bolje su prilagoene okolini); bolje jedinke imaju veu vjerovatnost preivljavanja i reprodukcije; svojstva jedinki su zapisana u kromosomima pomou genetskog koda; djeca nasljeduju svojstva roditelja; nad jedinkom moe djelovati mutacija.

3. KRIANJE, MUTACIJA I SELEKCIJA


Kako bi se osigurao napredak populacije potrebno je osmisliti naine stvaranja novih jedinki. Cilj je osiguranje opstanka genetskog materijala boljih jedinki, tj. onih koje posjeduju vei koeficijent dobrote i na taj nain promovirati to vie eljenih osobina. Promatrajui evoluciju ivih bia nailazimo na nekoliko naina stvaranja novog genetskog materijala: krianje, mutacija i reprodukcija. S obzirom na strukturu prikaza jedinke promatrat emo tri sluaja: stablo, graf i linearan prikaz. 3.1. Krianje

Postupak krianja imitira bioloku reprodukciju dviju jedinki (roditelji), prilikom ega dolazi do zamjene jednog dijela roditeljskog gena onime drugoga. Novonastala jedinka (dijete) posjeduje genetski kod obaju roditelja, te kombinaciju njihovih osobina. Krianjem dviju jedinki koje posjeduju pozitivne osobine oekujemo dijete koje e takoer posjedovati pozitivne osobine, tim vie to je mogue nadomjetanje moguih negativnih osobina nekog od roditelja genima onog drugog ije su osobine bolje na nepovoljnom segmentu. Krianje kod stablastog prikaza prikazujemo grafiki slikom 2.1. Prilikom krianja odabere se vor ispod kojega se odvija krianje, te se kod djeteta zamjene roditeljska pod stabla.

Slika 2.1. Stablasti prikaz krianja


7

Kod linearnog krianja potrebno je odrediti proizvoljan broj toaka prekida na kojima se odvija zamjena segmenata roditeljskih gena. Grafiki prikaz linearnog krianja predoen je na slici 2.2. Broj toaka prekida je proizvoljan i moe varirati izmeu jedne i broja gena u jedinki. Dodatno je mogue definirati i vjerojatnost krianja u odreenim tokama i na taj nain poboljati uinkovitost rada algoritma ako su poznata mjesta grupiranja gena zaduenih za isto obiljeje.

Slika 2.2. Linearni prikaz krianja Prilikom krianja roditelja opisanih strukturom grafa koristi se slijedei algoritam: Podijeli svaki od grafova u skupove od po dva vora Dodijeliti ime svim bridovima unutarnji ukoliko povezuju vorove unutar fragmenta, inae vanjski Dodijeliti ime svakom voru unutar fragmenta izlaz ukoliko je izvor vanjskom bridu, a ulaz ukoliko je odredite vanjskom bridu Zamijeniti fragmente roditelja Rasporediti bridove tako da svi vanjski bridovi fragmenta koji sada pripadaju zajedno pokazuju na nasumino odabrane ulazne vorove drugih fragmenata 3.2 Mutacija Mutacija je trajna promjena genetskog materijala, najee uzrokovana vanjskim imbenicima. Smatraju se jednim od preduvjeta evolucije jer se procesom prirodnog odabira u populaciji nakupljaju mutacije koje omoguuju bolju prilagodbu uvjetima
8

okolia i time poboljavaju vjerojatnost preivljavanja jedinke koja ih nosi te prijenose na sljedee generacije. Mutacija se odvija nad pojedinom jedinkom, obino nakon postupka krianja svako dijete prolazi kroz proces mutacije s proizvoljnim parametrom (najee malim) vjerojatnosti. Ukoliko je jedinka odabrana za mutaciju bira se proizvoljan dio genetskog koda jedinke koji e biti zamijenjen nasuminim nizom (ili drugom strukturom u ovisnosti o prikazu jedinke). 3.3 Selekcija jedinki Selekcija je posljedica generacije velikog broja jedinki. Kako nije mogue sve jedinke ouvati u populaciji mora se odrediti nain odabira jedinki koje e opstati, te onih koje emo ukloniti, tj. koje e uginuti. Iako je cilj da populacija sadri samo jedinke pozitivnih svojstava, prerana konvergencija kao posljedica selekcije samo najboljih jedinki odraava se negativno na uspjenost algoritma. Postoji nekoliko razliitih vrsta selekcija koje pokuavaju rijeiti taj problem. Neke od popularnijih tehnika selekcije su jednostavna, turnirska, eliminacijska i elitizam.

4. KONTINUIRANE VARIJABLE
Varijabla je termin koji se koristi za opisivanje neega to se moe mjeriti, a takoer moe varirati. Suprotno od varijable je konstanta. Konstanta je veliina koja se ne mijenja u odreenom kontekstu. U znanstvenim eksperimentima, varijable se koriste da bi seodreeni podaci grupirali. Varijable se mogu diejliti na kontinuirane varijabla. Openito, varijable su obiljeje skupine objekata ili dogaaja koji se mogu mjeriti sa razliitim numerikih vrijednostima. Diskretne varijable mogu imati samo odreeni broj razliitih vrijednosti izmeu dvije toke. Na primjer, u obitelji moe biti jedno, dvoje ili troje djece, ali ne moe biti kontinuirana skala od 1,1, 1,5, ili 1,75 djece. Kontinuirane varijable mogu imati neogranien broj razliitih vrijednosti izmeu dviju toaka. Kao to je navedeno, ne moe postojati kontinuirana skala djece u obitelji. Ako se pak mjeri visina, varijable mogu biti kontinuirane zato to to postoji neogranien broj mogunosti, ak i ako se gleda samo izmeu 1 i 1,1 metra. Vano je upamtiti da su diskretne i kontinuirane varijable grupirane na temelju skale koja se koristi za mjerenje ih i na temelju onoga to se mjeri. U veini znanstvenih eksperimenata, diskretni skala se koristi za mjerenje obje, diskretne i kontinuirane varijable. Budui da postoji beskonaano mogunosti, mjerenja kontinuiranih varijabli esto se zaokruuju kako bi bilo lake raditi s podacima. [1] Izbor naina prikaza varijabli objektivnih funkcija ima bitan utjecaj na to koji e se operatori primjeniti na jedinke populacije. U analogiji s biologijom vrijednosti diskretne i

varijable nazivaju se fenotipi a njihov (unutarnji) prikaz genotip. U toj analogiji vrijednost objektivne funkcije odreuje sposobnost jedinke.

Prvi razvijeni algoritmi predtsavljali su jedinke kao vektore diskretnih vrijednosti inspirirani DNA prikazima. Kasnije, kad se pojavila potreba za stavrnim vrijednostima varijabli, one su aproksimirane dodjeljivanjem prave vrijednosti vektoru i skaliranjem na odgovarajui nain do eljenog intervala.
10

5. OPERATORI ZA PROBLEME S KONTINUIRANIM VARIJABLAMA


5.1. Operatori krianja
5.1.1. Operator krianja s jednom tokom prekida

Operator krianja s jednom tokom prekida (one point crossover) je najjednostavniji operator . Primjenjuje se na kromosomima prikazanim na indirektan nain, jer postoji mogunost stvaranja neispravnog potomka. Prilikom rada s operatorom krianja s jednom tokom prekida vano je odabrati mjesto prekida. Mjesto odaberemo nasumino izmeu bilo koja dva gena u jednom kromosomu. U primjeru je prikazano krianje izmeu 2. i 3. gena na slici 3.1.

PRIMJER: Roditelj 1 Roditelj 2 4 2 4 3 5 2 1 5 2 2 1 1 2 3 5 5 5 5

Slika 3.1. Prekid izmeu 2. i 3. Gena Ovim postupkom krianja potomci preuzimaju gene jednog roditelja do prekida, a nakon prekida preuzimaju gene drugog roditelja. 4 2 4 3 2 5 5 1 2 2 1 1 3 2 5 5 5 5

Potomak 1 Potomak 2

Slika 3.2. Potomci nastali primjenom operatora s jednom tokom prekida

Na slici 3.3. prikazan je bitovni prikaz rjeenja za operator krianja u jednoj toki. On radi tako da se za bitovni niz duljine n sluajnim odabirom izabere cijeli broj iz intervala [0, n-1] i potom od tog mjesta nadalje zamijene svi bitovi roditelja.[2]

11

Slika 3.3. Bitovni prikaz rjeenja za operator krianja u jednoj toki

5.1.2. Operator krianja s dvije toke prekida

Kod operatora krianja s dvije toke prekida situacija je ista kao i kod jedne toke prekida,samo to ovdje imamo dva prekida. Potomci nasljeuju gene prvog roditelja do prve toke prekida,zatim nasljeuju gene drugog do druge toke prekida,postupak je isti. U primjeru je prikazano krianje na izmeu 2. i 3. gena, te 5. i 6. gena na slici 4.1.

PRIMJER: Roditelj 1 Roditelj 2 4 2 4 3 5 2 1 5 2 2 1 1 2 3 5 5 5 5

Slika 4.1. Prekid izmeu 2. i 3. gena Ovim postupkom krianja potomci preuzimaju gene jednog roditelja do prekida, a nakon prekida preuzimaju gene drugog roditelja. 4 2 4 3 2 5 5 1 2 2 1 1 2 3 5 5 5 5

Potomak 1 Potomak 2

Slika 4.2. Potomci nastali primjenom operatora s dvije toke prekida

12

Na slici 4.3. prikazan je bitovni prikaz rjeenja za operator krianj u dvije toke. On radi tako da se za bitovni niz duljine n sluajnim odabirom izaberu prijelomna mjesta te se bitovni niz dijeli na vie podnizova, a djeca nastaju tako da se izmjenjuju podnizovi oba roditelja.

Slika 4.3. Bitovni prikaz rjeenja za operator krianja u dvije toke

5.1.3. Nasumino krianje

Operator nasuminog krianja uzima dva vektora kao ulaz i dobiva dva vektora iste duljine kao izlaz. Svaka komponenta prvog rezultatnog vektora je sluajno odabrana iz komponenti ulaznih vektora. Drugi rezultatni vektor sastoji se od ostalih komponenti koje nisu izabrane za prvi dobiveni vektor. U malo drugaijoj definiciji, rezultat je samo jedan vektor dvaju vektora u prethodnoj definiciji.

5.2.Operatori mutacije
5.2.1. Nasumini operator mutacije

Neka je x iz intervala [a,b] realna varijabla. Nasumini operator mutacije x u gdje

mijenja

oznaava ravnomjernu distribucija na

intervalu. Tako je nova vrijednost neovisna od svoje prethodne vrijednosti. Primjenjuje se s vjerojatnou od nekoliko postotaka.

13

5.2.2.Gaussov operator

Gaussov operator je operator mutacije koji dodaje Gaussovu jedinicu te distribuira sluajnu vrijednost odabranom genu. Nova vrijednost gena e biti odrezana ako izae izvan korisniki odreene donje ili gornje granice za taj gen. Taj operater mutacije moe koristiti samo za cjelobrojne i pomine gene.

5.3. Operatori selekcije


5.3.1. Selekcija kotaem ruleta

Selekcija kotaem ruleta je tradicionalna metoda selekcije predloena u Hollandovom izvornom radu o genetskim algoritmima: oekivana vrijednost (oekivani broj puta da bude obabrana) jedinke je proporcionalna svojoj dobroti. Ova metoda moe se provesti pomou ruleta na sljedei nain. Svakoj jedinki je dodijeljen komad krunog ruleta, s veliinom komada proporcionalnoj dobroti jedinke. Kota se tada okree N (veliina populacije) puta. Nakon svakog okretaja, jedinkana koju pokazuje strelica kotaa je odabrana.

Slika 5. Prikaz odabira kotaem ruleta


14

5.3.2. Selekcija kotaem ruleta sa linearnim skaliranjem

. Ovaj efekt se moe izbjei ako se ne koriste vrijednosti objektivne funkcije izravno, nego neizravno sortirajui populaciju prema objektivnim funkcijama. Ako je n broj jedinki, tada je najboljoj jedinki najgoroj jedinki vrijednost dodijeljena vrijednost dobrote , , a

dok sve ostale jedinke primaju

vrijednosti linearno izmeu najbolje i najgore vrijednosti.[3]

15

ZAKLJUAK
U ovom radu sam pisala o genetskim algoritmima i operatorima genetskih algoritama za probleme s kontinuiranim varijablama. Prvo sam opisala to je to genetski algoritam i na koji nain funkcionira te to su operacije krianja, mutacije i selekcije. Zatim sam opisala kontinuirane varijable i napravila usporedbu kontinuiranih i diskretnih varijabli da se poblie moe pribliiti pojam problema s kontinuiranim varijablama. U drugom dijelu sam poblie opisala operatore koji se koriste u tim situacijama. Istraivanjem za ovaj rad i pisanjem istoga sam dobila iri uvid u genetske algoritme, emu slue i kako rade i takoer se poblie upoznala s operatorima koji se koriste pri operacijama stvaranja novih jedinki, tj pri krianju, mutaciji i selekciji.

16

LITERATURA
[1] www.wisegeek.com [2] www.zemris.fer.hr [3 ]www.iue.tuwien.ac.at/phd/heitzinger/node25.html Evolutionary Computation 1, Basic algorithms and operators; edition 2000 ; T. Back, D.B. Fogel and Z. Michlewcz www.nd.com/products/genetic/mutation.htm www.obitko.com/tutorials/genetic-algorithms/operators.php http://lipas.uwasa.fi/cs/publications/2NWGA/node117.html

17

You might also like