SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Tries - Tree Based Structures for Strings
Tries - Tree Based Structures for StringsTries - Tree Based Structures for Strings
Tries - Tree Based Structures for StringsAmrinder Arora
 
All pair shortest path by Sania Nisar
All pair shortest path by Sania NisarAll pair shortest path by Sania Nisar
All pair shortest path by Sania NisarSania Nisar
 
Chessboard Puzzles Part 3 - Knight's Tour
Chessboard Puzzles Part 3 - Knight's TourChessboard Puzzles Part 3 - Knight's Tour
Chessboard Puzzles Part 3 - Knight's TourDan Freeman
 
Depth First Search and Breadth First Search
Depth First Search and Breadth First SearchDepth First Search and Breadth First Search
Depth First Search and Breadth First SearchNisha Soms
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리KyeongWon Koo
 
Radix and Shell sort
Radix and Shell sortRadix and Shell sort
Radix and Shell sorthannatamayao
 
Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data StructureMeghaj Mallick
 
Mini project title prime number generator
Mini project title prime number generatorMini project title prime number generator
Mini project title prime number generatorMd. Asad Chowdhury Dipu
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnGuerrilla
 
Cvim half precision floating point
Cvim half precision floating pointCvim half precision floating point
Cvim half precision floating pointtomoaki0705
 
Implementing Minimum Error Rate Classifier
Implementing Minimum Error Rate ClassifierImplementing Minimum Error Rate Classifier
Implementing Minimum Error Rate ClassifierDipesh Shome
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithmsmultimedia9
 
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.pptfdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.pptKartikGupta711
 
Prims and kruskal algorithms
Prims and kruskal algorithmsPrims and kruskal algorithms
Prims and kruskal algorithmsSaga Valsalan
 
4 greedy methodnew
4 greedy methodnew4 greedy methodnew
4 greedy methodnewabhinav108
 

Was ist angesagt? (20)

Tries - Tree Based Structures for Strings
Tries - Tree Based Structures for StringsTries - Tree Based Structures for Strings
Tries - Tree Based Structures for Strings
 
All pair shortest path by Sania Nisar
All pair shortest path by Sania NisarAll pair shortest path by Sania Nisar
All pair shortest path by Sania Nisar
 
Chessboard Puzzles Part 3 - Knight's Tour
Chessboard Puzzles Part 3 - Knight's TourChessboard Puzzles Part 3 - Knight's Tour
Chessboard Puzzles Part 3 - Knight's Tour
 
Answer quiz minimax
Answer quiz minimaxAnswer quiz minimax
Answer quiz minimax
 
Depth First Search and Breadth First Search
Depth First Search and Breadth First SearchDepth First Search and Breadth First Search
Depth First Search and Breadth First Search
 
About Programmer 2021
About Programmer 2021About Programmer 2021
About Programmer 2021
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
 
Radix and Shell sort
Radix and Shell sortRadix and Shell sort
Radix and Shell sort
 
Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data Structure
 
Mini project title prime number generator
Mini project title prime number generatorMini project title prime number generator
Mini project title prime number generator
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero Dawn
 
Cvim half precision floating point
Cvim half precision floating pointCvim half precision floating point
Cvim half precision floating point
 
Merge sort
Merge sortMerge sort
Merge sort
 
Implementing Minimum Error Rate Classifier
Implementing Minimum Error Rate ClassifierImplementing Minimum Error Rate Classifier
Implementing Minimum Error Rate Classifier
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
Quick sort
Quick sortQuick sort
Quick sort
 
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.pptfdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
 
Prims and kruskal algorithms
Prims and kruskal algorithmsPrims and kruskal algorithms
Prims and kruskal algorithms
 
4 greedy methodnew
4 greedy methodnew4 greedy methodnew
4 greedy methodnew
 

Ähnlich wie 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 DX11smashflt
 
Druinsky_SIAMCSE15
Druinsky_SIAMCSE15Druinsky_SIAMCSE15
Druinsky_SIAMCSE15Karen Pao
 
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 HBaseJim Klucar
 
High-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHigh-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHPCC Systems
 
Algorithms of graph
Algorithms of graphAlgorithms of graph
Algorithms of graphgetacew
 
Embeddings the geometry of relational algebra
Embeddings  the geometry of relational algebraEmbeddings  the geometry of relational algebra
Embeddings the geometry of relational algebraNikolaos Vasiloglou
 
Challenges in knowledge graph visualization
Challenges in knowledge graph visualizationChallenges in knowledge graph visualization
Challenges in knowledge graph visualizationGraphAware
 
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 , problomsSlimAmiri
 
Nand or gates ver_student
Nand or gates ver_studentNand or gates ver_student
Nand or gates ver_studentWanNurdiana
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingMark Kilgard
 
Backtracking & branch and bound
Backtracking & branch and boundBacktracking & branch and bound
Backtracking & branch and boundVipul Chauhan
 

Ähnlich wie 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
 

Mehr von 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.pdfCarlos Fuentes
 
Adaptive Big Data Pipelines
Adaptive Big Data PipelinesAdaptive Big Data Pipelines
Adaptive Big Data PipelinesCarlos 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 modaCarlos 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ácticaCarlos 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 SourceCarlos Fuentes
 
Introducción a Data Science
Introducción a Data ScienceIntroducción a Data Science
Introducción a Data ScienceCarlos Fuentes
 

Mehr von 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
 

Kürzlich hochgeladen

fundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyfundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyDrAnita Sharma
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINsankalpkumarsahoo174
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 

Kürzlich hochgeladen (20)

The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
fundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyfundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomology
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 

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