Marin Golub 

 

 

 

 

 

 

 

 

 

 

Evolucija u prirodi 

Jednostavni genetski algoritam 

Genetski operatori 

Prikaz brojem s pomi

č

nom to

č

kom 

Primjeri 

 

 

 

 

 

 

 

 

Zadnja promjena obavljena 27. rujna 2004. godine (verzija 2.3) 

Verzija 1.0 izašla 6.listopada 1997. godine 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zahvaljujem se Domagoju Jakobovi

ć

u na pomo

ć

i i sugestijama tijekom pripreme ovog teksta.  

Domagoj je ujedno i autor poglavlja 3.8 Prilagodljivi genetski algoritam (AGA) i jednog dijela uvoda. 

 

Zahvaljujem se studentu Zoranu Rušinovi

ć

u što mi je ukazao na niz grešaka koje su se potkrale u tekstu. 

Verzije teksta 2.3 i 2.2 se razlikuju upravu u ispravljenim spomenutim greškama. Zadnja dva odlomka u 

poglavlju 3.2.2 su rezultat Zoranovih primjedbi. 

background image

 

1.  UVOD 

U  posljednjih  petnaestak  godina  zabilježen  je  zna

č

ajan  razvoj  genetskih  algoritama.  Genetski  algoritam  se 

primjenjuje i daje dobre rezultate u podru

č

ju u

č

enja kod neuronskih mreža, pri traženju najkra

ć

eg puta, problemu 

trgova

č

kog putnika, strategiji igara, problemima sli

č

nim transportnom problemu, problemu raspore

đ

ivanja procesa, 

problemu odre

đ

ivanja parametara sustava, optimiranju upita nad bazom podataka, itd. 

Genetski algoritam je heuristi

č

ka metoda optimiranja koja imitira prirodni evolucijski proces. Evolucija je robustan 

proces pretraživanja prostora rješenja. Živa bi

ć

a se tijekom evolucije prilago

đ

avaju uvjetima u prirodi, tj. životnoj 

okolini.  Analogija  evolucije  kao  prirodnog  procesa  i  genetskog  algoritma  kao  metode  optimiranja,  o

č

ituje  se  u 

procesu  selekcije  i  genetskim  operatorima.  Mehanizam  odabira  nad  nekom  vrstom  živih  bi

ć

a  u  evolucijskom 

procesu 

č

ine  okolina  i  uvjeti  u  prirodi.  U  genetskim  algoritmima  klju

č

  selekcije  je  funkcija  cilja,  koja  na 

odgovaraju

ć

i na

č

in predstavlja problem koji se rješava. Sli

č

no kao što su okolina i uvjeti u prirodi klju

č

 selekcije 

nad  nekom  vrstom  živih  bi

ć

a,  tako  je  i  funkcija  cilja  klju

č

  selekcije  nad  populacijom  rješenja  u  genetskom 

algoritmu.  Naime,  u  prirodi  jedinka  koja  je  najbolje  prilago

đ

ena  uvjetima  i  okolini  u  kojoj  živi  ima  najve

ć

vjerojatnost  preživljavanja  i  parenja,  a  time  i  prenošenja  svojega  genetskog  materijala  na  svoje  potomke.  Za 
genetski algoritam jedno rješenje je jedna jedinka. Selekcijom se odabiru dobre jedinke koje se prenose u slijede

ć

populaciju,  a  manipulacijom  genetskog  materijala  stvaraju  se  nove  jedinke.  Takav  ciklus  selekcije,  reprodukcije  i 
manipulacije  genetskim  materijalom  jedinki  ponavlja  se  sve  dok  nije  zadovoljen  uvjet  zaustavljanja  evolucijskog 
procesa. 

Genetski  algoritmi  predloženi  su  od  strane  Johna  H.  Hollanda  još  u  ranim sedamdesetima. Tijekom nešto više  od 
dva  desetlje

ć

a,  a  posebno  u  posljednjih  nekoliko  godina,  pokazali  su  se  vrlo  mo

ć

nim  i  u  isto  vrijeme  op

ć

enitim 

alatom  za  rješavanje 

č

itavog  niza  problema iz  inžinjerske  prakse. To  se može  objasniti  njihovom  jednostavnoš

ć

u; 

kako  same  ideje  na  kojoj  su  osnovani,  tako  i  njihove  primjene;  te  doprinosu  niza  znanstvenika  i  inžinjera  na 
njihovom  prilago

đ

avanju  velikom  broju  problema  i  pove

ć

anju  efikasnosti.  Paralelno  s  pove

ć

anjem  primjene 

pove

ć

ava  se  i  opseg  istraživanja  rada  i  svojstava  genetskih  algoritama  i  pokušavaju  se  svesti  njihovi  elementi  na 

neke teorijske osnove. Nažalost, rezultati postignuti na teorijskom podru

č

ju su dvojbeni, a genetski algortimi ostaju 

i do danas u osnovi heuristi

č

ke metode. 

Po  na

č

inu  djelovanja  ubrajaju  se  u  metode 

usmjerenog  slu

č

ajnog  pretraživanja  prostora  rješenja

  (guided  random 

search  techniques)  u  potrazi  za  globalnim  optimumom.  U  istu  grupu  možemo  ubrojiti  još  neke  metode  koje  se 
temelje na sli

č

nim principima: to su 

evolucijske strategije

 (evolutionary strategies), 

simulirano kaljenje

 (simulated 

annealing) i 

genetsko programiranje

 (genetic programming). 

Evolucijske  strategije,  razvijene  u  Njema

č

koj  u  šezdesetim  godinama  ovoga  stolje

ć

a,  imaju  puno  zajedni

č

kih 

osobina  sa  genetskim  algoritmima  i 

č

esto  im  se,  kada  su  u  pitanju  razne  varijante  obaju  pristupa,  teško  odre

đ

uju 

granice.  Obje  metode  održavaju  populaciju  rješenja  nad  kojom  provode  definirane  operacije  što  se  periodi

č

ki 

ponavljaju. Zato se faze takvog procesa, po uzoru na prirodne evolucijske tokove, zovu i generacije. 

Simulirano  kaljenje  je  proces  koji  je  za  svoj  uzor  upotrijebio  termodinami

č

ko  kretanje  materije  prema  stanju 

minimalne  energije  u  postepenom  snižavanju  temperature  kao  parametra  sustava.  Metoda  operira  na  jednom 
rješenju od  koga se  u svakoj iteraciji  traži  "susjedno"  rješenje.  Staro se uvijek zamjenjuje novim ako je postignut 
napredak u zadovoljavanju kriterija, a mogu

ć

e je i da lošije rješenje zamijeni bolje ako se zadovolji odre

đ

ena mjera 

stohasti

č

nosti  koja  se  regulira  sa  "temperaturom"  sustava.  Što  je  ve

ć

a  temperatura,  ve

ć

a  je  vjerojatnost  da  novo, 

makar i lošije rješenje, zamijeni staro. Proces kre

ć

e od neke odre

đ

ene temperature koja dozvoljava relativno veliku 

vjerojatnost  prihva

ć

anja  (ve

ć

a  od  50%),  a  zatim  se  taj  parametar  eksponencijalno  smanjuje  sve  dok  kretanje  ne 

postane gotovo deterministi

č

ko. 

Snaga tih metoda, a pogotovo genetskih algoritama, leži u 

č

injenici da su oni sposobni odrediti položaj globalnog 

optimuma u prostoru s više lokalnh ekstrema, u tzv. višemodalnom prostoru. Klasi

č

ne deterministi

č

ke metode 

ć

e se 

uvijek  kretati  prema  lokalnom  minimumu  ili  maksimumu,  pri 

č

emu  on  može  biti  i  globalni,  ali  to  se  ne  može 

odrediti iz rezultata. Stohasti

č

ke metode, tako i genetski algoritmi, nisu ovisne o nekoj eventualnoj po

č

etnoj to

č

ki i 

mogu  svojim  postupkom  pretraživanja  s  nekom  vjerojatnoš

ć

u  locirati  globalni  optimum  odre

đ

ene  ciljne  funkcije. 

Osnovna  razlika  u  primjeni  izme

đ

u  klasi

č

nih  i  stohasti

č

kih  metoda  je  ta  što  za  rezultat  neke,  recimo,  gradijentne 

metode  možemo  sa  sigurnoš

ć

u  re

ć

i  da  je  postignut  lokalni  ekstrem  unutar  željene  preciznosti.  Za  rezultat  rada 

genetskog algoritma, me

đ

utim, nismo u mogu

ć

nosti sa stopostotnom vjerojatnoš

ć

u re

ć

i da li predstavlja globalni ili 

samo  lokalni  optimum,  te  da  li  je  isti  odre

đ

en  sa  željenom  preciznoš

ć

u.  Koliko  god  se  performanse  stohasti

č

kih 

metoda poboljšavale, one nikada ne

ć

e mo

ć

i dati niti jedan rezultat sa apsolutnom sigurnoš

ć

u. Sigurnost dobivenih 

rezultata  zna

č

ajno se  pove

ć

ava  postupkom ponavljanja procesa rješavanja, što kod klasi

č

nih metoda nema smisla. 

Od kada su genetski algoritmi nastali, velika se pažnja poklanja istraživanjima vezanim za pove

ć

anje djelotvornosti 

izvedbe. 

 

2.  PRIRODNI EVOLUCIJSKI PROCESI 

2.1  Borba za opstanak 

Charles  Darwin  je  primijetio  da  živa  bi

ć

a  u  pravilu  stvaraju  više  potomaka  od  cijele  njihove  populacije.  Prema 

tome,  broj  jedinki  koje 

č

ine  populaciju  trebao  bi  eksponencijalno  rasti  iz  generacije  u  generaciju.  Unato

č

  toj 

č

injenici,  broj  jedinki  jedne  vrste  teži  ka  konstantnom  broju.  Primijetivši  razli

č

itosti  me

đ

u  jedinkama  iste  vrste, 

zaklju

č

io je da priroda selekcijom jedinki regulira veli

č

inu populacije. Dobra svojstva jedinke, kao što su otpornost 

na razne bolesti, sposobnost tr

č

anja, itd., pomažu da jedinka preživi u neprestanoj borbi za opstanak. 

Evolucija  je  neprekidan  proces  prilago

đ

avanja  živih  bi

ć

a  na  svoju  okolinu,  tj.  na  uvjete  u  kojima  žive.  U  prirodi 

vlada  nemilosrdna  borba  za  opstanak  u  kojoj  pobje

đ

uju  najbolji,  a  loši  umiru.  Da  bi  neka  vrsta  tijekom evolucije 

opstala,  mora  se  prilago

đ

avati  uvjetima  i  okolini  u  kojoj  živi,  jer  se  i  uvjeti  i  okolina  mijenjaju.  Svaka  slijede

ć

generacija neke vrste mora pamtiti dobra svojstva prethodne generacije, pronalaziti i mijenjati ta svojstva tako da 
ostanu dobra u neprekidno novim uvjetima. 

Svaka se jedinka može okarakterizirati nizom svojstava, kao što su npr.: sposobnost tr

č

anja, boja kože, boja o

č

iju, 

oštrina  vida,  prilagodljivost  na  niske  temperature,  broj  zubi,  oblik  zubi,  i  sl.  Slabe  jedinke,  odnosno  jedinke  koje 
imaju loša svojstva, imaju malu vjerojatnost preživljavanja u borbi za opstanak i one 

ć

e najvjerojatnije odumrijeti, a 

zajedno s njima i loša svojstva. Dakle, dobra svojstva imaju ve

ć

u vjerojatnost naslje

đ

ivanja, odnosno prenošenja na 

slijede

ć

u generaciju. 

Danas se pretpostavlja da su sva svojstva jedinke zapisana u kromosomima. Kromosomi su lan

č

aste tvorevine koje 

se  nalaze  u  jezgri  svake  stanice,  što  zna

č

i  da  svaka  stanica  biljnog  ili  životinjskog  podrijetla  posjeduje  sve 

informacije  o  svim  svojstvima  jedinke.  Skup  informacija  koje  karakteriziraju  jedno  svojstvo  zapisano  je  u  jedan 
djeli

ć

 kromosoma koji se naziva gen. Kromosomi dolaze uvijek u parovima: jedan kromosom je od oca, a drugi od 

majke. Dakle, za svako svojstvo postoje dva gena ili dvije informacije. Takav par gena gdje jedan i drugi gen nosi 
informaciju za jedno svojstvo naziva se alel. U genetskom paru geni mogu biti ravnopravni ili neravnopravni, tako 
da je jedan dominantan, a drugi recesivan. U neravnopravnom paru dominantan gen odre

đ

uje rezultantno svojstvo, 

dok se uz ravnopravni par gena dobiva svojstvo koje je negdje izme

đ

u svojstava oca i majke. 

Sva  svojstva  jedinke  obi

č

no  nisu  zapisana  u  samo  jednom  paru  kromosoma,  ve

ć

  u  nekoliko  desetaka  parova 

kromosoma. Npr., 

č

ovjek ima 46 kromosoma odnosno 23 para kromosoma. 

2.2  Molekula DNK kao nositelj informacije 

Kemijsku  strukturu  koja  je  prisutna  u  kromosomima  otkrili  su  Watson  i  Crick  1953.  godine.  Molekula 
deoksiribonukleinske  kiseline  (DNK)  je  u  obliku  dvije  spirale  gra

đ

ene  od  fosforne  kiseline  i  še

ć

era,  a  mostovi 

izme

đ

u spiralnih niti gra

đ

eni su od duši

č

nih baza i to adenina (A), gvanina (G), timina (T) i citozina (C). Duši

č

ne 

baze su me

đ

usobno povezane vodikovim vezama i to adenin s timinom i gvanin sa citozinom kako je prikazano na 

slici 2.1. 

 

Slika 2.1: Parovi baza u DNK 

Pokazalo  se  da  su  upravo  te  duši

č

ne  baze  jedinice  informacije.  Sli

č

no  kao  što  je  u  ra

č

unalu  najmanja  jedinica 

informacije  jedan  bit  (0  ili  1),  tako  je  u  prirodi  najmanja  jedinica  informacija  jedna  duši

č

na  baza  (A,  G, C ili  T). 

Jedan kromosom se sastoji od dvije komplementarne niti DNK i to ako je, npr. djeli

ć

 jedne spiralne niti AAGTCA, 

tada je ekvivalentan dio druge spirale TTCAGT. Ovakva struktura dviju spiralnih niti DNK omogu

ć

ava prenošenje 

informacije dijeljenjem kromosoma pri diobi stanice. Naime, kada se stanica treba podijeliti, kromosomske niti se 
razmotaju. Budu

ć

i da u jezgri stanice ima mnoštvo slobodnih baza, te baze se vežu na svoje parove na nitima DNK. 

Tako je informacija sa

č

uvana, kopirana i prenešena na dva novonastala kromosoma. 

background image

Prirodni evolucijski procesi 

 

Slika 2.3: Izmjena faktora (crossing-over

Neka svojstva koja definira ili stekne jedinka u svojem životu (kao što je ožiljak) ne prenose se na potomke. 

Mutacija je slu

č

ajna promjena gena. Neki geni mutiraju lakše, a neki teže, pa se dijele na stabilne i nestabilne gene. 

Vjerojatnost mutacije jednog gena je konstantna. No, zanimljivo je da je vjerojatnost mutacije razli

č

ita za razli

č

ite 

gene i kre

ć

e se od 10

-4

 do 10

-5

. Zatim, vjerojatnost da gen A postane gen B nije ista kao i vjerojatnost da se gen B 

mutacijom promijeni u gen A. 

2.5  Genetski algoritam: slika evolucije vrsta 

Pojedine vrste živih bi

ć

a se uz pomo

ć

 evolucije prilago

đ

avaju uvijek novim prilikama i uvjetima u prirodi. Dakle, u 

prirodi  evolucija  vrste  nije  potraga  za  rješenjem  (jedinkom  koja  je  najbolje  prilago

đ

ena  uvjetima  u  prirodi),  ve

ć

 

prilago

đ

avanje postoje

ć

e populacije na nove uvjete. 

Genetski  algoritam  (GA)  kao  metoda  optimiranja  nastao  je  oponašanjem  evolucije.  Simuliranje  prirodnog 
evolucijskog procesa na ra

č

unalu svodi se na grube aproksimacije rješenja. Naime, veli

č

ina genotipa, npr. žabe je 

približno 3.2*10

9

 nukleotida, što odgovara koli

č

ini podataka na ra

č

unalu od 0.8GB

1

 za jednu jedinku. Zna

č

i, vjerna 

simulacija evolucije jedne vrste od milijun jedinki zahtjeva memorijski prostor od približno milijun gigabajta, što je 
unato

č

 eksponencijalnom rastu mogu

ć

nosti ra

č

unala, danas, a i još 

ć

e neko vrijeme biti, nedostižno i neizvodivo. 

 

                                                            

1

 S pomo

ć

u jednog nukleotida, odnosno jedne duši

č

ne baze može se spremiti isto toliko informacija koliko i s pomo

ć

u dva bita u 

binarnom  prikazu,  (4  razli

č

ite  informacije).  Dakle,  3.2*10

9

  nukleotida  imaju  isti  kapacitet  kao  i  6.4*10

9

  bitova,  što  je 

ekvivalentno kapacitetu od 6.4*10

9

/8=0.8*10

9

 bajtova. To je približno 0.8GB. 

Želiš da pročitaš svih 34 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti