Umjetna inteligencija

Similar documents
Sveučilište u Zagrebu Fakultet prometnih znanosti Diplomski studij. Umjetna inteligencija - Genetski algoritmi 47895/47816 UMINTELI HG/

Genetski algoritam Što ako trebamo pretražiti potpuni prostor stanja koji je toliko velik (možda i beskonačan) da je to neizvedivo u realnom vremenu?

TEORIJA SKUPOVA Zadaci

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Fajl koji je korišćen može se naći na

Projektovanje paralelnih algoritama II

Mathcad sa algoritmima

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Diferencijska evolucija

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

KVADRATNE INTERPOLACIJSKE METODE ZA JEDNODIMENZIONALNU BEZUVJETNU LOKALNU OPTIMIZACIJU 1

Strojno učenje 3 (II dio) Struktura metoda/algoritama strojnog učenja. Tomislav Šmuc

Evolucijski algoritmi

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

Red veze za benzen. Slika 1.

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

Uvod u relacione baze podataka

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

SVEUČILIŠTE U ZAGREBU FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE SVEUČILIŠNI STUDIJ KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE.

PARALELNI ALGORITMI ZA PROBLEM GRUPIRANJA PODATAKA

R JE Š A V A N JE P R O B L E M A R A S P O R E Đ IV A N JA AKTIVNOSTI PROJEKATA EVOLUCIJSKIM ALGORITMIMA

pretraživanje teksta Knuth-Morris-Pratt algoritam

PORAVNANJE VIŠE NIZOVA. Neven Grubelić PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad

Metode izračunavanja determinanti matrica n-tog reda

Nelder Meadova metoda: lokalna metoda direktne bezuvjetne optimizacije

Metoda parcijalnih najmanjih kvadrata: Regresijski model

Oracle Spatial Koordinatni sustavi, projekcije i transformacije. Dalibor Kušić, mag. ing. listopad 2010.

Primjena optimizacije kolonijom mrava na rješavanje problema trgovačkog putnika

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

Ariana Trstenjak Kvadratne forme

Univerzitet u Beogradu Matematički fakultet. Nina Radojičić REŠAVANJE NEKIH NP-TEŠKIH PROBLEMA DISKRETNE OPTIMIZACIJE. Master rad

~ HEURISTIKE ~ Složen problem se često ne može rešiti tačno, zato koristimo približno rešenje!

Univerzitet u Beogradu. Rešavanje problema optimalnog planiranja bežičnih meš mreža primenom metaheurističkih metoda

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

Mehurasto sortiranje Brzo sortiranje Sortiranje učešljavanjem Sortiranje umetanjem. Overviev Problemi pretraživanja Heš tabele.

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

KRITERIJI KOMPLEKSNOSTI ZA K-MEANS ALGORITAM

Simulated Annealing. Local Search. Cost function. Solution space

Neprekidan slučajan vektor

Metode praćenja planova

Strojno učenje. Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

5. Simulated Annealing 5.1 Basic Concepts. Fall 2010 Instructor: Dr. Masoud Yaghini

Metode rješavanja kvadratičnog problema pridruživanja

Strojno učenje. Ansambli modela. Tomislav Šmuc

Quasi-Newtonove metode

Matematika i statistika

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

Matrice traga nula math.e Vol. 26. math.e. Hrvatski matematički elektronički časopis. Matrice traga nula. komutator linearna algebra. Sažetak.

Strojno učenje. Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

DISTRIBUIRANI ALGORITMI I SISTEMI

ALGORITAM FAKTORIZACIJE GNFS

Formule za udaljenost točke do pravca u ravnini, u smislu lp - udaljenosti math.e Vol 28.

Matematika (PITUP) Prof.dr.sc. Blaženka Divjak. Matematika (PITUP) FOI, Varaždin

Maja Antolović Algoritmi u teoriji brojeva

INVESTIGATION OF UPSETTING OF CYLINDER BY CONICAL DIES

DYNAMIC HEAT TRANSFER IN WALLS: LIMITATIONS OF HEAT FLUX METERS

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku

ANALYTICAL AND NUMERICAL PREDICTION OF SPRINGBACK IN SHEET METAL BENDING

Ivana Keršek Wright - Fisherov model. Diplomski rad

Metrički prostori i Riman-Stiltjesov integral

Turingovi strojevi Opis Turingovog stroja Odluµcivost logike prvog reda. Lipanj Odluµcivost i izraµcunljivost

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku DIOFANTSKE JEDNADŽBE

NIPP. Implementing rules for metadata. Ivica Skender NSDI Working group for technical standards.

Nilpotentni operatori i matrice

An Algorithm for Computation of Bond Contributions of the Wiener Index

Univerzitet u Beogradu

Konstrukcija i analiza algoritama

O aksiomu izbora, cipelama i čarapama

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni nastavnički studij matematike i informatike. Sortiranje u linearnom vremenu

NIZOVI I REDOVI FUNKCIJA

PREGLED PARAMETARA ZA AUTOMATSKO KREIRANJE RASPOREDA NASTAVE

The Frequency of Appearance of Some Teratological Modifications in X1 Generation of Groundnut

GENERALIZIRANI LINEARNI MODELI. PROPENSITY SCORE MATCHING.

Zanimljive rekurzije

Strojno učenje 3 (I dio) Evaluacija modela. Tomislav Šmuc

REVIEW OF GAMMA FUNCTIONS IN ACCUMULATED FATIGUE DAMAGE ASSESSMENT OF SHIP STRUCTURES

Ksenija Doroslovački KOMBINATORIKA INTERPRETIRANA FUNKCIJAMA I NJIHOVIM OSOBINAMA MASTER RAD. NOVI SAD jun 2008

Asocijativna polja POGLAVLJE Ključevi kao cijeli brojevi

Fibonaccijev brojevni sustav

SOUND SOURCE INFLUENCE TO THE ROOM ACOUSTICS QUALITY MEASUREMENT

Rešavanje problema uspostavljanja uslužnih objekata primenom heurističkih metoda

CLINICAL. Neodoljiva ponuda iz Ivoclar Vivadenta PROLJEĆE LJETO. Ponuda traje od: ili do isteka zaliha

Hornerov algoritam i primjene

Linearno programiranje i primjene

Simetrične matrice, kvadratne forme i matrične norme

ANALYSIS OF THE RELIABILITY OF THE "ALTERNATOR- ALTERNATOR BELT" SYSTEM

U ovom dijelu upoznat ćemo strukturu podataka stablo, uvesti osnovnu terminologiju, implementaciju i algoritme nad tom strukturom.

Grupiranje podataka u skupine 1 Rudolf Scitovski, Odjela za matematiku, Sveučilište u Osijeku 2

Unit 1A: Computational Complexity

BROJEVNE KONGRUENCIJE

BREEDING AND GENETIC PROPERTIES OF THE MAIZE VARIETY UZBEKSKA BELA

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

EVOLUTIVNI ALGORITAM ZA UPRAVLJANJE VIŠEAGENTSKIM ROBOTSKIM SUSTAVOM

Mostovi Kaliningrada nekad i sada

Kontrolni uređaji s vremenskom odgodom za rasvjetu i klimu

Algoritam za odre divanje ukupnog poravnanja dva grafa poravnanja parcijalnog ure daja

Transcription:

Umjetna inteligencija Algoritmi iterativnog poboljšanja i lokalnog pretraživanja Tomislav Šmuc, 2009 13-Oct-10 Algoritmi lokalnog pretraživanja 1

Algoritmi Hill-Climbing Simulirano kaljenje Genetski algoritmi 13-Oct-10 Algoritmi lokalnog pretraživanja 2

Algoritmi lokalnog pretraživanja Kod mnogih problema pretraživanja prostora ili optimizacijskih problema: put do rješenja je irelevantan, cilj je istovremeno i željeno rješenje (realni primjeri: tzv. routing problemi, logistika, optimiranje rasporeda, itd...) prostor stanja - jednak je skupu svih kompletnih konfiguracija; opis bilo kojeg stanja sam po sebi sadrži sve informacije nužne za nekakvo rješenje opis stanja definira vrijednost rješenja! Opis: raspored stvari, redoslijed aktivnosti, vrijednosti (n) varijabli... U tim slučajevima možemo koristiti algoritme lokalnog pretraživanja: - kod tih algoritama dovoljno je da pamtimo samo trenutno stanje (ili jedan manji broj stanja) i nastojimo ga iterativno popravljati. 13-Oct-10 Algoritmi lokalnog pretraživanja 3

Algoritmi lokalnog pretraživanja Korisna vizualizacija: krajolik s brdima i dolinama stanja su točke u tom prostoru u realnim problemima - tražimo ili najviše brdo ili najnižu dolinu; nekad smo prisiljeni zadovoljiti se sa zaravnima (!?) F(n) funkcija cilja globalni maksimum lokalni maksimum Trenutno stanje Prostor stanja 13-Oct-10 Algoritmi lokalnog pretraživanja 4

Algoritmi lokalnog pretraživanja eng. Hill Climbing HC - Metoda uspona na vrh - HC - poput metode pretraživanja u dubinu s tim da se širi onaj čvor koji je najpogodniji prema vrijednosti heurističke funkcije, dok se sve informacije o ostalim čvorovima brišu! Napomena: - HC zemljopisna analogija koja se odnosi na maksimiziranje vrijednosti. - u realnim problemima često se radi o minimizaciji. U tom slučaju deepest hole search (metoda najdublje rupe?) bi bio bolji naziv. Važno - dobar izbor heurističke funkcije! 13-Oct-10 Algoritmi lokalnog pretraživanja 5

Usmjerena pretraživanja HC je pohlepna metoda (engl. Greedy search) Nedostaci HC: brežuljak / udolina - lokalni ekstrem slijedni čvorovi (djeca) imaju lošije vrijednosti heurističke funkcije od roditelja hrbat nekoliko susjednih čvorova ima veće/manje e/manje vrijednosti nego slijedni čvorovi zaravan svi slijedni čvorovi imaju iste vrijednosti, rješenje: slučajan skok Posljedice pohlepnosti : - obično algoritam zaglavi u lokalnom max ili min! Pitanje: Kako tome doskočiti?! 13-Oct-10 Algoritmi lokalnog pretraživanja 6

Simulirano napuštanje (kaljenje) Simulated annealing N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth. A.H. Teller and E. Teller, "Equation of State Calculations by Fast Computing Machines," J. Chem. Phys. 21 (1953) 1087-1092. Monte Carlo simulacija velik broj sasvim slučajnih pokušaja Metropolis Monte Carlo simulacija koja je srednja energija sustava na temperaturi T? Parametri/varijable algoritma T temperatura sustava N broj slučajnih pokušaja A sum zbroj svojstava stanja tokom simulacije <A(T)> - očekivana vrijednost fizikalnog svojstva sustava na temperaturi T S0 - početno stanje sustava, S1 novo stanje sustava ε energija stanja 13-Oct-10 Algoritmi lokalnog pretraživanja 7

Simulirano napuštanje (kaljenje) Simulated annealing Algoritam MMCS N=0, A sum =0, T, S0, N max 1. Slučajnim promjenama sustava generiraj novo stanje - S1 2. Izračunaj i usporedi energije ε 0 = ε(s0) i ε 1 = ε (S1) te napravi: Ako ε 1 ε 0 (novo stanje je povoljnije (energetski) od prethodnog) S0 S1; A sum =A sum + a 1 ε 1 > ε 0 (staro stanje je povoljnije (energetski) od novog, ali prijelaz u novo stanje zavisi od (ε 1 - ε 0 )/kt) ako [rand() < e -(ε 1 - ε 0 )/kt onda inače S0 S1; A sum =A sum + a 1 S0 S0; A sum =A sum + a 0 3. N=N+1. Nastavi simulaciju novim korakom 1 13-Oct-10 Algoritmi lokalnog pretraživanja 8

Simulirano napuštanje (kaljenje) Simulated annealing Algoritam MMCS Nakon N max koraka: <A>=A sum /N max To je ustvari aproksimacija Boltzmann-ove distribucije, za bilo koje fizikalno svojstvo na temperaturi T! <A(T)>=SUM(a i *e (- ε i /kt) ) / SUM (e (- ε i /kt) ) A sum /N max Aproksimacija je praktički točna ako: za N max promjene stanja u MC simulaciji trebaju biti fino ugođene! 13-Oct-10 Algoritmi lokalnog pretraživanja 9

Simulirano napuštanje (kaljenje) Simulated annealing Kirkpatrick & co (1983) MMCS može biti iskorištena za optimizaciju! Razlike u odnosu na MMCS: Umjesto fizikalnih svojstava na nekoj T: Zanima nas struktura najboljeg rješenja! Energija => Funkcija cilja koju optimiramo kt je vezano uz landscape funkcije cilja Moramo pamtiti konfiguraciju koja daje najbolju vrijednost funkcije cilja bez obzira na trenutnu konfiguraciju rješenja! Zašto? 13-Oct-10 Algoritmi lokalnog pretraživanja 10

Simulirano napuštanje (kaljenje) Simulated annealing -SA SA je probabilistička adaptacija Hill Climbing algoritma! Algoritam iskače iz lokalnih minimuma na višim temperaturama. SA za T >> 0 F(n) funkcija cilja SA za T ~ 0 Prostor stanja 13-Oct-10 Algoritmi lokalnog pretraživanja 11

Simulirano napuštanje (kaljenje) Simulated annealing - SA SA u praksi: - Metropolisov kriterij e -(ε 1 - ε 0 )/kt je vrlo jednostavno implementirati - Finese su u: generiranju novog stanja iz trenutnog ( pametni operatori rekombinacije iz GA priče mogu poslužiti. No, koji?) određivanju početne temperature T 0 i tzv. krivulje hlađenja (en. cooling schedule) 13-Oct-10 Algoritmi lokalnog pretraživanja 12

Primjer problema Primjer problema N-kraljica Staviti N kraljica na tabli (NxN) tako da se međusobno ne tuku (naravno prema šahovskim pravilima) N=4 13-Oct-10 Algoritmi lokalnog pretraživanja 13

N-kraljica Neka je h(n) broj parova kraljica koji se međusobno tuku (direktno ali i indirektno) Koliki je h? Koliki je maksimalni h za n-kraljica? Kako bi izgledao SA algoritam za N-kraljica? 13-Oct-10 Algoritmi lokalnog pretraživanja 14

Evolucijski i genetski algoritmi - Biološki inspirirana heuristika (populacija jedinki -kromosoma): A) Umjesto jednog trenutnog rješenja imamo populaciju trenutno važećih rješenja (jedinki) B) Koristimo operatore inspirirane prirodnom reprodukcijom (rekombinacija, mutacija) C) Koristimo prirodnu selekciju kao mehanizam preživljavanja jedinki (Darwin - survival of the fittest ) D) Izvršavamo A)-C) veći broj generacija pamtimo najbolje rješenje odnosno ako znamo koji rezultat je ciljni (N-kraljica npr.) prekidamo pretraživanje kada smo došli do cilja! 13-Oct-10 Algoritmi lokalnog pretraživanja 15

Evolucijski i genetski algoritmi Roditelj-1 Roditelj-2 Reprodukcija: - rekombinacija jedinki (en. Crossover) Dijete-1 Dijete-2 13-Oct-10 Algoritmi lokalnog pretraživanja 16

Evolucijski i genetski algoritmi Dijete-1 Mutacija: - mala promjena na jedinki (u prirodi i rijetka!) Mutirano dijete -1 13-Oct-10 Algoritmi lokalnog pretraživanja 17

Evolucijski i genetski algoritmi... f 1 f 2 f 3 f 4 f Generacija i (n komada) Rekombinacija + mutacija n... Djeca generacije i (2n komada) f 1 f 2 f 3 f 4 f 2n Selekcija Nova generacija i+1 (n komada)... f 1 f 2 f 3 f 4 f n 13-Oct-10 Algoritmi lokalnog pretraživanja 18

Jednostavni GA pseudo kod GA(Fitness, n,r,m, e bsf,f(e best )) ) Fitness: evaluacija funkcije cilja n veličina populacije r dio populacije koji treba zamijeniti rekombinacijom m učestalost mutacije e bsf best so far rješenje P <- generiraj inicijalnu populaciju (at random) Evaluiraj svakog člana populacije e i P (fitness(e i )=f(e i )) Dok nije zadovoljen STOP-kriterij Inicijalizacija: Kreiraj novu populaciju P S 1. Selekcija: Probabilistički odredi (1-r)*n članova koji se automatski dodaju P S. Vjerojatnost za odabir člana e i iz P: Pr(e i )=f(e i )/(sum i=1,n (f(e i )) 2. Rekombinacija: Probabilistički odredi r*n/2 parova članova iz P prema Pr (e i ). Za svaki par (e i,e j ) napravi 2 djeteta koristeći operator rekombinacije. Dodaj svu djecu u P S 3. Mutacija: Odaberi m-ti dio članova P at random. Svaki od odabranih mutiraj (binarni kod - promijeni jedan bit!) 4. Zamijeni: P<-P S 5. Evaluiraj: za svaki e i P (fitness(e i )=f(e i )) Rješenje: Vrati najbolji (BSF-e bsf,f(e bsf )) iz zadnje populacije P 13-Oct-10 Algoritmi lokalnog pretraživanja 19

Komponente GA Prvo - definicija problema Potom: Reprezentacija - kodiranje rješenja (geni, kromosomi) Inicijalizacijska procedura (stvaranje prve populacije rješenja) Selekcija (reprodukcija) Genetski operatori (mutacija, rekombinacija/križanje) Evaluacijska funkcija (ocjena jedinke u okolišu) Kriteriji zaustavljanja algoritma 13-Oct-10 Algoritmi lokalnog pretraživanja 20

Reprezentacija Empirijski principi Koristimo kodiranje što je moguće bliže prirodnoj reprezentaciji Na osnovu reprezentacije stvaramo genetske operatore Ako je moguće osiguramo da svi stvoreni genotipovi predstavljaju dozvoljena rješenja Ako je moguće genetski operatori bi trebali osiguravati dozovoljena rješenja 13-Oct-10 Algoritmi lokalnog pretraživanja 21

Reprezentacija rješenja (en. encoding) Moguće reprezentacije Niz bitova (0101... 1100) Realni brojevi (3.2 43.1... 0.0 89.2) Permutacije elemenata (G1 G3 G17... G12 G5) Liste (R1 R2 R3... R22 R23) Dijelovi rač. programa (u genetskom programiranju)... Neka druga struktura podataka... 13-Oct-10 Algoritmi lokalnog pretraživanja 22

Inicijalizacija Slučajno generirane jedinke rješenja, ili - Prethodno spremljena populacija - Skup rješenja generiran ručno (ekspert) - Skup rješenja generiran nekim drugim algoritmom 13-Oct-10 Algoritmi lokalnog pretraživanja 23

Selekcija Darwin - survival of the fittest Svrha: Fokusiranje pretraživanja u dijelovima prostora u kojima evaluacijska funkcija postiže bolje vrijednosti Oprez: Treba naći mjeru između istraživanja prostora i brže konvergencije u prostoru rješenja (opasnost od prebrze konvergencije lokalni optimum) 13-Oct-10 Algoritmi lokalnog pretraživanja 24

Selekcija proporcionalna vrijednosti funkcije cilja Holland kao optimalna ravnoteža između istraživanja prostora (exploration) i konvergencije (exploitation) Nedostatak Super-jedinke mogu izazvati (preranu) konvergenciju p( i) f = = npop i= 1 f f i f i, 13-Oct-10 Algoritmi lokalnog pretraživanja 25

Selekcija prema rang listi Bazirano na sortiranju jedinki prema vrijednosti funkcije cilja Vjerojatnost za selekciju i-te jedinke u rangu: 1 i 1 0.1 p( i) = β 2( β 1),1 2 1 β 0.08 n n 1 0.12 0.06 0.04 β očekivani broj izbora najbolje jedinke kod n izbora 0.02 0 0 5 10 15 20 β 2, n=20 β 1, n=20 13-Oct-10 Algoritmi lokalnog pretraživanja 26

Rekombinacija (en. crossover) Svrha Kombinira dijelove rješenja dobrih roditelja da bi nastala još bolja djeca Rezultat Omogućava kretanje rješenja u smjeru povoljnih dijelova prostora rješenja 13-Oct-10 Algoritmi lokalnog pretraživanja 27

Mutacija Svrha: simuliranje efekata grešaka u prirodnim organizmima koji nastaju kod dupliciranja (s malom vjerojatnosti) Rezultat: Dodatno kretanje u prostoru rješenja Mogući popravak ili vraćanje izgubljene informacije u populaciju 13-Oct-10 Algoritmi lokalnog pretraživanja 28

Evaluacija (en. fitness function) Osnovna pravila Rješenje je dobro koliko je dobra evaluacijska funkcija. Rješenja koja su blizu prema vrijednosti funkcije cilja trebala bi biti blizu i prema izgledu kodiranih rješenja (npr. Prema svom binarnom genotipu) 13-Oct-10 Algoritmi lokalnog pretraživanja 29

Algoritmi lokalnog pretraživanja Približna pravila za evolucijske/genetske algoritme: Rekombinacija i mutacija se dešavaju s određenom vjerojatnosti (p x ~ 1 i p m << 1) Odabir (selekcija) roditelja za rekombinaciju: f (i) > f(j) => p x (i) > p x (j) Odabir jedinke za mutaciju u principu slučajan (Selekcija) za slijedeću generaciju: generacijski princip: novih p x djece i (1-p x ) roditelja steady state GA: novo dijete zamjenjuje trenutno najgoru jedinku u populaciji Svaki problem zahtijeva u principu posebnu: a) konstrukciju kromosoma b) operatora rekombinacije i mutacije (podsjeća li to na ono o čemu smo prije čuli?) 13-Oct-10 Algoritmi lokalnog pretraživanja 30

Kriteriji zaustavljanja Primjeri Unaprijed određen broj generacija ili CPU Rješenje zadovoljava neki unaprijed zadan limit Nema poboljšanja kroz niz generacija (NoImp>Nmax) 13-Oct-10 Algoritmi lokalnog pretraživanja 31

GA Reprezentacija rješenja Klasični pristup Fenotip = rješenje Npr. rješenje: n - cjelobrojnih parametara p i genotip: Binarno kodiranje p i -> b i (0/1) 3 slučaja A) p i {0,1,2,3...2^(N-1)} B) p i {K, K+1,..., K+2^(N-1) } C) p i {0,1,2,... K-1} A) p i - može direktno biti kodiran binarno B) (p i K) može direktno biti kodiran binarno C) Više rješenja 13-Oct-10 Algoritmi lokalnog pretraživanja 32

GA Reprezentacija rješenja C) Moguće rješenje clipping N bit =log(k)+1; kodiraj binarno 0<=p<=K-2 (pre) ostali N-bit stringovi kodiraju samo p=k-1 Primjer: p i {0,1,2,... 6} N=log(7)+1=3 p i genotip 0 000 1 001 2 010 3 011 4 100 5 101 6 110; 111 13-Oct-10 Algoritmi lokalnog pretraživanja 33

GA Reprezentacija rješenja Problem s binarnom reprezentacijom: Bliski brojevi imaju drastično različitu binarnu reprezentaciju (razlikuju se u velikom broju bitova!) To je loše za GA zašto? 13-Oct-10 Algoritmi lokalnog pretraživanja 34

Genetski algoritmi tipovi operatora Operatori rekombinacije 13-Oct-10 Algoritmi lokalnog pretraživanja 35

Genetski algoritmi tipovi operatora Operatori rekombinacije 13-Oct-10 Algoritmi lokalnog pretraživanja 36

Genetski algoritmi tipovi operatora Operatori rekombinacije 13-Oct-10 Algoritmi lokalnog pretraživanja 37

Genetski algoritmi tipovi operatora Mutacija 13-Oct-10 Algoritmi lokalnog pretraživanja 38

Operatori rekombinacije i realni problemi Realni problemi: - Binarna reprezentacija nije uvijek najbolja ili ostvariva - Prikazani operatori rekombinacije se rijetko koriste u generičkom obliku - U realnim problemima kromosomi kodiraju stanja koja moraju zadovoljavati određena ograničenja TSP Traveling salesmen problem A problem in graph theory requiring the most efficient (i.e., least total distance) Hamiltonian circuit a salesman can take through each of cities. No general method of solution is known, and the problem is NP-hard. 13-Oct-10 Algoritmi lokalnog pretraživanja 39

TSP Koji put je najkraći, a obuhvaća sve gradove? TSP crossover problem - u jednom kromosomu jedan grad se može pojaviti samo jednom: - ni jedan od prethodno navedenih operatora ne bi mogao garantirati korektan put nakon rekombinacije! Stoga specijalni operatori za TSP (2-opt, k-opt, PMX, CX) 13-Oct-10 Algoritmi lokalnog pretraživanja 40

TSP primjer operatora rekombinacije P1- jedan od mogućih puteva 13-Oct-10 Algoritmi lokalnog pretraživanja 41

TSP PMX za GA P1, P2 dvije moguće instance puteva u grafu - roditelji odabrani za rekombinaciju u našem genetskom algoritmu 13-Oct-10 Algoritmi lokalnog pretraživanja 42

TSP PMX za GA Partially Mapped Crossover (PMX): (Xover =Crossover) choose a subsequence of a tour from one parent and preserve the order and position of as many cities as possible from the other parent Primjer ( predstavlja točke rekombinacije - 2 point X-over) p1 = (1 2 3 5 4 6 7 8 9) p2 = (4 5 2 1 8 7 6 9 3) Djeca: c1 = (x x x 1 8 7 6 x x) c2 = (x x x 5 4 6 7 x x) Točke rekombinacije određuju i mapiranje xxx se nasljeđuje od roditelja, a dijelovi 1876 i 5467 zamjenjuju mjesta! 1 5, 8 4, 7 6, 6 7. 13-Oct-10 Algoritmi lokalnog pretraživanja 43

TSP PMX za GA Točke rekombinacije određuju i mapiranje xxx se nasljeđuje od roditelja, a dijelovi 1876 i 4567 zamjenjuju mjesta! 1 5, 8 4, 7 6, 6 7. p1 = (1 2 3 5 4 6 7 8 9) p2 = (4 5 2 1 8 7 6 9 3) Sad nastupa tricky part. Moramo dopuniti c1 i c2 s preostalim gradovima no tako da nema ponavljanja! Potom ostavimo gradove koji nisu u konfliktu na mjestima koje su imali u p1 i p2, (2,3,9 za c1(p1) i (2,9,3 za c2(p2)): c1 = (x 2 3 1 8 7 6 x 9) c2 = (x x 2 5 4 6 7 9 3) U zadnjem koraku koristimo mapiranja iz 1. koraka, tj 1 5, 8 4 c1 = (5 2 3 1 8 7 6 4 9) c2 = (8 1 2 5 4 6 7 9 3). 13-Oct-10 Algoritmi lokalnog pretraživanja 44

TSP mutacija Kako izgleda operator mutacije? Napomena: Mutacija izaziva (bi trebala izazivati!) male promjene! c1 = (5 2 3 1 8 7 6 4 9) c1m = (5 3 2 1 8 7 6 4 9) 13-Oct-10 Algoritmi lokalnog pretraživanja 45

Kako (zašto) funkcionira genetski algoritam - shema teorem 13-Oct-10 Algoritmi lokalnog pretraživanja 46

Zašto GA funkcioniraju? - Shema teorem teoretski pogled koji objašnjava zašto GA predstavljaju efikasnu proceduru za pretraživanje prostora stanja - Koristit ćemo binarnu reprezentaciju 13-Oct-10 Algoritmi lokalnog pretraživanja 47

Shema {0,1,#} uz 0,1 - # wild card simbol, ili don t care simbol Shema je uzorak koji je karakterističan za određen broj kromosoma Primjer: Shema [1#1#] pokriva slijedeće kromosome: [1010], [1011], [1110] i [1111] 13-Oct-10 Algoritmi lokalnog pretraživanja 48

Red sheme Red sheme S - o(s) je određen brojem fiksiranih pozicija u kromosomu (0 ili 1) Za S 1 = [0#1#1#], o(s 1 ) = 3 Za S 2 = [1#1010], o(s 2 ) = 5 Pokazat će se da je red sheme koristan za određivanje vjerojatnosti preživljavanja sheme uslijed mutacija. 2 l-o(s) broj različitih kromosoma koji odgovaraju shemi S (u principu samo neki od njih se nalaze u konkretnoj populaciji) 13-Oct-10 Algoritmi lokalnog pretraživanja 49

Duljina sheme (en. defining length) Duljina sheme S - δ(s) jest udaljenost od prve do zadnje fiksne pozicije Za S 1 = [01#1#], δ(s 1 ) = 4 1 = 3 Za S 2 = [#1#1010], δ(s 2 ) = 7 2 = 5 Pokazat će se da je red sheme koristan za određivanje vjerojatnosti preživljavanja sheme uslijed rekombinacije 13-Oct-10 Algoritmi lokalnog pretraživanja 50

Oznake m(s,t) - broj jedinki u populaciji koji pripadaju određenoj shemi S u generaciji t f S (t) prosječna vrijednost funkcije cilja jedinki koje pripadaju shemi S u generaciji t f (t) prosječna vrijednost funkcije cilja svih jedinki populacije u generaciji t 13-Oct-10 Algoritmi lokalnog pretraživanja 51

Efekt selekcije Pod proporcionalnom selekcijom očekivani broj jedinki koji pripada shemi S u generaciji t+1 m (S,t+1) = m (S,t) * ( f S (t)/f (t) ) Uz pretpostavku da shema S ostaje iznad prosječnom uz neku konstantu c, 0 c, (t.j., f S (t) = f (t) + c f (t) ), onda vrjiedi: S m (S,t) = m (S,0) (1 + c) t Tumačenje: iznad prosječna shema dobiva eksponencijalno povećavajući broj jedinki u slijedećoj generaciji 13-Oct-10 Algoritmi lokalnog pretraživanja 52

Efekt rekombinacije Vjerojatnost da će shema preživjeti rekombinaciju uz S ( S = l) je p s (S) 1 p c (δ(s)/(l 1)) Kombinirani efekt selekcije i rekombinacije je: m (S,t+1) m (S,t) ( f S (t)/f (t) ) [1 - p c (δ(s)/(l 1))] Iznad prosječne sheme, s kratkim definirajućim duljinama biti će selektirane uz eksponencijalno povećavajuću vjerojatnost. 13-Oct-10 Algoritmi lokalnog pretraživanja 53

Efekt mutacije Vjerojatnost da shema S preživi mutaciju je: p s (S) = (1 p m ) o(s) Kako je uobičajeno p m << 1, ova se vjerojatnost može aproksimirati: p s (S) 1 p m o(s) Konačno, kombinirani efekti selekcije, rekombinacije i mutacije se mogu sažeti u: m (S,t+1) m (S,t) ( f S (t)/f (t) ) [1 - p c (δ(s)/(l 1)) -p m o(s)] Building block hipoteza Genetski algoritam predstavlja proces traženja blizu-optimalnog rješenja kombiniranjem kratkih, iznad-prosječnih (po vrijednosti funckije cilja) shema niskog reda, koje još nazivamo gradbenim blokovima (en. building blocks) 13-Oct-10 Algoritmi lokalnog pretraživanja 54

Building Block Hipoteza Kako se boriti protiv nezgodnih funkcija cilja: Pitanje: - drukčije kodiranje rješenja - novi genetski operatori (npr. inverzija) Što je u slučaju kodiranja problema sa cjelobrojnim/kontinuiranim varijablama u binarnu reprezentaciju problematično Što je Gray coding? 13-Oct-10 Algoritmi lokalnog pretraživanja 55