Contraction Hierarchies (in greek)

33
. . . . . . Contraction Hierarchies Faster and Simpler Hierarchical Routing in Road Networks Geisberger, Sanders, Schultes, and Delling (Universit¨ at Karlsruhe) παρουσίαση από Αμαξηλάτη Δημήτριο Computer Engineering and Informatics Department Patras Greece .

description

Faster and Simpler Hierarchical Routing in Road Networks, by Geisberger, Sanders, Schultes, and Delling (Universitat Karlsruhe) presented by Amaxilatis Dimitrios at University of Patras

Transcript of Contraction Hierarchies (in greek)

Page 1: Contraction Hierarchies (in greek)

. . . . . .

Contraction HierarchiesFaster and Simpler Hierarchical Routing in Road

NetworksGeisberger, Sanders, Schultes, and Delling (Universitat Karlsruhe)παρουσίαση από Αμαξηλάτη ΔημήτριοComputer Engineering and Informatics DepartmentPatras Greece

.

Page 2: Contraction Hierarchies (in greek)

. . . . . .

ΠρόβλημαΒέλτιστες Διαδρομές

Προσδιορισμός βέλτιστων διαδρομών σε οδικά δίκτυα.▶ αραιά γραφήματα (δρόμοι→ ακμές, διασταυρώσεις→ κορυφές),▶ ιεραρχικής φύσης των οδικών δικτύων,▶ ανάγκη για γρήγορη αναζήτηση (άμεση πλοήγηση).

.

Page 3: Contraction Hierarchies (in greek)

. . . . . .

ΠρόβλημαΣχετικές Εργασίες

▶ Μείωση κορυφών.▶ Μείωση ακμών.▶ Μεγάλο κόστος προ-επεξεργασίας στο αρχικό γράφημα.▶ Χρήση Highway-κόμβων για την δρομολόγηση.

.

Page 4: Contraction Hierarchies (in greek)

. . . . . .

ΠρόβλημαΒήματα του αλγορίθμου

1. Διάταξη των κορυφών.2. Προσθήκη παρακάμψεων στο γράφημα.3. Δημιουργία υπογραφημάτων G↑, G↓ για ευκολότερη αναζήτηση.4. Εύρεση διαδρομής μέσω της αναζήτησης στα G↑, G↓.

.

Page 5: Contraction Hierarchies (in greek)

. . . . . .

ΠαρακάμψειςΣυρρίκνωση Κορυφών

.Διαδρομές της μορφής u− v− w αντικαθίστανται από μια μονάχαακμή u− w...

.Η ανάγκη προσθήκης της u− w υπάρχει όταν η συντομότερη διαδρομήαπό την u στην w είναι η u− v− w.

.

Page 6: Contraction Hierarchies (in greek)

. . . . . .

ΠαρακάμψειςΣυρρίκνωση Κορυφών

.Εύρεση των παρακάμψεων της u− v− w..

.

Αναζήτηση 2 κατευθύνσεων για το ελάχιστο κόστος μιας μετάβασης▶ Αναζήτηση προς τα πίσω από την w για 1 βήμα.▶ Αναζήτηση προς τα εμπρός από την u μέχρι να φτάσουμε σε γείτονατης w.

Περιορισμός της αναζήτησης με βάση▶ το μήκος της διαδρομής▶ το κόστος σε χώρο

.

Page 7: Contraction Hierarchies (in greek)

. . . . . .

ΠαρακάμψειςΣυρρίκνωση Κορυφών

.Εύρεση των παρακάμψεων της u− v− w..

.

Αναζήτηση 2 κατευθύνσεων για το ελάχιστο κόστος μιας μετάβασης▶ Αναζήτηση προς τα πίσω από την w για 1 βήμα.▶ Αναζήτηση προς τα εμπρός από την u μέχρι να φτάσουμε σε γείτονατης w.

Περιορισμός της αναζήτησης με βάση▶ το μήκος της διαδρομής▶ το κόστος σε χώρο

.

Page 8: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΠαράμετροι Διάταξης

▶ Διαφοροποίηση με βάση τις ακμές.▶ Ομοιομορφία.▶ Κόστος της συρρίκνωσης.▶ Κόστος των ερωτημάτων.▶ Συνολική σημασία της κορυφής.

.

Page 9: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΔιαφοροποίηση με βάση τις ακμές

Ο αριθμός παρακάμψεων που προστίθενται στο γράφημα αν συρρικνωθείη u μείον τον αριθμό των ακμών που πρόσκεινται στην u.

.

Page 10: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΟμοιομορφία

Οι κορυφές που συρρικνώνονται πρέπει να είναι διασκορπισμένες σε όλοτο γράφημα και όχι συγκεντρωμένες σε μια περιοχή αυτού. Για να

πετύχουμε τέτοια ομοιομορφία προτείνεται:▶ Χρήση του αριθμού των διαγραμμένων γειτόνων.▶ Χρήση Voronoi Περιοχών.(με επιπλέον υπολογιστικό κόστος O(nlogn))

.

Page 11: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΠεριοχές Voronoi

.

Page 12: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΚόστος της Συρρίκνωσης

Η αναζήτηση προς τα εμπρός κατά τη διάρκεια της συρρίκνωσης έχειμεγάλο κόστος και προτιμούνται ευκολότερες γειτονιές.

.

Page 13: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΚόστος των ερωτημάτων

Η συρρίκνωση μπορεί να επιβάλει μεγάλες αλλαγές στο μετέπειτα κόστοςτων ερωτημάτων (για το οποίο μπορούμε να εξάγουμε κάποια εκτίμηση).

.

Page 14: Contraction Hierarchies (in greek)

. . . . . .

Διάταξη ΚορυφώνΣυνολική σημασία της κορυφής

Συρρίκνωση κορυφών που δεν έχουν μεγάλη σημασία στο γράφημα γιανα απλοποιηθεί η διαδικασία της αναζήτησης και να περιοριστούν οι

διαδρομές.

.

Page 15: Contraction Hierarchies (in greek)

. . . . . .

ΕρωτήματαΑναζήτηση

.Εύρεση της βέλτιστης διαδρομής από μια κορυφή s σε μια άλλη t..

.

τροποποιημένης αναζήτησης 2 κατευθύνσεων Dijkstra ελάχιστουμονοπατιού,

▶ μια ευθεία αναζήτηση στο G↑▶ μια αντίστροφη στο G↓

G↑ := (V, E↑) με E↑ := (u, v)�E : u < vG↓ := (V, E↓) με E↓ := (u, v)�E : u > v

.

Page 16: Contraction Hierarchies (in greek)

. . . . . .

ΕρωτήματαΕύρεση της βέλτιστης διαδρομής

Η βέλτιστη διαδρομή προκύπτει ως αποτέλεσμα αναζήτησης στο G↑ & G↓.

d(s, t) = min{d(s, u) + d(u, t) : u υπάρχει και στις 2}

.

Page 17: Contraction Hierarchies (in greek)

. . . . . .

ΕρωτήματαΕύρεση της βέλτιστης διαδρομής

Η βέλτιστη διαδρομή προκύπτει ως αποτέλεσμα αναζήτησης στο G↑ & G↓.

d(s, t) = min{d(s, u) + d(u, t) : u υπάρχει και στις 2}

.

Page 18: Contraction Hierarchies (in greek)

. . . . . .

ΕρωτήματαΑναζήτηση

Η αναζήτηση γίνεται ταυτόχρονα στα G↑ & G↓ μέχρι να βρεθεί ηκατάλληλη κορυφή u

Τα G↑ & G↓ αποθηκεύονται στην ίδια δομή στην μνήμη χρησιμοποιώνταςflags σε κάθε κορυφή.

Για την βέλτιστη διαδρομή αφαιρούμε τις παρακάμψεις και τιςμεταφράζουμε στις αρχικές κορυφές.

.

Page 19: Contraction Hierarchies (in greek)

. . . . . .

ΕρωτήματαΑναζήτηση

Η αναζήτηση γίνεται ταυτόχρονα στα G↑ & G↓ μέχρι να βρεθεί ηκατάλληλη κορυφή u

Τα G↑ & G↓ αποθηκεύονται στην ίδια δομή στην μνήμη χρησιμοποιώνταςflags σε κάθε κορυφή.

Για την βέλτιστη διαδρομή αφαιρούμε τις παρακάμψεις και τιςμεταφράζουμε στις αρχικές κορυφές.

.

Page 20: Contraction Hierarchies (in greek)

. . . . . .

ΕρωτήματαΑναζήτηση

Η αναζήτηση γίνεται ταυτόχρονα στα G↑ & G↓ μέχρι να βρεθεί ηκατάλληλη κορυφή u

Τα G↑ & G↓ αποθηκεύονται στην ίδια δομή στην μνήμη χρησιμοποιώνταςflags σε κάθε κορυφή.

Για την βέλτιστη διαδρομή αφαιρούμε τις παρακάμψεις και τιςμεταφράζουμε στις αρχικές κορυφές.

.

Page 21: Contraction Hierarchies (in greek)

. . . . . .

Εφαρμογές

▶ Η διάταξη των κορυφών και οι παρακάμψεις δεν εξαρτώνται απότην εφαρμογή που υλοποιείται λόγω της διαδικασίας κατασκευήςτους.

▶ Μικρές αλλαγές στα κόστη ορισμένων ακμών δεν απαιτούνανακατασκευή όλων των παρακάμψεων.

▶ Oracles μπορούν να χρησιμοποιηθούν για μετακίνηση σε μεγάλεςαποστάσεις χωρίς να γίνει η αναζήτηση συνολικά.

▶ Το μικρό κόστος σε χώρο και μνήμη για την αναζήτηση κάνουν τοσύστημα κατάλληλο για χρήση σε φορητές συσκευές.

.

Page 22: Contraction Hierarchies (in greek)

. . . . . .

Εφαρμογές

▶ Η διάταξη των κορυφών και οι παρακάμψεις δεν εξαρτώνται απότην εφαρμογή που υλοποιείται λόγω της διαδικασίας κατασκευήςτους.

▶ Μικρές αλλαγές στα κόστη ορισμένων ακμών δεν απαιτούνανακατασκευή όλων των παρακάμψεων.

▶ Oracles μπορούν να χρησιμοποιηθούν για μετακίνηση σε μεγάλεςαποστάσεις χωρίς να γίνει η αναζήτηση συνολικά.

▶ Το μικρό κόστος σε χώρο και μνήμη για την αναζήτηση κάνουν τοσύστημα κατάλληλο για χρήση σε φορητές συσκευές.

.

Page 23: Contraction Hierarchies (in greek)

. . . . . .

Εφαρμογές

▶ Η διάταξη των κορυφών και οι παρακάμψεις δεν εξαρτώνται απότην εφαρμογή που υλοποιείται λόγω της διαδικασίας κατασκευήςτους.

▶ Μικρές αλλαγές στα κόστη ορισμένων ακμών δεν απαιτούνανακατασκευή όλων των παρακάμψεων.

▶ Oracles μπορούν να χρησιμοποιηθούν για μετακίνηση σε μεγάλεςαποστάσεις χωρίς να γίνει η αναζήτηση συνολικά.

▶ Το μικρό κόστος σε χώρο και μνήμη για την αναζήτηση κάνουν τοσύστημα κατάλληλο για χρήση σε φορητές συσκευές.

.

Page 24: Contraction Hierarchies (in greek)

. . . . . .

Εφαρμογές

▶ Η διάταξη των κορυφών και οι παρακάμψεις δεν εξαρτώνται απότην εφαρμογή που υλοποιείται λόγω της διαδικασίας κατασκευήςτους.

▶ Μικρές αλλαγές στα κόστη ορισμένων ακμών δεν απαιτούνανακατασκευή όλων των παρακάμψεων.

▶ Oracles μπορούν να χρησιμοποιηθούν για μετακίνηση σε μεγάλεςαποστάσεις χωρίς να γίνει η αναζήτηση συνολικά.

▶ Το μικρό κόστος σε χώρο και μνήμη για την αναζήτηση κάνουν τοσύστημα κατάλληλο για χρήση σε φορητές συσκευές.

.

Page 25: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΠεριβάλλον Εκτέλεσης

▶ AMD Opteron Processor 270 @ 2.0 GHz▶ 8 GB main memory and 2x1MB L2 cache▶ SuSE Linux 10.3 (kernel 2.6.22)▶ GNU C++ compiler 4.2.1 (optimization level 3 - Ο3)

.

Page 26: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΓραφήματα Εισόδου

Γραφήματα οδικού δικτύου της Δυτικής Ευρώπης τα οποίαπροσφέρθηκαν από την PTV AG για ερευνητικούς σκοπούς.

▶ 18.029.721 κορυφές και▶ 42.199.587 κατευθυνόμενες ακμές

Για κάθε ακμή παρέχεται επίσης :▶ μήκος▶ ο τύπος του δρόμου

για να υπολογισθεί ο εκτιμώμενος δρόμος ταξιδιού για ναχρησιμοποιηθεί ως κόστος.

.

Page 27: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΓραφήματα Εισόδου

Γραφήματα οδικού δικτύου της Δυτικής Ευρώπης τα οποίαπροσφέρθηκαν από την PTV AG για ερευνητικούς σκοπούς.

▶ 18.029.721 κορυφές και▶ 42.199.587 κατευθυνόμενες ακμές

Για κάθε ακμή παρέχεται επίσης :▶ μήκος▶ ο τύπος του δρόμου

για να υπολογισθεί ο εκτιμώμενος δρόμος ταξιδιού για ναχρησιμοποιηθεί ως κόστος.

.

Page 28: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΔιαφοροποιήσεις

EVSQL → aggressive, EDS1235 → economical

.

Page 29: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΜέσος Βαθμός γραφήματος

.

Page 30: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΤοπικά Ερωτήματα

.

Page 31: Contraction Hierarchies (in greek)

. . . . . .

ΠειράματαΧρήσεις

.

Page 32: Contraction Hierarchies (in greek)

. . . . . .

Συμπεράσματα

▶ Γρήγορη προεπεξεργασία και ομοιομορφία,▶ Γρήγορη αναζήτηση,▶ Μικρό υπολογιστικό κόστος σε χώρο / χρόνο

Επόμενο βήμα είναι η προσθήκη time-dependent ερωτημάτων στοσύστημα.

.

Page 33: Contraction Hierarchies (in greek)

. . . . . .

Ερωτήσεις ;

Ευχαριστώ

.