ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Γραφήματα & Επίπεδα Γραφήματα
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
Αλγόριθμοι Αναζήτησης
Διακριτά Μαθηματικά ΙI Δέντρα
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αλγόριθμοι και Πολυπλοκότητα
11-1 ΜΑΘΗΜΑ 12 ο Γράφοι, Διάσχιση Γράφων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Προσεγγιστικοί Αλγόριθμοι
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Γράφοι – Διάσχιση.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Συντομότερες Διαδρομές
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
1 Βέλτιστη δρομολόγηση (optimal routing) Αντιμετώπιση της δρομολόγησης σαν «συνολικό» πρόβλημα βελτιστoποίησης. Γιατί: Η αλλαγή της δρομολόγησης μιας συνόδου.
Ελάχιστο Συνδετικό Δέντρο
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αναζήτηση Κατά Βάθος Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τμ.
Χρονική Πολυπλοκότητα και Μοντέλα
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 8-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα B-Δένδρα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Θεωρία Υπολογισμού Κλάσεις P και NP.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΤΕΙ Αθήνας: Σχολή ΤΕΦ: Τμήμα Ναυπηγικής Εφαρμογές Η/Υ στην Ναυπηγική ΙΙ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ NA0703C39 Εξάμηνο Ζ’ Διδάσκων Κωνσταντίνος Β. Κώστας Παρουσίαση.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ. 2 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα –Αναζήτηση κατά βάθος (Depth-first search – DFS) –Αναζήτηση κατά πλάτος (Breadth-first.
Γράφημα είναι μία διμελής σχέση επί ενός συνόλου την οποία παριστάνουμε με γραφικό τρόπο.
Σήματα και Συστήματα 11 10η διάλεξη. Σήματα και Συστήματα 12 Εισαγωγικά (1) Έστω γραμμικό σύστημα που περιγράφεται από τη σχέση: Αν η είσοδος είναι γραμμικός.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Δυναμικός Κατακερματισμός
Επίλυση Προβλημάτων με Αναζήτηση
Προβλήματα Ικανοποίησης Περιορισμών
Δένδρα Δένδρο είναι ένα συνεκτικό άκυκλο γράφημα. Δένδρο Δένδρο Δένδρο
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
ΓΡΑΦΟΙ (GRAPHS).
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Συντομότερα Μονοπάτια
Ελαφρύτατες διαδρομές
ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΓΡΑΦΗΜΑΤΩΝ II
(2,4) Trees 11/15/2018 8:56 PM (2,4) Δέντρα (2,4) Δέντρα.
Δυναμικός Κατακερματισμός
Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Μεταγράφημα παρουσίασης:

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών Ta μονοπάτια Euler Γράφοι (συνέχεια)

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-2 Βραχύτερα Μονοπάτια σε Γράφους Γενίκευση της αναζήτησης κατά βάθος ή πλάτος σε γράφους με βάρη. Με δεδομένο ένα κατευθυνόμενο γράφο με βάρη G=(V,E) και μια συνάρτηση βαρών w: E  R, θέλουμε να βρούμε μονοπάτια με το ελάχιστο δυνατό βάρος. Υπενθύμιση: Το βάρος w(p) ενός μονοπατιού p δίνεται ως εξής: Ορισμός: Βραχύτερο μονοπάτι μεταξύ ενός συνόλου από μονοπάτια είναι το μονοπάτι με το ελάχιστο βάρος.

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-3 Η δομή της βέλτιστης λύσης Λήμμα 1 Έστω κατευθυνόμενος γράφος με βάρη G=(V,E) και έστω το βραχύτερο μονοπάτι μεταξύ των κόμβων u και v. Τότε κάθε υπομονοπάτι του p είναι βραχύτερο. Απόδειξη Ας υποθέσουμε ότι το πιο πάνω είναι το βραχύτερο μονοπάτι μεταξύ των κόμβων u και v και ότι το υπομονοπάτι v i  v j δεν είναι βραχύτερο ανάμεσα στα μονοπάτια που συνδέουν τους κόμβους p και s. Τότε αν αντικαταστήσουμε το βραχύτερο τέτοιο υπομονοπάτι στο αρχικό μονοπάτι θα παίρναμε ένα βραχύτερο μονοπάτι μεταξύ των κόμβων u και v. Αντίφαση! vivi vjvj u v... …

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-4 H δομή της βέλτιστης λύσης Συμβολισμός: Θα γράφουμε δ(u,v) για το βάρος του βραχύτερου μονοπατιού από την κορυφή u στην κορυφή v. Λήμμα 1 (Tριγωνική ανισότητα) Για κάθε τριάδα κορυφών u, v, x, δ(u,v)  δ(u,x) + δ(x,v) Απόδειξη Τo ελάχιστο μονοπάτι από τον u στον v δεν είναι μακρύτερο από οποιοδήποτε άλλο μονοπάτι από τον u στο v – εν προκειμένω, το μονοπάτι που παίρνει πρώτα το ελάχιστο μονοπάτι από τον u στον κόμβο x και στη συνέχεια από τον x στον v. Τι συμβαίνει σε γράφους με αρνητικά βάρη; Τι συμβαίνει αν υπάρχει κύκλος με αρνητικό βάρος; uv x

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-5 Αλγόριθμος του Dijkstra Δουλεύει όταν όλα τα βάρη είναι μη-αρνητικά. Έστω ότι θέλουμε να βρούμε τα βραχύτερα μονοπάτια από κάποιο κόμβο A προς όλους τους υπόλοιπους κόμβους σε κάποιο γράφο G. Ο αλγόριθμος αυτός διατηρεί ένα πίνακα S από κορυφές όπου αποθηκεύει τις κορυφές του G, για τις οποίες το μήκος του βραχύτερου μονοπατιού έχει υπολογισθεί. Eπίσης διατηρεί ένα πίνακα d όπου για κάθε κόμβο Β του γράφου φυλάει την ανά πάσα στιγμή μικρότερη απόσταση του κόμβου B από τον κόμβο Α την οποία γνωρίζει. Αρχικά S=  και d [|V|] = . Ο αλγόριθμος επανειλημμένα διαλέγει την κοντινότερη κορυφή B προς τον Α, που δεν έχει μέχρι στιγμής επεξεργασθεί (δηλαδή Β  V-S), και ελέγχει αν για οποιοδήποτε γείτονα Γ της Β χρήση της ακμής (Β,Γ) μπορεί να δημιουργήσει βραχύτερο μονοπάτι προς την Γ.

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-6 Αλγόριθμος του Dijkstra Χρησιμοποιεί ουρά προτεραιότητας, Q, για αποθήκευση ακμών, όπου η προτεραιότητα δίνεται από το d[v]. S είναι το σύνολο των κορυφών i για τα οποία d[i]=δ(s,i). heap Q; for all v  V d[v]=  ; d[s]=0; S=  ; Q=V; while (Q   ){ u=DeleteMin(Q); S=S  {u}; για κάθε γείτονα v του u if d[v]>d[u]+w(u,v) d[v]=d[u]+w(u,v); }

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-7 Παράδειγμα Sd(A)d(B)d(Γ)d(Δ)d(Ε)d(Ζ) 0      AB Δ E Γ Ζ S=  S={A}S={A,E} S={A,E,B} S={A,E,B,Δ} S={A,E,B,Δ,Ζ} S={A,E,B,Δ,Ζ, Γ}

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-8 Αλγόριθμος του Dijkstra – Εύρεση ΒΜ Αν εκτός από το μήκος του μονοπατιού μας ενδιαφέρει και το ακριβές μονοπάτι (οι κόμβοι του) τότε θα πρέπει σε ένα πίνακα, έστω P, να φυλάγουμε και κορυφές ως εξής: –κάθε φορά που χρήση μιας κορυφής Χ διευκολύνει την εύρεση βραχύτερου μονοπατιού προς μια κορυφή Υ, τότε φυλάσσουμε το όνομα της κορυφής: P[Y] = X. Σε αυτή την περίπτωση, πως μπορούμε με τον τερματισμό του αλγόριθμου να κατασκευάσουμε από τον πίνακα P το μέγιστο μονοπάτι από τον κόμβο εκκίνησης προς κάποιον άλλο κόμβο Χ;

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-9 Αλγόριθμος του Dijkstra με εύρεση ΒΜ heap Q; for all v  V d[v]=  ; P[v]= ’-’; d[s]=0; S=  ; Q=V; while (Q   ){ u=DeleteMin(Q); S=S  {u}; για κάθε γείτονα v του u if d[v]>d[u]+w(u,v) d[v]=d[u]+w(u,v); P[v] = u; }

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-10 Παράδειγμα d(A)d(B)d(Γ)d(Δ)d(Ε)d(Ζ) 0      AB Δ E Γ Ζ S=  S={A}S={A,E} S={A,E,B} S={A,E,B,Δ} S={A,E,B,Δ,Ζ} S={A,E,B,Δ,Ζ,Γ} P(A)P(B)P(Γ)P(Δ)P(Ε)P(Ζ) Α Ζ A Ε A Β – - – –––– E Ε Β

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-11 Αλγόριθμος του Dijkstra - Υλοποίηση heap Q; for all v  V d[v]=  ; P[v]= ’-’; Insert(Q, (v,d[v])); d[s]=0; DecreaseKey(Q,s,0); S=  ; while (!IsEmpty(Q)){ u=DeleteMin(Q); S=S  {u}; για κάθε v γείτονα του u if d[v]>d[u]+w(u,v) d[v]=d[u]+w(u,v); DecreaseKey(Q,v, d[v]); P[v] = u; } Μείωσε την τιμή του ζεύγους που αφορά το στοιχείο s στη σωρό Q έτσι ώστε να γίνει (s,0)

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-12 Απόδειξη ορθότητας Θεώρημα 1 Όταν μια κορυφή u ‘μπαίνει’ στο S, τότε d[u] = δ(s,u). Απόδειξη Υποθέτουμε, για να φτάσουμε σε αντίφαση, ότι η u είναι η πρώτη κορυφή η οποία, κατά την εκτέλεση του αλγόριθμου, μπαίνοντας στο S έχει d[u] μεγαλύτερο (προσέξτε Λήμμα 2) από το βάρος του βραχύτερου μονοπατιού μεταξύ της u και της s. Έστω y η `πρώτη´ κορυφή στο V-S που ανήκει στο βραχύτερο μονοπάτι από την s στη u. Aφού η x μπήκε στο S πριν από την u, d[x]=δ(s,x). Επίσης, με την εισαγωγή του x στο S, ετέθει d[y]=d[x]+w(x,y), το οποίο είναι το κόστος του υπομονοπατιού στο σχήμα. s x y u S V

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-13 Απόδειξη ορθότητας Αφού το μονοπάτι από τo s στο u, είναι βραχύτερο, τότε από τη δομή βέλτιστης λύσης συνεπάγεται ότι το υπομονοπάτι s  x  y από το s στο y είναι επίσης βραχύτερο. Άρα d[y] = δ(s,y). Έτσι: d[u] > δ(s,u)(αρχική υπόθεση) = δ(s,y) + δ(y,u) (δομή βέλτιστης λύσης) = d[y] + δ(y,u)(d[y] = δ(s,y))  d[y](τα κόστα είναι  0) Αφού d[u]>d[y], ο αλγόριθμος θα διάλεγε και θα εισήγαγε τη y στο S και όχι τη u. Αντίφαση!  Λήμμα 2 Καθ’όλη τη διάρκεια του αλγόριθμου d[u]  δ(s,u). Η απόδειξη είναι παρόμοια με αυτή του Λήμματος 1. Χρόνος Εκτέλεσης: (|V| + |E|)  log|V|

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-14 Μονοπάτια Εuler (Παράδειγμα Εφαρμογής κατά βάθους διερεύνησης) Σπαζοκεφαλιά: μπορούμε να δημιουργήσουμε τα πιο κάτω σύνολα γραμμών ζωγραφίζοντας κάθε γραμμή ακριβώς μια φορά χωρίς να σηκώσουμε την πένα από το χαρτί; Tο πρόβλημα μπορεί να μετατραπεί σε πρόβλημα γράφων: Κτίζουμε γράφο G του οποίου κόμβοι είναι τα σημεία όπου διασταυρώνονται γραμμές του σχεδίου και ακμή μεταξύ δύο κόμβων υπάρχει αν υπάρχει γραμμή μεταξύ των αντίστοιχων σημείων του σχεδίου.

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-15 Μονοπάτια Εuler Το πρόβλημα τώρα είναι να διακριβώσουμε την ύπαρξη μονοπατιού που περνά από κάθε ακμή ακριβώς μια φορά. Tέτοια μονοπάτια ονομάζονται μονοπάτια Εuler, από το μαθηματικό Euler o οποίος έλυσε το πρόβλημα το Ένας γράφος με n κόμβους έχει μονοπάτι Euler αν και μόνο αν 1.είναι συνεκτικός, 2.τουλάχιστον n-2 από τους κόμβους του έχουν Degree mod 2 = 0 όπου Degree ενός κόμβου v είναι ο αριθμός των ακμών που ξεκινούν απ’αυτόν. H δεύτερη ιδιότητα οφείλεται στο ότι για όλους εκτός από τον πρώτο και τον τελευταίο κόμβο κάθε φορά που το μονοπάτι ‘μπαίνει’ σε ένα κόμβο θα πρέπει και να ‘βγει’. Πόσα μονοπάτια Euler έχει ένας γράφος;

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-16 Εύρεση Μονοπατιού Εuler Πως μπορούμε να βρούμε μονοπάτια Euler; Υπάρχει αλγόριθμος βασισμένος σε DFS ο οποίος πετυχαίνει το στόχο σε χρόνο γραμμικό. Έστω ότι γνωρίζουμε την ύπαρξη μονοπατιού Euler σε ένα γράφο. Εφαρμόζουμε τα εξής βήματα: 1.διαλέγουμε μια από τις κορυφές για τις οποίες Degree mod 2 = 1 αν τέτοια κορυφή υπάρχει, διαφορετικά οποιαδήποτε άλλη κορυφή. 2.Εφαρμόζουμε κατά βάθος διερεύνηση μέχρις ότου να μην μπορούμε να προχωρήσουμε. Έστω ότι παίρνουμε το μονοπάτι 3.Bρίσκουμε την πρώτη ακμή e =(u,v) στο μονοπάτι s στην οποία ο αρχικός κόμβος, u, έχει παιδιά τα οποία δεν έχουν ήδη εξερευνηθεί και από εκεί ξεκινούμε DFS διερεύνηση στο μέρος του γράφου που παραμένει ανεξερεύνητο. Έστω ότι λαμβάνουμε το μονοπάτι s΄. Προσθέτουμε το s΄ στο s ως εξής: 4.Επαναλαμβάνουμε το βήμα 3 μέχρις ότου να εξερευνηθεί ολόκληρος ο γράφος και επιστρέφουμε το μονοπάτι s.