Professional Documents
Culture Documents
Napomene:
Ideja zadaća je da posluže kao mali projekti na kojima ćete nastojati raditi kao
ekipa. Za ove zadatke predviñamo da će vam trebati 3-4 tjedna.
Zadaci se predaju u obliku kratkih izvještaja (5-10 stranica), programa («source») i
prezentacija (PDF, PPT) na e-mailove (tomislav.smuc@irb.hr ;
matko.bosnjak@irb.hr).
Isto tako kontakti vezani uz nejasnoće (pitanja) najavljuju se e-mailom, a odgovori
se dobivaju, odnosno razgovor se dogovara istim putem.
Datumi:
a) formiranje ekipa i odabir zadatka – prijava na e-mail (31.10.2008.)
b) predaja izvještaja, programa i prezentacija 28.11.2008.
c) Prezentacije rezultata: 5.12.2008. (10-12)
Dodjeljivanje zadataka:
Svaka ekipa rješava različit zadatak. Prioritet pri dodjeljivanju je po principu «tko
prvi njemu dečko/djevojka». One ekipe koje prijave neki zadatak koji je već
odabran, moraju odabrati neki od preostalih zadataka.
Za zadatke koji su vezani uz neobrañene teme (algoritme), nastojat ćemo vam dati
dodatne materijale.
Ocjenjivanje:
Za svaki zadatak predviñen je maksimalan broj bodova = n*6, gdje je n broj
učesnika u rješavanju zadatka. Ukoliko ekipa ne uspije do kraja napraviti radnu
verziju, ocjena će zavisiti od stupnja do kojeg je algoritam izveden, te prezentacije
napravljenog.
Prezentacije:
Svaka grupa mora prirediti cca 15 minutnu prezentaciju, slobodne forme na kojoj
bi se predstavio sam rad. Uz samu prezentaciju potrebno je predati kratak report
(možete ga nazvati i seminarom) o samoj zadaći koji bi trebao sadržavati slijedeće
elemente:
• kratak uvod u algoritam (ukoliko se radi o već poznatim algoritmima, ako se radi
o nepoznatim, algoritam je potrebno adekvatno objasniti)
• kod rješenja
• rezultate
• komentare (zaključak)
1. dio
• Generiranje labirinta riješeno je zadavanjem kvadratne matrice N*N. Na
toj matrici trebaju se definirati prepreke. Prepreke su definirane x,y
lokacijama u matrici, a definiraju se slučajno – zadavanjem njihovog
relativnog udjela Np – za koji vrijedi da je broj prepreka = Np*N*N. Za
zadane veličine N i Np program treba generirati slučajno definirani
labirint.
• Za veličine labirinta (10*10, 25*25, 50*50), te Np = 0.05, 0.1 i 0.25,
treba napraviti po 10 random labirinata za svaku kombinaciju. Početna i
krajnja točka po definiciji su na dijagonalnim točkama labirinta, koje ne
smiju biti prepreke.
• Prvi run DFS algoritmom može poslužiti za provjeru da li je problem
rješiv (da li su početna i završna točka spojive – graph connectivity
problem). Ukoliko se ne radi o spojenom grafu – treba generirati novi
graf.
2. dio
• Rješive probleme treba riješiti algoritmima BFS i DFS.
o Ulazni parametri algoritma čitaju se iz posebne (ulazne) datoteke
N – veličina labirinta (kvadratna matrica N*N)
Np – relativni udio prepreka
So – opcija kojom se odabire tip algoritma (BFS ili DFS)
Seed – za inicijalizaciju random number generatora
o Izlaz iz algoritma – spremanje u posebnu (izlaznu) datoteku
Opis problema
• Originalni izgled labirinta (x,y lokacije s oznakama
prepreka i slobodnih lokacija, te početnog i
završnog čvora)
Opis rješenja
• Izgled labirinta sa pronañenim putem izmeñu
početnog i završnog čvora
• Prosječna veličina grananja u problemu
• Napraviti statistiku po tipovima problema (N*N, Np) za svaki algoritam:
prosječna složenost, prosječno grananje.
Izvještaj i prezentacija:
Osim opisa algoritma, treba prezentirati i rezultate te ih komentirati.
• Aritmetička rekombinacija
x i' = a ⋅ x i + (1 − a ) ⋅ x j
gdje je a slučajni broj izmeñu a=rand(0,1) ,
x 'j = a ⋅ x j + (1 − a ) ⋅ x i
x i i x j su «roditelji», a x 'i + x 'j «djeca».
• Uniformna mutacija
Za slučajno odabranu varijablu k jedinke odabrane za mutaciju:
• Ne-uniformna mutacija
Za slučajno odabranu varijablu k jedinke odabrane za mutaciju:
x k' = x k + r ⋅ ∆( x k , t ) gdje je r slučajni broj izmeñu 0,1, (r=rand(0,1)), dok su:
∆( x k , t ) = ( gornja _ granica(k ) − x k ) ⋅ (1 − t / T ) m za rand({0,1})=0
∆( xk , t ) = −( xk − donja _ granica(k ) ⋅ (1 − t / T ) m ), za rand({0,1}) =1
Ackley
n
1 n 2 1
− 0.2 ⋅ ∑ xi
n ∑ cos 2πxi
f (x) = 20 + e − 20 ⋅ e n i =1
−e i =1
Rastrigin:
n
[
f (x) = 10n + ∑ xi2 − 10 cos 2πxi ]
i =1
n
[
f (x) = ∑ 100( xi − xi2−1 ) 2 + (1 − xi −1 ) 2 ]
i =1
-2.048 ≤ x(i) ≤ 2.048
global minimum
f(x) = 0, x(i) = 1.0, i=1:n