Umjetna inteligencija
13-Oct-10 Algoritmi lokalnog pretraivanja 1
Algoritmi iterativnog poboljanja i lokalnog pretraivanja
Tomislav muc, 2009
Algoritmi
Hill-Climbing Simulirano kaljenje Genetski algoritmi
13-Oct-10 Algoritmi lokalnog pretraivanja 2
Algoritmi lokalnog pretraivanja
Kod mnogih problema pretraivanja prostora ili optimizacijskih problema: put do rjeenja je irelevantan, cilj je istovremeno i eljeno rjeenje (realni primjeri: tzv. routing problemi, logistika, optimiranje rasporeda, itd...)
prostor stanja - jednak je skupu svih kompletnih konfiguracija; opis bilo kojeg stanja sam po sebi sadri sve informacije nune za nekakvo
13-Oct-10 Algoritmi lokalnog pretraivanja 3
opis bilo kojeg stanja sam po sebi sadri sve informacije nune za nekakvo rjeenje opis stanja definira vrijednost rjeenja !
Opis: raspored stvari, redoslijed aktivnosti, vrijednosti (n) varijabli .....
U tim sluajevima moemo koristiti algoritme lokalnog pretraivanja:- kod tih algoritama dovoljno je da pamtimo samo trenutno stanje (ili jedan manji broj stanja) i nastojimo ga iterativno popravljati.
Algoritmi lokalnog pretraivanja
Korisna vizualizacija: krajolik s brdima i dolinama stanja su toke u tom prostoru u realnim problemima - traimo ili najvie brdo ili najniu dolinu; nekad smo prisiljeni zadovoljiti se sa zaravnima (!?)
globalni maksimum
F(n) funkcija cilja
13-Oct-10 Algoritmi lokalnog pretraivanja 4
lokalni maksimum
Trenutno stanje
Prostor stanja
Algoritmi lokalnog pretraivanja
eng. Hill Climbing HC - Metoda uspona na vrh- HC - poput metode pretraivanja u dubinu s tim da se iri onaj vor koji je najpogodniji prema vrijednosti heuristike funkcije,
dok se sve informacije o ostalim vorovima briu !
Napomena:- HC zemljopisna analogija koja se odnosi na maksimiziranje
13-Oct-10 Algoritmi lokalnog pretraivanja 5
- HC zemljopisna analogija koja se odnosi na maksimiziranjevrijednosti.
- u realnim problemima esto se radi o minimizaciji. U tom sluaju deepest hole search (metoda najdublje rupe?) bi bio bolji naziv.
Vano - dobar izbor heuristike funkcije !
Usmjerena pretraivanja
HC je pohlepna metoda (engl. Greedy search)Nedostaci HC:
breuljak / udolina - lokalni ekstrem slijedni vorovi (djeca) imajuloije vrijednosti heuristike funkcije od roditelja
hrbat nekoliko susjednih vorova ima vee/manje vrijednosti nego
13-Oct-10 Algoritmi lokalnog pretraivanja 6
hrbat nekoliko susjednih vorova ima vee/manje vrijednosti negoslijedni vorovi
zaravan svi slijedni vorovi imaju iste vrijednosti, rjeenje: sluajan skok
Posljedice pohlepnosti:- obino algoritam zaglavi u lokalnom max ili min !
Pitanje: Kako tome doskoiti ?!
Simulirano naputanje (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 sluajnih pokuaja Metropolis Monte Carlo simulacija koja je srednja energija sustava natemperaturi T ?
13-Oct-10 Algoritmi lokalnog pretraivanja 7
temperaturi T ?Parametri/varijable algoritma T temperatura sustava N broj sluajnih pokuaja Asum zbroj svojstava stanja tokom simulacije - oekivana vrijednost fizikalnog svojstva sustava na temperaturi T S0 - poetno stanje sustava, S1 novo stanje sustava energija stanja
Simulirano naputanje (kaljenje)
Simulated annealingAlgoritam MMCSN=0, Asum=0, T, S0, Nmax1. Sluajnim promjenama sustava generiraj novo stanje - S12. Izraunaj i usporedi energije 0 = (S0) i 1 = (S1) te napravi:
Ako1 0 (novo stanje je povoljnije (energetski) od prethodnog)
S0 S1; A =A + a
13-Oct-10 Algoritmi lokalnog pretraivanja 8
S0 S1; Asum=Asum+ a1 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
S0 S1; Asum=Asum+ a1inae
S0 S0; Asum=Asum+ a03. N=N+1. Nastavi simulaciju novim korakom 1
Simulirano naputanje (kaljenje)
Simulated annealing
Algoritam MMCSNakon Nmax koraka:
=Asum/NmaxTo je ustvari aproksimacija Boltzmann-ove distribucije, za bilo koje fizikalno svojstvo na temperaturi T !
13-Oct-10 Algoritmi lokalnog pretraivanja 9
=SUM(ai*e(- i/kT)) / SUM (e(- i/kT)) Asum/Nmax
Aproksimacija je praktiki tona ako: za Nmax
promjene stanja u MC simulaciji trebaju biti fino ugoene !
Simulirano naputanje (kaljenje)
Simulated annealing
Kirkpatrick & co (1983) MMCS moe biti iskoritena za optimizaciju !Razlike u odnosu na MMCS:Umjesto fizikalnih svojstava na nekoj T:
Zanima nas struktura najboljeg rjeenja !
13-Oct-10 Algoritmi lokalnog pretraivanja 10
Energija => Funkcija cilja koju optimiramo kT je vezano uz landscape funkcije cilja Moramo pamtiti konfiguraciju koja daje najbolju vrijednost funkcije cilja bez obzirana trenutnu konfiguraciju rjeenja ! Zato ?
Simulirano naputanje (kaljenje)
Simulated annealing -SA
SA je probabilistika adaptacija Hill Climbing algoritma !Algoritam iskae iz lokalnih minimuma na viim temperaturama.
F(n) funkcija cilja
SA za T >> 0
SA za T ~ 0
13-Oct-10 Algoritmi lokalnog pretraivanja 11
Prostor stanja
Simulirano naputanje (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 prie mogu posluiti.
No, koji ?)
13-Oct-10 Algoritmi lokalnog pretraivanja 12
No, koji ?) odreivanju poetne temperature T0 i tzv. krivulje hlaenja
(en. cooling schedule)
Primjer problema
Primjer problema N-kraljica
Staviti N kraljica na tabli (NxN) tako da se meusobno ne tuku
(naravno prema ahovskim pravilima)
N=4
13-Oct-10 Algoritmi lokalnog pretraivanja 13
N-kraljica
Neka je h(n) broj parova kraljica koji se meusobno tuku (direktno ali i indirektno)
Koliki je h ?
Koliki je maksimalni h za n-kraljica ?
13-Oct-10 Algoritmi lokalnog pretraivanja 14
Kako bi izgledao SA algoritam za N-kraljica ?
Evolucijski i genetski algoritmi
- Bioloki inspirirana heuristika (populacija jedinki -kromosoma):
A) Umjesto jednog trenutnog rjeenja imamo populaciju trenutno vaeih rjeenja (jedinki)
B) Koristimo operatore inspirirane prirodnom reprodukcijom(rekombinacija, mutacija)
C) Koristimo prirodnu selekciju kao mehanizampreivljavanja jedinki
13-Oct-10 Algoritmi lokalnog pretraivanja 15
C) Koristimo prirodnu selekciju kao mehanizampreivljavanja jedinki (Darwin - survival of the fittest)
D) Izvravamo A)-C) vei broj generacija pamtimo najbolje rjeenje odnosno ako znamo koji rezultat je ciljni (N-kraljica npr.) prekidamo pretraivanje kada smo doli do cilja !
Reprodukcija:- rekombinacija jedinki
Roditelj-1 Roditelj-2
Evolucijski i genetski algoritmi
13-Oct-10 Algoritmi lokalnog pretraivanja 16
- rekombinacija jedinki(en. Crossover)
Dijete-1 Dijete-2
Evolucijski i genetski algoritmi
Mutacija:- mala promjena na jedinki(u prirodi i rijetka !)
Dijete-1
Mutirano dijete -1
13-Oct-10 Algoritmi lokalnog pretraivanja 17
Evolucijski i genetski algoritmi
Generacija i (n komada)
....
f1 f2 f3 f4 fn
....
f f f f f
Djeca generacije i (2n komada)
Rekombinacija + mutacija
13-Oct-10 Algoritmi lokalnog pretraivanja 18
f1 f2 f3 f4 f2n
Selekcija
....
f1 f2 f3 f4 fn
Nova generacija i+1 (n komada)
Jednostavni GA pseudo kodGA(Fitness, n,r,m, ebsf,f(ebest)) )
Fitness: evaluacija funkcije cilja
n veliina populacije
r dio populacije koji treba zamijeniti rekombinacijom
m uestalost mutacije
ebsf best so far rjeenje
P
Komponente GA
Prvo - definicija problemaPotom: Reprezentacija - kodiranje rjeenja (geni, kromosomi) Inicijalizacijska procedura (stvaranje prve populacije rjeenja)
13-Oct-10 Algoritmi lokalnog pretraivanja 20
Inicijalizacijska procedura (stvaranje prve populacije rjeenja) Selekcija (reprodukcija) Genetski operatori (mutacija, rekombinacija/krianje) Evaluacijska funkcija (ocjena jedinke u okoliu) Kriteriji zaustavljanja algoritma
Reprezentacija
Empirijski principi
Koristimo kodiranje to je mogue blie prirodnoj reprezentaciji
13-Oct-10 Algoritmi lokalnog pretraivanja 21
Na osnovu reprezentacije stvaramo genetske operatore Ako je mogue osiguramo da svi stvoreni genotipovi
predstavljaju dozvoljena rjeenja Ako je mogue genetski operatori bi trebali osiguravati
dozovoljena rjeenja
Reprezentacija rjeenja (en. encoding)
Mogue reprezentacije Niz bitova (0101 ... 1100) Realni brojevi (3.2 43.1 ... 0.0 89.2) Permutacije elemenata (G1 G3 G17 ... G12 G5)
13-Oct-10 Algoritmi lokalnog pretraivanja 22
Permutacije elemenata (G1 G3 G17 ... G12 G5) Liste (R1 R2 R3 ... R22 R23) Dijelovi ra. programa (u genetskom programiranju) ... Neka druga struktura podataka ...
Inicijalizacija
Sluajno generirane jedinke rjeenja, ili
- Prethodno spremljena populacija- Skup rjeenja generiran runo(ekspert)
- Skup rjeenja generiran nekim
13-Oct-10 Algoritmi lokalnog pretraivanja 23
- Skup rjeenja generiran nekimdrugim algoritmom
Selekcija
Darwin - survival of the fittest
Svrha: Fokusiranje pretraivanja u dijelovima prostora u kojima evaluacijska funkcija postie bolje vrijednosti
13-Oct-10 Algoritmi lokalnog pretraivanja 24
bolje vrijednosti
Oprez: Treba nai mjeru izmeu istraivanja prostora i bre konvergencije u prostoru rjeenja (opasnost od prebrze konvergencije lokalni optimum)
Selekcija proporcionalna vrijednosti funkcije
cilja
Holland kao optimalna ravnotea izmeu istraivanja prostora (exploration) i konvergencije (exploitation)
=
=
=
npop
ii
i
ff
ffip
1
,)(
13-Oct-10 Algoritmi lokalnog pretraivanja 25
Nedostatak Super-jedinke mogu izazvati
(preranu) konvergenciju
Selekcija prema rang listi
Bazirano na sortiranju jedinki prema vrijednosti funkcije ciljaVjerojatnost za selekciju i-te jedinke u rangu:
21,11)1(21)(
= n
in
ip0.08
0.1
0.12
13-Oct-10 Algoritmi lokalnog pretraivanja 26
1 nn
oekivani broj izbora najbolje jedinke kod n izbora
0
0.02
0.04
0.06
0 5 10 15 20
2, n=20 1, n=20
Rekombinacija (en. crossover)
Svrha Kombinira dijelove rjeenja dobrih roditelja
da bi nastala jo bolja djecaRezultat
Omoguava kretanje rjeenja u smjeru
13-Oct-10 Algoritmi lokalnog pretraivanja 27
Omoguava kretanje rjeenja u smjerupovoljnih dijelova prostora rjeenja
Mutacija
Svrha: simuliranje efekata greaka u prirodnim organizmima koji
nastaju kod dupliciranja (s malom vjerojatnosti)
Rezultat: Dodatno kretanje u prostoru rjeenja
13-Oct-10 Algoritmi lokalnog pretraivanja 28
Dodatno kretanje u prostoru rjeenja Mogui popravak ili vraanje izgubljene informacije u
populaciju
Evaluacija (en. fitness function)
Osnovna pravila Rjeenje je dobro koliko je dobra evaluacijska funkcija.
Rjeenja koja su blizu prema vrijednosti funkcije cilja trebala
13-Oct-10 Algoritmi lokalnog pretraivanja 29
Rjeenja koja su blizu prema vrijednosti funkcije cilja trebala bi biti blizu i prema izgledu kodiranih rjeenja (npr. Prema svom binarnom genotipu)
Algoritmi lokalnog pretraivanja
Priblina pravila za evolucijske/genetske algoritme:
Rekombinacija i mutacija se deavaju s odreenom vjerojatnosti
(px ~ 1 i pm f(j) => px (i) > px (j)
Odabir jedinke za mutaciju u principu sluajan
(Selekcija) za slijedeu generaciju:
13-Oct-10 Algoritmi lokalnog pretraivanja 30
(Selekcija) za slijedeu generaciju: generacijski princip: novih px djece i (1-px ) roditelja steady state GA: novo dijete zamjenjuje trenutno
najgoru jedinku u populaciji
Svaki problem zahtijeva u principu posebnu:a) konstrukciju kromosomab) operatora rekombinacije i mutacije
(podsjea li to na ono o emu smo prije uli ?)
Kriteriji zaustavljanja
Primjeri Unaprijed odreen broj generacija ili CPU Rjeenje zadovoljava neki unaprijed zadan limit Nema poboljanja kroz niz generacija (NoImp>Nmax)
13-Oct-10 Algoritmi lokalnog pretraivanja 31
GA Reprezentacija rjeenja
Klasini pristup
Fenotip = rjeenje
Npr. rjeenje: n - cjelobrojnih parametara pi
genotip: Binarno kodiranje pi -> bi (0/1)
3 sluaja
A) pi {0,1,2,3...2^(N-1)}
13-Oct-10 Algoritmi lokalnog pretraivanja 32
A) pi {0,1,2,3...2^(N-1)}
B) pi {K, K+1, ... , K+2^(N-1) }
C) pi {0,1,2, ... K-1}
A) pi - moe direktno biti kodiran binarno
B) (pi K) moe direktno biti kodiran binarno
C) Vie rjeenja
GA Reprezentacija rjeenjaC) Mogue rjeenje clipping
Nbit=log(K)+1; kodiraj binarno 0
GA Reprezentacija rjeenja
Problem s binarnom reprezentacijom:
Bliski brojevi imaju drastino razliitu binarnu reprezentaciju (razlikuju se u velikom broju bitova!)
To je loe za GA zato ?
13-Oct-10 Algoritmi lokalnog pretraivanja 34
Genetski algoritmi tipovi operatora
Operatori rekombinacije
13-Oct-10 Algoritmi lokalnog pretraivanja 35
Genetski algoritmi tipovi operatora
Operatori rekombinacije
13-Oct-10 Algoritmi lokalnog pretraivanja 36
Genetski algoritmi tipovi operatora
Operatori rekombinacije
13-Oct-10 Algoritmi lokalnog pretraivanja 37
Genetski algoritmi tipovi operatora
Mutacija
13-Oct-10 Algoritmi lokalnog pretraivanja 38
Operatori rekombinacije i realni problemi
Realni problemi:- Binarna reprezentacija nije uvijek najbolja ili ostvariva- Prikazani operatori rekombinacije se rijetko koriste u generikom obliku- U realnim problemima kromosomi kodiraju stanja koja morajuzadovoljavati odreena ogranienja
TSP Traveling salesmen problem
13-Oct-10 Algoritmi lokalnog pretraivanja 39
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.
TSP
Koji put je najkrai, a obuhvaa sve gradove ?
13-Oct-10 Algoritmi lokalnog pretraivanja 40
TSP crossover problem- u jednom kromosomu jedan grad se moe 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)
TSP primjer operatora rekombinacije
P1- jedan od moguih puteva
13-Oct-10 Algoritmi lokalnog pretraivanja 41
TSP PMX za GA
13-Oct-10 Algoritmi lokalnog pretraivanja 42
P1, P2 dvije mogue instance puteva u grafu- roditelji odabrani za rekombinaciju u naem genetskom algoritmu
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 parentPrimjer ( | predstavlja toke 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)
13-Oct-10 Algoritmi lokalnog pretraivanja 43
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)Toke rekombinacije odreuju i mapiranje xxx se nasljeuje od roditelja, adijelovi 1876 i 5467 zamjenjuju mjesta !1 5, 8 4, 7 6, 6 7.
TSP PMX za GA
Toke rekombinacije odreuju i mapiranje xxx se nasljeuje od roditelja, adijelovi 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)):
13-Oct-10 Algoritmi lokalnog pretraivanja 44
(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 4c1 = (5 2 3 | 1 8 7 6 | 4 9)c2 = (8 1 2 | 5 4 6 7 | 9 3).
TSP mutacijaKako 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 pretraivanja 45
Kako (zato) funkcionira genetski algoritam - shema teorem
13-Oct-10 Algoritmi lokalnog pretraivanja 46
algoritam - shema teorem
Zato GA funkcioniraju ?
- Shema teorem teoretski pogled koji objanjava zato GA predstavljaju efikasnu proceduru za pretraivanje prostora stanja
- Koristit emo binarnu reprezentaciju
13-Oct-10 Algoritmi lokalnog pretraivanja 47
Shema
{0,1,#} uz 0,1 - # wild card simbol, ili dont care simbolShema je uzorak koji je karakteristian za odreen broj kromosoma
Primjer:
13-Oct-10 Algoritmi lokalnog pretraivanja 48
Primjer: Shema [1#1#] pokriva slijedee kromosome: [1010], [1011], [1110] i [1111]
Red sheme
Red sheme S - o(S) je odreen brojem fiksiranih pozicija u kromosomu (0 ili 1)Za S1 = [0#1#1#], o(S1) = 3Za S2 = [1#1010], o(S2) = 5Pokazat e se da je red sheme koristan za odreivanje vjerojatnosti
13-Oct-10 Algoritmi lokalnog pretraivanja 49
Pokazat e se da je red sheme koristan za odreivanje vjerojatnosti preivljavanja sheme uslijed mutacija.
2 l-o(S) broj razliitih kromosoma koji odgovaraju shemi S (u principu samo neki od njih se nalaze u konkretnoj populaciji)
Duljina sheme (en. defining length)
Duljina sheme S - (S) jest udaljenost od prve do zadnje fiksne pozicije
Za S1 = [01#1#], (S1) = 4 1 = 3 Za S2 = [#1#1010], (S2) = 7 2 = 5Pokazat e se da je red sheme koristan za odreivanje
13-Oct-10 Algoritmi lokalnog pretraivanja 50
Pokazat e se da je red sheme koristan za odreivanje vjerojatnosti preivljavanja sheme uslijed rekombinacije
Oznake
m(S,t) - broj jedinki u populaciji koji pripadaju odreenoj shemi Su generaciji t
fS(t) prosjena vrijednost funkcije cilja jedinki koje pripadaju shemi S u generaciji t
13-Oct-10 Algoritmi lokalnog pretraivanja 51
f (t) prosjena vrijednost funkcije cilja svih jedinki populacije ugeneraciji t
Efekt selekcije
Pod proporcionalnom selekcijom oekivani broj jedinki koji pripada shemi S u generaciji t+1m (S,t+1) = m (S,t) * ( fS(t)/f (t) )
Uz pretpostavku da shema S ostaje iznad prosjenom uz neku konstantu c, 0 c, (t.j., fS(t) = f (t) + c f (t) ), onda vrjiedi:
13-Oct-10 Algoritmi lokalnog pretraivanja 52
S
m (S,t) = m (S,0) (1 + c)t
Tumaenje: iznad prosjena shema dobiva eksponencijalno poveavajui broj jedinki u slijedeoj generaciji
Efekt rekombinacije
Vjerojatnost da e shema preivjeti rekombinaciju uz S (|S| = l) jeps(S) 1 pc((S)/(l 1))
Kombinirani efekt selekcije i rekombinacije je:m (S,t+1) m (S,t) ( fS(t)/f (t) ) [1 - pc((S)/(l 1))]
13-Oct-10 Algoritmi lokalnog pretraivanja 53
Iznad prosjene sheme, s kratkim definirajuim duljinama biti e selektirane uz eksponencijalno poveavajuu vjerojatnost.
Efekt mutacije
Vjerojatnost da shema S preivi mutaciju je:ps(S) = (1 pm)o(S)
Kako je uobiajeno pm
Building Block Hipoteza
Kako se boriti protiv nezgodnih funkcija cilja:- drukije kodiranje rjeenja- novi genetski operatori (npr. inverzija)
Pitanje:to je u sluaju kodiranja problema sa
13-Oct-10 Algoritmi lokalnog pretraivanja 55
to je u sluaju kodiranja problema sa cjelobrojnim/kontinuiranim varijablama u binarnu reprezentaciju problematino to je Gray coding ?