Download - Contraction Hierarchies (in greek)

Transcript
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)

. . . . . .

Ερωτήσεις ;

Ευχαριστώ

.