08.03.2015 Views

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

62 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

Podaci koje sadrži izveštaj na kraju izvršavanja GA (detaljno opisani u<br />

odeljku 2.5.3), često nisu dovoljni za upoznavanje i detaljniju analizu dobijenog<br />

rešenja. To je omogućeno funkcijom za štampanje detaljnih informacija o<br />

dobijenom rešenju, koje dopunjuje izveštaj GA.<br />

2.6.2 Inicijalizacija problema<br />

Ova funkcija je zadužena za inicijalizaciju svih promenljivih čija početna<br />

vrednost nije već ranije postavljena od samog GA, jer zavise od prirode<br />

problema i konkretne njegove instance. To u opštem slučaju obuhvata sledeće<br />

elemente:<br />

• Generisanje početne populacije, na slučajan način ili pomoću neke<br />

heuristike;<br />

• Dinamičko alociranje preostalih pokazivačkih promenljivih u problem<br />

strukturi;<br />

• Inicijalizacija podataka u GA strukturi koje zavise od prirode problema i<br />

preostalih parametara problema;<br />

• Eventualno, uređivanje nekih podataka kako bi njihova kasnija ob<strong>rad</strong>a bila<br />

efikasnija.<br />

2.6.3 Vrednosna funkcija<br />

Vrednosna funkcija je u ovoj implementaciji podeljena na dva dela:<br />

• Dekodiranje genetskog koda jedinke;<br />

• Izračunavanje samog rešenja koje predstavlja vrednost date jedinke, na<br />

osnovu argumenata problema.<br />

Ovakvim pristupom se različite realizacije datih delova (funkcija) mogu<br />

međusobno kombinovati, što doprinosi fleksibilnosti implementacije. Pošto u<br />

većini slučajeva izračunavanje vrednosti jedinke troši većinu procesorskog<br />

vremena, ovaj pristup može doprineti i boljoj efikasnosti cele implementacije.<br />

Zbog toga je potrebno posebnu pažnju posvetiti efikasnoj realizaciji ovih<br />

funkcija, kao i njihovom kombinovanju.<br />

2.6.4 Dodatne funkcije<br />

Pored prethodno opisanih funkcija koje su obavezne pri rešavanju<br />

konkretnih problema pomoću GA, može se javiti potreba i za još nekim<br />

dodatnim funkcijama. To mogu biti: heuristike za dobijanje jedinki početne<br />

populacije, heuristike za poboljšavanje jedinki u toku izvršavanja GA, konverzija<br />

argumenata problema u genetski kod jedinke, konfigurisanje parametara<br />

vezanih za sam problem i operatori ukrštanja i mutacije zavisni od prirode<br />

problema.<br />

2.6.4.1 Heuristike za dobijanje jedinki početne populacije<br />

U ovoj implementaciji je dozvoljeno korišćenje nekih heuristika za<br />

inicijalizaciju jedinki ili cele populacije u početnoj generaciji. Moguće je<br />

korišćenje i više različitih heuristika, od kojih svaka može imati više podvarijanti.<br />

Inicijalizacija pomoću heuristika obezbeđuje bolje početne performanse GA od<br />

inicijalizacije na slučajan način. Međutim, pri rešavanju NP kompletnih<br />

problema, opisanih u ovom <strong>rad</strong>u, prednosti ovakve inicijalizacije se mogu<br />

primetiti samo u prvih nekoliko generacija, a kasnije se mogu dobiti čak i nešto<br />

lošiji rezultati od klasičnog pristupa. To se objašnjava gubitkom genetskog

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!