Θεωρία και Αλγόριθμοι Γράφων

Σχετικά έγγραφα
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 7 η Διάλεξη Συνεκτικότητα (Συνδεσμικότητα) Βασικές έννοιες και ιδιότητες Το θεώρημα του Merger Ισομορφισμός

Θεωρία και Αλγόριθμοι Γράφων

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

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

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

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

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

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

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

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

Θεωρία και Αλγόριθμοι Γράφων

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Θεωρία και Αλγόριθμοι Γράφων

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

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Γενικά Μαθηματικά Ι. Ενότητα 16: Ολοκλήρωση Τριγωνομετρικών Συναρτήσεων, Γενικευμένα Ολοκληρώματα Λουκάς Βλάχος Τμήμα Φυσικής

Εκκλησιαστικό Δίκαιο

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Λογισμός 3. Ενότητα 18: Θεώρημα Πεπλεγμένων (Ειδική περίπτωση) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

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

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

Εκκλησιαστικό Δίκαιο

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

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

Γενικά Μαθηματικά Ι. Ενότητα 17: Αριθμητική Ολοκλήρωση, Υπολογισμός Μήκους Καμπύλης Λουκάς Βλάχος Τμήμα Φυσικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ

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

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

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

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

Γενικά Μαθηματικά Ι. Ενότητα 7: Σειρές Taylor, Maclaurin. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 12: Αντιμετώπιση Περιορισμών Αλγοριθμικής Ισχύος

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Γενικά Μαθηματικά Ι. Ενότητα 13: Ακτίνα Σύγκλισης, Αριθμητική Ολοκλήρωση, Ολοκλήρωση Κατά Παράγοντες. Λουκάς Βλάχος Τμήμα Φυσικής

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Γενικά Μαθηματικά Ι. Ενότητα 6: Ακρότατα Συνάρτησης. Λουκάς Βλάχος Τμήμα Φυσικής

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Παράκτια Τεχνικά Έργα

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

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

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

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

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

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Γενικά Μαθηματικά Ι. Ενότητα 8: Εφαρμογές Σειρών Taylor. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

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

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

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

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

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

Εκκλησιαστικό Δίκαιο

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

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

Διπλωματική Ιστορία Ενότητα 2η:

Γενικά Μαθηματικά Ι. Ενότητα 5: Παράγωγος Πεπλεγμένης Συνάρτησης, Κατασκευή Διαφορικής Εξίσωσης. Λουκάς Βλάχος Τμήμα Φυσικής

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

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

Οδοποιία IΙ. Ενότητα 14: Υπόδειγμα σύνταξης τευχών θέματος Οδοποιίας. Γεώργιος Μίντσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

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

Γενικά Μαθηματικά Ι. Ενότητα 9: Κίνηση Σε Πολικές Συντεταγμένες. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Οικονομία των ΜΜΕ. Ενότητα 7: Μορφές αγοράς και συγκέντρωση των ΜΜΕ

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

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

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

Γενικά Μαθηματικά Ι. Ενότητα 19: Υπολογισμός Εμβαδού και Όγκου Από Περιστροφή (2 ο Μέρος) Λουκάς Βλάχος Τμήμα Φυσικής

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

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

Φ 619 Προβλήματα Βιοηθικής

Θεωρία και Αλγόριθμοι Γράφων

Διδακτική της Περιβαλλοντικής Εκπαίδευσης

Θεωρία και Αλγόριθμοι Γράφων

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

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

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

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

Φ 619 Προβλήματα Βιοηθικής

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

Γεωργική Εκπαίδευση Ενότητα 9

ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Λογισμός 3. Ενότητα 13: Τύπος του Taylor. Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών

Εκκλησιαστικό Δίκαιο

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

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

Εκκλησιαστικό Δίκαιο Ι (Μεταπτυχιακό)

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΑΝΟΙΚΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΚΑΔΗΜΑΪΚΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΑΘΗΜΑΤΑ Γενικά Μαθηματικά Ι Ενότητα 11 : Ακολουθίες και Σειρές Λουκάς Βλάχος Τμήμα Φυσικής

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 8: Συνδεσμικότητα Ιωάννης Μανωλόπουλος

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Συνδεσμικότητα

Εισαγωγή Μελέτη βαθμού συνδεσμικότητας ενός γράφου Εφαρμογές: σε οποιασδήποτε μορφής δίκτυα (τηλεπικοινωνιακά, συγκοινωνιακά κ.α.) Ποιο είναι το καλύτερο δίκτυο από άποψη αντοχής σε λάθη; 5

Συνδεσμικότητα Κορυφών Σύνολο αποκοπτουσών κορυφών V (vertex cut set, vertex separating set) ενός συνδεδεμένου γράφου G είναι το σύνολο των κορυφών ώστε ο γράφος G V να μην είναι συνδεδεμένος και να μην υπάρχει γνήσιο υποσύνολο του V με την ίδια ιδιότητα Συνδεσμικότητα κορυφών (vertex connectivity), VC(G), είναι το ελάχιστο k= V, ώστε ο γράφος G να είναι συνδεδεμένος αν διαγραφούν λιγότερες από k κορυφές. Ο G λέγεται k-συνδεδεμένος k-connected αν VC(G) k 6

Μερικά Θεωρήματα Ι Θεώρημα: Μια κορυφή v ενός δένδρου είναι αποκόπτουσα αν και μόνον αν d(v)>1 Πόρισμα: Κάθε μη ασήμαντος απλός συνδεδεμένος γράφος έχει τουλάχιστον 2 κορυφές που δεν είναι αποκόπτουσες Θεώρημα: Μια κορυφή v είναι αποκόπτουσα αν και μόνον αν υπάρχουν 2 κορυφές u και w (u,w v), ώστε η v να βρίσκεται σε κάθε μονοπάτι από την u προς την w 7

Συνδεσμικότητα Ακμών Σύνολο αποκοπτουσών ακμών Ε edge cut set, edge separating set είναι το σύνολο των ακμών ώστε ο γράφος G-E να μην είναι συνδεδεμένος, χωρίς να υπάρχει γνήσιο υποσύνολο του Ε με την ίδια ιδιότητα Συνδεσμικότητα ακμών EC(G) edge connectivity ενός γράφου G είναι το ελάχιστο k= E, ώστε ο G να παραμένει συνδεδεμένος έπειτα από διαγραφή k-1 ακμών Ένας γράφος G λέγεται k-συνδεδεμένος ως προς τις ακμές edge k-connected αν EC(G) k 8

Μερικά Θεωρήματα ΙΙ Θεώρημα: Μια ακμή e είναι αποκόπτουσα αν και μόνον αν υπάρχουν 2 κορυφές u και w, τέτοιες ώστε η e να βρίσκεται σε κάθε μονοπάτι από την u προς την w. Θεώρημα: Μια ακμή είναι αποκόπτουσα αν και μόνον αν δεν περιέχεται σε κύκλο Θεώρημα Whitney: VC(G) EC(G) d(g) Πόρισμα: EC(G) floor(2m/n) Θεώρημα: Έστω 1 λ n-1. Αν d(g) (n+λ-2)/2, τότε ο G είναι λ-συνδεδεμένος 9

Παράδειγμα 8 1 2 VC(G)=? ΕC(G)=? 7 3 6 4 5 10

Τεμάχια γράφου Ι Ένας δισυνδεδεμένος-biconnected γράφος δεν έχει αποκόπτουσες κορυφές. Ένας τέτοιος γράφος αποτελεί ένα τεμάχιο-block ή μια δισυνιστώσα-bicomponent (biconnected component) Τεμάχιο ενός γράφου λέγεται ένας υπογράφος που είναι δισυνδεδεμένος και έχει το μέγιστο αριθμό κορυφών. Δύο τεμάχια ενός γράφου έχουν το πολύ μία κοινή κορυφή. 11

Τεμάχια γράφου ΙΙ Κάθε γράφος ταυτίζεται με την ένωση των τεμαχίων του. Τα τεμάχια ενός γράφου μπορούν να βρεθούν με DFS Δεν μπορεί μία κορυφή να είναι κοινή σε δύο τεμάχια ενός γράφου. Τα τεμάχια ενός γράφου χωρίζουν τις ακμές σε ανεξάρτητα σύνολα. 12

Εσωτερικά ξένα μονοπάτια Εσωτερικά ξένα μονοπάτια (internally disjoint paths) είναι δύο μονοπάτια με κοινές τερματικές κορυφές, χωρίς άλλες κοινές κορυφές. 1 2 5 7 8 9 3 4 6 0 13

Θεώρημα Whitney Θεώρημα: Ένας γράφος G με n 3 είναι δι-συνδεδεμένος αν και μόνον αν δύο οποιεσδήποτε κορυφές του είναι συνδεδεμένες με τουλάχιστον δύο εσωτερικά ξένα μονοπάτια. Πόρισμα: Αν ένας γράφος G είναι δισυνδεδεμένος, τότε δύο οποιεσδήποτε κορυφές του ανήκουν σε έναν κύκλο. Πόρισμα: Αν ένας γράφος αποτελείται από ένα τεμάχιο με n 3, τότε δύο οποιεσδήποτε ακμές του ανήκουν σε έναν κύκλο. 14

Θεώρημα Menger Θεώρημα: Ο μέγιστος αριθμός εσωτερικά ξένων μονοπατιών από μία κορυφή u σε μια κορυφή v ενός συνδεδεμένου γράφου ισούται με τον ελάχιστο αριθμό κορυφών, που χωρίζουν τις κορυφές u και v. Θεώρημα Whitney: Ένας γράφος είναι k-συνδεδεμένος αν και μόνον αν όλα τα ζεύγη κορυφών ενώνονται με τουλάχιστον k εσωτερικά ξένα μονοπάτια. 15

Πορίσματα (ως προς ακμές) Πόρισμα: Ο μέγιστος αριθμός εσωτερικά ξένων μονοπατιών από μία κορυφή u σε μια κορυφή v ενός συνδεδεμένου γράφου ισούται με τον ελάχιστο αριθμό ακμών, που χωρίζουν τις κορυφές u και v. Πόρισμα: Ένας γράφος G είναι k-συνδεδεμένος ως προς τις ακμές, αν και μόνον αν όλα τα ζεύγη κορυφών ενώνονται με τουλάχιστον k εσωτερικά ξένα μονοπάτια. 16

Γενικευμένο πρόβλημα συνδέσμου Ι Το λεγόμενο πρόβλημα του συνδέσμου αναφέρεται στο πρόβλημα της εύρεσης ελάχιστων ζευγνυόντων δένδρων. Ένα ελάχιστο ζευγνύον δένδρο με n 3 έχει EC=VC=1. Το γενικευμένο πρόβλημα του συνδέσμου είναι να βρεθεί υπογράφος δοθέντος γράφου με ελάχιστο βάρος, ώστε η συνδεσμικότητα να ισούται με l Αν l=1, τότε τα προβλήματα ταυτίζονται 17

Γενικευμένο πρόβλημα συνδέσμου ΙΙ Θα θεωρηθεί η περίπτωση μη ζυγισμένου γράφου. Σκοπός είναι η εύρεση ενός γράφου με n κορυφές και επιγραφές [0..n-1]), l-συνεδεδεμένου και με τον ελάχιστο αριθμό ακμών. Ο γράφος αυτός συμβολίζεται με H l,n Διακρίνονται τρεις περιπτώσεις: l άρτιο (l=2r). l περιττό (l=2r+1), n άρτιο. l περιττό (l=2r+1), n περιττό. 18

Γενικευμένο πρόβλημα συνδέσμου ΙΙΙ l άρτιο (l=2r). Δύο κόμβοι i και j είναι γειτονικοί, αν i r j i+r l περιττό (l=2r+1), n άρτιο. Κατασκευάζεται ο γράφος H 2r,n (όπως άνω). Επίσης δύο κόμβοι i και i+n/2 ενώνονται για 1 i n/2. l περιττό (l=2r+1), n περιττό. Κατασκευάζεται ο γράφος H 2r,n. Επίσης ενώνεται ο κόμβος 0 με τους (n 1)/2 και (n+1)/2 και ο κόμβος i με τον κόμβο i+(n+1)/2 για 1 i (n 1)/2. 19

Γενικευμένο πρόβλημα συνδέσμου IV Θεώρημα: Ο γράφος Η l,n είναι l-συνδεδεμένος. Θεώρημα: Ο ελάχιστος αριθμός ακμών του γράφου Η l,n είναι ceil(ln/2). 20

Ισομορφισμός Ορισμός: Δύο γράφοι G 1 =(V 1,E 1 ) και G 2 =(V 2,E 2 ) λέγονται ισομορφικοί-isomorphic αν υπάρχει μία αμφιμονοσήμαντη αντιστοιχία f από το το σύνολο V 1 στο σύνολο V 2 με την ιδιότητα ότι οι κορυφές a, b είναι γειτονικές στο G 1 αν και μόνο αν οι κορυφές f(a), f(b) είναι γειτονικές στο G 2, για κάθε ζεύγος a,b του V 1. Η συνάρτηση f ονομάζεται ισομορφική- isomorphism. 21

Διαπίστωση ισομορφισμού 1η λύση Αλγόριθμος ελέγχου ισομορφισμού: Είσοδος: γράφος G και γράφος Η Έξοδος: ΝΑΙ ή ΟΧΙ 1. Αν V(G) V(H), τότε return OXI 2. Θεωρούμε μία διάταξη των κορυφών του G 3. Καταγράφουμε τον πίνακα γειτονίας Α G του G 4. Για κάθε διάταξη των κορυφών του H Καταγράφουμε τον πίνακα γειτονίας Α H Αν Α G =Α H τότε return NAI 5. return OXI 22

Διαπίστωση ισομορφισμού 2η λύση Έστω ότι οι γράφοι αναπαριστώνται με τη μέθοδο των πινάκων πρόσπτωσης (incidence matrix). Μπορεί ο ένας πίνακας πρόσπτωσης να μετασχηματισθεί στον άλλο μέσω αντιμεταθέσεων γραμμών ή/και στηλών. Επίσης μη αποτελεσματική λύση. Υπάρχουν αποτελεσματικοί αλγόριθμοι μόνο για ειδικές περιπτώσεις γράφων. Επίσης, μπορεί να είναι εύκολη η απόδειξη ότι δύο γράφοι δεν είναι ισομορφικοί 23

Αμετάβλητες invariants Συνθήκες για την εύκολη διαπίστωση αν δύο γράφοι δεν είναι ισομορφικοί: Ίδια τάξη; Ίδιο μέγεθος; Ίδια ακολουθία βαθμών; Ίδιος αριθμός συνιστωσών; Για κάθε συνιστώσα του (4) απαντώνται θετικά οι πρώτες τρεις ερωτήσεις; Έχουν οι δύο γράφοι το ίδιο χρωματικό πολυώνυμο; Για n<8, αν όλες οι ερωτήσεις απαντηθούν θετικά, τότε οι γράφοι είναι ισομορφικοί (έχει αποδειχθεί). 24

Παραδείγματα Άσκηση I c a d b f a e e d b c c 1 6 a b 4 e d 2 5 3 f(a) = e f(b) = a f(c) = b f(d) = c f(e) = d f(a) = 6 f(b) = 1 f(c) = 3 f(d) = 5 f(e) = 2 f(f) = 4 25

Παραδείγματα Άσκηση II b a e a e h d c d b f g c a c b e d 1 4 5 8 2 6 3 7 3 26

Γενίκευση ισομορφισμού I Δύο γράφοι είναι 1-ισομορφικοί αν καθίστανται ισομορφικοί μετά την επανειλημμένη διάσπαση των αποκοπτουσών κορυφών. Τα τεμάχια ενός γράφου είναι ισομορφικά προς τις συνιστώσες ενός άλλου γράφου. 27

Γενίκευση ισομορφισμού II Αν ο γράφος αποτελείται από ένα τεμάχιο, τότε η έννοια της 1-ισομορφικότητας ταυτίζεται με την έννοια της ισομορφικότητας. Θεώρημα: Αν δύο γράφοι είναι 1-ισομορφικοί, τότε η σειρά και η μηδενικότητά τους είναι ίσες. 28

Αντιστοιχία κύκλων Δύο γράφοι έχουν αντιστοιχία κύκλων circuit correspondence, αν υπάρχει αμφιμονοσήμαντη αντιστοιχία ακμών και κύκλων, έτσι ώστε ένας κύκλος του πρώτου γράφου να έχει αντίστοιχο κύκλο στο δεύτερο γράφο, που αποτελείται από τις αντίστοιχες ακμές. Θεώρημα: Δύο 1-ισομορφικοί γράφοι έχουν αντιστοιχία κύκλων 29

2-ισομορφισμός I Δύο γράφοι είναι 2-ισομορφικοί αν καθίστανται ισομορφικοί μετά την επανειλημμένη εφαρμογή μιας ή δύο από τις εξής πράξεις διαδοχική διάσπαση αποκοπτουσών κορυφών διαχωρισμός του ενός γράφου σε δύο ξένους υπογράφους, που έχουν 2 ζεύγη κοινών κορυφών και επανασύνδεση των υπογράφων ταυτοποιώντας τις κορυφές με διαφορετικό τρόπο 30

2-ισομορφισμός II Δύο ισομορφικοί γράφοι είναι 1-ισομορφικοί, δύο 1-ισομορφικοί γράφοι είναι 2-ισομορφικοί. Το αντίθετο δεν ισχύει. Θεώρημα (Whitney): Δύο γράφοι είναι 2-ισομορφικοί αν και μόνον αν έχουν αντιστοιχία κύκλων 31

Παράδειγμα I 10 6 10 6 11 9 5 1 11 9 5 8 7 4 3 2 7 4 3 8 1 2 32

Αλγόριθμοι Αλγόριθμοι διάσχισης γράφων BFS, αναζήτηση κατά πλάτος DFS, αναζήτηση κατά βάθος Οι αλγόριθμοι αυτοί χρησιμοποιούνται για την εύρεση αποστάσεων από κάποια κορυφή για τη διαπίστωση αν γράφος είναι συνδεδεμένος για την εύρεση (ισχυρά συνδεδεμένων) συνιστωσών για την τοπολογική ταξινόμηση για την εύρεση των σημείων άρθρωσης για την εύρεση γεφυρών για τη διαπίστωση κύκλων για τη διαπίστωση επιπεδικότητας 33

BFS vs DFS BFS o 1959 Moore o Επισκεπτόμαστε τον πιο ρηχό κόμβο o Υλοποίηση με ουρά DFS o 1973 Hopcroft-Tarjan o Επισκεπτόμαστε τον πιο βαθύ κόμβο o Υλοποίηση με στοίβα. Η διαφορά έγκειται στη δομή δεδομένων! 34

BFS σε δένδρο 35

DFS σε δένδρο Ταυτίζεται με την προδιατεταγμένη (preorder) διάσχιση 36

BFS vs DFS bfs(g) list L = empty tree T = empty choose a starting vertex x visit(x) while(l nonempty) remove edge (v,w) from beginning of L if w not visited add (v,w) to T visit(w) dfs(g) list L = empty tree T = empty choose a starting vertex x visit(x) while(l nonempty) remove edge (v,w) from end of L if w not visited add (v,w) to T visit(w) Visit ( vertex v) mark v as visited for each edge (v,w) add edge (v,w) to end of L 37

BFS Εύρεση αποστάσεων Είσοδος: γράφος G με επιγραφές και κορυφή x V Έξοδος: οι αποστάσεις από την κορυφή x προς όλες τις κορυφές που είναι προσπελάσιμες από αυτήν 1. Θέτουμε i 0. Στην κορυφή x θέτουμε την επιγραφή i. 2. Βρίσκουμε όλες τις κορυφές χωρίς επιγραφές που είναι γειτονικές προς τουλάχιστον μία κορυφή με επιγραφή i. Αν δεν υπάρχει κάποια τέτοια κορυφή, τότε ο γράφος εξαντλήθηκε. 3. Θέτουμε την επιγραφή i+1 σε όλες τις κορυφές που βρέθηκαν στο Βήμα 2 4. Θέτουμε i i+1. Πηγαίνουμε στο Βήμα 2 38

BFS Εύρεση αποστάσεων, η ιδέα I Σε κάθε χρονική στιγμή υπάρχει ένα μέτωπο κορυφών που τις έχουμε ανακαλύψει, αλλά δεν τις έχουμε ακόμη επεξεργασθεί Λαμβάνουμε διαδοχικά τις κορυφές του μετώπου και ανακαλύπτουμε τους γείτονες δημιουργώντας ένα νέο μέτωπο 39

BFS Εύρεση αποστάσεων, η ιδέα II 2 3 3 Άσπρες κορυφές: μη μαρκαρισμένες και εκτός ουράς 2 2 3 1 s 1 1 2 2 2 3 3 Γκρι κορυφές: μαρκαρισμένες και εντός ουράς Μαύρες κορυφές: μαρκαρισμένες και εκτός ουράς 40

Αναλυτικά: BFS αρχικοποίηση procedure BFS(G:graph; s:node; var color:carray; dist:iarray; parent:parray); for each vertex u do color[u]:=white; dist[u]:= ; parent[u]:=nil; color[s]:=gray; dist[s]:=0; init(q); enqueue(q, s);, Θ(n) 41

Αναλυτικά: BFS main while not (empty(q)) do u:=head(q); for each v in adj[u] do if color[v]=white then color[v]:=gray; dist[v]:=dist[u]+1; parent[v]:=u; enqueue(q,v); dequeue(q); color[u]:=black; end BFS O(m) 42

BFS Παράδειγμα Ι s r t x r s t u r s t u 0 1 0 1 v w x y v w x y r s t u r s t u 1 0 2 t x v w r 1 0 1 2 2 1 2 v w x y v w x y 2 43

BFS Παράδειγμα ΙΙ x v u r s t u r s t u 1 0. 3 2 1 0 2 3 2 1 2 v u y 1 2 v w x y v w x y r s t u r s t u 2 3 1 0 2 3 1 0 2 3 u y y 2 1 2 3 2 1 2 v w x y v w x y 3 Τέλος, η κορυφή y βγαίνει από την ουρά και μαυρίζεται 44

Πολυπλοκότητα του BFS Αρχικοποίηση Θ(n). Κάθε κόμβος μπαίνει στην ουρά μία φορά (από άσπρος γίνεται γκρι) και η λίστα γειτνίασης διασχίζεται μία φορά. Το πολύ, όλες οι λίστες διασχίζονται. Κάθε ακμή λαμβάνεται δύο φορές, οπότε ο βρόχος επαναλαμβάνεται το πολύ 2 E φορές. Χειρότερη περίπτωση O(n+m) Αν ο γράφος είναι υλοποιημένος με πίνακα γειτνίασης, τότε η πολυπλοκότητα είναι Ο(n2). 45

BFS δένδρο Ι Όσες ακμές του γράφου G παρουσιάζονται στο BFS tree ονομάζονται δενδρικές tree edges, οι υπόλοιπες ονομάζονται διασταυρούμενες cross edges. 46

BFS δένδρο ΙΙ 9 11 0 1 2 10 5 7 Γράφος G 6 4 8 0 1 2 4 5 9 10 6 7 8 11 BFS δένδρο 47

DFS Αναζήτηση κατά βάθος Αλγόριθμος DFS των Hopcroft-Tarjan (1973): Είσοδος: γράφος G με επιγραφές και κορυφή x V Έξοδος: σύνολο Τ δενδρικών κορυφών και αρίθμηση dfi(v) 1. Θέτουμε T Ø, i 1. 2. Για κάθε v V, θέτουμε dfi(v) 0 3. Για κάθε u με dfi(u) εκτελείται DFS(u). 4. Στην έξοδο δίνεται το σύνολο Τ. 5. Διαδικασία DFS(v) 6. Θέτουμε dfi(v) i, i i+1 7. Για κάθε u N(v) εκτελούνται οι εντολές: Αν dfi(u)=0, τότε θέτουμε T TU{e}, όπου e=(u,v) μία μη χρησιμοποιημένη προσπίπτουσα ακμή, και l(e) used Καλούμε την DFS(u) 48

Οπίσθιες ακμές Ι Θεώρημα: Κάθε οπίσθια ακμή (u,v) που προκύπτει κατά την αναζήτηση κατά βάθος (DFS) ενός μη κατευθυνόμενου γράφου ενώνει κορυφές που βρίσκονται σε σχέση απογόνου/προγόνου. 49

Οπίσθιες ακμές ΙΙ 0 9 11 2 10 0 1 5 7 6 4 8 6 5 2 7 8 4 1 9 11 10 Γράφος G DFS δένδρο 50

Αναλυτικά: DFS procedure DFS(G:graph; var color: carray; d,f:iarray; parent:parray); for each vertex u do color[u]:=white; parent[u]:=nil; time:=0; for each vertex u do if color[u]=white then DFS-Visit(u); end DFS Θ(n) 51

Αναλυτικά: DFS-visit(u) color[u]:=gray; time:=time+1; d[u]:=time for each v in adj[u] do if color[v]=white then parent[v]:=u; DFS-Visit(v); color[u]:=black; time:=time+1; f[u]:=time; end DFS-Visit 52

DFS Παράδειγμα Ι u v w u v w 1/ 1/ 2/ x y z u v w x y z u v w 1/ 2/ 1/ 2/ B 3/ 4/ 3/ x y z x y z 53

DFS Παράδειγμα ΙΙ u v w 1/ 2/ B 4/5 3/ x y z u v w 1/ 2/7 B 4/5 3/6 x y z u v w 1/ 2/ B 4/5 3/6 x y z u v w 1/8 2/7 F B 4/5 3/6 x y z 54

DFS Παράδειγμα ΙΙΙ u v w 1/ 2/ B 4/5 3/ x y z u v w 1/ 2/7 B 4/5 3/6 x y z u v w 1/ 2/ B 4/5 3/6 x y z u v w 1/8 2/7 F B 4/5 3/6 x y z 55

Πολυπλοκότητα του DFS Αρχικοποίηση Θ(n). Η DFS-visit καλείται μία φορά για κάθε κόμβο v. Ο βρόχος for εκτελείται dv φορές. Συνολικά η DFS-visit καλείται Θ(m) φορές. Χειρότερη περίπτωση Θ(n+m) 56

Εφαρμογές του DFS Ι O γράφος G είναι συνδεδεμένος? Εκτελούμε DFS-Visit(v). Αν προσεγγίζουμε όλες τις κορυφές, τότε NAI, αλλιώς OXI. O(n+m) Ο γράφος G είναι δένδρο? Εκτελούμε DFS-Visit(v). Αν προσεγγίζουμε όλες τις κορυφές και δεν υπάρχουν οπίσθιες ακμές, τότε ΝΑΙ, αλλιώς OXI. O(n) 57

Εφαρμογές του DFS ΙΙ Εύρεση τεμαχίων. Εκτελούμε DFS. Αναθέτουμε στις κορυφές ενός τεμαχίου ένα id. Θ(n+m) Εύρεση κύκλου. Εκτελούμε DFS. Αν υπάρχουν οπίσθιες ακμές, τότε NAI, αλλιώς ΟΧΙ. O(n) διότι προσεγγίζονται το πολύ n ακμές. Προσοχή: οι ακμές (u,v) και (v, u) δεν αποτελούν κύκλο. 58

Αλγόριθμος εύρεσης τεμαχίων με DFS Ι Αρκεί να εντοπιστούν οι αποκόπτουσες κορυφές ως εξής: 1. Αν μία αποκόπτουσα κορυφή v είναι η ρίζα του δένδρου DFS, τότε η v πρέπει να έχει περισσότερο από ένα γιο. 2. Αν μία αποκόπτουσα κορυφή v δεν είναι ρίζα, τότε πρέπει η v να έχει ένα γιο s, του οποίου κάποιος απόγονος (συμπεριλαμβανομένου του s) να συνδέεται με έναν πρόγονο της v μέσω 1 οπίσθιας ακμής το πολύ. 59

Αλγόριθμος εύρεσης τεμαχίων με DFS ΙΙ Για κάθε κορυφή v ορίζεται εκτός από τη d(v) και μία επιπλέον μεταβλητή, η l(v), που δηλώνει τη μικρότερη από τις επιγραφές d(v) και d(s), όπου s είναι είτε απόγονος της v, είτε πρόγονος μέσω μιας το πολύ οπίσθιας ακμής, που ενώνει τον πρόγονο αυτό με έναν απόγονο της v. Άρα η μέγιστη τιμή που μπορεί να πάρει η l(v) είναι d(v). Άρα για να ισχύει το 2, πρέπει l(s) d(v) 60

Υπολογισμός παραμέτρου l(v) Αρχικά: l(v)=d(v). Ο υπολογισμός της l(v) γίνεται θέτοντας την τιμή της ίση με το ελάχιστο στοιχείο του συνόλου: {d(v)} {l(s) s γιος της v} {d(w) (s,w) μία οπίσθια ακμή} Η l(v) ενημερώνεται όποτε προσπελάζεται ένας γιος s, τέτοιος ώστε l(v) l(s) ή όποτε βρίσκεται μία οπίσθια ακμή. Αυτό μπορεί να επιτευχθεί με τη βοήθεια μιας στοίβας. Αποκόπτουσες κορυφές είναι όσες l(u) d(v) 61

Παράδειγμα Ι Ξεκινώντας από την κορυφή 1, να δοθούν τα dfi και l για όλες τις κορυφές 8 4 1 7 6 5 3 2 62

Παράδειγμα ΙΙ Να εξηγηθούν οι τιμές dfi και l. 1[1] v[l(v)] 2[2] 5[1] 3[2] 6[5] 8[1] 4[2] 7[5] 63

Σημείωμα Αναφοράς Copyright, Ιωάννης Μανωλόπουλος. «Αλγοριθμική Θεωρία Γράφων. Συνδεσμικότητα». Έκδοση: 1.0. Θεσσαλονίκη 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.auth.gr/courses/ocrs264/. 64

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά - Παρόμοια Διανομή [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. [1] http://creativecommons.org/licenses/by-sa/4.0/

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Τέλος ενότητας Επεξεργασία: Ανδρέας Κοσματόπουλος Θεσσαλονίκη, Μάρτιος 2015

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 68

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