Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα."— Μεταγράφημα παρουσίασης:

1 1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα

2 Ελάχιστα Μονοπάτια & Αλγόριθμος Dijkstra 2

3 Εισαγωγή Έστω G = (V, E, w) ένα βεβαρυμένο γράφημα όπου το V είναι το σύνολο των κορυφών το Ε το σύνολο των ακμών το w είναι μια συνάρτηση αντιστοίχισης βαρών στις ακμές 3

4 4 Ορισμός Το βάρος μιας ακμής {i,j}, w(i,j), λέγεται συνήθως μήκος της ακμής {i,j} και έχει διάφορες ερμηνείες, (π.χ. απόσταση, κόστος) ανάλογα με το εκάστοτε εξεταζόμενο πρόβλημα

5 Ορισμός Το μήκος ενός μονοπατιού σε ένα βεβαρυμένο γράφημα G = (V, E, w), ορίζεται ως το άθροισμα των μηκών των ακμών στο μονοπάτι. Συμβολίζουμε ως εξής: v1 p v2 το μονοπάτι που ξεκινάει από την κορυφή v1 και καταλήγει στην κορυφή v2 περνώντας μόνο από κορυφές του συνόλου P  V. 5

6 6 Υπενθύμιση Σε ένα κατευθυνόμενο γράφημα, ένα μονοπάτι είναι μια ακολουθία από ακμές (e i 1, e i 2, …, e i k ) τέτοιες ώστε η τερματική κορυφή της e i j να ταυτίζεται με την αρχική κορυφή της e i (j+1) για 1  j  k-1

7 7 Παράδειγμα Έστω ότι αναζητούμε το μονοπάτι : α p γ 1. Αρχικά έστω P = G Τότε α p γ = {(α,β,γ), (α,δ,γ)} 2. Έστω τώρα P = {α,δ} Τότε α p γ = {(α,δ,γ)} 3. Έστω τέλος ότι P = {α,ε} Τότε α p γ = {}

8 8 Ορισμός Ο δείκτης ενός μονοπατιού σε ένα βεβαρυμένο γράφημα G = (V, E, w), ορίζεται ως το μήκος του ελάχιστου μονοπατιού a p t. Και συμβολίζεται ως εξής: l P (t) Εξ’ ορισμού ισχύει ότι l P (t)  l P’ (t)

9 To πρόβλημα Δεδομένης μιας αρχικής κορυφής a σε ένα γράφημα G, θέλουμε να προσδιορίσουμε το ελάχιστο μονοπάτι μεταξύ αυτής της κορυφής και όλων των υπολοίπων κορυφών στο G Ειδική περίπτωση: Προσδιορισμός του ελάχιστου μονοπατιού μεταξύ μιας αρχικής και μιας μόνο τελικής κορυφής 9

10 Αλγόριθμος Digkstra Έστω Τ ένα υποσύνολο κορυφών του V με α  Τ Έστω P το υποσύνολο των κορυφών V-T 10

11 Ένα ελάχιστο μονοπάτι από την α σε μια από τις κορυφές του Τ μπορεί να οριστεί ως εξής Για κάθε κορυφή t στο T έστω l p (t) το μήκος του ελάχιστου μονοπατιού ανάμεσα σε όλα τα μονοπάτια από την α στην t τα οποία δεν περιέχουν καμία άλλη κορυφή του Τ 11 Αλγόριθμος Digkstra (συνέχεια)

12 l p (t): δείκτης της t ως προς P Ανάμεσα σε όλες τις κορυφές του Τ, έστω t 1 μια κορυφή που έχει τον ελάχιστο δείκτη Υποστηρίζουμε ότι η ελάχιστη απόσταση μεταξύ της α και της t 1 είναι πράγματι l p (t 1 ) = l v (t 1 ) δηλαδή ότι l p (t 1 )  w μ (α, t 1 ), για κάθε μ 12

13 Αλγόριθμος Digkstra (Απόδειξη) Θα αποδείξουμε τον ισχυρισμό μας l p (t 1 ) = l v (t 1 ) με άτοπο ως εξής: Ας υποθέσουμε ότι υπάρχει ένα μονοπάτι από την α στην t 1 το μήκος του οποίου είναι μικρότερο από l p (t 1 ). Υπάρχουν 2 περιπτώσεις (πιθανές διαδρομές): Α) α  κάποιες κορυφές του P  t 1 Β) α  κάποιες κορυφές του P  κάποια κορυφή t του Τ   κάποιες κορυφές του P  t 1 13

14 Αλγόριθμος Digkstra (Απόδειξη) 14 Περίπτωση Α Έχουμε υποθέσει ότι υπάρχει ένα μονοπάτι από την α στην t 1 το μήκος του οποίου είναι μικρότερο από l p (t 1 ). Όμως εξ ορισμού το l p (t 1 ) έχει το ελάχιστο μήκος. Άρα καταλήγουμε σε ΑΤΟΠΟ! Η διαδρομή στο σύνολο Ρ που απεικονίζεται είναι ενδεικτική

15 15 Αλγόριθμος Digkstra (Απόδειξη) 15 Περίπτωση Β Έχουμε υποθέσει ότι υπάρχει ένα μονοπάτι από την α στην t 1 το μήκος του οποίου είναι μικρότερο από l p (t 1 ). Έστω χ ο πρώτος κόμβος του συνόλου Τ που περνάει το μονοπάτι μας και p 1  P. Τότε ουσιαστικά ισχυριζόμαστε ότι: l p (x) + w p (x, p 1 ) + w p (p 1, t 1 )  l p (t 1 ) (1) Η διαδρoμή που απεικονίζεται είναι ενδεικτική

16 16 Αλγόριθμος Digkstra (Απόδειξη) 16 Περίπτωση Β (συνέχεια) Οπότε από (1) αφού w p (x, p 1 ), w p (p 1, t 1 )  0 ισχυριζόμαστε ότι: l p (x)  l p (t 1 ) (2) Όμως εξ ορισμού το l p (t 1 ) έχει το ελάχιστο μήκος. Άρα η σχέση (2) δεν μπορεί να ισχύει. Άρα καταλήγουμε σε ΑΤΟΠΟ! Η διαδρομή που απεικονίζεται είναι ενδεικτική

17 Περιγραφή Αλγορίθμου Διατήρηση των (μέχρι τώρα) γνωστών ελαχίστων αποστάσεων μεταξύ της αρχικής κορυφής a και των υπολοίπων κορυφών. Διατήρηση ενός συνόλου κόμβων, S, για τους οποίους το ελάχιστο μονοπάτι από τον αρχικό κόμβο είναι γνωστό Αρχικά, ελάχιστες αποστάσεις είναι γνωστές μόνο για τους άμεσους «γείτονες» τις αρχικής κορυφής, ενώ το σύνολο S είναι κενό 17

18 Επαναληπτικά, ο αλγόριθμος πρώτα βρίσκει μία κορυφή u, που δεν έχει ακόμα προστεθεί στο S, και η οποία επεκτείνει το μονοπάτι (προς την κορυφή-προορισμό) διατηρώντας το ελάχιστο. Εντός του βρόχου, για κάθε γείτονα της u ο οποίος δεν υπάρχει στο S, ο αλγόριθμος ανανεώνει τις γνωστές ελάχιστες αποστάσεις από την αρχική κορυφή a, αν η u προσφέρει ένα συντομότερο μονοπάτι. Ολοκλήρωση αλγορίθμου όταν όλες οι κορυφές έχουν προστεθεί στο S. 18 Περιγραφή Αλγορίθμου (συνέχεια)

19 Δείκτης Κορυφής Έστω Τ  V με α  Τ P = V-T  t  T, l p (t) το μήκος του ελάχιστου μονοπατιού ανάμεσα σε όλα τα μονοπάτια από την α στην t τα οποία δεν περιέχουν καμία άλλη κορυφή του Τ l p (t) : δείκτης της t ως προς P 19

20 Δείκτης Κορυφής Έστω στο παρακάτω απλό γράφημα ότι Τ={b,c} και P={a} Θα έχουμε ότι l p (c) = 4 l p (b) = 1 20 Παρατήρηση: Η l p (c) δεν είναι η ελάχιστη απόσταση από την α στην c καθώς υπάρχει μικρότερο μονοπάτι μέσω της b.

21 Υπολογισμός Δείκτη Κορυφής Υποθέστε ότι για κάθε κορυφή p στο P, υπάρχει ένα ελάχιστο μονοπάτι από την α στην p, το οποίο περιλαμβάνει μόνο κορυφές του P Υποθέτουμε ότι για κάθε κορυφή t του Τ έχουμε ήδη υπολογίσει τον δείκτη της ως προς το P, l p (t) 21

22 Υπολογισμός Δείκτη Κορυφής (συνέχεια) Έστω x μία κορυφή στο Τ Έστω P’ το P  {x} και Τ’ το T-{x} Έστω l P’ (t) o δείκτης μιας κορυφής t’ στο Τ’ ως προς P’ Ισχύει 22 l P’ (t) = min[l P (t), l P (x) + w(x,t)] (1)

23 Τυποποίηση Αλγορίθμου Digkstra Υπολογισμός της ελάχιστης απόστασης από το α σε οποιαδήποτε κορυφή του G 1.Αρχικά έστω ότι P={a} και Τ=V-{a}. Για κάθε κορυφή t στο T, έστω l P (t) = w(a,t) 2.Επίλεξε την κορυφή του Τ που έχει τον μικρότερο δείκτη ως προς P. Έστω x η κορυφή αυτή. 23

24 Τυποποίηση Αλγορίθμου Digkstra (συνέχεια) 3.Αν το x είναι η κορυφή στην οποία θέλουμε να φτάσουμε από την α, σταμάτα. Αν όχι, έστω P’=P  {x} και Τ’=Τ-{x}. Για κάθε κορυφή t του T’, υπολόγισε τον δείκτη της ως προς P’ σύμφωνα με την (1) 4.Επανέλαβε τα βήματα 2 και 3 χρησιμοποιώντας ως P το P’ και ως Τ το Τ’ 24

25 Παράδειγμα Έστω ότι αναζητούμε το ελάχιστο μονοπάτι από την a στην c 1. Αρχικά έχουμε P={a} και Τ=V-{a} = {b,c} l P (c) = 4 και l P (b) = 1 2. Επιλέγεται η κορυφή b που έχει μικρότερο δείκτη ως προς P 3. Το b δεν είναι η κορυφή που θέλουμε να φτάσουμε οπότε P’ = {a,b} και Τ’ ={c} l P’ (c) = min[l(c), l(b) + w(b,c)] = min[4, 1+2] = 3 25

26 Επειδή η c είναι η κορυφή στην οποία θέλουμε να φτάσουμε, ο αλγόριθμος σταματάει έχοντας βρει το ελάχιστο μονοπάτι από την a στην c, το οποίο έχει τελικά μήκος Παράδειγμα (συνέχεια)


Κατέβασμα ppt "1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google