Graph algorithms | Search algorithms | Routing algorithms

Contraction hierarchies

In computer science, the method of contraction hierarchies is a speed-up technique for finding the shortest-path in a graph. The most intuitive applications are car-navigation systems: a user wants to drive from to using the quickest possible route. The metric optimized here is the travel time. Intersections are represented by vertices, the road sections connecting them by edges. The edge weights represent the time it takes to drive along this segment of the road. A path from to is a sequence of edges (road sections); the shortest path is the one with the minimal sum of edge weights among all possible paths. The shortest path in a graph can be computed using Dijkstra's algorithm but, given that road networks consist of tens of millions of vertices, this is impractical. Contraction hierarchies is a speed-up method optimized to exploit properties of graphs representing road networks. The speed-up is achieved by creating shortcuts in a preprocessing phase which are then used during a shortest-path query to skip over "unimportant" vertices. This is based on the observation that road networks are highly hierarchical. Some intersections, for example highway junctions, are "more important" and higher up in the hierarchy than for example a junction leading into a dead end. Shortcuts can be used to save the precomputed distance between two important junctions such that the algorithm doesn't have to consider the full path between these junctions at query time. Contraction hierarchies do not know about which roads humans consider "important" (e.g. highways), but they are provided with the graph as input and are able to assign importance to vertices using heuristics. Contraction hierarchies are not only applied to speed-up algorithms in car-navigation systems but also in web-based route planners, traffic simulation, and logistics optimization. Implementations of the algorithm are publicly available as open source software. (Wikipedia).

Contraction hierarchies
Video thumbnail

Special Relativity C3 Length Contraction

Relativistic length contraction.

From playlist Physics - Special Relativity

Video thumbnail

Special Relativity C2 Length Contraction

Relativistic length contraction.

From playlist Physics - Special Relativity

Video thumbnail

What is Length Contraction?

What is length contraction? Length contraction gives the second piece (along with time dilation) of the puzzle that allows us to reconcile the fact that the speed of light is constant in all reference frames.

From playlist Relativity

Video thumbnail

Ex: Function Notation for Horizontal and Vertical Stretches and Compressions

This video explains how to recognize a horizontal and vertical compression or stretch using function notation. Site: http://mathispower4u.com

From playlist Determining Transformations of Functions

Video thumbnail

Dividing rational expressions

Learn how to divide rational expressions. A rational expression is an expression in the form of a fraction, usually having variable(s) in the denominator. Recall that to divide by a fraction, we multiply by the reciprocal of the fraction. The same rule applies when we want to divide by a r

From playlist How to Divide Rational Expressions #Rational

Video thumbnail

C34 Expanding this method to higher order linear differential equations

I this video I expand the method of the variation of parameters to higher-order (higher than two), linear ODE's.

From playlist Differential Equations

Video thumbnail

!!COn 2020 - Supercharged Dijkstra’s: Computing ‘shortest’ paths on large road... by Payas Rajan

Supercharged Dijkstra’s: Computing ‘shortest’ paths on large road graphs in microseconds! by Payas Rajan Road networks are often modeled as graphs with millions of edges, and finding a ‘shortest’ path on them is a fundamental operation for several applications. When Fibonacci heaps are us

From playlist !!Con 2020

Video thumbnail

Mod-01 Lec-10 The beginnings of modernity

History of Economic Theory by Dr. Shivakumar, Department of Humanities and Social Sciences IIT Madras, For more details on NPTEL visit http://nptel.iitm.ac.in

From playlist IIT Madras: History of Economic Theory | CosmoLearning.org Economics

Video thumbnail

Rational Proofs - Pablo Azar

Pablo Azar Massachusetts Institute of Technology April 2, 2012 We study a new type of proof system, where an unbounded prover and a polynomial time verifier interact, on inputs a string xx and a function ff, so that the Verifier may learn f(x)f(x). The novelty of our setting is that there

From playlist Mathematics

Video thumbnail

Dividing two rational expressions by factoring

Learn how to divide rational expressions. A rational expression is an expression in the form of a fraction, usually having variable(s) in the denominator. Recall that to divide by a fraction, we multiply by the reciprocal of the fraction. The same rule applies when we want to divide by a r

From playlist How to Divide Rational Expressions #Rational

Video thumbnail

Physics of flow networks (Lecture 1, Remote talk) by Karen Alim

Program ICTP - ICTS Winter School on Quantitative Systems Biology ORGANIZERS: Buzz Baum, Guillaume Salbreux, Stefano Di Talia and Vijaykumar Krishnamurthy DATE: 03 December 2019 to 20 December 2019 VENUE: Ramanujan Lecture Hall, ICTS Bangalore The development of an organism from a sin

From playlist Winter School on Quantitative Systems Biology: Quantitative Approaches in Ecosystem Ecology 2020

Video thumbnail

How to Write Better Smart Contracts By Checking Them With Slither | PyChain 2022

This is a video recording of the PyChain 2022 conference sessions. Speaker: Troy Sargent - Trail of Bits Checking smart contracts for security issues using Slither static analyzer The correctness and security of smart contracts is forefront in the mind of most developers. Slither is a s

From playlist PyChain 2022

Video thumbnail

Solving Equations Using Multiplication or Division

This video is about Solving Equations with Multiplication and Division

From playlist Equations and Inequalities

Video thumbnail

Dividing rational expressions

Learn how to divide rational expressions. A rational expression is an expression in the form of a fraction, usually having variable(s) in the denominator. Recall that to divide by a fraction, we multiply by the reciprocal of the fraction. The same rule applies when we want to divide by a r

From playlist How to Divide Rational Expressions #Rational

Video thumbnail

Gromov–Witten Invariants and the Virasoro Conjecture (Remote Talk) by Ezra Getzler

J-Holomorphic Curves and Gromov-Witten Invariants DATE:25 December 2017 to 04 January 2018 VENUE:Madhava Lecture Hall, ICTS, Bangalore Holomorphic curves are a central object of study in complex algebraic geometry. Such curves are meaningful even when the target has an almost complex stru

From playlist J-Holomorphic Curves and Gromov-Witten Invariants

Video thumbnail

A Turing complete smart contract

This project presents a computationally universal and programmable decentralized application along with a decentralized persistent program library on the NEO blockchain. You can find the code here: https://github.com/Nikolaj-K/turing-complete-smart-contract The dApp interprets encoded clas

From playlist Programming

Video thumbnail

Dividing rational expressions

Learn how to divide rational expressions. A rational expression is an expression in the form of a fraction, usually having variable(s) in the denominator. Recall that to divide by a fraction, we multiply by the reciprocal of the fraction. The same rule applies when we want to divide by a r

From playlist How to Divide Rational Expressions #Rational

Related pages

Approximation algorithm | Graph theory | Treewidth | NP-completeness | Nested dissection | Tree-depth | Heuristic (computer science) | Speedup | Vertex (graph theory) | Computational complexity theory | Dijkstra's algorithm | Traffic simulation | Shortest path problem | Greedy algorithm | Level (logarithmic quantity)