PROBLEM TRGOVAČKOG PUTNIKA

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "PROBLEM TRGOVAČKOG PUTNIKA"

Transcript

1 SVEUČILIŠTE U SPLITU PRIRODOSLOVNO-MATEMATIČKI FAKULTET PROBLEM TRGOVAČKOG PUTNIKA Marija Vištica Mentor: prof.dr.sc. Slavomir Stankov Neposredni voditelj: dr.sc. Ani Grubišić Split, listopad 2012.

2 Sadržaj 1 Uvod Evolucijske strategije Prikaz rješenja Funkcija dobrote Selekcija Jednostavna selekcija Turnirska selekcija Eliminacijska selekcija Genetski operatori Križanje Mutacija Vrste evolucijskih strategija Algoritmi evolucijskih strategija Primjena evolucijskih strategija Problem trgovačkog putnika NP-teški problemi Opis problema trgovačkog putnika Varijante problema trgovačkog putnika Primjena problema trgovačkog putnika Programsko ostvarenje Evolucijske strategije za rješavanje problema trgovačkog putnika Prikaz kromosoma Funkcija dobrote Operatori selekcije Operatori mutacije Operatori križanja Rad s aplikacijom Rezultati eksperimentiranja Rezultati i usporedbe rada genetskih operatora Zaključak Literatura Prilozi Dodatak I dijagrami klasa Dodatak II dijelovi programskog koda Klasa Kromosom Mutacija 2opt Mutacija normalnom razdiobom GX križanje PMX križanje GSX križanje... 35

3 1 Uvod Razvojem računarstva i povećanjem procesne moći računala, ljudi su počeli rješavati izuzetno kompleksne probleme koji su do tada bili nerješivi i to naprosto tehnikom grube sile (engl. brute-force, koristi se još i termin iscrpnom pretragom), tj. pretraživanjem cjelokupnog prostora rješenja. S obzirom da su danas računala ekstremno brza, nije rijetka situacija da se njihovom uporabom u sekundi mogu istražiti milijuni potencijalnih rješenja, i time vrlo brzo pronaći ono najbolje. Naravno, ovo vrijedi ako rješavamo problem koji se dade riješiti grubom silom. Međutim, postoji čitav niz problema koje susrećemo u svakodnevnom životu, a ne spadaju u ovu skupinu. [ČUPIĆ, 2009] Jedan od primjera je i problem trgovačkog putnika, problem koji spada u razred NP-teških problema problema za koje još uvijek nemamo efikasnih algoritama kojima bismo ih mogli riješiti. Na sreću, optimalno rješenje često nam nije nužno, obično smo zadovoljni i s rješenjem koje je dovoljno dobro. Algoritme koji pronalaze rješenja koja su zadovoljavajuće dobra, te koji imaju relativno nisku računalnu složenost nazivaju se približni algoritmi, heurističke metode ili jednostavno heuristike. U današnje doba posebno su nam zanimljive metaheuristike. Metaheuristika je skup algoritamskih koncepata koji koristimo za definiranje heurističkih metoda primjenjivih na širok skup problema. Jedan od primjera metaheuristike je evolucijsko računanje u čije područje spadaju genetski algoritmi, evolucijske strategije te evolucijsko programiranje čija je zajednička ideja da rade s populacijom rješenja nad kojima se primjenjuju evolucijski operatori čime populacija iz generacije u generaciju postaje sve bolja i bolja. [ČUPIĆ, 2009] U ovom radu su opisan je način rješavanja problema trgovačkog putnika putem evolucijskih strategija. U prvom dijelu opisane su evolucijske strategije. Zatim je opisan problem trgovačkog putnika i zbog čega predstavlja toliki izazov. U zadnjem dijelu slijedi praktični rad u okviru kojeg je napravljena aplikacija koja pokušava naći najbolje rješenje za problem trgovačkog putnika pomoću evolucijskih strategija. 1

4 2 Evolucijske strategije Evolucijske strategije su optimizacijske, prirodom inspirirane, strategije koje naglasak stavljaju na evoluciji i prilagodbi generacija. Zasnovane su na ideji natjecanja rješenja i uvelike se oslanjanju na Darwinovu teoriju evolucije: preživljavaju samo najbolji, koju je on i prvi razvio u svoj djelu O podrijetlu vrsta, godine. Temelje se prvenstveno na metodama selekcije i rekombinacije, sa ciljem da se unaprjeđuju najbolje jedinke iz generacije te se na taj način pokušava stvoriti bolja generacija čime dobivamo najbolje rješenje za dani problem. Slika 1. Charles Darwin [ 2.1 Prikaz rješenja Populacija se sastoji od određenog broja jedinki koje predstavljaju računalne programe, odnosno strukture koje se mogu jednoznačno preslikati u oblik pogodan za izvođenje na računalu. Svi podaci koji obilježavaju jednu jedinku zapisani su u kromosomu i mogu biti pohranjeni na razne načine. Kromosom se može sastojati od niza bitova (binarni prikaz kromosoma), ili se može sastojati od realnog broja ili vektora realnih brojeva. Za evolucijske strategije karakteristično je prikazivanje rješenja pomoću vektora realnih brojeva. Broj na određenom mjestu unutar vektora opisuje neku karakteristiku samog rješenja. [DRAGOJEVIĆ, 2008] 2

5 2.2 Funkcija dobrote Kriterij kvalitete je poznat kao funkcija dobrote ili funkcija ocjene kvalitete jedinke (engl. fitness) te pomoću njega odlučujemo koje ćemo rješenje odabrati i o njemu najviše ovisi cijeli proces. Dobrota je obično određena nedosljednošću između rezultata dobivenog od jedinke i željenog rezultata. Što je pogreška manja, program je bolji, odnosno što je dobrota jedinke veća, jedinka ima veću vjerojatnost preživljavanja, a time i veću mogućnost prijenosa svojih gena na sljedeću populaciju. U kreiranju efikasnog algoritma, definiranje funkcije dobrote predstavlja ključni, a često i najteži korak, kako bi funkcija vjerno održavala problem koji se rješava. [BESPALJKO, 2009] 2.3 Selekcija Nakon što smo odredili kvalitetu jedinke pomoću funkcije dobrote, moramo odlučiti hoćemo li primijeniti genetske operatore na tu jedinku, zadržati je u populaciji ili ju zamijeniti. Selekcija je posljedica natjecanja između jedinki populacije. Postupak selekcija bi se mogao ostvariti odabirom N najboljih jedinki (gdje je N veličina populacije), ali takav odabir bi doveo do prerane konvergencije rješenja proces optimizacije završi u svega nekoliko iteracija, te postoji opasnost od zaglavljivanja procesa u nekom lokalnom optimumu 1. Problem je u tome što se takvim odabirom gubi dobar genetski materijal koji mogu sadržavati loše jedinke pa iz tog razloga i one moraju imati određenu vjerojatnost preživljavanja (veću od nule). [PIELIĆ, 2010] Vrste operatora selekcije dijelimo na generacijske i eliminacijske. Selekcije koje spadaju u generacijske, odabiru iz trenutne generacije najbolje jedinke i njihovim kopiranjem stvaraju novu generaciju. Nedostatak ovakve vrste selekcije je što u sljedećoj generaciji može postojati više potpuno jednakih jedinki, čime se smanjuje vrijedna genetska raznolikost. Eliminacijske selekcije su usredotočene na biranje jedinki koje će biti odstranjene iz populacije. Lošije jedinke imaju manju vjerojatnost preživljavanja. Nakon njihovog uklanjanja, populacija se nadopuni novim jedinkama koje se dobiju križanjem novih kromosoma. 1 Lokalni optimum je element prostora rješenja sa svojstvom da nijedan niz mutacija tog elementa ne može imati isključivo padajuće vrijednosti evaluacijske funkcije. 3

6 Slika 2. Podjela postupka selekcije prema načinu prenošenja genetskog materijala boljih jedinki u novu generaciju Postoji mnogo načina odabira roditelja (engl. parent selection shemes) za sljedeću generaciju, a najpoznatiji od njih su jednostavna selekcija, turnirska selekcija i eliminacijska selekcija koje ćemo pojasniti u nastavku. [PIELIĆ, 2010] Jednostavna selekcija Jednostavna selekcija (engl. roulette wheel parent selection) je osnovni primjer generacijske selekcije. Cilj je odabrati roditelja čija je vrijednost selekcije proporcionalna njihovoj dobroti. Jedinka sa najvećom dobrotom ima najveće šanse da bude izabrana, dok najlošija jedinka ima najmanje šanse preživljavanja. Vjerojatnost preživljavanja ostalih jedinki je negdje između. [GOLUB, 2004] Jednostavna selekcija ima nekoliko nedostataka: budući da je vjerojatnost odabira jedinke proporcionalna njenoj dobroti, funkcija dobrote ne smije poprimati negativne vrijednosti. Ovaj nedostatak je moguće riješiti translacijom funkcije dobrote. Drugi nedostatak jednostavne selekcije je i pojavljivanje dupliciranih kromosoma. Eksperimenti su pokazali da i do 50% populacije mogu biti duplikati kromosoma, čime se značajno smanjuje učinkovitost algoritma. [BOŽIKOVIĆ, 2000] Turnirska selekcija Turnirska selekcija (engl. tournament selection) može biti generacijska ili eliminacijska. Odabire se slučajan broj jedinki iz populacije, a najbolje od njih postaju roditelji sljedeće generacije. Ovaj se selekcija često naziva i k-turnirski odabir, gdje k označava broj jedinki čije se dobrote uspoređuju. Taj se broj naziva veličina prozora. U slučaju generacijske selekcije, među izabranim jedinkama se traži najbolja koja se zatim kopira u sljedeću generaciju, a postupak je potreno ponoviti onoliko puta dok broj odabranih jedinki na postane jednak veličini populacije. 4

7 Ako se radi o eliminacijskoj selekciji, najlošija jedinka od odabranih se uklanja, a zamjenjuje je nova jedinka nastala križanjem dvije slučajne jedinke iz trenutnog turnira. Ova selekcija, a posebno eliminacijska inačica, je pogodna za probleme koji imaju složene kromosome i kod kojih je izračun funkcije dobrote vremenski zahtjevan. [PIELIĆ, 2010] Eliminacijska selekcija Eliminacijska selekcija (engl. steady state selection) je eliminacijska varijanta jednostavne selekcije. Za razliku od jednostavne selekcije, ne biraju se kromosomi koji će preživjeti već oni loši kromosome koje treba eliminirati i reprodukcijom ih zamijeniti novima. Dakle, loši kromosomi umiru, a njih zamjenjuju djeca nastala reprodukcijom roditelja, tj. preživjelih kromosoma. [GOLUB, 2004] Vjerojatnost selekcije jedinke je to veća što je dobrota manja. Umjesto funkcije dobrote treba definirati funkciju kazne, koja ima veću vrijednost za lošije jedinke i predstavlja vjerojatnost uklanjanja jedinke iz populacije. Dakle, njena je vrijednost odabira obrnuto proporcionalna njenoj dobroti. Najbolja jedinka će na ovaj način imati vjerojatnost selekcije jednaku nuli, čime se osigurava očuvanje najbolje jedinke, što se naziva elitizam. Jednom odabrani kromosom se više ne može odabrati. Ovaj način selekcije je veoma brz i daje dobre rezultate. [FABRIS, 2005] 2.4 Genetski operatori U evolucijskom postupku važno je imati nekakav mehanizam varijacije kako bi stvorili razliku i bili sigurni da sljedeće generacije potomaka ne postanu identične kopije roditelja. U slučaju da takav mehanizam ne postoji, daljnja poboljšanja ne bi bila moguća. Dva moguća operatora varijacije u evolucijskim algoritmima su mutacija i križanje, odnosno razmjena genetskog materijala između jedinki. Mutacija (unarni operator) mijenja mali dio jedinke dok križanje (operator višeg reda) miješa genetski materijal između dviju jedinki kako bi kreiralo potomka koji je kombinacija svojih roditelja. [GOLUB, 2004] Križanje Križanje (engl. crossover), koje se često naziva i rekombinacija, je proces kojim iz dvije jedinke (roditelji) nastaje nova jedinka (dijete). Najvažnija karakteristika križanja jest da djeca nasljeđuju svojstva svojih roditelja. Novonastalo dijete posjeduje genetski materijal oba roditelja i ima jednak broj gena kao i oni, što znači da je vjerojatnost nasljeđivanja od 5

8 pojedinog roditelja obično jednaka i iznosi 0.5. Cilj bi nam, naravno, bio dobiti djecu bolju od svojih roditelja. [PETROVIĆ, 2007] Križanje se definira proizvoljnim brojem prekidnih točaka. Ovisno o izboru tih točaka postoji nekoliko vrsta križanja: križanje u jednoj točki (engl. one-point crossover), križanje u dvije točke (engl. two-point crossover), križanje rezanjem i spajanjem (engl. cut and splice crossover), uniformno križanje (engl. uniform crossover) i polu-uniformno križanje (engl. half-uniform crossover). Metode križanja korištene u ovom radu su opisane u poglavlju Operatori križanja. Kao što smo već spomenuli, potrebno je obratiti pažnju na različitost oba roditelja. Ukoliko su oba jednaka, raditi križanje tada je očito suvišno; tako dobivamo samo još jedan duplikat nekog kromosoma, što nam nije u interesu. U praksi se zato često prije križanja provjerava različitost koja ukoliko nije prisutna, jedan od roditelja se mutira pa se potom obavlja križanje. [PETROVIĆ, 2007] Mutacija Mutacija je slučajna promjena jednog ili više gena kako bi se dobila genetska raznolikost sljedeće generacije rješenja. Kod evolucijskih strategija postoji važno pravilo 1/5 uspjeha koje je definirao Rechenberg prilikom svojih istraživanja. Samo pravilo predviđa optimalne performanse za vrijeme trajanja mutacija i to kada od svih mutacija koje se provedu, 20% njih daje uspješne potomke. To znači da kvocijent broja uspješnih mutacija i ukupnog broja mutacija umutar neke populacije mora biti približno 1/5. [PETROVIĆ, 2007] Mutacijom se pretražuje prostor rješenja što daje mutaciji jednu od najvažnijih osobina. Naime, ovim postupkom se omogućava izbjegavanje lokalnih minimuma 2. Ako cijela populacija završi u nekom lokalnom minimumu, mutacija će slučajnim pretraživanjem prostora pronaći i bolje rješenje. [PETROVIĆ, 2007] Postoje razne metode mutacija (slučajna, inverzna, indukcijska, uniformna, Gaussova mutacija, itd.), a one korištene u ovom radu su opisane u poglavlju Operatori mutacije. 2 Lokalni minimum je točka na grafu u kojoj funkcija prelazi iz pada u rast. 6

9 2.5 Vrste evolucijskih strategija Pretpostavimo da je broj roditelja u nekoj generaciji γ označen sa µ, a broj potomaka u generaciji γ označen sa λ. Postoji sedam različitih tipova evolucijskih procesa koje koriste evolucijske strategije [ČERI, MALOVIĆ, 2007]. (1 + 1)-ES U populaciji postoje dvije jedinke. Jedna je jedinka roditelj iz kojeg nakon reprodukcije procesom mutacije nastaje potomak. Proces selekcije se obavlja između te dvije jedinke, a u sljedeću generaciju ide bolja jedinka, tj. koja ima bolji faktor dobrote [ČERI, MALOVIĆ, 2007]. (µ + 1)-ES Populacija se sastoji od µ jedinki roditelja. Mutacijom jedne jedinke nastaje jedan potomak koji se konstantno reproducira. Iz spojenog seta potomaka izabrane jedinke i trenutne populacije odbacuje se jedinka koja ima najmanji faktor dobrote [ČERI, MALOVIĆ, 2007]. (µ + λ)-es U ovom slučaju iz µ jedinki roditelja nastaje λ potomaka procesom mutacije. Uvjet za ovaj proces je da je nastalo više djece nego što je roditelja, dakle µ<λ. Svaki od λ potomaka ima svoj faktor dobrote, kao što imaju i svi roditelji. Najboljih µ jedinki iz skupa roditelja i potomaka zajedno prelazi u sljedeću generaciju [ČERI, MALOVIĆ, 2007]. (µ, λ)-es Populacija se sastoji od µ jedinki roditelja, koji procesom mutacije daje λ potomaka, s time da vrijedi µ< λ. Svaki od λ potomaka ima svoj faktor dobrote. Za razliku od prethodnog slučaja, ovdje se za prijelaz u novu generaciju promatraju samo potomci, dakle roditelji ne ulaze u izbor. Iz λ potomaka izabire se µ najboljih jedinki koje prelaze u sljedeću generaciju [ČERI, MALOVIĆ, 2007]. (µ/ρ, λ)-es Ova strategija je (µ, λ) strategija uz dodatak parametra ρ. Ovaj parametar označava broj jedinki roditelja koji se upotrebljava u procesu reprodukcije. Ukoliko je ρ=1, ova strategija je analogna strategiji (µ, λ)-es, tj. prilikom reprodukcije koristi se samo jedna jedinka iz populacije roditelja, što znači da se upotrebljava operator mutacije. Ukoliko je ρ=2, prilikom reprodukcije se koriste dvije jedinke iz populacije roditelja, što znači da se upotrebljava operator rekombinacije. Selekcija je analogna selekciji kod (µ, λ)-es [ČERI, MALOVIĆ, 2007]. 7

10 (µ/ρ + λ)-es Ova strategija je (µ + λ) strategija uz ponovni dodatak parametra ρ. Za reprodukciju vrijede ista pravila kao kod (µ/ ρ, λ) strategije, a selekcija je analogna selekciji kod (µ + λ)-es [ČERI, MALOVIĆ, 2007]. (µ', λ', (µ, λ)γ)-es Kod ove strategije se iz populacije roditelja veličine µ' kreira λ' potomaka i izolira na γ generacija. U svakoj od γ generacija stvara se λ potomaka od kojih samo µ najboljih prelazi u sljedeću generaciju. Nakon γ generacija izabiru se najbolje jedinke od γ izoliranih populacija i krug kreće ponovno sa λ' novih jedinki potomaka [ČERI, MALOVIĆ, 2007]. 2.6 Algoritmi evolucijskih strategija Cilj evolucijske strategije je stvoriti populaciju potomaka uz pomoć procesa rekombinacije ili mutacije iz početne populacije roditelja. Postupak mutacije i rekombinacije se ponavlja i nastaju nove generacije potomaka, sve dok se ne dođe do optimuma nekog zadanog problema. Ovaj proces je prikazan pseudokodom na sljedećoj slici. [ČERI, MALOVIĆ, 2007] Slika 3. Pseudokod procesa evolucijske strategije Dakle, postupak generiranja nove generacije populacije ponavljat će se sve dok ne bude zadovoljen uvjet zaustavljanja. Najčešće korišteni uvjeti zaustavljanja su: pronađeno je dovoljno dobro rješenje (kriteriji dovoljno dobrog rješenja moraju biti definirani), potrošeni su resursi, broj generiranja novih generacija je premašio unaprijed definiranu granicu, istekao je unaprijed definiran interval vremena, zaključeno je da daljnje iteracije neće dati poboljšanje rezultata. 8

11 Proces stvaranja nove generacije se može opisati kroz sljedeće korake: 1. Stvori λ novih jedinki: a. odaberi slučajnih ρ µ roditelja b. križaj ρ roditelja kako bi dobio potomka c. odredi novu vrijednost parametra ρ prema normalnoj razdiobi d. mutiraj dijete pomoću nove vrijednosti parametra ρ 2. Odaberi novu populaciju na temelju funkcije dobrote: a. iz populacije djece ukoliko se radi o (λ, µ)-es b. iz populacije djece i roditelja ukoliko se radi o (λ + µ)-es Dijagram tijeka evolucijske strategije (λ + µ) prikazan je na slici 4. Slika 4. Dijagram tijeka (λ + µ) evolucijske strategije 9

12 2.7 Primjena evolucijskih strategija Evolucijske strategije imaju široku primjenu u rješavanju raznih optimizacijskih problema (uključujući optimizacijske probleme u kontinuiranom i diskretnom vremenu, vektorsku optimizaciju i kombinatorne probleme sa i bez ograničenja). Koriste se u dubinskoj analizi podataka 3, u izradi kompliciranih vremenskih rasporeda, u kemiji, za geometriju (npr. kod izrade mostova), za rješavanje raznih verzija problema trgovačkog putnika, u optici i obradi slike, u aproksimaciji polinomnih funkcija, itd... [ČERI, MALOVIĆ, 2007] 3 Podatkovno rudarenje ili dubinska analiza podataka (eng. Data mining) je sortiranje, organiziranje ili grupiranje velikog broja podataka i izvlačenje relevantnih informacija. 10

13 3 Problem trgovačkog putnika Problem trgovačkog putnika (engl. Traveling Salesman Problem, TSP) je problem diskretne i kombinatorne optimizacije. Spada u skupinu NP-teških problema, a složenost mu je O(N!). Porijeklo ovog problema seže daleko u povijest. Matematičke probleme slične problemu trgovačkog putnika je počeo razmatrati Euler, kojeg je zanimalo kako bi skakač na šahovskoj ploči posjetio sva 64 mjesta samo jednom. Prva doslovna pojava problema trgovačkog putnika bila je u knjizi njemačkog trgovačkog putnika B.F. Voighta, Autor knjige sugerira kako je pokrivanje što više lokacija bez posjećivanja ijedne od njih dvaput najvažniji apsekt planiranja putovanja. No, ni on nije problem trgovačkog putnika tako imenovao.. [PIELIĆ, 2008] Početkom 20.st. matematičari William Rowan Hamilton i Thomas Kirkman su razmatrali probleme koji se svode na problem trgovačkog putnika. Hamilton je osmislio igru (slika 5.) koja je od igrača tražila da odredi stazu između 20 točaka uz korištenje definiranih veza između njih. Opća forma ovog problema se pojavljuje 30-ih godina 20.stoljeća zahvaljujući Karl Mengeru kada je i sam pojam trgovački putnik prvi put upotrijebljen. [PIELIĆ, 2008] Slika 5. Hamiltonova igra (engl. icosian game) [ 11

14 3.1 NP-teški problemi U kombinatornoj optimizaciji često se pojavljuju NP-teški problemi (engl. non-polynomial hard problems). Riječ je o zadaćama koje se prema općem uvjerenju ne mogu rješavati u polinomskom vremenu t = Nk, gdje je N dimenzija problema, a k konstanta. Najčešće su složenosti O(N!), O(2N) i sl. Klasičan algoritam je jednostavan: provjeri sva moguća rješenja da bi našao pravo, ali je neizvediv osim za male N. Na primjer, iz grupe od 400 ljudi treba odabrati 100 prema zadanom kriteriju. Broj kombinacija je ~ 1096, što je više od broja atoma u cijelom svemiru. NP-teški problemi ne omogućuju jednostavnu provjeru dobivenog rješenja i ne znamo da li postoji bolje. [VELJAN, 2001] 3.2 Opis problema trgovačkog putnika Sam problem je vrlo jednostavan trgovački putnik ima unaprijed definirane gradove i sve međusobne udaljenosti među njima, te mora posjetiti svaki grad samo jednom i vratiti se u početni grad. Pitanje je kojim bi redoslijedom trgovački putnik morao obilaziti gradove, a da ukupna duljina puta bude minimalna. Na prvi pogled ovaj se problem i ne čini preteškim, ali ako se uzme u obzir da ima faktorijelnu složenost, tj. da se najkraći put između N gradova nalazi negdje unutar prostora stanja koji je velik N!/2N, odnosno ((N-1)!)/2 (slika 6.), računanjem se dobije da već za 11 gradova postoji mogućih redoslijeda obilazaka (kombinacijska eksplozija). [PIELIĆ, 2008] Slika 6. Složenost problema trgovačkog putnika 12

15 Prvi veliki problem trgovačkog putnika koji je bio riješen je bio problem sa 49 gradova, koje su riješili Dantzig, Fulkerson i Johnson (slika 7.). [GUTIN, PUNNEN, 2004] Slika 7. Problem trgovačkog putnika sa 49 gradova [ Grötschel i Holland su riješili problem sa 666 gradova (slika 8.), a su godine su Applegate, Bixby, Chvátal, Cook, and Helsgaun riješili problem sa gradova u Švedskoj (slika 9.). Slika 8. Problem trgovačkog putnika sa 666 gradova [ 13

16 Slika 9. Problem trgovačkog putnika sa gradova [ Matematička formulacija problema trgovačkog putnika je sljedeća: Zadan je težinski graf G=(V;E), gdje je težina c ij između čvorišta i i j ne-negativna vrijednost. Potrebno je pronaći Hamiltonov razapinjujući put, odnosno put koji sadrži sve vrhove grafa, na način da je ukupna cijena puta minimalna. Ovako obrađen problem trgovačkog putnika nije ograničen izborom postojećih puteva, odnosno, pretpostavlja se da su svaka dva grafa međusobno povezana putovima. Također, problem je u ovom primjeru simetričan, odnosno, put iz grada i u grad j je jednako težak kao i put iz grada j u grad i. To ne mora biti slučaj u stvarnoj primjeni primjerice, težina prolaska određenog puta može ovisiti o dobu dana ili godine što nam zapravo pokazuje da postoje podvrste problema trgovačkog putnika. [VELJAN, 2001] Jedini potpuno siguran način za rješavanje ovog problema je sveobuhvatno pretraživanje kompletnog prostora rješenja, odnosno provjeravanje svakog rješenja iz skupa rješenja koje se bazira na linearnom programiranju ili branch-and-bound principu, što je zbog prostranosti prostora rješenja nemoguće pretražiti u polinomskom vremenu pa su se metode za rješavanje problema trgovačkog putnika razvijale u smjeru približnih metoda koje se osnivaju na principu lokalnog pretraživanja ili koriste neki metaheuristički algoritam, primjerice algoritam najbližeg susjeda (engl. Nearest neighbour algorithm), pohlepni algoritam (engl. Greedy algorithm), simulirano kaljenje, i dr. Jedna od algoritama i genetski algoritmi zasnovani na evolucijskim strategijama koji su već objašnjene, a u poglavlju 3 ćemo pokazati kako se oni realiziraju na našem zadatku. 14

17 3.3 Varijante problema trgovačkog putnika U literaturi [HJERTENES, 2002] se spominje niz varijanti problema trgovačkog putnika u odnosu na opći predhodno definiran problem. Ove varijante su nastale modeliranjem realnih problema, a u nastavku su predstavljene neke od najčešćih. MAX TSP razlika između MAX TSP i standardno definiranog problema trgovačkog putnika se sastoji samo u definiciji granične težnje. Naime, u standardnom problemu se određuje ciklus sa najmanjom vrijednosti kriterija, a kod MAX TSP se određuje ciklus sa najvećom vrijednosti kriterija. TSP za izbjegavanje uskog grla (engl. bottleneck TSP) kod ove varijante, cilj je da se pronađe takav Hamiltonov ciklus u grafu G za koji je najveća cijena svih njegovih grana što manja. TSP sa višestrukim posjetama (TSPM) ova varijanta zahtijeva da se odredi takva staza iz grafa G kod koje se svaki čvor grafa posjeti barem jednom, uz postizanje minimalne vrijednosti kriterija. Problem glasnika ova varijanta predstavlja problem kod kojeg je za dva data čvora x i y grafa G potrebno odrediti Hamiltonovu stazu koja polazi iz čvora x i završava u čvoru y, uz postizanje minimalne vrijednosti kriterija. Klasterizirani TSP kod ove varijante čvorovi grafa G su podijeljeni u klastere V 1, V 2,..., V k. Potrebno je odrediti Hamiltonov ciklus koji daje minimalnu vrijednost kriterija, uz ograničenje da se svi čvorovi klastera moraju posjetiti jedan za drugim. TSP sa m trgovačkih putnika neka se u polaznim čvoru grafa G nalazi m trgovačkih putnika. Svaki od njih će obići podskup X i čvorova grafa i vratiti se u polazni čvor. Suma cijena svih prijeđenih grana treba biti minimalna. 3.4 Primjena problema trgovačkog putnika Osim što predstavlja veliki izazov za rješavanje, problem trgovačkog putnika je široko primjenjiv na različite probleme usmjeravanja i uspoređivanja. [FABRIS, 2009] Jedna od prvih primjena bilo je raspoređivanje putova školskih autobusa koji su vozili djecu, te je poslužila kao motivacija Merrilu Floodu, pioniru u proučavanju problema trgovačkog putnika, za daljnje istraživanje. Sljedeća primjena 1940-ih, odnosila se na transport poljoprivredne opreme, i dovela je do matematičkih istraživanja Mahalanobisa u Bengalu i Jessena u Iowi. Još davno se metodologija rješavanja problema trgovačkog putnika koristila 15

18 za djelotvorno raspoređivanje kovanica po telefonskim govornicama diljem gradova. U novije vrijeme ovim problemom se modelira raspoređivanje servisnih posjeta, dovoženje hrane osobama koje su nepokretne, usmjeravanje transportnih kamiona, itd. Jednostavnost modela dovela je i do njegove primjene na drugim područjima. Klasičan primjer za to je raspored bušenja rupa na tiskanoj pločici. Stroj koji obavlja bušenje rupa mora obići veliki broj mjesta na pločici da bi obavio bušenje. Ako se kao funkcija udaljenosti definira utrošak energije ili vrijeme za micanje glave stroja od jednog do drugog mjesta, onda je cilj taj utrošak ili to vrijeme što više smanjiti naći obilazak čiji su utrošak ili potrebno vrijeme najmanji. U industriji ovo može višestruko smanjiti troškove proizvodnje. Sličan primjer je raspored pomicanja glave stroja koja otiskuje spojeve na tiskanoj pločici. Grupa istraživača iz Houstona i sa sveučilišta Brigham Young koristili su ulančanu Lin- Kernighan metodu kako bi optimirali redoslijed udaljenih nebeskih tijela koja bi trebalo slikati u okviru NASA-inog Starlight svemirskog programa. Cilj je bio minimizirati utrošak goriva pri manevrima usmjeravanja dvaju satelita. Ovdje su gradovi bili nebeska tijela koja treba snimiti, a udaljenost između njih utrošak goriva. Proizvođači poluvodičke tehnologije koristili su metode za rješavanje problema trgovačkog putnika kako bi optimirali testne puteve (scan chains) na integriranom krugu s ciljem što manjeg utroška energije i bržeg rada čipa. Da problem ima primjenu i u bioinformatici pokazuje činjenica da je grupa istraživača iz AT&T laboratorija koristila metodologiju rješavanja problema trgovačkog putnika kako bi pronašla najkraći DNA niz dobiven ugrađivanjem DNA nizova (koji se mogu preklapati) iz unaprijed određenog skupa. Ovaj problem ima mnogo primjena, a ovdje su navedene samo neke od njih. Postoji još niz primjera u kojima se problem trgovačkog putnika pojavljuje kao potproblem ili se drugi problemi mogu svesti na njega. 16

19 4 Programsko ostvarenje 4.1 Evolucijske strategije za rješavanje problema trgovačkog putnika Zbog faktorijelnog rasta prostora rješenja s porastom broja gradova, metoda evolucijskih strategija mogla bi dati dobre rezultate u rješavanju problema trgovačkog putnika. Uz pomoć evolucijskih strategija nije potrebno pretraživati cijeli prostor rješenja, nego se evolucijom iz generacije u generaciju algoritam sve više približava optimalnom rješenju pomoću posebno definiranih operatora križanja i mutacija Prikaz kromosoma Iako postoji više mogućih načina prikaza (vrijednosni prikaz, stablasti prikaz, i dr.), za ovaj rad odabran je najjednostavniji prikaz i prikaz koji se najčešće koristi kod problema čije je rješenje neka vrsta redoslijeda (npr. gradova, zadataka) prikaz permutiranim nizom: ( 0, 3, 5, 2, 1, 6 ) U ovom prikazu postoji 6 gradova koje treba obići, a redoslijed obilazaka je sljedeći: kreće se iz grada 0, pa u grad 3, nakon njega 5, itd. Dakle, mjesto u šestorki označava kada će taj grad biti posjećen, a broj koji je na tom mjestu označava sam grad. Ukratko, gradovi su poredani u smjeru u kojem se posjećuju. Ovaj način prikaza je uobičajen u implementaciji problema trgovačkog putnika. U programu je za prikaz kromosoma korištena klasa Kromosom.cs, čiji se kod može vidjeti u Dodatku B Funkcija dobrote Funkcija dobrote jednaka je jednostavnoj formuli koja zbraja udaljenosti između gradova, dajući tako za svaki kromosom ukupnu duljinu puta. Naravno, što je duljina puta kraća, kromosom je bolji i ima veću vjerojatnost preživljavanja. 17

20 4.1.3 Operatori selekcije Selekcija se obavlja tako da se odaberu dva proizvoljna grada i formiraju roditelji u odnosu na grad prije prvog odabranog grada i drugi roditelj u odnosu na drugi grad i grad koji ide poslije drugog odabranog grada Operatori mutacije U algoritmu su korištene tri vrste mutacija. Jednostavna (slučajna) mutacija Slučajnim odabirom odabiru se dva različita grada u kromosomu (odabiru se dva grada da bi se izbjeglo ponavljanje brojeva u nizu, tj. da bi postigli raznolikost), nakon čega se obavlja njihova zamjena. Npr. ( ) postaje ( ). Mutacija Gaussovom (normalnom) razdiobom Ideja mutacije je sljedeća: slučajnim odabirom odabrati jedan grad, a drugi grad s kojim će se ovaj zamijeniti izabrati tako da veću vjerojatnost odabira ima grad koji se u kromosomu nalazi na poziciji bližoj prvom odabranom gradu. Postupak je dan u točkama koje slijede: 1. Prije početka izvođenja algoritma radi se matrica vjerojatnosti A. 2. Slučajnim odabirom izabire se jedan grad u kromosomu i pamti njegova pozicija 3. Odredi se za koliko se maksimalno mjesta u kromosomu može pomaknuti od pozicije prvog odabranog grada. 4. Računa se koji redak matrice će biti potreban za određivanje drugog grada prema sljedećoj formuli: 5. redak=udaljenost-[(brojgradova/2)-1] 6. Slučajnim odabirom generira se broj q iz intervala [0,1], i traži se za koji stupac, odnosno j vrijedi: q a redak,j-1,a redak,j. Redni broj stupca, odnosno j označava za koliko mjesta u kromosomu se treba pomaknuti u lijevu ili desnu stranu kako bi se odabrao drugi grad. Ovim postupkom dobit će se dva moguća grada s kojima bi se prvi odabrani grad mogao zamijeniti. Napravit će se zamjene za oba slučaja, a na kraju će se uzeti rješenje s boljom dobrotom. Čitav kod ovog postupka se može vidjeti u dodatku II. 2opt mutacija ili mutacija kraći put 2opt metoda jedna je od najpoznatijih metoda lokanog pretraživanja koje se koriste kod problema trgovačkog putnika. Unapređuje turu brid po brid okrećući poredak gradova u podturi. Algoritam je prikazan na slici 10., a može se opisati jednostavnim primjerom. Neka 18

21 postoji put od grada A do grada B, i put od grada C do grada D. Uspoređuje se nejednakost AB + CD > AC + BD. Ako je istina, dolazi do zamjene kako je prikazano na slici. Postupak se ponavlja za sve bridove dok je god moguće skratiti rutu. Dakle, ova metoda odabire neku stazu unutar grafa i okreće poredak gradova u podstazi ako se time dobiva kraća staza. Veliki problem 2opt metode je taj što može zapeti u nekom lokalnom optimumu iz kojega, zbog načina usporedbe, više ne može izaći. No, uz pravilno odabrane operatore križanja, koji će unijeti dovoljnu raznolikost, ova mutacija postaje najefikasnija. U dodatku II, prikazan je kod 2opt mutacije. Slika 10. 2opt metoda [ Operatori križanja U strategijama (µ/ ρ, λ)-es i (µ/ ρ + λ)-es koristi se operator križanja. Vrste križanja koje su implementirane u algoritmu su sljedeće: PMX križanje (engl. Partially Matched Crossover) GX križanje (engl. Greedy Crossover) GSX križanje (engl. Greedy Subtour Crossover) PMX križanje U oba roditelja označe se dvije točke prekida (u našem primjeru točke prekida su označene znakom ' '. Geni između tih točaka zamijene se između roditelja. Ostatak kromosoma se popunjava tako da se gradovi izvan točaka prekida vraćaju na svoje mjesto ukoliko već ne postoje kao rezultat zamjene. Ako grad već postoji na nekom mjestu između točaka prekida, umjesto njega se upisuje onaj grad kojeg je zamijenio novi grad. Slika 11. Primjer PMX križanja 19

22 U primjeru na slici 11. geni između točaka prekida zamjene mjesta. Dakle iz prvog roditelja 3 se zamijeni sa 2, dok se u drugom roditelju 2 zamijeni sa 4, i tako za ostala 2 gena. Sada se puni ostatak prvog kromosoma. Na prvoj poziciji više ne može biti broj 2 jer se on već nalazi na poziciji 4, pa se iz tog razloga umjesto broja 2 upisuje broj koji je prije bio na poziciji 4, a to je broj 3. Na sljedećoj poziciji je bio broj 5, a pošto nije iskorišten u zamjeni, slobodno ga se piše natrag na poziciju 2. Za broj 1 je isti slučaj kao na poziciji 1. Umjesto tog broja bi trebalo upisati broj 4, no on je već upisan, te se umjesto njega upisuje broj 8. Nadalje, brojevi 7 i 6 nisu iskorišteni u zamjeni pa ih se upisuje na njihovo staro mjesto u kromosomu. Isti postupak se izvodi za drugi kromosom. Kod PMX križanja se također može vidjeti u dodatku II. GX križanje Greedy crossover uzima prvi grad iz jednog roditelja, uspoređuje gradove u koje se dolazi iz tog grada u oba roditelja i uzima onog čiji je put kraći. Ako se jedan grad u djetetu već pojavio, onda se uzima drugi. Ako su se oba grada već pojavila, tada se slučajnim odabirom odabire jedan neodabrani grad. Postupak je vrlo jednostavan, a kod se nalazi u dodatku II. GSX križanje Ovo križanje radi tako da iz oba roditelja uzima što je moguće dulji dio genetskog materijala, tj. što dulji podskup gradova. Pseudokod je prikazan na slici. Slika 12. Pseudokod GSX križanja 20

23 Na slici n je broj gradova, a * je znak konkatencije (lijepljenja) nizova. GSX križanje je najefikasnija vrsta križanja u odnosu na ovdje opisane vrste. 4.2 Rad s aplikacijom Aplikacija je izrađena u okruženju Microsoft Visual Studio 2010, u programskom jeziku C#. Tijek rada aplikacije prikazan je na slici 13. Slika 13. Tijek izvođenja aplikacije Učitavanje udaljenosti moguće je na dva načina. Korisnik može učitati koordinate točaka iz datoteke - pritiskom tipke Učitaj udaljenosti, otvara se dijalog za otvaranje datoteke čiji zapis treba izgledati ovako: Slika 14. Format zapisa točaka u datoteci 21

24 X i i Y i predstavljaju x, odnosno y koordinatu točke i. Koordinate x i y moraju biti cjelobrojne nenegativne vrijednosti i u zapisu moraju biti razmaknute tabulatorom. Drugi način učitavanje točaka je postavljanje točaka na panelu za crtanje putem miša. Pritiskom tipke Učitaj udaljenosti, program učita koordinate postavljenih točaka. Slika 15. Izgled sučelja unos točaka putem panela za crtanje Osim ovakvog načina zadavanja problema, korisnik može odabrati opciju da program samostalno generira problem zadan brojem gradova stavljanjem kvačice na Generiraj gradove, dobiva se opcija za odabir broja gradova. Pritiskom tipke Generiraj stvara se zadani broj točaka. Program će slučajnim odabirom koordinata unutar dimenzija panela za crtanje odabrati koordinate točaka i prikazati ih na panelu (slika 16.). 22

25 Slika 16. Sučelje nakon generiranja 5 točaka Za slučajeve učitavanja udaljenosti putem miša (preko panela) ili slučajnim generiranjem, postoji mogućnost spremanja koordinata nastalih točaka, pritiskom tipke Spremi gradove. Nakon učitavanja udaljenosti, slijedi zadavanje parametara. Pritiskom tipke Unesi parametre otvara se dijalog za izbor parametara (slika 17.). Moguće je odabrati postavke za sljedeće parametre: Vrsta algoritma ((1+1) ES, (µ, λ) ES, (µ + λ) ES, (µ + 1) ES, (µ/2, λ) ES, (µ/2 + λ) ES) Broj roditelja i djece (ovisi o odabranom algoritmu) Vrsta mutacije (jednostavna mutacija, mutacija s normalnom razdiobom, pohlepna mutacija (2opt mutacija)) Vrsta križanja za strategije (µ/2, λ) ES i (µ/2 + λ) ES: GX, PMX i GSX Uvjet zaustavljanja: vremensko ograničenje, ukupni broj generacija, broj generacija sa nepromijenjenom najboljom jedinkom Mogućnost crtanja ruta tijekom izvođenja programa (usporava program) 23

26 Slika 17. Dijalog za unos parametara Pritiskom tipke Default postavljaju se predviđeni parametri. Nakon pritiska tipke OK, dijalog se zatvara i fokus se vraća na glavni prozor. Sada je moguće pokrenuti program pritiskom tipke START. Tijekom izvođenja programa, u lijevom dijelu prozora ispod panela za crtanje, nakon završetka izvođenja se ispisuje vrijeme izvođenja, te najbolja ruta i njen put (slika 18.). Najbolja ruta se zbog preglednosti ispisuje samo ako je broj gradova manji ili jednak 100. Slika 18. Izgled sučelja nakon završetka izvođenja 24

27 Program se zaustavlja nakon što je zadovoljen uvjet zaustavljanja zadan u parametrima, ili pritiskom tipke STOP. Pritiskom tipke RESET, parametri i točke na panelu se brišu, te je moguće zadati novi problem i unijeti nove parametre za ponovno pokretanje programa. 4.3 Rezultati eksperimentiranja Računalo na kojem je testirana aplikacije je Intel(R) Core(TM) i3 2.40GHz s 3.00 GB RAM-a. Eksperimenti su izvođeni na problemu od 200 gradova za koji postoji 1.97e+372 mogućih rješenja. Ako pretpostavimo da za stvaranje jedne staze od 200 gradova treba stotinka milisekunde, tada bi nam za pretraživanje cjelokupnog prostora rješenja trebalo 6.25e+359 godina Rezultati i usporedbe rada genetskih operatora Razmotrili smo sve rezultate kombinacija pojedinih strategija i genetskih operatora. Od testiranih strategija koje koriste isključivo mutaciju, najbolja se pokazala (μ + λ) ES, dok je najlošija bila (μ, λ) ES. Kod (μ, λ) strategije se prilikom povećavanja broja jedinki uz konstantan omjer jedinki i roditelja poboljšava rješenje. Strategija (μ + λ) najbolje rezultate daje uz što manji broj jedinki. Promjena omjera jedinki roditelja i djece nije pokazala nikakve promjene u rezultatima. (μ + 1) strategija se pokazala lošijom od (μ + λ) strategije. Od strategija koje koriste križanje najbolja se pokazala (μ/2, λ) strategija. Za GX križanje i jednostavnu mutaciju rješenje je ovisilo o ukupnom broju jedinki kako kod zarez tako i kod plus strategije, dok kod svih ostalih kombinacija križanja i mutacija takva ovisnost nije bila izražena. Najbolja metoda koja je gotovo uvijek došla do optimalnog rješenja je 2opt mutacija. Do točnog rješenja se uspjelo doći korištenjem mutacije 2opt i bilo koje vrste strategije, dok je god ukupni broj jedinki u populaciji veći od 2. Budući da 2opt metoda može zapeti u lokalnom minimumu, korištenje većeg broja jedinki umanjuje taj nedostatak. 25

28 Slika 19. Izgled rješenja: (2+6)-ES 2OPT mutacijom (mutacijom kraćeg puta) Eksperimenti su pokazali od kolike je važnosti ispravan odabir genetskih operatora i broja jedinka u populaciji. Pri odabiru broja jedinki u populaciji treba uzeti u obzir što je više jedinki to će algoritam napraviti manje iteracija u konstantnom vremenu. No, veći broj jedinki proširuje prostor pretraživanja i tako omogućava brže nalaženje optimuma. Ako se ovi parametri ispravno odrede, algoritam daje izvrsne rezultate. 26

29 5 Zaključak Već kroz opise primjena kod problema trgovačkog putnika lako je vidjeti kako je njegova primjena vrlo široka i kako postoje razne verzije tog problema. Evolucijske strategije su zapravo samo princip, ideja, smjernica kako taj problem rješiti na drukčiji način od klasičnih metoda, jer sve je na korisniku da sam odluči, da li će razvijati svoj vlastiti algoritam ili će probati svoj problem prilagoditi već nekom postojećem algoritmu koji rješava neku sličnu klasu problema. Također, vidi se da su evolucijske strategije, korisne za one klase problema koje se ne mogu rješiti na klasične načine zbog veličine područja koje pretražuju, što smo uočili i na našem primjeru trgovačkog putnika za dvjesto gradova uz uporabu potrebnih osnovnih operatora selekcije i mutacije. Dobiveni rezultati kod uporabe 2opt mutacije su više nego zadovoljavajući. Donekle zadovoljavajuće rezultate davala je (μ/2, λ) strategija uz korištenje GX križanja i jednostavne mutacije, te nešto većeg broja jedinki roditelja i djece. Ukoliko nepromišljeno biramo operatore, algoritam će najvjerojatnije završiti rad u nekom lokalnom optimumu, bliže ili dalje od pravog optimuma, ovisno o parametrima. 27

30 6 Literatura [ČUPIĆ, 2009] Čupić, Marko (2009) - Prirodom inspirirani optimizacijski algoritmi, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu ( Cupic2009PrirodomInspiriraniOptimizacijskiAlgoritmi.pdf) [DRAGOJEVIĆ, 2008] Dragojević, Ognjen (2008) Semantičko genetsko programiranje, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu [BESPALJKO, 2009] Bespaljko, Igor (2009) Izvođenje pravila raspoređivanja uz pomog genetskog programiranja, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu [PIELIĆ, 2010] Pielić, Marko (2010) Učinkovitost automatski definiranih funkcija u evolucijskim algoritmima, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu [GOLUB, 2004] Golub, Marin (2004) Genetski algoritam (Prvi dio) Jednostavni genetski algoritam, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu ( ~golub/ga/ga_skripta1.pdf) [BOŽIKOVIĆ, 2000] Božiković, Marko (2000) Globalni paralelni genetski algoritam, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu [FABRIS, 2005] Fabris, Ognjen (2005) Primjena genetskih algoritama za raspoređivanje poslova u višeprocesorskom sustavu, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu [PETROVIĆ, 2007] Petrović, Juraj (2007) Evolucijski algoritmi, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu 28

31 [ČERI, MALOVIĆ, 2007] Čeri, Malović (2007) Evolucijske strategije, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu ( PR_Ceri_Malovic.pdf) [PIELIĆ, 2008] Pielić, Marko (2008) Rješavanje problema trgovačkog putnika uz pomoć genetskih algoritama, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu [VELJAN, 2001] Veljan (2001), Kombinatorna i diskretna matematika, Algoritam, Zagreb [GUTIN, PUNNEN, 2004] Gutin, Gregory, Punnen, Abraham P., The Traveling Salesman Problem and Its Variations", Kluwer Academic Publishers, 2004 [HJERTENES, 2002] Øystein M. Hjertenes A Multilevel Scheme for the Travelling Salesman Problem, University of Bergen,

32 7 Prilozi 7.1 Dodatak I dijagrami klasa 30

33 7.2 Dodatak II dijelovi programskog koda Klasa Kromosom usingsystem; usingsystem.collections; using System.Collections.Generic; usingsystem.text; namespace TSP_Testing /// Klasa Kromosom definira jedan kromosom, stazu i duljinu puta publicclasskromosom:icomparable privatearraylist _kromosom = newarraylist(); privatedouble _duljinaputa; public Kromosom(ArrayList jedinka, double duljina) foreach (int i in jedinka) _kromosom.add(i); _duljinaputa = duljina; /// Svojstvo koje vraca stazu publicarraylistchromosome get return _kromosom; /// Svojstvo koje vraca ili postavlja duljinu puta kromosoma publicdoubleduljinaputa get return _duljinaputa; set _duljinaputa = value; publicoverridestringtostring() StringBuilder staza = newstringbuilder(); foreach (int i in _kromosom) staza.appendformat("0, ", i); return"staza = " + staza.tostring() + " " + "duljina = " + this._duljinaputa.tostring(); #regionicomparablemembers publicintcompareto(objectobj) double d1 = this._duljinaputa; double d2 = ((Kromosom)obj)._duljinaPuta; return d2.compareto(d1); #endregion 31

34 7.2.2 Mutacija 2opt //2opt mutacija publickromosommutacijakraciput(kromosomzamutirati) ArrayList elementi = newarraylist(); foreach (int i inzamutirati.chromosome) elementi.add(i); Randomrnd = newrandom(); int gen1 = rnd.next(this._brojgradova); int n=1; double put; intprevious; do if (gen1 == 0) previous = elementi.count - 1; put = udaljenosti[(int)elementi[previous]][(int)elementi[gen1]]; else previous = gen1-1; put = udaljenosti[(int)elementi[previous]][(int)elementi[gen1]]; List<int> kraci = newlist<int>(); foreach (int i in elementi) if ((udaljenosti[(int)elementi[previous]][i] < put) && ((int)elementi[previous]!= i)) kraci.add(elementi.indexof(i)); if ((kraci.count == 0) && (n < _brojgradova)) n++; gen1 = (gen1+1)%(_brojgradova-1); elseif (n >= _brojgradova) int gen2 = rnd.next(_brojgradova - 1); inttemp = (int)elementi[gen1]; elementi[gen1] = elementi[gen2]; elementi[gen2] = temp; KromosommutKromosom = newkromosom(elementi, this.izracunajdobrotu(elementi)); returnmutkromosom; else int gen2 = rnd.next(kraci.count); gen2 = kraci[gen2]; kraci.clear(); inttemp = (int)elementi[gen1]; elementi[gen1] = elementi[gen2]; elementi[gen2] = temp; KromosommutKromosom = newkromosom(elementi, this.izracunajdobrotu(elementi)); returnmutkromosom; while (true); 32

35 7.2.3 Mutacija normalnom razdiobom //Gaussova mutacija (mutacija normalnom razdiobom) publickromosomgaussovamutacija(kromosomzamutirati) ArrayList elementi = newarraylist(); foreach (int i inzamutirati.chromosome) elementi.add(i); Randomrnd = newrandom(); int gen1 = rnd.next(this._brojgradova); //izabran prvi grad int x = _brojgradova - gen1-1; int y = gen1; int d = Math.Max(x, y); int gen2 = izbor_grada(d)+1; //udaljenost pozicije drugog grada if ((gen2 + gen1) < _brojgradova) //zamjena gena na poziciji gen1 i gena na poziciji gen1+gen2 inttmp = (int)elementi[gen1]; elementi[gen1] = elementi[gen2+gen1]; elementi[gen2+gen1] = tmp; elseif ((gen1 - gen2) >= 0) //zamjena gena na poziciji gen1 i gena na poziciji gen1-gen2 inttmp = (int)elementi[gen1]; elementi[gen1] = elementi[gen1 - gen2]; elementi[gen1 - gen2] = tmp; KromosommutKromosom = newkromosom(elementi, this.izracunajdobrotu(elementi)); returnmutkromosom; GX križanje //GX križanje publickromosomgreedycrossover(kromosom rod1, Kromosom rod2) ArrayList elementi = newarraylist(); ArrayList stazarod1 = newarraylist(); ArrayList stazarod2 = newarraylist(); stazarod1 = rod1.chromosome; stazarod2 = rod2.chromosome; elementi.add(stazarod1[0]); Randomrnd = newrandom(); for (int i = 1; i < stazarod1.count; i++) int ind1 = (stazarod1.indexof(elementi[i - 1]) + 1) % this._brojgradova; int ind2 = (stazarod2.indexof(elementi[i - 1]) + 1) % this._brojgradova; int ind0 = (int)elementi[i - 1]; if ((elementi.indexof(stazarod1[ind1])!= -1) && (elementi.indexof(stazarod2[ind2])!= -1)) int novi; do novi = rnd.next(this._brojgradova); while (elementi.indexof(novi)!= -1); elementi.add(novi); continue; if (elementi.indexof(stazarod1[ind1])!= -1) elementi.add(stazarod2[ind2]); 33

36 continue; if (elementi.indexof(stazarod2[ind2])!= -1) elementi.add(stazarod1[ind1]); continue; if (udaljenosti[ind0][(int)stazarod1[ind1]] <= udaljenosti[ind0][(int)stazarod2[ind2]]) elementi.add(stazarod1[ind1]); continue; if (udaljenosti[ind0][(int)stazarod1[ind1]] > udaljenosti[ind0][(int)stazarod2[ind2]]) elementi.add(stazarod2[ind2]); continue; Kromosom dijete = newkromosom(elementi, this.izracunajdobrotu(elementi)); return dijete; PMX križanje //PMX križanje publickromosompartiallymatchedcrossover(kromosom rod1, Kromosom rod2, int tocka1, int tocka2) ArrayList elementi1 = newarraylist(); ArrayList elementi2 = newarraylist(); for (int i = 0; i <this._brojgradova; i++) elementi1.add(null); elementi2.add(null); //dodavanje dijelova izmedjutocaka prekida for (int i = tocka1 + 1; i <= tocka2; i++) elementi2[i] = rod1.chromosome[i]; elementi1[i] = rod2.chromosome[i]; //generiranje ostatka kromosoma prema definiciji PMX krizanje for (int i = 0; i <this._brojgradova; i++) if ((i > tocka1) && (i <= tocka2)) continue; if (elementi1.contains(rod1.chromosome[i])) intindex = rod2.chromosome.indexof(rod1.chromosome[i]); if (elementi1.contains(rod1.chromosome[index])) index = rod2.chromosome.indexof(rod1.chromosome[index]); elementi1[i] = rod1.chromosome[index]; else elementi1[i] = rod1.chromosome[index]; else elementi1[i] = (int)rod1.chromosome[i]; if (elementi2.contains(rod2.chromosome[i])) intindex = rod1.chromosome.indexof(rod2.chromosome[i]); if (elementi2.contains(rod2.chromosome[index])) index = rod1.chromosome.indexof(rod2.chromosome[index]); 34

37 elementi2[i] = rod2.chromosome[index]; else elementi2[i] = rod2.chromosome[index]; else elementi2[i] = (int)rod2.chromosome[i]; Kromosom dijete1 = newkromosom(elementi1, this.izracunajdobrotu(elementi1)); Kromosom dijete2 = newkromosom(elementi2, this.izracunajdobrotu(elementi2)); //vracanje boljeg djeteta if (dijete1.duljinaputa < dijete2.duljinaputa) return dijete1; return dijete2; GSX križanje //GSX križanje publickromosomgreedysubtourcrossover(kromosom rod1, Kromosom rod2) ArrayList elementi = newarraylist(); bool fa = true, fb = true; Randomrnd = newrandom(); intsluc = rnd.next(this._brojgradova); int indr1 = rod1.chromosome.indexof(sluc); int indr2 = rod2.chromosome.indexof(sluc); elementi.add(sluc); do if (indr1 == 0) indr1 = 8; indr1 = (indr1-1) % this._brojgradova; indr2 = (indr2 + 1) % this._brojgradova; if (fa) if (elementi.contains(rod1.chromosome[indr1])) fa = false; else elementi.add(null); for (int i = elementi.count - 1; i > 0; i--) elementi[i] = elementi[i - 1]; elementi[0] = rod1.chromosome[indr1]; if (fb) if (elementi.contains(rod2.chromosome[indr2])) fb = false; else elementi.add(rod2.chromosome[indr2]); while ((fa) (fb)); 35

38 while (elementi.count<this._brojgradova) sluc = rnd.next(this._brojgradova); if (elementi.contains(sluc)) continue; else elementi.add(sluc); Kromosom dijete = newkromosom(elementi, this.izracunajdobrotu(elementi)); return dijete; 36

3.1 Granična vrednost funkcije u tački

3.1 Granična vrednost funkcije u tački 3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili

Διαβάστε περισσότερα

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij, Linearna algebra 2 prvi kolokvij, 27.. 20.. Za koji cijeli broj t je funkcija f : R 4 R 4 R definirana s f(x, y) = x y (t + )x 2 y 2 + x y (t 2 + t)x 4 y 4, x = (x, x 2, x, x 4 ), y = (y, y 2, y, y 4 )

Διαβάστε περισσότερα

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011. INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno

Διαβάστε περισσότερα

1 Promjena baze vektora

1 Promjena baze vektora Promjena baze vektora Neka su dane dvije različite uredene baze u R n, označimo ih s A = (a, a,, a n i B = (b, b,, b n Svaki vektor v R n ima medusobno različite koordinatne zapise u bazama A i B Zapis

Διαβάστε περισσότερα

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D} Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija

Διαβάστε περισσότερα

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju

Διαβάστε περισσότερα

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.

Διαβάστε περισσότερα

ELEKTROTEHNIČKI ODJEL

ELEKTROTEHNIČKI ODJEL MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,

Διαβάστε περισσότερα

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011. Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika Monotonost i ekstremi Katica Jurasić Rijeka, 2011. Ishodi učenja - predavanja Na kraju ovog predavanja moći ćete:,

Διαβάστε περισσότερα

18. listopada listopada / 13

18. listopada listopada / 13 18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu

Διαβάστε περισσότερα

Riješeni zadaci: Limes funkcije. Neprekidnost

Riješeni zadaci: Limes funkcije. Neprekidnost Riješeni zadaci: Limes funkcije. Neprekidnost Limes funkcije Neka je 0 [a, b] i f : D R, gdje je D = [a, b] ili D = [a, b] \ { 0 }. Kažemo da je es funkcije f u točki 0 jednak L i pišemo f ) = L, ako za

Διαβάστε περισσότερα

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1 Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,

Διαβάστε περισσότερα

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k. 1 3 Skupovi brojeva 3.1 Skup prirodnih brojeva - N N = {1, 2, 3,...} Aksiom matematičke indukcije Neka je N skup prirodnih brojeva i M podskup od N. Ako za M vrijede svojstva: 1) 1 M 2) n M (n + 1) M,

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij, 1 2 3 4 5 Σ jmbag smjer studija Linearna algebra 2 prvi kolokvij, 7. 11. 2012. 1. (10 bodova) Neka je dano preslikavanje s : R 2 R 2 R, s (x, y) = (Ax y), pri čemu je A: R 2 R 2 linearan operator oblika

Διαβάστε περισσότερα

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Sortiranje prebrajanjem (Counting sort) i Radix Sort Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting

Διαβάστε περισσότερα

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti). PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo

Διαβάστε περισσότερα

Operacije s matricama

Operacije s matricama Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M

Διαβάστε περισσότερα

Modificiran genetski algoritam za konstrukciju BIBD-a. Odjel za matematiku, Sveučilište u Rijeci

Modificiran genetski algoritam za konstrukciju BIBD-a. Odjel za matematiku, Sveučilište u Rijeci Modificiran genetski algoritam za konstrukciju BIBD-a Doris Dumičić (ddumicic@math.uniri.hr) Odjel za matematiku, Sveučilište u Rijeci Doris Dumičić (ddumicic@math.uniri.hr) Odjel Modificiran za matematiku,

Διαβάστε περισσότερα

7 Algebarske jednadžbe

7 Algebarske jednadžbe 7 Algebarske jednadžbe 7.1 Nultočke polinoma Skup svih polinoma nad skupom kompleksnih brojeva označavamo sa C[x]. Definicija. Nultočka polinoma f C[x] je svaki kompleksni broj α takav da je f(α) = 0.

Διαβάστε περισσότερα

Dijagonalizacija operatora

Dijagonalizacija operatora Dijagonalizacija operatora Problem: Može li se odrediti baza u kojoj zadani operator ima dijagonalnu matricu? Ova problem je povezan sa sljedećim pojmovima: 1 Karakteristični polinom operatora f 2 Vlastite

Διαβάστε περισσότερα

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,

Διαβάστε περισσότερα

TRIGONOMETRIJSKE FUNKCIJE I I.1.

TRIGONOMETRIJSKE FUNKCIJE I I.1. TRIGONOMETRIJSKE FUNKCIJE I I Odredi na brojevnoj trigonometrijskoj kružnici točku Et, za koju je sin t =,cost < 0 Za koje realne brojeve a postoji realan broj takav da je sin = a? Izračunaj: sin π tg

Διαβάστε περισσότερα

Tri osnovna tipa optimizacije struktura. Topološka optimizacija betonskih konstrukcija. Dimenzionalna optimizacija. Optimizacija oblika

Tri osnovna tipa optimizacije struktura. Topološka optimizacija betonskih konstrukcija. Dimenzionalna optimizacija. Optimizacija oblika Topološka optimizacija betonskih konstrukcija Tri osnovna tipa optimizacije struktura. Dimenzionalna optimizacija (sizing optimization). Optimizacija oblika (shape optimization) 3. Topološka optimizacija

Διαβάστε περισσότερα

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1. Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati

Διαβάστε περισσότερα

radni nerecenzirani materijal za predavanja

radni nerecenzirani materijal za predavanja Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Kažemo da je funkcija f : a, b R u točki x 0 a, b postiže lokalni minimum ako postoji okolina O(x 0 ) broja x 0 takva da je

Διαβάστε περισσότερα

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati

Διαβάστε περισσότερα

Matematička analiza 1 dodatni zadaci

Matematička analiza 1 dodatni zadaci Matematička analiza 1 dodatni zadaci 1. Ispitajte je li funkcija f() := 4 4 5 injekcija na intervalu I, te ako jest odredite joj sliku i inverz, ako je (a) I = [, 3), (b) I = [1, ], (c) I = ( 1, 0].. Neka

Διαβάστε περισσότερα

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A. 3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M

Διαβάστε περισσότερα

RIJEŠENI ZADACI I TEORIJA IZ

RIJEŠENI ZADACI I TEORIJA IZ RIJEŠENI ZADACI I TEORIJA IZ LOGARITAMSKA FUNKCIJA SVOJSTVA LOGARITAMSKE FUNKCIJE OSNOVE TRIGONOMETRIJE PRAVOKUTNOG TROKUTA - DEFINICIJA TRIGONOMETRIJSKIH FUNKCIJA - VRIJEDNOSTI TRIGONOMETRIJSKIH FUNKCIJA

Διαβάστε περισσότερα

Elementi spektralne teorije matrica

Elementi spektralne teorije matrica Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena

Διαβάστε περισσότερα

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke. Ĉetverokut - DOMAĆA ZADAĆA Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke. 1. Duljine dijagonala paralelograma jednake su 6,4 cm i 11 cm, a duljina jedne njegove

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a

Διαβάστε περισσότερα

Riješeni zadaci: Nizovi realnih brojeva

Riješeni zadaci: Nizovi realnih brojeva Riješei zadaci: Nizovi realih brojeva Nizovi, aritmetički iz, geometrijski iz Fukciju a : N R azivamo beskoači) iz realih brojeva i ozačavamo s a 1, a,..., a,... ili a ), pri čemu je a = a). Aritmetički

Διαβάστε περισσότερα

APROKSIMACIJA FUNKCIJA

APROKSIMACIJA FUNKCIJA APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)

Διαβάστε περισσότερα

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Numerička matematika 2. kolokvij (1. srpnja 2009.) Numerička matematika 2. kolokvij (1. srpnja 29.) Zadatak 1 (1 bodova.) Teorijsko pitanje. (A) Neka je G R m n, uz m n, pravokutna matrica koja ima puni rang po stupcima, tj. rang(g) = n. (a) Napišite puni

Διαβάστε περισσότερα

Funkcije dviju varjabli (zadaci za vježbu)

Funkcije dviju varjabli (zadaci za vježbu) Funkcije dviju varjabli (zadaci za vježbu) Vidosava Šimić 22. prosinca 2009. Domena funkcije dvije varijable Ako je zadano pridruživanje (x, y) z = f(x, y), onda se skup D = {(x, y) ; f(x, y) R} R 2 naziva

Διαβάστε περισσότερα

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012 Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)

Διαβάστε περισσότερα

Više dokaza jedne poznate trigonometrijske nejednakosti u trokutu

Više dokaza jedne poznate trigonometrijske nejednakosti u trokutu Osječki matematički list 000), 5 9 5 Više dokaza jedne poznate trigonometrijske nejednakosti u trokutu Šefket Arslanagić Alija Muminagić Sažetak. U radu se navodi nekoliko različitih dokaza jedne poznate

Διαβάστε περισσότερα

Kaskadna kompenzacija SAU

Kaskadna kompenzacija SAU Kaskadna kompenzacija SAU U inženjerskoj praksi, naročito u sistemima regulacije elektromotornih pogona i tehnoloških procesa, veoma često se primenjuje metoda kaskadne kompenzacije, u čijoj osnovi su

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

SISTEMI NELINEARNIH JEDNAČINA

SISTEMI NELINEARNIH JEDNAČINA SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije

Διαβάστε περισσότερα

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala

Διαβάστε περισσότερα

Umjetna inteligencija

Umjetna inteligencija Umjetna inteligencija Genetski algoritam Doc. dr. sc. Edouard Ivanjko Sadržaj Uvod Optimizacijski problemi Princip evolucije Koncept genetskog algoritma Kôdiranje rješenja Genetski operatori Primjer primjene

Διαβάστε περισσότερα

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log

Διαβάστε περισσότερα

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2. Sume kvadrata Koji se prirodni brojevi mogu prikazati kao zbroj kvadrata dva cijela broja? Propozicija 1. Ako su brojevi m i n sume dva kvadrata, onda je i njihov produkt m n takoder suma dva kvadrata.

Διαβάστε περισσότερα

numeričkih deskriptivnih mera.

numeričkih deskriptivnih mera. DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,

Διαβάστε περισσότερα

MATEMATIKA Pokažite da za konjugiranje (a + bi = a bi) vrijedi. a) z=z b) z 1 z 2 = z 1 z 2 c) z 1 ± z 2 = z 1 ± z 2 d) z z= z 2

MATEMATIKA Pokažite da za konjugiranje (a + bi = a bi) vrijedi. a) z=z b) z 1 z 2 = z 1 z 2 c) z 1 ± z 2 = z 1 ± z 2 d) z z= z 2 (kompleksna analiza, vježbe ). Izračunajte a) (+i) ( i)= b) (i+) = c) i + i 4 = d) i+i + i 3 + i 4 = e) (a+bi)(a bi)= f) (+i)(i )= Skicirajte rješenja u kompleksnoj ravnini.. Pokažite da za konjugiranje

Διαβάστε περισσότερα

Osnovne teoreme diferencijalnog računa

Osnovne teoreme diferencijalnog računa Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako

Διαβάστε περισσότερα

Matematičke metode u marketingumultidimenzionalno skaliranje. Lavoslav ČaklovićPMF-MO

Matematičke metode u marketingumultidimenzionalno skaliranje. Lavoslav ČaklovićPMF-MO Matematičke metode u marketingu Multidimenzionalno skaliranje Lavoslav Čaklović PMF-MO 2016 MDS Čemu služi: za redukciju dimenzije Bazirano na: udaljenosti (sličnosti) među objektima Problem: Traži se

Διαβάστε περισσότερα

( , 2. kolokvij)

( , 2. kolokvij) A MATEMATIKA (0..20., 2. kolokvij). Zadana je funkcija y = cos 3 () 2e 2. (a) Odredite dy. (b) Koliki je nagib grafa te funkcije za = 0. (a) zadanu implicitno s 3 + 2 y = sin y, (b) zadanu parametarski

Διαβάστε περισσότερα

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai

Διαβάστε περισσότερα

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE **** MLADEN SRAGA **** 011. UNIVERZALNA ZBIRKA POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE SKUP REALNIH BROJEVA α Autor: MLADEN SRAGA Grafički urednik: BESPLATNA - WEB-VARIJANTA Tisak: M.I.M.-SRAGA

Διαβάστε περισσότερα

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI 21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE 2014. GODINE 8. RAZRED TOČNI ODGOVORI Bodovanje za sve zadatke: - boduju se samo točni odgovori - dodatne upute navedene su za pojedine skupine zadataka

Διαβάστε περισσότερα

Teorijske osnove informatike 1

Teorijske osnove informatike 1 Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija

Διαβάστε περισσότερα

3 Populacija i uzorak

3 Populacija i uzorak 3 Populacija i uzorak 1 3.1 Slučajni uzorak X varijabla/stat. obilježje koje izučavamo Cilj statističke analize na osnovi uzorka izvesti odredene zaključke o (populacijskoj) razdiobi od X 2 Primjer 3.1.

Διαβάστε περισσότερα

1.4 Tangenta i normala

1.4 Tangenta i normala 28 1 DERIVACIJA 1.4 Tangenta i normala Ako funkcija f ima derivaciju u točki x 0, onda jednadžbe tangente i normale na graf funkcije f u točki (x 0 y 0 ) = (x 0 f(x 0 )) glase: t......... y y 0 = f (x

Διαβάστε περισσότερα

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO

Διαβάστε περισσότερα

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log = ( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se

Διαβάστε περισσότερα

Uvod u teoriju brojeva

Uvod u teoriju brojeva Uvod u teoriju brojeva 2. Kongruencije Borka Jadrijević Borka Jadrijević () UTB 2 1 / 25 2. Kongruencije Kongruencija - izjava o djeljivosti; Teoriju kongruencija uveo je C. F. Gauss 1801. De nicija (2.1)

Διαβάστε περισσότερα

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda

Διαβάστε περισσότερα

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

Διαβάστε περισσότερα

Determinante. a11 a. a 21 a 22. Definicija 1. (Determinanta prvog reda) Determinanta matrice A = [a] je broj a.

Determinante. a11 a. a 21 a 22. Definicija 1. (Determinanta prvog reda) Determinanta matrice A = [a] je broj a. Determinante Determinanta A deta je funkcija definirana na skupu svih kvadratnih matrica, a poprima vrijednosti iz skupa skalara Osim oznake deta za determinantu kvadratne matrice a 11 a 12 a 1n a 21 a

Διαβάστε περισσότερα

Neka je a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka.

Neka je a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka. Neka je a 3 x 3 + a x + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka. 1 Normiranje jednadžbe. Jednadžbu podijelimo s a 3 i dobivamo x 3 +

Διαβάστε περισσότερα

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =

Διαβάστε περισσότερα

Eliminacijski zadatak iz Matematike 1 za kemičare

Eliminacijski zadatak iz Matematike 1 za kemičare Za mnoge reakcije vrijedi Arrheniusova jednadžba, koja opisuje vezu koeficijenta brzine reakcije i temperature: K = Ae Ea/(RT ). - T termodinamička temperatura (u K), - R = 8, 3145 J K 1 mol 1 opća plinska

Διαβάστε περισσότερα

GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - prednosti i nedostaci u odnosu na egzaktne matematičke metode

GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - prednosti i nedostaci u odnosu na egzaktne matematičke metode Fakultet SEMINARKO http://seminarko.weebly.com Seminarski rad iz kolegija XY ak. godina 2008/09. GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - prednosti i nedostaci u odnosu na egzaktne matematičke metode

Διαβάστε περισσότερα

4. poglavlje (korigirano) LIMESI FUNKCIJA

4. poglavlje (korigirano) LIMESI FUNKCIJA . Limesi funkcija (sa svim korekcijama) 69. poglavlje (korigirano) LIMESI FUNKCIJA U ovom poglavlju: Neodređeni oblik Neodređeni oblik Neodređeni oblik Kose asimptote Neka je a konačan realan broj ili

Διαβάστε περισσότερα

5. Karakteristične funkcije

5. Karakteristične funkcije 5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična

Διαβάστε περισσότερα

VJEROJATNOST I STATISTIKA Popravni kolokvij - 1. rujna 2016.

VJEROJATNOST I STATISTIKA Popravni kolokvij - 1. rujna 2016. Broj zadataka: 5 Vrijeme rješavanja: 120 min Ukupan broj bodova: 100 Zadatak 1. (a) Napišite aksiome vjerojatnosti ako je zadan skup Ω i σ-algebra F na Ω. (b) Dokažite iz aksioma vjerojatnosti da za A,

Διαβάστε περισσότερα

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno. JŽ 3 POLAN TANZSTO ipolarni tranzistor se sastoji od dva pn spoja kod kojih je jedna oblast zajednička za oba i naziva se baza, slika 1 Slika 1 ipolarni tranzistor ima 3 izvoda: emitor (), kolektor (K)

Διαβάστε περισσότερα

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA **** IVANA SRAGA **** 1992.-2011. ZBIRKA POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE POTPUNO RIJEŠENI ZADACI PO ŽUTOJ ZBIRCI INTERNA SKRIPTA CENTRA ZA PODUKU α M.I.M.-Sraga - 1992.-2011.

Διαβάστε περισσότερα

6 Polinomi Funkcija p : R R zadana formulom

6 Polinomi Funkcija p : R R zadana formulom 6 Polinomi Funkcija p : R R zadana formulom p(x) = a n x n + a n 1 x n 1 +... + a 1 x + a 0, gdje su a 0, a 1,..., a n realni brojevi, a n 0, i n prirodan broj ili 0, naziva se polinom n-tog stupnja s

Διαβάστε περισσότερα

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z. Pismeni ispit iz matematike 06 007 Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj z = + i, zatim naći z Ispitati funkciju i nacrtati grafik : = ( ) y e + 6 Izračunati integral:

Διαβάστε περισσότερα

Zavrxni ispit iz Matematiqke analize 1

Zavrxni ispit iz Matematiqke analize 1 Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1

Διαβάστε περισσότερα

Linearna algebra I, zimski semestar 2007/2008

Linearna algebra I, zimski semestar 2007/2008 Linearna algebra I, zimski semestar 2007/2008 Predavanja: Nenad Bakić, Vježbe: Luka Grubišić i Maja Starčević 22. listopada 2007. 1 Prostor radijvektora i sustavi linearni jednadžbi Neka je E 3 trodimenzionalni

Διαβάστε περισσότερα

Program za tablično računanje Microsoft Excel

Program za tablično računanje Microsoft Excel Program za tablično računanje Microsoft Excel Teme Formule i funkcije Zbrajanje Oduzimanje Množenje Dijeljenje Izračun najveće vrijednosti Izračun najmanje vrijednosti 2 Formule i funkcije Naravno da je

Διαβάστε περισσότερα

Grafičko prikazivanje atributivnih i geografskih nizova

Grafičko prikazivanje atributivnih i geografskih nizova Grafičko prikazivanje atributivnih i geografskih nizova Biserka Draščić Ban Pomorski fakultet u Rijeci 17. veljače 2011. Grafičko prikazivanje atributivnih nizova Atributivni nizovi prikazuju se grafički

Διαβάστε περισσότερα

2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos

2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos . KOLOKVIJ PRIMIJENJENA MATEMATIKA FOURIEROVE TRANSFORMACIJE 1. Za periodičnu funkciju f(x) s periodom p=l Fourierov red je gdje su a,a n, b n Fourierovi koeficijenti od f(x) gdje su a =, a n =, b n =..

Διαβάστε περισσότερα

( ) ( ) Zadatak 001 (Ines, hotelijerska škola) Ako je tg x = 4, izračunaj

( ) ( ) Zadatak 001 (Ines, hotelijerska škola) Ako je tg x = 4, izračunaj Zadaak (Ines, hoelijerska škola) Ako je g, izračunaj + 5 + Rješenje Korisimo osnovnu rigonomerijsku relaciju: + Znači svaki broj n možemo zapisai n n n ( + ) + + + + 5 + 5 5 + + + + + 7 + Zadano je g Tangens

Διαβάστε περισσότερα

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju

Διαβάστε περισσότερα

Binarno stablo (BinaryTree)

Binarno stablo (BinaryTree) Binarno stablo (BinaryTree) Binarno stablo T je konačan skup podataka istog tipa (čvorova) koji je ili prazan ili ima istaknuti čvor (korijen), a ostali čvorovi su podijeljeni u dva podskupa T L i T R

Διαβάστε περισσότερα

Funkcija gustoće neprekidne slučajne varijable ima dva bitna svojstva: 1. Nenegativnost: f(x) 0, x R, 2. Normiranost: f(x)dx = 1.

Funkcija gustoće neprekidne slučajne varijable ima dva bitna svojstva: 1. Nenegativnost: f(x) 0, x R, 2. Normiranost: f(x)dx = 1. σ-algebra skupova Definicija : Neka je Ω neprazan skup i F P(Ω). Familija skupova F je σ-algebra skupova na Ω ako vrijedi:. F, 2. A F A C F, 3. A n, n N} F n N A n F. Borelova σ-algebra Definicija 2: Neka

Διαβάστε περισσότερα

math.e Genetski algoritmi i biomorfi 1 Inspiracija u biologiji Genetski algoritmi i biomorfi math.e Vol of 11

math.e Genetski algoritmi i biomorfi 1 Inspiracija u biologiji Genetski algoritmi i biomorfi math.e Vol of 11 1 of 11 math.e Hrvatski matematički elektronički časopis Genetski algoritmi i biomorfi genetski algoritam grafovi heuristički algoritmi optimizacija Nela Bosner (nela.bosner@math.hr ) i Tomislav Droždjek

Διαβάστε περισσότερα

PRIMJENA GENETSKIH ALGORITAMA U MREŽNOM PLANIRANJU

PRIMJENA GENETSKIH ALGORITAMA U MREŽNOM PLANIRANJU SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTNE SUSTAVE SEMINARSKI RAD PRIMJENA GENETSKIH ALGORITAMA U MREŽNOM PLANIRANJU Toni

Διαβάστε περισσότερα

III VEŽBA: FURIJEOVI REDOVI

III VEŽBA: FURIJEOVI REDOVI III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.

Διαβάστε περισσότερα

MATEMATIKA 1 8. domaća zadaća: RADIJVEKTORI. ALGEBARSKE OPERACIJE S RADIJVEKTORIMA. LINEARNA (NE)ZAVISNOST SKUPA RADIJVEKTORA.

MATEMATIKA 1 8. domaća zadaća: RADIJVEKTORI. ALGEBARSKE OPERACIJE S RADIJVEKTORIMA. LINEARNA (NE)ZAVISNOST SKUPA RADIJVEKTORA. Napomena: U svim zadatcima O označava ishodište pravokutnoga koordinatnoga sustava u ravnini/prostoru (tj. točke (0,0) ili (0, 0, 0), ovisno o zadatku), označava skalarni umnožak, a vektorski umnožak.

Διαβάστε περισσότερα

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola. KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: = a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije = a + b + c je parabola. Najpre ćemo naučiti kako

Διαβάστε περισσότερα

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova) MEHANIKA 1 1. KOLOKVIJ 04/2008. grupa I 1. Zadane su dvije sile F i. Sila F = 4i + 6j [ N]. Sila je zadana s veličinom = i leži na pravcu koji s koordinatnom osi x zatvara kut od 30 (sve komponente sile

Διαβάστε περισσότερα

TRIGONOMETRIJA TROKUTA

TRIGONOMETRIJA TROKUTA TRIGONOMETRIJA TROKUTA Standardne oznake u trokutuu ABC: a, b, c stranice trokuta α, β, γ kutovi trokuta t,t,t v,v,v s α,s β,s γ R r s težišnice trokuta visine trokuta simetrale kutova polumjer opisane

Διαβάστε περισσότερα

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1; 1. Provjerite da funkcija f definirana na segmentu [a, b] zadovoljava uvjete Rolleova poučka, pa odredite barem jedan c a, b takav da je f '(c) = 0 ako je: a) f () = 1, a = 1, b = 1; b) f () = 4, a =,

Διαβάστε περισσότερα

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta. auchyjev teorem Neka je f-ja f (z) analitička u jednostruko (prosto) povezanoj oblasti G, i neka je zatvorena kontura koja čitava leži u toj oblasti. Tada je f (z)dz = 0. Postoji više dokaza ovog teorema,

Διαβάστε περισσότερα

PRIMJERI RJEŠAVANJA ZADATAKA

PRIMJERI RJEŠAVANJA ZADATAKA PRIMJERI RJEŠAVANJA ZADATAKA Brojanje slova u riječi Zadatak Potrebno je napisati program za utvrđivanje broja ponavljanja svakog pojedinog slova u zadanoj riječi. Primjer : RAČUNALO R 1 A 2 Č -1 U 1 N

Διαβάστε περισσότερα

PISMENI ISPIT IZ STATISTIKE

PISMENI ISPIT IZ STATISTIKE 1. a) Trgovina odjeće prodaje odjeću u tri različite veličine: 32% veličine S, 44% veličine M i ostatak veličine L. Pokazalo se da je postotak odjeće s greškom redom 1%, 5% i 2%. Ako je trgovina ustanovila

Διαβάστε περισσότερα

PRIMJENA EVOLUCIJSKIH ALGORITAMA ZA RJEŠAVANJE APROKSIMACIJSKOG PROBLEMA

PRIMJENA EVOLUCIJSKIH ALGORITAMA ZA RJEŠAVANJE APROKSIMACIJSKOG PROBLEMA SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1719 PRIMJENA EVOLUCIJSKIH ALGORITAMA ZA RJEŠAVANJE APROKSIMACIJSKOG PROBLEMA Tonči Damjanid Zagreb, ožujak 2008. Sažetak Ovaj

Διαβάστε περισσότερα

41. Jednačine koje se svode na kvadratne

41. Jednačine koje se svode na kvadratne . Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k

Διαβάστε περισσότερα

Ispitivanje toka i skiciranje grafika funkcija

Ispitivanje toka i skiciranje grafika funkcija Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3

Διαβάστε περισσότερα