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?

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

Umjetna inteligencija

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

Diferencijska evolucija

TEORIJA SKUPOVA Zadaci

Mathcad sa algoritmima

Evolucijski algoritmi

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

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

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

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

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

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

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

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

PARALELNI ALGORITMI ZA PROBLEM GRUPIRANJA PODATAKA

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

Projektovanje paralelnih algoritama II

KVADRATNE INTERPOLACIJSKE METODE ZA JEDNODIMENZIONALNU BEZUVJETNU LOKALNU OPTIMIZACIJU 1

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

Metode rješavanja kvadratičnog problema pridruživanja

Metode izračunavanja determinanti matrica n-tog reda

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

Metode praćenja planova

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

ALGORITMI. Pojam algoritma Blok dijagram

Red veze za benzen. Slika 1.

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

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

Modeliranje genske regulacijske mreže pomoću hibridnog koevolucijskog algoritma

Hamiltonov ciklus i Eulerova tura

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

KRITERIJI KOMPLEKSNOSTI ZA K-MEANS ALGORITAM

ALGORITAM FAKTORIZACIJE GNFS

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

Uvod u analizu (M3-02) 05., 07. i 12. XI dr Nenad Teofanov. principle) ili Dirihleov princip (engl. Dirichlet box principle).

Hornerov algoritam i primjene

ALGORITMI PODIJELI PA VLADAJ

EVOLUTIVNI ALGORITAM ZA UPRAVLJANJE VIŠEAGENTSKIM ROBOTSKIM SUSTAVOM

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

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

Uvod u relacione baze podataka

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

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

Numeričke metode u ekonomiji Dr. sc. Josip Matejaš, EFZG

Ivana Keršek Wright - Fisherov model. Diplomski rad

Ariana Trstenjak Kvadratne forme

Pellova jednadžba. Pell s equation

Prirodom inspirirani optimizacijski algoritmi. Metaheuristike.

Procjena funkcije gustoće

Vektori u ravnini i prostoru. Rudolf Scitovski, Ivan Vazler. 10. svibnja Uvod 1

6. PROGRAMSKE STRUKTURE STRUKTUIRANOG PROGRAMIRANJA

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

Asocijativna polja POGLAVLJE Ključevi kao cijeli brojevi

Sortiranje podataka. Ključne riječi: algoritmi za sortiranje, merge-sort, rekurzivni algoritmi. Data sorting

Quasi-Newtonove metode

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

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

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

Maja Antolović Algoritmi u teoriji brojeva

Neprekidan slučajan vektor

NIZOVI I REDOVI FUNKCIJA

χ 2 -test i Kolmogorov-Smirnovljev test

1 Pogreške Vrste pogrešaka Pogreške zaokruživanja Pogreške nastale zbog nepreciznosti ulaznih podataka

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

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

Neizrazito, evolucijsko i neurora unarstvo.

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

Hrvatski matematički elektronički časopis. Kvantitativne metode odlučivanja - problem složene razdiobe ulaganja

THE CHANGE OF GENETIC AND PHENOTYPIC VARIABILITY OF YIELD COMPONENTS AFTER RECURRENT SELECTION OF MAIZE

Nelder Meadova metoda: lokalna metoda direktne bezuvjetne optimizacije

PRIMENA FAZI LOGIKE ZA REŠAVANJE NP-TEŠKIH PROBLEMA RUTIRANJA VOZILA I

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

Matematika i statistika

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

Sveučilište Josipa Jurja Strossmayera u Osijeku Odjel za matematiku

Metoda parcijalnih najmanjih kvadrata: Regresijski model

Rekurzivni algoritmi POGLAVLJE Algoritmi s rekurzijama

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

PREGLED PARAMETARA ZA AUTOMATSKO KREIRANJE RASPOREDA NASTAVE

HRVATSKA MATEMATIČKA OLIMPIJADA

The Prediction of. Key words: LD converter, slopping, acoustic pressure, Fourier transformation, prediction, evaluation

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

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

Metrički prostori i Riman-Stiltjesov integral

Rješavanje lokacijskog problema ograničenih kapaciteta primjenom algoritma promjenjivih okolina i algoritma roja čestica

Linearno programiranje i primjene

Šta je to mašinsko učenje?

Položaj nultočaka polinoma

PREGLED ALGORITAMA ZA POVEĆANJE VREMENSKE REZOLUCIJE VIDEOSIGNALA

Univerzitet u Beogradu

MATEMATIKA LABIRINATA

ALGORITMI ZA ISPITIVANJE DJELJIVOSTI

Karakteri konačnih Abelovih grupa

Nilpotentni operatori i matrice

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

Fibonaccijev brojevni sustav

Strojno učenje. Ansambli modela. Tomislav Šmuc

Zanimljive rekurzije

Transcription:

Pretraživanje prostora stanja 2. GA, SA Vježbe iz umjetne inteligencije Matko Bošnjak, 2010

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? Tražimo rješenje u prirodi evolucija informacija zakodirana u genima, mijenja se tijekom evolucije u početku imamo neku populaciju populacija je pod utjecajem okoliša [SELEKCIJA] bolji opstaju (samo bolji?) neke jedinke iz populacije se razmnožavaju i dobivaju potomke [KRIŽANJE] a tu i tamo uleti i neka mutacija (virus, radijacija, kozmičke zrake, božja ruka?) [MUTACIJA] i onda sve ispočetka...

PSEUDOKOD: Genetski algoritam GA { generiraj početnu populaciju potencijalnih rješenja sve dok nije zadovoljen uvjet završetka evolucijskog procesa { selektiraj jedinke iz skupa potencijalnih rješenja prema nekoj funkciji cilja križaj jedinke mutiraj jedinke } ispiši rješenje }

Genetski algoritam Reprezentacija rješenja Binarni prikaz konačan broj mogućih rješenja (određen broj bitova) u intervalu [dg, gg] svaki kromosom je niz od n bitova jedna vrijednost iz [dg, gg] (ukupno 2 n vrijednosti) preslikavanje binarni broj b realni broj x x dg n b b = ( 2 1) x = dg + ( gg dg) n gg dg 2 1 željena preciznost rješenja na p decimala određuje duljinu kromosoma n p n ( gg dg) *10 < 2 1 n p log ( gg dg) *10 + 1 log 2 funkcije više varijabli više brojeva u jednom kromosomu Grayev kod Prikaz permutiranim nizom (kasnije u primjeru) ulogu imaju i pozicija broja u nizu i vrijednost tog broja i još mnogo drugih...(stabla)

Genetski algoritam Funkcija cilja/dobrote ocjena kvalitete pojedine jedinke najčešće za svaki problem definiramo preslikavanje optimizacijske funkcije u funkciju dobrote F najveća f u populaciji =f max, dobrota F i =f MAX -f i Generiranje početne populacije obično slučajno odabrana rješenja (npr. slučajne vrijednosti iz intervala [dg, gg]) parametar VEL_POP (veličina populacije)

Selekcija Genetski algoritam preživljavanje dobrih, odumiranje loših jedinki (svaka ima vjerojatnost preživljavanja) generacijski nova populacija se stvara od elemenata stare eliminacijski neke jedinke se eliminiraju, nove ih nadoknađuju parametar (postotak eliminacije)

Genetski algoritam Jednostavni odabir (eng. roulette wheel selection) generacijski izračunaju se dobrote svih jedinki D i te ukupna dobrota populacije D D = izračunaju se kumulativne dobrote q k za svaki kromosom q k VEL _ POP D i i= 1 k = i= 1 D dobrote se poslažu na pravac i, k = 1,2,..., VEL _ POP 0 q 1 q 2 q 3 q i-1 q i q VEL_POP-1 D 1 D 2 D i D 3 D generira se slučajni broj r [0, D] i odabere se jedan kromosom za sljedeću generaciju ponavlja se VEL_POP puta eliminacijski mjera nekvalitete (kazna) D -1 = D max - D i opet se gradi pravac, ovaj puta s kaznama

Genetski algoritam Turnirski odabir (eng. tournament selection) generacijski slučajni odabir k jedinki, najbolja od njih se kopira u novu generaciju eliminacijski slučajni odabir k jedinki, najlošija se eliminira i zamjenjuje novom

Genetski algoritam Križanje binarni operator ( roditelji prenose svojstva na dijete ) križanje s k točaka prekida roditelj1: 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 roditelj2: 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 dijete1: 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 dijete2: 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 uniformno križanje DIJETE = AB + R( A B) roditelj1: roditelj2: maska: 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 dijete1: 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 0 1 (vjerojatnost križanja) samo generacijski odabir!

Genetski algoritam Mutacija jednostavna mutacija slučajna promjena jednog bita unutar kromosoma roditelj: dijete: 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 parametar p m (vjerojatnost mutacije jednog bita) vjerojatnost mutacije kromosoma: p M = 1 - (1 - p m ) n uloga mutacije izbjeći lokalni optimum obnoviti izgubljeni genetski materijal

Genetski algoritam Uvjet završetka procesa (uvjet zaustavljanja) dostignut broj iteracija konvergencija (nema promjena u zadnjih k iteracija)...

Genetski algoritam zadatak Zadatak 7. Genetskim algoritmom tražimo minimum funkcije f(x)=(x-1) 2 u intervalu x [0, 2]. Koristi se binarni prikaz kromosoma uz željenu preciznost rješenja od 2 decimale. Potrebno je prikazati početna rješenja (kromosome) 0.15, 0.45, 0.65, 1.25 i 1.9 i izvršiti postupak eliminacijske selekcije 3- turnirskim odabirom. Eliminirajte jedinku s najvećom vjerojatnošću eliminacije i nadomjestite je novom, nastalom križanjem s jednom točkom prekida između dvije slučajno odabrane jedinke te izračunajte realnu vrijednost i dobrotu nove jedinke. Izvršite operator jednostavne mutacije nad proizvoljno odabranom jedinkom.

Genetski algoritam primjer Problem trgovačkog putnika TSP (eng. Traveling salesman problem) uz dani broj gradova i trošak puta između njih, koji je najkraći put koji prolazi kroz svaki grad točno jedamput i završava u početnom gradu u potpunom težinskom grafu pronaći najkraći hamiltonov ciklus (teorija grafova) Formulirajmo problem: Početno stanje proizvoljni početni grad Stanja n!, ½(n-1)! hamiltonovih ciklusa Funkcija prijelaza prijelaz do drugog grada bez ponavljanja Ciljna funkcija pronaći najmanji mogući put Trošak puta trošak puta do ciljanog grada NP-težak problem želimo optimalno rješenje (pretražiti čitav prostor rješenja) faktorijelna složenost neizvedivo u realnom vremenu (svedivo na eksponencijalnu složenost, svejedno izuzetno težak problem) 15 gradova 43 sekunde 20 gradova 2 godine!!! (pretpostavka od milijardu operacija po sekundi) odustajemo od optimalnog želimo suboptimalno rješenje

Genetski algoritam primjer Početna populacija Reprezentacija rješenja 1 2 8 3 7 1 2 3 4 5 6 7 8 4 6 5

Genetski algoritam primjer Uvjet završetka evolucijskog procesa broj iteracija Funkcija dobrote duljina ciklusa (šetnje) Selekcija poredamo rješenja po vrijednosti funkcije dobrote i uzmemo prvih n najboljih jedinki Genetski operatori...

Genetski algoritam primjer Križanje 1 PMX križanje (eng. Partially Matched Crossover) 1 2 7 5 3 4 5 6 7 8 4 1 8 3 6 2 Križanje 2 1 2 3 4 5 6 7 8 7 5 4 1 8 3 6 2...isto tako i s drugom jedinkom

Genetski algoritam primjer Mutacija 2opt metoda okreće poredak gradova u podstazi 1 1 2 8 2 8 3 7 3 7 4 6 4 6 5 5 1 2 3 4 5 6 7 8

Genetski algoritam komentari Prednosti mogu rješavati proizvoljne optimizacijske probleme rezultat je skup rješenja postupak rješavanja se može proizvoljno ponavljati jednostavna implementacija velike mogućnosti nadogradnje i povećanja učinkovitosti Nedostaci vrlo često je potrebno prilagoditi problem rješenje uvelike ovisi o odabiru parametara priroda rješenja nepoznata nije optimalan (ne garantira pronalazak globalnog rješenja) sporo izvođenje

Simulirano kaljenje Optimizacijska metoda koja oponaša proces kaljenja fizikalni proces zagrijavanja i hlađenja tvari na kontrolirani način željeni rezultat je jaka kristalna struktura ukoliko se hladi brzo, struktura postaje defektivna i krta rezultantna struktura je naše zakodirano rješenje, a temperatura se koristi da bi se odredilo koliko se entropije treba uvesti u pretragu

PSEUDOKOD... Simulirano kaljenje SA { } } (nasumično) inicijaliziraj početno_rješenje trenutno_rješenje = početno_rješenje procjeni trenutno_rješenje sve dok temperatura > konačna_temperatura { ponavljaj X puta{ radno_rješenje = trenutno_rješenje (nasumično) modificiraj radno_rješenje procijeni radno_rješenje ako radno_rješenje bolje od trenutno_rješenje trenutno_rješenje = radno_rješenje inače E izračunaj vjerojatnost rješenja P( E) = exp( ) T ako radno_rješenje prihvaćeno pod vjerojatnošću P trenutno_rješenje = radno_rješenje } smanji temperaturu T i+1 = α*t i //inicijalno rješenje //početna procjena rješenja //metropolis monte-carlo simulacija //modificiranje rješenja (veliko->malo) //procjena rješenja //metropolis kriterij za prihvaćanje //redukcija temperature

Simulirano kaljenje primjer Opet TSP... Reprezentacija rješenja ista kao kod GA Modificiranje rješenja 2opt mutacija

Primjena Koncept pretraživanja primjenjiv je kod raznih (razreda) problema: igre optimizacijski problemi (SA i GA neprocjenjivi) razmještaj komponenata u VLSI sklopovima autonomna navigacija, navigacija robota preusmjeravanje telekomunikacijskih paketa (routing problemi) problemi obilaska pretraživanje WWW-a automatic assembly sequencing protein design......

Što dalje? Genetski algoritam (tek smo zagrebali površinu) Ant Colony Optimization Bees algorithm... Constraint satisfaction problems...

Literatura Umjetna inteligencija S. Russel, P. Norvig, Artificial Intelligence: A Modern Approach, 2Ed M. T. Jones, AI Application Programming, 2Ed Algoritmi R. Sedgewick, Algorithms in C/C++/Java, Part 5 (Graph Algorithms) T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 2Ed Teorija grafova D. Veljan, Kombinatorna i diskretna matematika R. Diestel, Graph Theory Genetski algoritam http://www.zemris.fer.hr/~golub/ga/ga.html

Dodatni zadatak Zadatak Zadana je slijedeća funkcija za koju želimo naći maksimalnu vrijednost korištenjem genetskog algoritma: f = 2(a + b) 2 (c d + 2e)+3 gdje su a-e Boole-ve varijable (0,1). a) Izračunaj f za svaki od članova populacije genetskog algoritma u niže navedenoj tablici i pretpostavi da je f istovremeno i dobrota rješenja. Izračunaj vjerojatnost za svakog od članova da bude odabran za reprodukciju ukoliko se koristi selekcija prema kriteriju proporcionalne selekcije (fitness-proportional selection). a b c d e dobrota(fitness) vjerojatnost reprodukcije 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 0 b) Uz pretpostavku da su u procesu selekcije slučajno odabrana prva dva člana za rekombinaciju, te uz uniformni oblik rekombinacije odredi rezultirajuće potomke. Isto to napravi za rekombinaciju u jednoj točki između b i c.