Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

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

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

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

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

Διοικητική Λογιστική

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Ψηφιακή Επεξεργασία Εικόνων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Βάσεις Περιβαλλοντικών Δεδομένων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διοικητική Λογιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Μηχανολογικό Σχέδιο Ι

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Κβαντική Επεξεργασία Πληροφορίας

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)

Κοινωνία & Υγεία Υγεία Πρόληψη Προαγωγή υγείας: Βαθμίδες πρόληψης

Τεχνικό Σχέδιο - CAD

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Ψηφιακή Επεξεργασία Εικόνων

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνικό Σχέδιο - CAD

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

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Ψηφιακή Επεξεργασία Εικόνων

Αλγόριθμοι και πολυπλοκότητα Bucket-Sort και Radix-Sort

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

Διδακτική Πληροφορικής

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

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αλγόριθμοι και πολυπλοκότητα Depth-First Search

Διδακτική της Πληροφορικής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Διδακτική Πληροφορικής

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διδακτική Πληροφορικής

Διοικητική Λογιστική

Ιδιότητες και Τεχνικές Σύνταξης Επιστημονικού Κειμένου

Διαχείριση Πολιτισμικών Δεδομένων

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ιστορία της μετάφρασης

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Εισαγωγή στη Δικτύωση Υπολογιστών

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Πληροφορική ΙΙ Θεματική Ενότητα 5

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διδακτική των εικαστικών τεχνών Ενότητα 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Διδακτική των εικαστικών τεχνών Ενότητα 3

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Μάρκετινγκ Αγροτικών Προϊόντων

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Η ΓΝΩΣΗ ΚΑΙ ΤΟ ΠΡΑΓΜΑΤΙΚΟ ΣΤΟΝ ΠΛΑΤΩΝΑ ΚΑΙ ΤΟΝ ΑΡΙΣΤΟΤΕΛΗ

Εισαγωγή στους Υπολογιστές

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Διδακτική των εικαστικών τεχνών Ενότητα 2

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών

Οριζόντια διερεύνηση readth irst Search readth-irst Search 1

Περιεχόμενα Οριζόντια διερεύνηση Αλγόριθμος Παραδείγματα Ιδιότητες Ανάλυση Εφαρμογές S vs. S Σύγκριση Εφαρμογών Σύγκριση των Ετικετών των Ακμών Οριζόντια διερεύνηση 2

readth-irst Search Η οριζόντια διερεύνηση (S) είναι μια γενική τεχνική για την διάσχιση ενός γράφου Μία S διάσχιση ενός γράφου G Επισκέπτεται όλες τις κορυφές (vertices) και τις ακμές (edges) του G Καθορίζει κατά πόσο ο G είναι συνδεδεμένος Υπολογίζει τις συνδεδεμένες συνιστώσες του G Υπολογίζει ένα δάσος συνδετικών δένδρων του G Ο S σε ένα γράφο με n κορυφές (vertices) και m ακμές (edges) παίρνει χρόνο O(n + m ) Ο S μπορεί να επεκταθεί ώστε να λύσει άλλα προβλήματα γράφων Βρίσκεικαιεκθέτειένα μονοπάτι με το μικρότερο αριθμό από ακμών μεταξύ 2 δοθέντων κορυφών Βρίσκει ένα απλό κύκλο αν υπάρχει 3

Αλγόριθμος S Ο αλγόριθμος χρησιμοποιεί ένα μηχανισμό για να καθορίζει και να παίρνει ετικέτες από τις κορυφές και τις ακμές. lgorithm S(G) Input graph G Output labeling of the edges and partition of the vertices of G for all u G.vertices() setlabel(u, UNXPLOR) for all e G.edges() setlabel(e, UNXPLOR) for all v G.vertices() if getlabel(v) = UNXPLOR S(G, v) lgorithm S(G, s) new empty sequence.insertlast(s) setlabel(s, VISIT) i 0 while L i.ismpty() L i +1 new empty sequence for all v L i.elements() for all e G.incidentdges(v) if getlabel(e) = UNXPLOR w opposite(v,e) if getlabel(w) = UNXPLOR setlabel(e, ISOVRY) setlabel(w, VISIT) L i +1.insertLast(w) else setlabel(e, ROSS) i i +1 Οριζόντια διερεύνηση 4

Παράδειγμα unexplored vertex visited vertex unexplored edge discovery edge cross edge Οριζόντια διερεύνηση 5

Παράδειγμα (συνεχ.) Οριζόντια διερεύνηση 6

Παράδειγμα (συνεχ.) Οριζόντια διερεύνηση 7

Ιδιότητες Σημείωση G s : συνδεμένη συνιστώσα του s Ιδιότητα 1 S(G, s) επισκέπτεται όλες τις ακμέςκαικορυφέςτουg s Ιδιότητα 2 Η ανακάλυψη ακμών μαρκαρισμένων από τον S(G, s) σχηματίζουν ένα συνδετικό δένδρο T s του G s Ιδιότητα 3 Για κάθε κορυφή v στο L i Το μονοπάτι του T s από το s στο v έχει i ακμές Κάθε μονοπάτι από το s στο v μέσα στο G s έχει το λιγότερο i ακμές Οριζόντια διερεύνηση 8

Ανάλυση Καθορισμός/Διάβασμα μιας ετικέτας κορυφές/ακμής παίρνει χρόνο O(1) Κάθε κορυφή καθορίζεται με ετικέτα 2 φορές Μία σαν UNXPLOR Μία σαν VISIT Κάθε ακμή καθορίζεται με ετικέτα 2 φορές Μία σαν UNXPLOR Μία σαν ISOVRY ή ROSS Κάθε κορυφή έχει εισαχθεί 1 φορά στην ακολουθία L i Η μέθοδος incidentdges καλείται 1 φορά για κάθε κορυφή Ο S τρέχει σε χρόνο O(n + m) υπό την προϋπόθεση ο γράφος να αναπαριστάται από την παρακάτω λίστα δομής Θυμηθείτε ότι Σ v deg(v) = 2m Οριζόντια διερεύνηση 9

Εφαρμογές Χρησιμοποιώντας την παραπάνω μέθοδο, μπορούμε να εξειδικεύσουμε την S διάσχιση ενός γράφου G για να λύσουμε τα ακόλουθα προβλήματα σε χρόνο O(n + m) Να υπολογίσουμε τις συνδεδεμένες συνιστώσες του G Να υπολογίσουμε ένα δάσος συνδετικών δένδρων του G Να βρούμε ένα απλό κύκλο (cycle) στον G, ή να δούμε ότι ο G είναι ένα δάσος (forest) Με δοσμένες 2 κορυφές του G, να βρούμε ένα μονοπάτι στον G μεταξύ των 2 κορυφών με το μικρότερο αριθμό ακμών, ή να δούμε ότι δεν υπάρχει καθόλου μονοπάτι. Οριζόντια διερεύνηση 10

S vs. S Εφαρμογές Δάσος συνδετικών δένδρων, συνδεδεμένες συνιστώσες, μονοπάτια, κύκλοι Μικρότερο μονοπάτι Διπλά συνδεμένες συνιστώσες S S S S Οριζόντια διερεύνηση 11

S vs. S (συνεχ.) Ανιούσα ακμή (v,w) w είναι ο πρόγονος του v στο δένδρο ανακάλυψης ακμών Εγκάρσια ακμή (v,w) w είναι το ίδιο επίπεδο με το v ήστοεπόμενο επίπεδο στο δένδρο ανακάλυψης ακμών S S Οριζόντια διερεύνηση 12

Τέλος Ενότητας

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

Σημειώματα

Σημείωμα αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης reative ommons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγο Έργο 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Σημείωμα Αναφοράς opyright Πανεπιστήμιο Κρήτης, Ιωάννης Τόλλης 2015. «Αλγόριθμοι και πολυπλοκότητα. Οριζόντια διερεύνηση». Έκδοση: 1.0. Ηράκλειο 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://opencourses.uoc.gr/courses/course/view.php?id=368

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.