Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 4 Δ ΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 1
Ένα γράφημα G είναι δένδρο αν: 1. Είναι συνδεδεμένο και δεν έχει κύκλους. 2. Είναι συνδεδεμένο και έχει n-1 ακμές. 3. Δεν έχει κύκλους και έχει n-1 ακμές. 4. Είναι συνδεδεμένος κατά ελάχιστο τρόπο. 5. Αν υπάρχει ένα μόνο μονοπάτι μεταξύ δύο οποιονδήποτε κόμβων. Εισαγωγή (1) 2
Εκκεντρικότητα: μέγιστη απόσταση ενός κόμβου από τον πλέον απομακρυσμένο κόμβο του γραφήματος. Κέντρο: υπογράφημα που επάγεται από κόμβους με την μικρότερη εκκεντρικότητα. Ακτίνα: η εκκεντρικότητα του κέντρου. Διάμετρος: το μήκος του μακριότερου (μεγαλύτερου) μονοπατιού. Ακτίνα ≤ Διάμετρος Εισαγωγή (2) 3
Πόρισμα: Ένα δάσος (δένδρων) με n κόμβους και k συνιστώσες δένδρα, έχει n-k ακμές. Θεώρημα: Ένα δένδρο έχει κέντρο που αποτελείται από 1 ή 2 κόμβους. Εισαγωγή (3) 4
Μη αύξουσα ακολουθία S: d 1, d 2, d 3, …, d n ανήκει σε ένα Τ, μόνο αν d i θετικός αριθμός και ισχύει: Σ i=1..n d i = 2(n-1) [αναγκαία, όχι ικανή συνθήκη] Σε κάθε δένδρο υπάρχουν τουλάχιστον 2 εκκρεμείς ακμές. Ισχύει: 2m = 2(n-1) 5 Ποσοτικά Στοιχεία
6 Δένδρο n κόμβων n-1 ακμές
1857 Cayley C k H 2k+2, # ισομερών n = k + 2k + 2 = 3k + 2 m = ½(Σd(v)) = ½(4k+2k+2) = 3k+1 Θεώρημα: Ο αριθμός των διακριτών δένδρων με επιγραφές που έχει n κόμβους είναι n n-2 (10 αποδείξεις). (K n # σκελετικών δένδρων = n n-2 ) 7 Απαρίθμηση Δένδρων (1)
Απόδειξη Cayley: Επιγράφουμε τους κόμβους του δένδρου με 1, 2,..., n. Βρίσκουμε τον εκκρεμή κόμβο με τη μικρότερη επιγραφή, έστω a 1. Τον διαγράφουμε και έστω b 1 ο γειτονικός της κόμβος. Επαναλαμβάνουμε την διαδικασία στο υπογράφημα που μένει. Έτσι, μετά από n-2 διαγραφές, το δένδρο εκφυλίζεται σε μία ακμή, και έχουμε δημιουργήσει S: (b 1, b 2,..., b n-2 ). 8 Απαρίθμηση Δένδρων (2)
Απόδειξη Cayley: Ωστόσο, μπορούμε να κατασκευάσουμε ένα δένδρο Τ κατά μοναδικό τρόπο από την S = (b 1, b 2,..., b n-2 ) που περιέχει μη-εκκρεμείς κόμβους. Έστω, L = (1, 2, …, n). Επιλέγουμε την μικρότερη επιγραφή, έστω l 1, από την L που δεν είναι στην S. Η ακμή (l 1, s 1 ) ανήκει στο Τ. Διαγράφουμε l 1 από L και s 1 από S. Επαναλαμβάνουμε με τις νέας ακολουθίες L και S. Κάθε στοιχείο της ακολουθία b 1, b 2,..., b n-2, μπορεί να πάρει τιμές 1≤ b i ≤ n (όπου 1 ≤ i ≤ n-2) n n-2. (Prüfer, 1918) 9 Απαρίθμηση Δένδρων (3)
Άσκηση: Θεώρημα: Το πλήθος των διακριτών ένριζων δένδρων (rooted trees) με n κόμβους είναι n n-1. Κάθε στοιχείο της ακολουθία b 1, b 2,..., b n-2, μπορεί να πάρει τιμές 1≤ b i ≤ n (όπου 1 ≤ i ≤ n-2) n n Απαρίθμηση Δένδρων (4)
Ζευγνύoντα Δένδρα (1) Θεώρημα: Κάθε συνδεδεμένος γράφος έχει τουλάχιστον ένα ζευγνύον δένδρο. Ερώτηση: Πόσα ζευγνύοντα δένδρα έχει ένας γράφος; Θεώρημα: Σε πλήρη γράφο K n υπάρχουν n n-2 διακριτά ζευγνύοντα δένδρα. 11
Θεώρημα: Σε διμερή γράφο Κ m,n ο αριθμός των διακριτών ζευγνυόντων δένδρων είναι m n-1 n m-1. Θεώρημα: K 2,n n 2 n-1 12 Ζευγνύoντα Δένδρα (2)
Θεώρημα: K 3,n n 2 3 n-1 a b c a b c x y z (α) (β) (α): n 3 n-1 (β): 6 n(n-1)/2 3 n-2 Από (α) + (β) = n(n-1) 3 n-1 Μονοπάτια μήκους 2 Μονοπάτια μήκους 4 13 Ζευγνύoντα Δένδρα (3)
Θεώρημα: (Matrix-tree theorem) – Kirchoff Α: πίνακας γειτνίασης C: πίνακας βαθμών C-A: διαφορά πινάκων B ij =(C-A) ij : ελάσσων πίνακας (-1) i+j |B ij |: συμπαράγοντας Το πλήθος των ζευγνυόντων δένδρων ισούται με συμπαράγοντα Ζευγνύoντα Δένδρα (4)
Θεμελιώδες κύκλωμα: Ένας κύκλος που δημιουργείται από ένα ζευγνύον δένδρο και μια χορδή. Σύνολο χορδών: m-n+1 G = T U T Αριθμός θεμελιωδών κυκλωμάτων: m-n+1 Κυκλικές εναλλαγές παράγουμε όλα τα ζευγνύοντα δένδρα. 15 Ζευγνύoντα Δένδρα (5)
Επιλέγουμε ένα σκελετικό δέντρο Τ Εισάγουμε μια ακμή C i θεμελιώδεις κύκλωμα Διαγράφοντας μια-μια ακμή του C i παράγονται Τ 1, Τ 2,…Τ Κ σκελετικά δέντρα Εισάγουμε νέα ακμή C i+1 G T Τυχαία επιλογή του Τ παράγονται όλα τα σκελετικά δέντρα του G 16 Ζευγνύoντα Δένδρα (6)
Απόσταση ζευγνυόντων δένδρων = πλήθος ακμών που ανήκουν στο ένα δένδρο αλλά όχι στο άλλο. dist(T i, T j ) = dist(T j, T i ) dist(T i, T j ) ≥ 0, εκτός αν dist(T i, T i ) = 0 dist(T i, T j ) ≤ dist(T i, T u ) + dist(T u, T j ) Κεντρικό: λέγεται ένα ζευγνύον δένδρο T 0 αν max(dist(T 0, T j )) ≤ max(dist(T, T j )) για κάθε Τ ζευγνύον δένδρο του G. Ζυγισμένα δένδρα: Εύρεση ελάχιστου ζευγνύοντος δένδρου Prim & Kruskal. 17 Ζευγνύoντα Δένδρα (7)