Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σχετικά έγγραφα
Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος

Συντομότερες ιαδρομές

Συντομότερες ιαδρομές

Αλγόριθµοι Γραφηµάτων

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

Ελάχιστο Συνδετικό έντρο

Συντομότερες Διαδρομές

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Συντομότερες Διαδρομές

Συντομότερες ιαδρομές

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

Μέγιστη Ροή Ελάχιστη Τομή

Ουρά Προτεραιότητας: Heap

Βασικές Έννοιες Θεωρίας Γραφημάτων

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

1 Διάσχιση κατευθυνόμενων γραφημάτων

Εισαγωγή στους Αλγορίθμους

Δομές Δεδομένων Ενότητα 6

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Σχέσεις Μερικής ιάταξης

Ασυμπτωτικός Συμβολισμός

Υπολογιστική Πολυπλοκότητα

Quicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισαγωγή στους Αλγορίθμους

Επιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Βασικές Έννοιες Θεωρίας Γραφημάτων

Αλγόριθμοι και Πολυπλοκότητα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Αλγόριθμοι Γραφημάτων

Μέγιστη Ροή Ελάχιστη Τομή

Σχέση Μερικής ιάταξης Σχέση Μερικής ιάταξης (ή µερική διάταξη): ανακλαστική, αντισυµµετρική, και µεταβατική. Αριθµοί: α β (αλλά όχι α < β), α β, Σύνολ

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι Αναζήτησης

Ελάχιστο Συνδετικό Δέντρο

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Σχέσεις Μερικής ιάταξης

Ελάχιστο Συνδετικό Δέντρο

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο

Σχέσεις Μερικής ιάταξης

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Σχέσεις Μερικής Διάταξης

Θεωρία Πιθανοτήτων & Στατιστική

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

Ελάχιστο Συνδετικό Δέντρο

Θεωρία Γραφημάτων 5η Διάλεξη

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Ελάχιστο Συνδετικό έντρο

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Διαχείριση Χρόνου & Δίκτυα στη Διοίκηση Έργων. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

3η Σειρά Γραπτών Ασκήσεων

Λογιστικές Εφαρμογές Εργαστήριο

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Μαθηματικά Ενότητα 11: Θεώρημα Μέσης Τιμής Μονοτονία Συνάρτησης

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 10 η Διάλεξη Κατευθυνόμενοι Γράφοι Βασικά χαρακτηριστικά Αλγόριθμοι διάσχισης κατευθυνόμενων γράφων Λίγα Λόγια για Αλυσίδες Markov

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Υπολογιστικά & Διακριτά Μαθηματικά

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Διαπεράσεις Μη Κατευθυνόμενων Γραφημάτων

Ουρά Προτεραιότητας: Heap

Υδραυλικά & Πνευματικά ΣΑΕ

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Εισαγωγή στην Επιστήμη των Υπολογιστών

2 n N: 0, 1,..., n A n + 1 A

Εισαγωγή στην Επιστήμη των Υπολογιστών

Transcript:

Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση νέων κορυφών με απομάκρυνση από αρχική. Πρώτη επίσκεψη σε ανεξερεύνητη κορυφή u: Εξερεύνηση (αναδρομικά) όλων των (ανεξερεύνητων) γειτόνων της u, πριν ολοκληρώσουμε με u. Φύσει αναδρομική διαδικασία: Τρία είδη κορυφών: Ανεξερεύνητη: όχι επίσκεψη ακόμη. Υπο-εξέταση: επίσκεψη και εξερευνούμε γείτονες. Εξερευνημένη: ολοκλήρωση διαδικασίας. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 2

Αναζήτηση Κατά Βάθος (DFS) Κορυφές περνούν από παραπάνω στάδια: Αρχικά όλες οι κορυφές ανεξερεύνητες. Πρώτηεπίσκεψηανεξερεύνητηςκορ. υπό-εξέταση. Ολοκλήρωση DFS για (ανεξερ.) γείτονες κορ. εξερευνημένη. Κορυφή u τίθεται υπό-εξέταση: Όλες οι κορυφές που είναι προσπελάσιμες από u και είναι ανεξερεύνητες θα τεθούν εξερευνημένες πριν u τεθεί εξερευνημένη. Εξέλιξη διαδικασίας αποτυπώνεται σε DFS-δάσος και «χρόνους» πρώτης επίσκεψης και αναχώρησης. DFS-δάσος: ακμές πρώτης επίσκεψης, ακυκλικό. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 3

Υλοποίηση Πίνακας κατάστασης: m[v] = { A, Y, E }. Πίνακας προγόνων: p[v] = πατέρας v στο DFS-δάσος. «Χρόνοι» πρώτης επίσκεψης d[v] και αναχώρησης f[v]. Χρόνος εκτέλεσης Θ(n + m). DFS σε (α) δέντρο, (β) πλήρες γράφημα, (γ) κύκλο. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 4

Παράδειγμα Κατηγορίες Ακμών Ακμές δάσους / δέντρου: Εξερεύνηση (u, v) όταν v ανεξερεύνητη. Πίσω ακμές: Εξερεύνηση (u, v) όταν v υπό-εξέταση: κύκλος. Μπροστά ακμές: Εξερεύνηση (u, v) όταν v εξερευνημένη και v απόγονος u στο δέντρο. Ακμές διασταύρωσης: Εξερεύνηση (u, v) όταν v εξερευνημένη και v όχι απόγονος u στο δέντρο. Δ Δ Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 5

Παράδειγμα DFS σε μη-κατευθ. γράφημα παράγει μόνο ακμές δέντρου και πίσω ακμές. Ακμή {v, u} με d[v] < d[u] (πρώτα πρώτη επίσκεψη σε v). Πρώτα v ΥΕ, μετά u ΥΕ, μετά u Εξερ, τέλος v Εξερ. Αν κατεύθυνση (v, u) εξερευνήθηκε πρώτη, τότε {v, u} ακμή δέντρου. Αν κατεύθυνση (u, v) εξερευνήθηκε πρώτη, τότε {v, u} πίσω ακμή. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 6

Μερικές Ιδιότητες Για μη-κατευθυνόμενα γραφήματα, DFS υπολογίζει συνεκτικές συνιστώσες (όπως και BFS). Αν v απόγονος u στο DFS-δάσος, Αν v όχι απόγονος u στο DFS-δάσος, Γράφημα ακυκλικό ανν DFS δεν παράγει πίσω ακμές. Εξερεύνηση πίσω ακμής (u, v) όταν v ΥΕ Μονοπάτι v u και ακμή (u, v) κύκλος. Έστω κύκλος C, v πρώτη κορυφή C που τίθεται ΥΕ, και (u, v) ακμή C που εισέρχεται στην v. u απόγονος της v στο DFS-δάσος γιατί: Υπάρχει v u μονοπάτι. Όλες οι άλλες κορυφές του C είναι Α όταν v γίνεται ΥΕ. Άρα (u, v) πίσω ακμή. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 7

Εφαρμογές «Χρόνοι» πρώτης επίσκεψης και αναχώρησης δίνουν πληροφορίες για δομή γραφήματος: Τοπολογική διάταξη σε Directed Acyclic Graphs (DAGs). Σημεία κοπής και γέφυρες σε μη-κατευθυνόμενα γραφήματα. Ισχυρά συνεκτικές συνιστώσες σε κατευθυνόμενα γραφήματα. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 8

Τοπολογική ιάταξη DAG (Directed Acyclic Graph) αντιστοιχεί σε σχέση μερικής διάταξης: Ακμή (u, v) u v (δηλ. u «προηγείται» v). Σειρά υπολογισμού αλγεβρικών εκφράσεων, π.χ. Προγραμματισμός εργασιών σε σύνθετα έργα. Ύπαρξη κύκλου δεν συνάδει με «διάταξη», έστω μερική. DFS ελέγχει για ύπαρξη κύκλων και υπολογίζει «σειρά» κορυφών συμβατή με μερική διάταξη του DAG. Τοπολογική διάταξη. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 9

Τοπολογική ιάταξη... μετάθεση π κορυφών κατευθυνόμενου G(V, E) ώστε ηλ. κορυφές σε ευθεία ώστε όλες οι ακμές να έχουν φορά από αριστερά προς τα δεξιά. Τοπολογική διάταξη ανν γράφημα ακυκλικό (DAG). Κορυφές σε φθίνουσα σειρά χρόνων αναχώρησης του DFS, δηλ. Υλοποίηση με στοίβα: Εξερευνημένη κορυφή μπαίνει στην ουρά. Σειρά στην ουρά αντιστοιχεί σε τοπολογική διάταξη. Χρόνος Θ(n+m). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 10

Παράδειγμα α β γ δ ε ζ η θ ι κ α θ δ ε ζ γ ι κ Τοπολογική διάταξη: α, β, ζ, γ, θ, ι, δ, ε, κ, η β η Αναζήτηση Κατά Πλάτος 11

Παράδειγμα 1 2 3 6 4 5 7 8 9 11 10 Τοπολογική διάταξη: 1, 3, 8, 6, 11, 10, 9, 4, 5, 7, 2 Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 12

Τοπολογική ιάταξη: Ορθότητα Έστω DAG G(V, E). Θδο (u, v) E, f[u] > f[v]. Εξερεύνηση (u, v) συμβαίνει όταν u ΥΕ και v Ανεξ. ή Εξερ. Αν v ΥΕ, τότε (u, v) πίσω ακμή κύκλος! Αν v Εξερ., τότε εξερεύνηση της v ολοκληρώθηκε πριν ολοκληρωθεί εξερεύνηση u, άρα f[u] > f[v]. Αν v Ανεξ., τότε v απόγονος της u στο DFS-δάσος. Άρα f[u] > f[v], γιατί πρώτα τίθεται f[v] και μετά f[u]. Έστω σύστημα με n (πραγματικές) μεταβλητές x 1,, x n και m περιορισμούς της μορφής x i < x j. Αλγόριθμος με χ.ε. Ο(n+m) που υπολογίζει μια λύση του συστήματος ή αποφαίνεται ότι το σύστημα δεν έχει λύση; Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Αναζήτηση Κατά Πλάτος 13

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.