Representations for Path Finding in Planar Environments
2 Problemstilling Hvordan kan et område med forhindringer repræsenteres bedst, med henblik på at finde korteste veje i området?
3 Repræsentationer GridVisibility GraphNavigation Mesh
4 Konstruktion Grid:
5 Konstruktion Visibility graph:
6 Konstruktion Navigation mesh: GrafDelaunay TriangulationConstrained Delaunay Triangulation
Eksperimenter Labyrinter: 7 GridVisibility GraphNavigation Mesh
Resultater Konstruktion af repræsentationer: 8
Algoritmer til at finde korteste veje i planare omgivelser med forhindringer Algoritmer til søgning i grafer ▫Dijkstra’s algoritme ▫A* Søgning i repræsentationerne ▫Grid ▫Visibility graph ▫Navigation mesh Channels Funnel algoritme 9
Algoritmer til søgning i grafer To typer af algoritmer: ▫Single-source shortest-paths ▫Single-pairs shortest-paths Udførselstid: O(m + n log n) ▫Bruger en minimums prioritetskø med: insert O(log n) tid extract min O(log n) tid decrease keyO(1) tid 10
Algoritmer til søgning i grafer Dijkstra’s algoritme ▫Single-source shortest-paths algoritme ▫Bruger funktionen f(v)=g(v) til at estimere prioriteten v e for en knude v. ▫g(v) = u e + w(u, v) 11
Algoritmer til søgning i grafer A* ▫Single-pairs shortest-paths algoritme ▫Bruger funktionen f(v)=g(v) +h(v) til at estimere prioriteten for en knude v. ▫h(v) = euclidianDist(v, goal) 12
Algoritmer til søgning i grafer A* heuristik egenskaber ▫Admissible – h(v) overestimerer aldrig omkostningen for at komme fra v til målet. h(v) ≤ c(v, goal) ▫Consistent – Når vi går fra v til u ∈ succ(v) kan vi ikke komme tættere på målet end afstanden imellem u og v. h(v) ≤ c(v, u) + h(u) 13
Søgning i repræsentationerne Byg en connectivity graph: ▫Knuder: tilstande i repræsentationen ▫Kanter: transitioner imellem tilstande GridVisibility GraphNavigation Mesh 14
Søgning i repræsentationerne Grids og Visibility graphs ▫Bruger i g(v) den akkumulerede afstand fra startpunktet til v. ▫I h(v) bruges den Euklidiske afstand til målpunktet ▫I grid repræsentationen benyttes midtpunktet af cellen når afstande beregnes. ▫Knuderne i en Visibility graph er kan bruges direkte til estimering af afstandene. 15
Søgning i repræsentationerne Navigation Mesh ▫Heuristikker: Afstand fra midtpunkter på kanterne til målet. Korteste afstand fra kanten til målet. “The heuristic is calculated as the Euclidean distance between the goal and the closest point to it on this edge. We know this heuristic to be both admissible and consistent [...].” - Demyen & Buro 16
Længde: Længde: Demyen & BuroAdmissible Navigation Mesh ▫Heuristikker : 17
Navigation Mesh Channels ▫Graf søge algoritmen returner ikke den direkte sti, men de trekanter som den går igennem, kaldet en channel. 18
Navigation Mesh Funnel algoritme ▫Finder kortesteveje i simple polygoner. ▫Udførselstid: O(n), n = antal interne kanter 19
Funnel Algoritme 20
Funnel Algoritme 21
Funnel Algoritme 22
Funnel Algoritme 23
Funnel Algoritme 24
Funnel Algoritme 25
Funnel Algoritme 26
Funnel Algoritme 27
Funnel Algoritme 28
Funnel Algoritme 29
Funnel Algoritme 30
Funnel Algoritme 31
Funnel Algoritme 32
Funnel Algoritme 33
Funnel Algoritme 34
Funnel Algoritme 35
Funnel Algoritme 36
Funnel Algoritme 37
Funnel Algoritme 38
Funnel Algoritme 39
Funnel Algoritme 40
Funnel Algoritme 41
Funnel Algoritme 42
Funnel Algoritme 43
Funnel Algoritme 44
Funnel Algoritme 45
Funnel Algoritme 46
Funnel Algoritme 47
Funnel Algoritme 48
Funnel Algoritme 49
Funnel Algoritme 50
Funnel Algoritme 51
Funnel Algoritme 52
Funnel Algoritme 53
Funnel Algoritme 54
Funnel Algoritme 55
Funnel Algoritme 56
Funnel Algoritme 57
Resultater Find korteste veje i repræsentationerne: 58