SlideShare a Scribd company logo
STUDY AND DEVELOPMENT OF HIERARCHICAL PATH
FINDING TO SPEED UP CROWD SIMULATION
MSc. Carlos Fuentes Paredes1
OUTLINE
○ Introduction
○ State of the Art
● Spatial Subdivision
● Path Finding Algorithms
● Hierarchical Path Finding
○ Our Approach
● Hierarchical Subdivision
● Path Finding Computation
○ Results
● Performance Test
○ Conclusions and Future Work 2
INTRODUCTION
3
○ Pathfinding: A*
● Expands the nodes in the
graph representation of
the environment with the
smallest estimated
solution cost first
○ Path finding cost can
grow exponentially with
the size of the terrain!
○ Hierarchical approaches
SPATIAL SUBDIVISION
○ Regular Grids
● 2D square cells (cell same size)
● Each cell stores information.
○ Passable or impassable
○ Local information for collision of the environment
● Nodes represent cells and edges the connectivity
4
SPATIAL SUBDIVISION
○ Probabilistic Roadmaps (PRM)
● Select non-obstacle sample points from the map
● Retain collision-free points for some configuration of
an agent. “milestone”
● Linked by straight paths to its k-nearest neighbours.
5
SPATIAL SUBDIVISION
○ Navigation Meshes (NavMesh)
● Cover walkable surfaces with convex polygons
● Each polygon represents a walkable area and the
connection between cells are the edges.
○ Quality paths.
○ Dynamic updates.
6
PATHFINDING ALGORITHMS
○ A*
● f(s) = g(n)+h(n)
● At each iteration it expands the node n with the lowest cost
○ Anytime Repairing A* (ARA*)
● f(s) = g(n)+ε∗h(n) ε ≥1
● Reuse of Search Results
○ D* Lite
● Re-planning method in unknown terrain
○ Anytime Dynamic A* (AD*)
● D* Lite + ARA*
7
HIERARCHICAL APPROACHES
○ Problem: Efficient pathfinding in very large
environments
○ Sometimes there are many optimal paths
○ A* would expand too many nodes!
8
HPA*
○ Build a smaller search space (abstract graph)
○ Pathfinding based on areas, not on tiles
○ Faster and lower memory requirements
○ Pre-processing:
● Build abstract graph (Clusters and Entrances)
○ Run-time processing:
● Insert start and goal into abstract graph
● Find abstract solution
● Refine if necessary
9
10
11
12
13
14
15
16
17
18
HPA*
19
Advantages Disadvantages
Low memory overhead Non-optimal (but very
close)
Easy to implement Assumes fixed-size agents
Very fast Based on Grids
GRIDS VS NAVMESHES
○ Grids
● Paths don’t look realistic (fixed angles) .
● Often need to apply smoothing
● Not very useful in 3D spaces
● High resolution grids have large memory footprint
○ NavMeshes
● Much smaller graphs
● Creates shorter and more natural paths 
● Handle indoor and outdoor terrains well
20
OUR APPROACH
○ Inspired by HPA*
○ Hierarchy of graphs
○ Based on NavMeshes
○ Pre-processing Step
● Graph partitioning
● Build hierarchy of graphs
○ Online Step
● Path finding computation
21
PRE-PROCESSING STEP
○ Recast Tool
● NavMesh discretization from a triangle soup
● Via Watershed Partitioning
● Input: arbitrary polygon soup with triangles marked
as walkable.
22
RECAST TOOL
1) Voxelize the polygons. 2) Build navigable space from
solid voxels.
3) Build watershed partitioning 4) Trace and simplify region
filter out unwanted regions. and contours.
23
RECAST TOOL
24
Triangulate the region polygons and build edge connectivity.
PRE-PROCESSING STEP
○ Build graph at level 0
25
Navigation Mesh Graph representation (Level 0)
GRAPH PARTITIONING
○ K-way multilevel algorithm (MLkP)
● Coarsening Phase.
● Initial Partitioning Phase.
● Uncoarsening Phase
26
COARSENING PHASE
○ A coarser graph can be obtained by collapsing
adjacent vertices.
● Matching
○ No two of which are incident on the same vertex.
● Maximal Matching
○ No more edges can be added and remain a matching
27
INITIAL PARTITIONING PHASE
○ Partition of the coarsest using k-way partitioning
algorithm
● Divide the graph into k equal-sized sets
● Apply the Kernighan-Lin algorithm for each pair of
subsets
○ Starts with an initial bipartition of the graph
○ In each iteration, it searches for a subset of vertices such
that swapping them leads to a partition with a smaller edge
cut
● Each part contains roughly half of the vertex weight
of the original graph
○ High quality edge cuts
28
UNCOARSENING PHASE
○ The partitioning of the coarser graph Gm is
projected back to the original.
○ Assign the pairs of vertices that were collapsed
together to the same partition as that of their
corresponding collapsed vertex.
29
HIERARCHICAL SUBDIVISION
30
Point-TessellatedVoxelization
CHECK PARTITIONS
11/27/2014
31
BUILD GRAPH
○ Portals: middle point in a common edge between
to partitions.
○ Store path and cost for each IntraEdge
32
HIERARCHICAL SUBDIVISION
City Islands (numMergedNodes = 3; levels = 5)
33
ONLINE STEP
○ Path Finding Computation between Start (S) and
Goal (G) positions.
○ Done at any level of the hierarchy.
○ Five steps
● Find S and G al certain level
● Connect S and G to the graph
● Search for a path between S and G at the highest level
● Obtain optimal subpaths
● Delete temporal nodes
34
FIND S AND G AL CERTAIN LEVEL
○ Input: Start (S) and Goal (G) positions at level 0.
○ Recursively look for their parents.
35
Level 0 Level 1 Level 2
Level 3 Level 4
CONNECT S AND G TO THE GRAPH
○ Temporal Start an Goal nodes are created.
○ Add temporal IntraEdges to the portals.
● Run A*
● Store paths and costs
36
Level 2
SEARCH FOR A PATH BETWEEN S AND G AT
THE HIGHEST LEVEL
○ A* at certain level
37
Level 2
OBTAIN OPTIMAL SUBPATHS
38
Level 2
Final ResultLevel 0
Level 1
RESULTS
39
LEVEL VS NUMBER OF NODES (SCIRUS
MODEL)
40
NumberofNodes
0
2100
4200
6300
8400
10500
12600
14700
16800
18900
Level
0 2 5 7 9
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
LEVEL VS TOTAL TIME (MAP MODEL 200
NODES)
41
Totaltime(ms)
0
0.55
1.1
1.65
2.2
Level
0 1 3 4 5
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
PERFORMANCE TEST (MAP MODEL)
42
Fastest time (numMergedNodes = 2; level = 2)
208 nodes (0.347 ms) 24 nodes (0.14 ms)
LEVEL VS TOTAL TIME (TROPICAL ISLANDS
12666 NODES)
43
Totaltime(ms)
0
4
8
12
16
Level
0 2 4 5 7
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
PERFORMANCE TEST (TROPICAL ISLANDS)
44
Fastest time (numMergedNodes = 16; level = 2)
12666 nodes (6.536 ms) 84 nodes (0.1625 ms)
45
0.12%
81.05%
17.09%
1.73%
0.01%
46
FIND S AND G AL CERTAIN LEVEL
47
Totaltime(ms)
0
0.002
0.004
0.005
0.007
Level
0 2 4 5 7
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
48
CONNECT S AND G TO THE GRAPH
49
Totaltime(ms)
0
4.5
9
13.5
18
Level
0 2 4 5 7
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
Number of Portals
50
numMergedNodes = 10; level = 3
51
SEARCH FOR A PATH BETWEEN S AND G AT
THE HIGHEST LEVEL
52
Totaltime(ms)
0
1.25
2.5
3.75
5
Level
0 2 4 5 7
4.606
3.685
2.259
1.686
1.285
1.183 1.196
1.333
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
Number of Nodes
53
OBTAIN OPTIMAL SUBPATHS
54
Totaltime(ms)
0
0.075
0.15
0.225
0.3
Level
0 2 3 5 6
Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6
Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12
Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
OBTAIN OPTIMAL SUBPATHS
55
No intermediate subpaths
56
PATH QUALITY
57
Level 0 (PFC = 769.48) Level 1 (PFC = 865.27)
Level 2 (PFC = 861.45) Level 3 (PFC = 934.39)
* PFC = Pathfinding Cost
CONCLUSIONS AND FUTURE WORK
○ Hierarchical path finding framework
○ Over navigation meshes.
○ Fast time executions for path planning.
○ Improve Link S and G step
○ GPU implementation.
○ Dynamic environments
58
STUDY AND DEVELOPMENT OF HIERARCHICAL PATH
FINDING TO SPEED UP CROWD SIMULATION
Thank you!59
EXTRA SLIDES
60
HIERARCHICAL APPROACHES
○ HAA*
● HPA*-style abstraction & search.
● Combined with clearance-based pathfinding.
● Size of the agents and terrain traversal capabilities
61
HPA*
62

More Related Content

What's hot

이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
devCAT Studio, NEXON
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기
Chris Ohk
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unity Technologies
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
Guerrilla
 
Game Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationGame Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content Generation
Nick Pruehs
 
25 tips to build Tutorials on Board Game Arena
25 tips to build Tutorials on Board Game Arena25 tips to build Tutorials on Board Game Arena
25 tips to build Tutorials on Board Game Arena
Board Game Arena
 
Game Design Fundamentals: The Formal Elements
Game Design Fundamentals: The  Formal ElementsGame Design Fundamentals: The  Formal Elements
Game Design Fundamentals: The Formal Elements
Christina Wodtke
 
Making an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online StoryMaking an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online Story
David Salz
 
RedisConf18 - Ad serving platform using Redis
RedisConf18 - Ad serving platform using Redis RedisConf18 - Ad serving platform using Redis
RedisConf18 - Ad serving platform using Redis
Redis Labs
 
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Unity Technologies
 
Bradfield, Chris - Godot engine game development projects_ build five cross-p...
Bradfield, Chris - Godot engine game development projects_ build five cross-p...Bradfield, Chris - Godot engine game development projects_ build five cross-p...
Bradfield, Chris - Godot engine game development projects_ build five cross-p...
Francisco S. Barralaga
 
TicTacToe.pptx
TicTacToe.pptxTicTacToe.pptx
TicTacToe.pptx
AnupamSingh260113
 
Procedural Content Generation
Procedural Content GenerationProcedural Content Generation
Procedural Content Generation
Pier Luca Lanzi
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
Slide_N
 
Voxel based global-illumination
Voxel based global-illuminationVoxel based global-illumination
Voxel based global-illumination
SeyedMorteza Mostajabodaveh
 
The basics of Game Design - How to design a video game
The basics of Game Design - How to design a video gameThe basics of Game Design - How to design a video game
The basics of Game Design - How to design a video game
Juan Gabriel Gomila Salas
 
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Luke Dicken
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Dae Hyek KIM
 
Tic tac toe c++ programing
Tic tac toe c++ programingTic tac toe c++ programing
Tic tac toe c++ programing
Krishna Agarwal
 
Basic Poker Strategy
Basic Poker StrategyBasic Poker Strategy
Basic Poker Strategy
Gerry Roozendaal
 

What's hot (20)

이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
 
Game Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationGame Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content Generation
 
25 tips to build Tutorials on Board Game Arena
25 tips to build Tutorials on Board Game Arena25 tips to build Tutorials on Board Game Arena
25 tips to build Tutorials on Board Game Arena
 
Game Design Fundamentals: The Formal Elements
Game Design Fundamentals: The  Formal ElementsGame Design Fundamentals: The  Formal Elements
Game Design Fundamentals: The Formal Elements
 
Making an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online StoryMaking an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online Story
 
RedisConf18 - Ad serving platform using Redis
RedisConf18 - Ad serving platform using Redis RedisConf18 - Ad serving platform using Redis
RedisConf18 - Ad serving platform using Redis
 
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
 
Bradfield, Chris - Godot engine game development projects_ build five cross-p...
Bradfield, Chris - Godot engine game development projects_ build five cross-p...Bradfield, Chris - Godot engine game development projects_ build five cross-p...
Bradfield, Chris - Godot engine game development projects_ build five cross-p...
 
TicTacToe.pptx
TicTacToe.pptxTicTacToe.pptx
TicTacToe.pptx
 
Procedural Content Generation
Procedural Content GenerationProcedural Content Generation
Procedural Content Generation
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
 
Voxel based global-illumination
Voxel based global-illuminationVoxel based global-illumination
Voxel based global-illumination
 
The basics of Game Design - How to design a video game
The basics of Game Design - How to design a video gameThe basics of Game Design - How to design a video game
The basics of Game Design - How to design a video game
 
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 
Tic tac toe c++ programing
Tic tac toe c++ programingTic tac toe c++ programing
Tic tac toe c++ programing
 
Basic Poker Strategy
Basic Poker StrategyBasic Poker Strategy
Basic Poker Strategy
 

Similar to HPA*

GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11
smashflt
 
Druinsky_SIAMCSE15
Druinsky_SIAMCSE15Druinsky_SIAMCSE15
Druinsky_SIAMCSE15
Karen Pao
 
S2
S2S2
Geo data analytics
Geo data analyticsGeo data analytics
Geo data analytics
Daniel Marcous
 
Specialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBaseSpecialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBase
Jim Klucar
 
High-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHigh-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECL
HPCC Systems
 
Pathfinding in games
Pathfinding in gamesPathfinding in games
Pathfinding in games
Adrian Popovici
 
Implementation
ImplementationImplementation
Implementation
Syed Zaid Irshad
 
Algorithms of graph
Algorithms of graphAlgorithms of graph
Algorithms of graph
getacew
 
Embeddings the geometry of relational algebra
Embeddings  the geometry of relational algebraEmbeddings  the geometry of relational algebra
Embeddings the geometry of relational algebra
Nikolaos Vasiloglou
 
Challenges in knowledge graph visualization
Challenges in knowledge graph visualizationChallenges in knowledge graph visualization
Challenges in knowledge graph visualization
GraphAware
 
Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.
Vissarion Fisikopoulos
 
problem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , problomsproblem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , probloms
SlimAmiri
 
Tokyo conference
Tokyo conferenceTokyo conference
distance_matrix_ch
distance_matrix_chdistance_matrix_ch
distance_matrix_ch
vikasveshishth
 
Nand or gates ver_student
Nand or gates ver_studentNand or gates ver_student
Nand or gates ver_student
WanNurdiana
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and Culling
Mark Kilgard
 
Backtracking & branch and bound
Backtracking & branch and boundBacktracking & branch and bound
Backtracking & branch and bound
Vipul Chauhan
 
Data Structures - Lecture 10 [Graphs]
Data Structures - Lecture 10 [Graphs]Data Structures - Lecture 10 [Graphs]
Data Structures - Lecture 10 [Graphs]
Muhammad Hammad Waseem
 
Distributed computing with spark
Distributed computing with sparkDistributed computing with spark
Distributed computing with spark
Javier Santos Paniego
 

Similar to HPA* (20)

GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11
 
Druinsky_SIAMCSE15
Druinsky_SIAMCSE15Druinsky_SIAMCSE15
Druinsky_SIAMCSE15
 
S2
S2S2
S2
 
Geo data analytics
Geo data analyticsGeo data analytics
Geo data analytics
 
Specialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBaseSpecialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBase
 
High-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHigh-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECL
 
Pathfinding in games
Pathfinding in gamesPathfinding in games
Pathfinding in games
 
Implementation
ImplementationImplementation
Implementation
 
Algorithms of graph
Algorithms of graphAlgorithms of graph
Algorithms of graph
 
Embeddings the geometry of relational algebra
Embeddings  the geometry of relational algebraEmbeddings  the geometry of relational algebra
Embeddings the geometry of relational algebra
 
Challenges in knowledge graph visualization
Challenges in knowledge graph visualizationChallenges in knowledge graph visualization
Challenges in knowledge graph visualization
 
Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.Oracle-based algorithms for high-dimensional polytopes.
Oracle-based algorithms for high-dimensional polytopes.
 
problem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , problomsproblem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , probloms
 
Tokyo conference
Tokyo conferenceTokyo conference
Tokyo conference
 
distance_matrix_ch
distance_matrix_chdistance_matrix_ch
distance_matrix_ch
 
Nand or gates ver_student
Nand or gates ver_studentNand or gates ver_student
Nand or gates ver_student
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and Culling
 
Backtracking & branch and bound
Backtracking & branch and boundBacktracking & branch and bound
Backtracking & branch and bound
 
Data Structures - Lecture 10 [Graphs]
Data Structures - Lecture 10 [Graphs]Data Structures - Lecture 10 [Graphs]
Data Structures - Lecture 10 [Graphs]
 
Distributed computing with spark
Distributed computing with sparkDistributed computing with spark
Distributed computing with spark
 

More from Carlos Fuentes

Descubriendo el poder de la Ciencia de Datos.pdf
Descubriendo el poder de la Ciencia de Datos.pdfDescubriendo el poder de la Ciencia de Datos.pdf
Descubriendo el poder de la Ciencia de Datos.pdf
Carlos Fuentes
 
soda-sql
soda-sqlsoda-sql
soda-sql
Carlos Fuentes
 
Firebolt vs Snowflake
Firebolt vs SnowflakeFirebolt vs Snowflake
Firebolt vs Snowflake
Carlos Fuentes
 
Data Ingestion in AWS
Data Ingestion in AWSData Ingestion in AWS
Data Ingestion in AWS
Carlos Fuentes
 
Data Mesh
Data MeshData Mesh
Data Mesh
Carlos Fuentes
 
CD4ML
CD4MLCD4ML
Adaptive Big Data Pipelines
Adaptive Big Data PipelinesAdaptive Big Data Pipelines
Adaptive Big Data Pipelines
Carlos Fuentes
 
Deep learning algo mas que una moda
Deep learning algo mas que una modaDeep learning algo mas que una moda
Deep learning algo mas que una moda
Carlos Fuentes
 
Realidad virtual
Realidad virtualRealidad virtual
Realidad virtual
Carlos Fuentes
 
Entrega contínua en la práctica
Entrega contínua en la prácticaEntrega contínua en la práctica
Entrega contínua en la práctica
Carlos Fuentes
 
Análisis, preparación y visualización de datos usando herramientas Open Source
Análisis, preparación y visualización de datos usando herramientas Open SourceAnálisis, preparación y visualización de datos usando herramientas Open Source
Análisis, preparación y visualización de datos usando herramientas Open Source
Carlos Fuentes
 
Introducción a Data Science
Introducción a Data ScienceIntroducción a Data Science
Introducción a Data Science
Carlos Fuentes
 

More from Carlos Fuentes (12)

Descubriendo el poder de la Ciencia de Datos.pdf
Descubriendo el poder de la Ciencia de Datos.pdfDescubriendo el poder de la Ciencia de Datos.pdf
Descubriendo el poder de la Ciencia de Datos.pdf
 
soda-sql
soda-sqlsoda-sql
soda-sql
 
Firebolt vs Snowflake
Firebolt vs SnowflakeFirebolt vs Snowflake
Firebolt vs Snowflake
 
Data Ingestion in AWS
Data Ingestion in AWSData Ingestion in AWS
Data Ingestion in AWS
 
Data Mesh
Data MeshData Mesh
Data Mesh
 
CD4ML
CD4MLCD4ML
CD4ML
 
Adaptive Big Data Pipelines
Adaptive Big Data PipelinesAdaptive Big Data Pipelines
Adaptive Big Data Pipelines
 
Deep learning algo mas que una moda
Deep learning algo mas que una modaDeep learning algo mas que una moda
Deep learning algo mas que una moda
 
Realidad virtual
Realidad virtualRealidad virtual
Realidad virtual
 
Entrega contínua en la práctica
Entrega contínua en la prácticaEntrega contínua en la práctica
Entrega contínua en la práctica
 
Análisis, preparación y visualización de datos usando herramientas Open Source
Análisis, preparación y visualización de datos usando herramientas Open SourceAnálisis, preparación y visualización de datos usando herramientas Open Source
Análisis, preparación y visualización de datos usando herramientas Open Source
 
Introducción a Data Science
Introducción a Data ScienceIntroducción a Data Science
Introducción a Data Science
 

Recently uploaded

3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
David Osipyan
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills MN
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
MaheshaNanjegowda
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
Gokturk Mehmet Dilci
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
European Sustainable Phosphorus Platform
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
Anagha Prasad
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
IshaGoswami9
 
Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
University of Hertfordshire
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
muralinath2
 
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdfwaterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
LengamoLAppostilic
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
Daniel Tubbenhauer
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
Sérgio Sacani
 
aziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobelaziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobel
İsa Badur
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
Sérgio Sacani
 
20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx
Sharon Liu
 
Bob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdfBob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdf
Texas Alliance of Groundwater Districts
 
Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...
Leonel Morgado
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 

Recently uploaded (20)

3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
 
Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
 
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdfwaterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
 
aziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobelaziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobel
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
 
20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx
 
Bob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdfBob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdf
 
Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 

HPA*

  • 1. STUDY AND DEVELOPMENT OF HIERARCHICAL PATH FINDING TO SPEED UP CROWD SIMULATION MSc. Carlos Fuentes Paredes1
  • 2. OUTLINE ○ Introduction ○ State of the Art ● Spatial Subdivision ● Path Finding Algorithms ● Hierarchical Path Finding ○ Our Approach ● Hierarchical Subdivision ● Path Finding Computation ○ Results ● Performance Test ○ Conclusions and Future Work 2
  • 3. INTRODUCTION 3 ○ Pathfinding: A* ● Expands the nodes in the graph representation of the environment with the smallest estimated solution cost first ○ Path finding cost can grow exponentially with the size of the terrain! ○ Hierarchical approaches
  • 4. SPATIAL SUBDIVISION ○ Regular Grids ● 2D square cells (cell same size) ● Each cell stores information. ○ Passable or impassable ○ Local information for collision of the environment ● Nodes represent cells and edges the connectivity 4
  • 5. SPATIAL SUBDIVISION ○ Probabilistic Roadmaps (PRM) ● Select non-obstacle sample points from the map ● Retain collision-free points for some configuration of an agent. “milestone” ● Linked by straight paths to its k-nearest neighbours. 5
  • 6. SPATIAL SUBDIVISION ○ Navigation Meshes (NavMesh) ● Cover walkable surfaces with convex polygons ● Each polygon represents a walkable area and the connection between cells are the edges. ○ Quality paths. ○ Dynamic updates. 6
  • 7. PATHFINDING ALGORITHMS ○ A* ● f(s) = g(n)+h(n) ● At each iteration it expands the node n with the lowest cost ○ Anytime Repairing A* (ARA*) ● f(s) = g(n)+ε∗h(n) ε ≥1 ● Reuse of Search Results ○ D* Lite ● Re-planning method in unknown terrain ○ Anytime Dynamic A* (AD*) ● D* Lite + ARA* 7
  • 8. HIERARCHICAL APPROACHES ○ Problem: Efficient pathfinding in very large environments ○ Sometimes there are many optimal paths ○ A* would expand too many nodes! 8
  • 9. HPA* ○ Build a smaller search space (abstract graph) ○ Pathfinding based on areas, not on tiles ○ Faster and lower memory requirements ○ Pre-processing: ● Build abstract graph (Clusters and Entrances) ○ Run-time processing: ● Insert start and goal into abstract graph ● Find abstract solution ● Refine if necessary 9
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. 13
  • 14. 14
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. HPA* 19 Advantages Disadvantages Low memory overhead Non-optimal (but very close) Easy to implement Assumes fixed-size agents Very fast Based on Grids
  • 20. GRIDS VS NAVMESHES ○ Grids ● Paths don’t look realistic (fixed angles) . ● Often need to apply smoothing ● Not very useful in 3D spaces ● High resolution grids have large memory footprint ○ NavMeshes ● Much smaller graphs ● Creates shorter and more natural paths  ● Handle indoor and outdoor terrains well 20
  • 21. OUR APPROACH ○ Inspired by HPA* ○ Hierarchy of graphs ○ Based on NavMeshes ○ Pre-processing Step ● Graph partitioning ● Build hierarchy of graphs ○ Online Step ● Path finding computation 21
  • 22. PRE-PROCESSING STEP ○ Recast Tool ● NavMesh discretization from a triangle soup ● Via Watershed Partitioning ● Input: arbitrary polygon soup with triangles marked as walkable. 22
  • 23. RECAST TOOL 1) Voxelize the polygons. 2) Build navigable space from solid voxels. 3) Build watershed partitioning 4) Trace and simplify region filter out unwanted regions. and contours. 23
  • 24. RECAST TOOL 24 Triangulate the region polygons and build edge connectivity.
  • 25. PRE-PROCESSING STEP ○ Build graph at level 0 25 Navigation Mesh Graph representation (Level 0)
  • 26. GRAPH PARTITIONING ○ K-way multilevel algorithm (MLkP) ● Coarsening Phase. ● Initial Partitioning Phase. ● Uncoarsening Phase 26
  • 27. COARSENING PHASE ○ A coarser graph can be obtained by collapsing adjacent vertices. ● Matching ○ No two of which are incident on the same vertex. ● Maximal Matching ○ No more edges can be added and remain a matching 27
  • 28. INITIAL PARTITIONING PHASE ○ Partition of the coarsest using k-way partitioning algorithm ● Divide the graph into k equal-sized sets ● Apply the Kernighan-Lin algorithm for each pair of subsets ○ Starts with an initial bipartition of the graph ○ In each iteration, it searches for a subset of vertices such that swapping them leads to a partition with a smaller edge cut ● Each part contains roughly half of the vertex weight of the original graph ○ High quality edge cuts 28
  • 29. UNCOARSENING PHASE ○ The partitioning of the coarser graph Gm is projected back to the original. ○ Assign the pairs of vertices that were collapsed together to the same partition as that of their corresponding collapsed vertex. 29
  • 32. BUILD GRAPH ○ Portals: middle point in a common edge between to partitions. ○ Store path and cost for each IntraEdge 32
  • 33. HIERARCHICAL SUBDIVISION City Islands (numMergedNodes = 3; levels = 5) 33
  • 34. ONLINE STEP ○ Path Finding Computation between Start (S) and Goal (G) positions. ○ Done at any level of the hierarchy. ○ Five steps ● Find S and G al certain level ● Connect S and G to the graph ● Search for a path between S and G at the highest level ● Obtain optimal subpaths ● Delete temporal nodes 34
  • 35. FIND S AND G AL CERTAIN LEVEL ○ Input: Start (S) and Goal (G) positions at level 0. ○ Recursively look for their parents. 35 Level 0 Level 1 Level 2 Level 3 Level 4
  • 36. CONNECT S AND G TO THE GRAPH ○ Temporal Start an Goal nodes are created. ○ Add temporal IntraEdges to the portals. ● Run A* ● Store paths and costs 36 Level 2
  • 37. SEARCH FOR A PATH BETWEEN S AND G AT THE HIGHEST LEVEL ○ A* at certain level 37 Level 2
  • 38. OBTAIN OPTIMAL SUBPATHS 38 Level 2 Final ResultLevel 0 Level 1
  • 40. LEVEL VS NUMBER OF NODES (SCIRUS MODEL) 40 NumberofNodes 0 2100 4200 6300 8400 10500 12600 14700 16800 18900 Level 0 2 5 7 9 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
  • 41. LEVEL VS TOTAL TIME (MAP MODEL 200 NODES) 41 Totaltime(ms) 0 0.55 1.1 1.65 2.2 Level 0 1 3 4 5 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
  • 42. PERFORMANCE TEST (MAP MODEL) 42 Fastest time (numMergedNodes = 2; level = 2) 208 nodes (0.347 ms) 24 nodes (0.14 ms)
  • 43. LEVEL VS TOTAL TIME (TROPICAL ISLANDS 12666 NODES) 43 Totaltime(ms) 0 4 8 12 16 Level 0 2 4 5 7 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
  • 44. PERFORMANCE TEST (TROPICAL ISLANDS) 44 Fastest time (numMergedNodes = 16; level = 2) 12666 nodes (6.536 ms) 84 nodes (0.1625 ms)
  • 46. 46
  • 47. FIND S AND G AL CERTAIN LEVEL 47 Totaltime(ms) 0 0.002 0.004 0.005 0.007 Level 0 2 4 5 7 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
  • 48. 48
  • 49. CONNECT S AND G TO THE GRAPH 49 Totaltime(ms) 0 4.5 9 13.5 18 Level 0 2 4 5 7 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20 Number of Portals
  • 51. 51
  • 52. SEARCH FOR A PATH BETWEEN S AND G AT THE HIGHEST LEVEL 52 Totaltime(ms) 0 1.25 2.5 3.75 5 Level 0 2 4 5 7 4.606 3.685 2.259 1.686 1.285 1.183 1.196 1.333 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20 Number of Nodes
  • 53. 53
  • 54. OBTAIN OPTIMAL SUBPATHS 54 Totaltime(ms) 0 0.075 0.15 0.225 0.3 Level 0 2 3 5 6 Merged Polys = 2 Merged Polys = 3 Merged Polys = 4 Merged Polys = 5 Merged Polys = 6 Merged Polys = 7 Merged Polys = 8 Merged Polys = 9 Merged Polys = 10 Merged Polys = 12 Merged Polys = 14 Merged Polys = 16 Merged Polys = 18 Merged Polys = 20
  • 55. OBTAIN OPTIMAL SUBPATHS 55 No intermediate subpaths
  • 56. 56
  • 57. PATH QUALITY 57 Level 0 (PFC = 769.48) Level 1 (PFC = 865.27) Level 2 (PFC = 861.45) Level 3 (PFC = 934.39) * PFC = Pathfinding Cost
  • 58. CONCLUSIONS AND FUTURE WORK ○ Hierarchical path finding framework ○ Over navigation meshes. ○ Fast time executions for path planning. ○ Improve Link S and G step ○ GPU implementation. ○ Dynamic environments 58
  • 59. STUDY AND DEVELOPMENT OF HIERARCHICAL PATH FINDING TO SPEED UP CROWD SIMULATION Thank you!59
  • 61. HIERARCHICAL APPROACHES ○ HAA* ● HPA*-style abstraction & search. ● Combined with clearance-based pathfinding. ● Size of the agents and terrain traversal capabilities 61