Napredne pretrage u grafovima

Σχετικά έγγραφα
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

3.1 Granična vrednost funkcije u tački

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

Elementi spektralne teorije matrica

Računarska grafika. Rasterizacija linije

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,

Teorijske osnove informatike 1

Ispitivanje toka i skiciranje grafika funkcija

SISTEMI NELINEARNIH JEDNAČINA

41. Jednačine koje se svode na kvadratne

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

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

18. listopada listopada / 13

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

IZVODI ZADACI (I deo)

Računarska grafika. Rasterizacija linije

Zavrxni ispit iz Matematiqke analize 1

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

Sortiranje prebrajanjem (Counting sort) i Radix Sort

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

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

APROKSIMACIJA FUNKCIJA

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

Operacije s matricama

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

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

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

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

5. Karakteristične funkcije

ELEKTROTEHNIČKI ODJEL

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

Osnovne teoreme diferencijalnog računa

Algoritmi i strukture podataka - 1.cas

5 Ispitivanje funkcija

4 Numeričko diferenciranje

numeričkih deskriptivnih mera.

III VEŽBA: FURIJEOVI REDOVI

Obrada signala

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

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

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

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

Dvanaesti praktikum iz Analize 1

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

IZVODI ZADACI (I deo)

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

Riješeni zadaci: Nizovi realnih brojeva

Sistemi veštačke inteligencije primer 1

Overviev BFS-analiza DFS algoritam. Predstavljanje grafova BFS algoritam. Grafovski algoritmi

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

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

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

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

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

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

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Elektrotehnički fakultet univerziteta u Beogradu 16.maj Odsek za Softversko inžinjerstvo

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

TRIGONOMETRIJSKE FUNKCIJE I I.1.

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

Zadaci iz trigonometrije za seminar

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

radni nerecenzirani materijal za predavanja

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

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

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

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

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

Matematička analiza 1 dodatni zadaci

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

Trigonometrijske nejednačine

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

Kaskadna kompenzacija SAU

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

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

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.

RIJEŠENI ZADACI I TEORIJA IZ

7 Algebarske jednadžbe

INTELIGENTNO UPRAVLJANJE

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Matematika 1 - vježbe. 11. prosinca 2015.

Reverzibilni procesi

OBRTNA TELA. Vladimir Marinkov OBRTNA TELA VALJAK

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

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

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

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

Linearna algebra 2 prvi kolokvij,

Problemi maksimuma i minimuma

1. OPTIMIZACIJA NA MREŽAMA Uvod

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

SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE

( ) π. I slučaj-štap sa zglobovima na krajevima F. Opšte rešenje diferencijalne jednačine (1): min

Funkcije dviju varjabli (zadaci za vježbu)

Algebarske strukture sa jednom operacijom (A, ): Ako operacija ima osobine: zatvorenost i asocijativnost, onda je (A, ) polugrupa

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

Transcript:

Matematička gimnazija Nedelja informatike 3 12. decembar 2016.

Prerequisites i cilj DFS i BFS Koristićemo: Dijkstrin algoritam sa modifikacijama (jedan od razloga zašto je dat u zadatku ACKO na kvalifikacionom testu) C++ STL prioritetni red za implementaciju i poredjenje Best First Search-a, Dijkstre i A* algoritma. AI heuristike - slično kao na Andrejevom predavanju pre dve godine. Hoćemo da dodjemo do traženog stanja ili čvora u grafu(goal node) pod određenim uslovima koje standardni algoritmi pretrage možda ne bi mogli da podrže.

Primeri 2d grid, stanje igre ili jednostavno put izmedju dva grada.

Primeri - cont.

Terminologija b - faktor grananja (branching factor) - prosecan broj suseda čvora u grafu d - dubina do traženja konačnog čvora (ako postoji) heuristika(h) - funkcija koja procenjuje koliko smo daleko od cilja (što je bolja heuristika to ce bolje raditi algoritam) Npr. za primer 8puzzle postoji 362,880 različitih stanja. Ako čuvamo u memoriji već posećenja stanja (što možda nije poželjno) imamo u svakom koraku u proseku 2 mogućnosti (2 ivice u grafu) pa je b=2, a d=2 (za dati primer).

Šta ćemo raditi? Izložićemo C++ implementacije Dijkstre (sa prioritetnim redom), Best-first-search-a i A* algoritma, diskusovati i porediti ih, a zatim dati konkretne primere rada A* algoritma sa određenim heuristikama i odraditi razne varijacije A*: Beam search IDA* Jump-Point-Search(JPS)

Dijkstra with Priority Queue

Dijkstra with Priority Queue

Greedy Best First Search

Greedy Best First Search

A* algoritam

A* algoritam

Poredjenje

Poredjenje - pitanja Koji algoritmi uopšte nalaze bilo kakav put do čvora (ako on postoji)? Koji algoritmi nalaze najkraći (najbolji) put do konačnog čvora? Ocena vremenske/memorijske složenosti za sva 3 algoritma?

Osnove Za nalaženje traženog čvora koristimo i najkraće distance do medju-čvorova (Dijkstra) kao i procenu distance do krajnjeg čvora (BestFirstSearch). Neka je c(p) trenutno najmanje tačno rastojanje do čvora p a h(p) procena rastojanja do krajnjeg čvora od čvora p. Tada se f(p) = c(p) + h(p) baca na prioriteni red i prema tome nalazi put.

Osnove-cont. Neka je h (p) tačno najkraće rastojanje od čvora p do krajnjeg čvora. Šta ako je h(p) > h (p)? A* je kompletan (nalazi rešenje ako ono postoji) i optimalan (nalazi optimalan put do cilja) ako: Težine ivica su > ɛ > 0 Heuristika h(n) je admissible - tj. ( p ) h(p) h (p) U tom slučaju kažemo da je A* admissible.

Heuristike - primeri - Vozač Pravolinijska distanca!

Heuristike - primeri - Robot 2d-grid sa preprekama Robot može da se kreće gore/dole/levo/desno sa cenom 1. Menhetn distanca - Admissible? Šta ako može da se kreće i dijagonalno sa cenom 2?

Heuristike - primeri - 8puzzle h 1 (n) = broj pozicija tile-ova koje maše krajnju. h 2 (n) = suma koraka izmedju trenutne pozicije svakog tile-a do njegove krajnje pozicije. Koja je bolja i da li su admissible?

Rezultati - 8puzzle d - dubina nalaženja rešenja d = 12 BFS: 3,644,035 puteva A (h 1 ) : 227 puteva A (h 2 ) : 73 puteva d = 24 BFS: inf puteva A (h 1 ) : 39135 puteva A (h 2 ) : 1641 puteva

A* admissibility Zašto je A* kompletan (Završava se, ne ulazi u ciklove)? Neka je f min težina optimalnog puta s (nepoznatog ali konačnog ako postoji rešenje) Za svaki pod-put p od s važi f(p) f min (Zbog admissibilnosti heuristike h). Neka je c min = ɛ > 0 minimalna težina svih grana u grafu. Trivijalno svaki put dužine > f min /c min ima težinu veću od f min. Ne može postojati put beskonačne dužine jer se pre njega moraju otkriti svi pod-putevi p, a samim tim i s gde se program završava.

Konzistentna heuristika Heuristika h je konzistentna ako (N) h(n) c(n, P ) + h(p ), gde je: N bilo koji čvor u grafu, P sused čvora N, c(n, P ) težina grane (N, P ) h(g) = 0, gde je G goal node Konzistentna heuristika je ujedno i admissible!

Konzistentna(monotona) heuristika A* algoritam koji koristi konzistentnu heuristiku za pretragu, kada expand-uje čvor prvi put, slično kao Dijkstrin algoritam zna da je našao najbolji put do tog čvora pa svaki čvor posećuje najviše jednom. U ovom slučaju A* algoritam je ekvivalentan Dijkstrin-om algoritmu sa izmenjenim težinama ivica: c (N, P ) = c(n, P ) + h(p ) h(n) Konzistentna heuristika se naziva i monotonom. Za svaki parcijalan put, f(n j ) = g(n j ) + h(n j ) je ne-opadajuća funckija u smeru ka ciljnom čvoru.

Beam Search Šta ako nemamo dovoljno memorije? Beam Search ograničava veličinu prioritetnog reda(ili bilo koje strukture koja održava sortirani poredak) β - beam width U pitanju je trade-off pa gubimo kompletnost i optimalnost!

IDS IDS - Iterative Deepening DFS Hoćemo malo memorije, ali očuvanje komplenosti i optimalnosti! Slično kao DFS, ali idemo do ograničene dubine, i tu dubinu povećavamo iterativno. Memorijska složenost O(bd) kao i kod DFS-a, a vremenska O(b d ).

IDA* Sličan kao IDS, stim što dubinu posmatra po vrednosti funkcije f(p) = c(p) + h(p) Pored sličnog imena, i vrednosti funkcije f IDA* i A* nemaju ništa zajedničko, IDA* ne traži put po najmanjoj vrednosti f preko prioritetnog reda već radi DFS. Neka je početni bound (dubina)=f(s), za start node s. Ako ne nađemo rešenje pod okvirima trenutnog bound-a, povećavamo bound kao minimalnu f vrednost koja ga prekoračuje. Primer na tabli!

IDA* - pseudokod

IDA* - memorija zeleno - start node crveno - goal node plavo - trenutni čvor žuto - čvorovi na steku (kao kod DFS-a) svetlo sivo - posećeni čvorovi braon - čvorovi koji tek treba da se posete

JPS JPS - Jump Point Search 2D grid, cene horizontalno i vertikalno 1, dijagonalno 2. Koristimo simetriju puteva kako bismo "preskočili"neke čvorove za koje smatramo da ih trenitno nije korisno gledati.

JPS-cont. Vertikalno kretanje - nastavljamo desno bez bacanja čvora na prioritetni red Ako imamo prepreke? Dijagonalno kretanje?

JPS-primer Memorijski skoro O(1)

Reference i dodatno čitanje Pathfinding i A*, IDA* - theory.stanford.edu/~amitp/gameprogramming/ www.cs.ubc.ca/~mack/cs322/lectures/2-searchx.pdf (staviti umesto X brojeve od 5 do 8) heyes-jones.com/astar.php JPS - zerowidth.com/2013/05/05/ jump-point-search-explained.html