+ All Categories
Home > Documents > Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές...

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

Date post: 10-Feb-2016
Category:
Upload: matana
View: 57 times
Download: 0 times
Share this document with a friend
Description:
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3 : Δένδρα. Δένδρα – Βασικά Στοιχεία. Δένδρα: Συνδεδεμένοι άκυκλοι γράφοι Θεώρημα: Ένας γράφος G είναι δένδρο αν και μόνο αν δύο οποιεσδήποτε κορυφές ενώνονται με ένα μοναδικό μονοπάτι. Θεώρημα: Σε ένα δένδρο Τ ισχύει η σχέση: m=n–1 - PowerPoint PPT Presentation
Popular Tags:
50
Data Engineering Lab Θεωρία Γράφων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι- Θεμελιώσεις-Αλγόριθμοι- Εφαρμογές Εφαρμογές Κεφάλαιο 3: Δένδρα 1
Transcript
Page 1: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

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

Κεφάλαιο 3: Δένδρα

1

Page 2: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Δένδρα –Δένδρα – ΒασικάΒασικά ΣτοιχείαΣτοιχεία Δένδρα: Συνδεδεμένοι άκυκλοι γράφοι

Θεώρημα: Ένας γράφος G είναι δένδρο αν και μόνο αν δύο οποιεσδήποτε κορυφές ενώνονται με ένα μοναδικό μονοπάτι.

Θεώρημα: Σε ένα δένδρο Τ ισχύει η σχέση: m=n–1

Πόρισμα: Σε κάθε δένδρο υπάρχουν τουλάχιστον δύο εκκρεμείς κορυφές, δηλαδή κορυφές με βαθμό 1.

2

Page 3: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Δένδρα –Δένδρα – ΒασικάΒασικά ΣτοιχείαΣτοιχεία Πόρισμα: Μία μη αύξουσα ακολουθία ακεραίων S: d1,d2,…,dn

ανήκει σε ένα δένδρο μόνο αν κάθε di είναι θετικός αριθμός και ισχύει η σχέση:

Αναγκαία αλλά όχι ικανή συνθήκη

n

ii nd

1

)1(2

3

Page 4: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Θεώρημα: Ένας άκυκλος γράφος με n κορυφές και n–1 ακμές είναι συνδεδεμένος.

Θεώρημα: Κάθε συνδεδεμένος γράφος με n κορυφές και n–1 ακμές είναι δένδρο.

Θεώρημα: Ένας γράφος είναι δένδρο αν είναι συνδεδεμένος κατά ελάχιστο τρόπο.

4

Δένδρα –Δένδρα – ΒασικάΒασικά ΣτοιχείαΣτοιχεία

Page 5: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Ιδιότητες ΔένδρωνΙδιότητες Δένδρων Ένας συνδεδεμένος γράφος με n κορυφές είναι δένδρο:

αν δεν περιέχει κύκλους αν υπάρχει μόνο 1 μονοπάτι μεταξύ 2 τυχαίων κορυφών αν κάθε ακμή είναι γέφυρα αν αποτελείται από n–1 ακμές αν περιέχει τουλάχιστον 2 κορυφές βαθμού 1 (n≥2) αν παράγεται 1 μόνο κύκλος, αν προθέσουμε 1 ακμή

5

Page 6: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Κάποιες Επιπλέον ΙδιότητεςΚάποιες Επιπλέον ΙδιότητεςΠόρισμα: Δάσος με n κορυφές και k συνιστώσες έχει n–k ακμές.

Θεώρημα (Jordan, 1869): Ένα δένδρο έχει κέντρο που αποτελείται από 1 ή 2 κορυφές

Πόρισμα: Αν το κέντρο ενός δένδρου αποτελείται από δύο κορυφές, τότε αυτές είναι γειτονικές και ονομάζονται δίκεντρα-bicenters.

6

Page 7: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Ειδικές κατηγορίες δένδρωνΕιδικές κατηγορίες δένδρων

7

Δένδρο-αστακός (lobster): όλες οι κορυφές απέχουν απόσταση ≤2 από ένα κεντρικό μονοπάτι

Δένδρο-κάμπια (caterpillar): όλες οι κορυφές απέχουν απόσταση 1 από ένα κεντρικό μονοπάτιΒενζενοειδές δένδρο (benzenoid) εφαρμόζεται στη Χημική Θεωρία Γράφων.

Θεώρημα: το πλήθος των μη ισομορφικών δένδρων-κάμπια με n>3 κορυφές είναι

Page 8: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Παράδειγμα – δένδρο αστακόςΠαράδειγμα – δένδρο αστακός

7

7 7

7

6 5

6

6 7

7

4

5

4

5

5

5

6 7

6

7

7

Κάθε κορυφή του δένδρου χαρακτηρίζεται από την αντίστοιχη εκκεντρικότητα.

Να βρεθεί η τιμή της ακτίνας, η τιμή της διαμέτρου και το κέντρο.

8

Page 9: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Δένδρα Δένδρα – Cayley– Cayley Arthur Cayley, 1857 CkH2k+2, πλήθος ισομερών

Άτομα άνθρακα : κορυφές βαθμού 4 υδρογόνου : κορυφές βαθμού 1

n=k+2k+2=3k+2 m=½(Σd(v))=½(4k+2k+2)=3k+1

9

Page 10: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Απαρίθμηση ΔένδρωνΑπαρίθμηση Δένδρων

Θεώρημα: Έστω ότι το άθροισμα των θετικών ακεραίων d1,d2,

…,dn (όπου n≥2) είναι 2n–2. Το πλήθος των δένδρων με n

κόμβους, όπου οι βαθμοί των κόμβων είναι d1,d2,…,dn,

ισούται με:

)!1()!1()!1()!2(

21

ndddn

10

Page 11: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Θεώρημα (Cayley): Το πλήθος των διακριτών δένδρων με επιγραφές και n≥2 κορυφές είναι nn–2

Απόδειξη Cayley: Επιγράφουμε τους κόμβους του δένδρου με 1,2,...,n. Βρίσκουμε την εκκρεμή ακμή με τη μικρότερη επιγραφή, έστω

a1. Τη διαγράφουμε και έστω b1 η γειτονική της. Επαναλαμβάνουμε τη διαδικασία στον υπογράφο που μένει. Έτσι, μετά από n–2 διαγραφές, το δένδρο εκφυλίζεται σε μία

ακμή, και έχουμε δημιουργήσει S: (b1, b2, ..., bn-2). Κάθε στοιχείο της ακολουθίας S μπορεί να πάρει τιμές από το

διάστημα [1..n]

11

Απαρίθμηση ΔένδρωνΑπαρίθμηση Δένδρων

Page 12: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

2 3

7

4 5

8

1

6

12

Απαρίθμηση Δένδρων – ΠαράδειγμαΑπαρίθμηση Δένδρων – Παράδειγμα (1,4) (2,3) (6,5) (7,3) (3,4) (4,5) και μένει (5,8)

Page 13: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab 13

Μέθοδος Μέθοδος Pruefer (1918)Pruefer (1918)Η μέθοδος Pruefer είναι μία μέθοδος ανακατασκευής του

δένδρου με βάση την ακολουθία S που προκύπτει από το προηγούμενο θεώρημα.

Η ακολουθία S πρέπει να αποτελείται από n–2 ακεραίους στο διάστημα [1..n].

Κωδικοποίηση Pruefer.

Πολυπλοκότητα?

Page 14: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

AAνακατασκευή δένδρου από επιγραφέςνακατασκευή δένδρου από επιγραφέςΑντιστρόφως απόδειξης Cayley. Έστω ότι n=8 και b=4,3,5,3,4,5.Αναζητείται ο μικρότερος αριθμός από το διάστημα [1,8], που δεν εμφανίζεται στην ακολουθία b. Ο αριθμός αυτός είναι ο a1=1. Έτσι προσδιορίζεται η ακμή (a1, b1)=(1,4). Με τον ίδιο τρόπο προσδιορίζονται οι ακμές (a2, b2)=(2,3),

(a3, b3)=(6,5),

(a4,b4)= (7,3),

(a5, b5)=(3,4) και

(a6, b6)=(4,5).

Στο τέλος ενώνεται η μη χρησιμοποιημένη (5) με τη μέγιστη επιγραφή (8)

2 3

7

4 5

8

1

6

14

Page 15: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab 15

Αποκωδικοποίηση Αποκωδικοποίηση Pruefer Pruefer

Πολυπλοκότητα?

Page 16: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Ριζωμένα ΔένδραΡιζωμένα ΔένδραΘεώρημα: Ο αριθμός των διακριτών ριζωμένων δένδρων με

επιγραφές που έχει n κορυφές είναι nn-1.

Ισομορφικά δένδρα μπορεί να είναι αλλά μπορεί και να μην είναι ισομορφικά ως ριζωμένα.

16

Page 17: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Πόσα είναι τα ισομερή του Πόσα είναι τα ισομερή του CCkkHH2k+22k+2;;Εφόσον οι κορυφές που παριστούν το H είναι εκκρεμείς και άρα εξαρτώνται κατά μοναδικό τρόπο από τις κορυφές που αναπαριστούν τον άνθρακα, δεν χρειάζεται να απεικονίζονται στο σχετικό γράφο. Έτσι, αρκεί να εξετασθεί τι συμβαίνει με τα k άτομα του άνθρακα σε έναν απλουστευμένο γράφο όπου πλέον δεν υπάρχει διάκριση μεταξύ των κορυφών.

17

C4H10

Page 18: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Ζευγνύοντα ΔένδραΖευγνύοντα Δένδρα Από κάθε συνδεδεμένο γράφο G(V,E) μπορούν να παραχθούν

2|Ε| διαφορετικοί υπογράφοι (πως?). Ζευγνύον δένδρο, spanning tree, ενός συνδεδεμένου γράφου G

ονομάζεται ένα δένδρο Τ που είναι υπογράφος του G με σύνολο κορυφών V(T)=V(G).

Σκελετός-skeleton, σκαλωσιά-scaffolding, μέγιστο δένδρο-maximal tree

Οι ακμές ενός ζευγνύοντος δένδρου Τ ενός γράφου G ονομάζονται κλαδιά-branches. Οι ακμές του G που δεν είναι κλαδιά ονομάζονται χορδές-chords.

Ο αριθμός των κλαδιών ενός ζευγνύοντος δένδρου ισούται με τη σειρά του γράφου G, ενώ ο αριθμός των χορδών του γράφου ισούται με τη μηδενικότητά του.

18

Page 19: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Ύπαρξη Ζευγνύοντος ΔένδρουΎπαρξη Ζευγνύοντος ΔένδρουΘεώρημα: Κάθε συνδεδεμένος γράφος έχει τουλάχιστον

ένα ζευγνύον δένδρο.

Έστω ηλεκτρικό κύκλωμα που απεικονίζεται με ένα γράφο από n κορυφές και m ακμές. Ποιος είναι ο ελάχιστος αριθμός ακμών που πρέπει να διαγράψουμε, έτσι ώστε να μην υπάρχει ρεύμα στο κύκλωμα;

Απάντηση: Ο αριθμός των χορδών m–n+1.

19

Page 20: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Μερικά ΘεωρήματαΜερικά ΘεωρήματαΘεώρημα: Κάθε δένδρο με n κορυφές είναι υπογράφος ενός

γράφου G με d(G)≥n–1.

Πόσα ζευγνύοντα δένδρα μπορούν να προκύψουν από ένα συνδεδεμένο γράφο;

Θεώρημα: Ο αριθμός των διακριτών ζευγνυόντων δένδρων ενός πλήρους γράφου Κn είναι nn-2.

20

Page 21: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

21

Ζευγνύοντα δένδρα του ΚΖευγνύοντα δένδρα του Κ44

Data Engineering Lab

Page 22: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Απαρίθμηση Ζευγνυόντων ΔένδρωνΑπαρίθμηση Ζευγνυόντων ΔένδρωνΘεώρημα: Ο αριθμός των διακριτών ζευγνυόντων δένδρων ενός

πλήρους διμερούς γράφου Km,n είναι mn-1nm-1.

Θεώρημα: Ο αριθμός των διακριτών ζευγνυόντων δένδρων ενός

πλήρους διμερούς γράφου K2,n είναι n2n-1

a

x

b

22

Page 23: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Περισσότερη ΑπαρίθμησηΠερισσότερη ΑπαρίθμησηΘεώρημα: Ο αριθμός των διακριτών ζευγνυόντων δένδρων ενός

πλήρους διμερούς γράφου K3,n είναι n23n-1

Θεώρημα: Ο αριθμός των διακριτών ζευγνυόντων δένδρων ενός τροχοειδούς γράφου Wn είναι

22

532

5311

nn

a

x

b c

y

a

z

b c

23

Page 24: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Μερικοί Ορισμοί για ΠίνακεςΜερικοί Ορισμοί για Πίνακες Πίνακας βαθμών: C(i,j)=0 για i≠j και C(i,i)=d(vi) για 1≤i≤n. Αν από ένα δισδιάστατο πίνακα Β με nn στοιχεία διαγραφεί η

i-οστή γραμμή και η j-οστή στήλη, τότε προκύπτει ένας πίνακας Bij που ονομάζεται ελάσσων-minor στη θέση i,j.

Συμπαράγοντας-cofactor του πίνακα B στη θέση i,j λέγεται η τιμή (-1)i+j|Bij|

2000020000100003

B

200000003

2,3B

24

Page 25: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Θεώρημα Πίνακα-Δένδρου Θεώρημα Πίνακα-Δένδρου KirchoffKirchoffMatrix-tree theoremΈστω ένας μη ασήμαντος γράφος G με πίνακα γειτνίασης Α και πίνακα βαθμών C. Ο αριθμός των διαφορετικών ζευγνυόντων δένδρων του G ισούται με την τιμή οποιουδήποτε συμπαράγοντα του πίνακα C-A.

25

Page 26: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Θεώρημα Πίνακα-Δένδρου Θεώρημα Πίνακα-Δένδρου KirchoffKirchoff

5 4

1

3

2

0101110110010011100110110

A

3000003000002000003000003

C

3101113110

012011103110113

AC

24 δένδρα

26

Page 27: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Θεμελιώδες ΚύκλωμαΘεμελιώδες Κύκλωμα Θεμελιώδες κύκλωμα – fundamental circuit,

δημιουργείται αν χορδή εισαχθεί σε ζευγνύον δένδρο Ποιό το πλήθος των θεμελιωδών κυκλωμάτων για τυχόν

ζευγνύον δένδρο ? Από τυχόν ζευγνύον δένδρο και τυχαία χορδή παράγεται ένα

πρώτο θεμελιώδες κύκλωμα. Κατόπιν με κυκλικές εναλλαγές (cyclic interchanges) παράγονται όλα τα ζευγνύοντα δένδρα

5 4

1

3

2

5 4

1

3

2

27

m–n+1m–n+1

Page 28: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Επιλέγουμε ένα ζευγνύον δένδρο Τ του G Εισάγουμε μια χορδή στο Τ, οπότε παράγεται ένα θεμελιώδες

κύκλωμα Ci

Διαγράφοντας μία-μία τις ακμές του Ci παράγονται τα Τ1, Τ2,…ΤΚ ζευγνύοντα δέντρα

Εισάγουμε νέα χορδή, οπότε παράγεται νέο θεμελιώδες κύκλωμα Ci+1

GG

TT

Κυκλικές εναλλαγέςΚυκλικές εναλλαγές

Data Engineering Lab 28

Page 29: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Απόσταση ΔένδρωνΑπόσταση Δένδρων Απόσταση δύο ζευγνυόντων δένδρων ενός συνδεδεμένου

γράφου G είναι ο αριθμός των ακμών που ανήκουν στο ένα δένδρο αλλά δεν ανήκουν στο άλλο και δίνεται εξ ορισμού ως

dist(Ti, Tj) = dist(Tj, Ti) dist(Ti, Tj) ≥ 0 και dist(Ti, Ti)=0 αν και μόνο αν Ti=Tj dist(Ti, Tj) ≤ dist(Tj, Tk)+ dist(Tk, Tj)

Δενδρικός γράφος – tree graph, οι κόμβοι αντιστοιχούν σε ζευγνύονται δένδρα και ενώνονται αν το ένα προκύπτει από το άλλο με κυκλική εναλλαγή.

Η απόσταση δύο ζευγνυόντων δένδρων ισούται με την απόσταση των αντίστοιχων κόμβων στο δενδρικό γράφο.

)(21),( jiji TTETTdist

29

Page 30: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Απόσταση ΔένδρωνΑπόσταση Δένδρων Θεώρημα: Η μέγιστη απόσταση μεταξύ δύο ζευγνυόντων

δένδρων Ti και Tj ενός συνδεδεμένου γράφου G(V,E) είναι:

Κεντρικό λέγεται ένα ζευγνύον δένδρο T0 αν για κάθε ζευγνύον δένδρο Τ ισχύει η σχέση

)1,1min()),(max( nmnTTdist ji

)),(max()),(max( 0 ii TTdistTTdist

30

Page 31: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Διατήρηση ΑπόστασηςΔιατήρηση Απόστασης Δεδομένου γράφου G μπορούμε να κατασκευάσουμε δένδρο

Τ, όπου η απόσταση από κάποια κορυφή v Τ προς όλες τις υπόλοιπες κορυφές του Τ να είναι ίδια με την ελάχιστη απόσταση της κορυφής v προς κάθε μία από τις κορυφές του G. Τότε λέγεται ότι το ζευγνύον δένδρο Τ διατηρεί την απόσταση από την κορυφή v.

5 4

1

3

2

31

Page 32: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Διατήρηση ΑπόστασηςΔιατήρηση Απόστασης - Παράδειγμα- Παράδειγμα

5 4

1

3

2

32

5 4

1

3

2

5 4

1 2

3

5 4

1

3

2

5 4

1 2

3

5 4

1

3

2

5 4

1

3

2

Θεώρημα: Για κάθε κορυφή v ενός συνδεδεμένου γράφου G, υπάρχει ένα ζευγνύον δένδρο που διατηρεί την απόσταση.

5 4

1

3

2

5 4

1

3

2

5 4

1

3

2

Page 33: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Το πρόβλημα του ΣυνδέσμουΤο πρόβλημα του Συνδέσμου Το πρόβλημα του συνδέσμου (connector problem) σε γράφο

εξετάζει την εύρεση ενός δένδρου που ονομάζεται ελάχιστο και είναι το ζευγνύον δένδρο με το ελάχιστο βάρος (για ζυγισμένους γράφους).

Ελάχιστο Ζευγνύον Δένδρο – Minimum Spanning Tree Στη βιβλιογραφία αναφέρεται ως MST

Εφαρμογή MST στη σχεδίαση δικτύων: τηλεπικοινωνιακό, ηλεκτρικό, οδικό,

υδραυλικό, υπολογιστικό, καλωδιακής τηλεόρασης, κλπ στην ομαδοποίησης-clustering σε προσεγγιστικούς αλγορίθμους για NP προβλήματα (TSP)

33

Page 34: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

A B C D

E F G

1

3

8

2

4

75

6 9Είσοδος

ΈξοδοςA B C D

E F G

1

3

8

2

4

75

6 9

Παράδειγμα Παράδειγμα MSTMST

Data Engineering Lab 34

Αν τα βάρη των ακμών είναι διακριτοί αριθμοί, τότε το MST είναι μοναδικό. Αλλιώς μπορεί να υπάρχουν πολλά ισοδύναμα MST.

Page 35: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Cycle Property: Για κάθε κύκλο C στο γράφο, η βαρύτερη ακμή του C δεν εμφανίζεται στο MST Χρησιμοποιείται για να εξαιρέσουμε ακμές

Cut Property: Για κάθε μη κενό υπο-σύνολο κορυφών S, η ελαφρύτερη ακμή που προσπίπτει σε μία μόνο κορυφή του S ανήκει στο MST Χρησιμοποιείται για να μην εξαιρέσουμε

ακμές

Δύο ιδιότητες των Δύο ιδιότητες των MSTMST

Data Engineering Lab 35

C

S S'

Page 36: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Παράδειγμα Παράδειγμα cycle - cutcycle - cut

Data Engineering Lab 36

13

8

2

6

7

4

5

13

8

2

6

7

4

5

S = {4,5,8}Cut = {4,3},{5,3},{5,6},{5,7},{8,7}

Path = 1-2-3-4-5-6-1Cycle = {1,2},{2,3},{3,4},{4,5},{5,6},{6,1}

Page 37: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Η τομή ενός cycle και ενός cut είναι ένας άρτιος αριθμός ακμών.

Απόδειξη

S

V - S

C

13

8

2

6

7

4

5

Intersection = {3,4},{5,6}

Τομή Τομή cycle-cutcycle-cut

Data Engineering Lab 37

Page 38: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Kruskal Επιλέγουμε την ελαφρύτερη ακμή που δεν δημιουργεί κύκλο

Prim Επιλέγουμε τυχαία μία πρώτη κορυφή v Κάθε φορά, έχουμε μία συνδεδεμένη συνιστώσα N που

περιέχει τη v και κάποιους άλλους κόμβους V-N Επιλέγουμε την ελαφρύτερη ακμή από Ν προς V-N

Boruvka Prim “εν παραλλήλω”

και ... Αντίστροφης διαγραφής Kruskal αντίστροφος

Τρεις Κλασικοί Άπληστοι ΑλγόριθμοιΤρεις Κλασικοί Άπληστοι Αλγόριθμοι

Data Engineering Lab 38

Page 39: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Αλγόριθμος Αλγόριθμος KruskalKruskal (1956) (1956)1. Αρχικά το δένδρο Τ είναι κενό.

Θέτουμε i=0. Οι ακμές ταξινομούνται κατά μη φθίνον βάρος.

2. Εισάγεται στο Τ η επόμενη ακμή που δεν ανήκει ήδη στο Τ και δεν δημιουργεί κύκλο. Θέτουμε i=i+1

3. Αν i<n–1, τότε πηγαίνουμε στο Βήμα 2.

Θεώρημα: Ο αλγόριθμος Kruskal δίνει ένα ζευγνύον δένδρο με ελάχιστο βάρος.

39

Page 40: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

ΠαράδειγμαΠαράδειγμα

9 7

1

2

8

3

6

4

5

4

8

11

8 79

1 210

1442

67

40

Δεν λαμβάνεται η ακμή (8,9) διότι δημιουργείται κύκλοςΔεν λαμβάνεται η ακμή (2,3) διότι δημιουργείται κύκλος

Page 41: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Αλγόριθμος Αλγόριθμος PrimPrim (1957) (1957)1. Στο αρχικό δένδρο Τ εισάγεται μία

τυχαία κορυφή v. Θέτουμε i=0.2. Από το σύνολο των ακμών που πρό-

σκεινται στις κορυφές του Τ επιλέγεται εκείνη με το μικρότερο βάρος και εισάγεται στο Τ. Θέτουμε i=i+1

3. Αν i<n, τότε πηγαίνουμε στο Βήμα 2.Θεώρημα: Ο αλγόριθμος Prim δίνει ένα ζευγνύον δένδρο με

ελάχιστο βάρος.Wikipedia: The algorithm was developed in 1930 by Czech mathematician

Vojtěch Jarník and later independently by computer scientist Robert C. Prim in 1957 and rediscovered by Edsger Dijkstra in 1959.

41

Page 42: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

ΠαράδειγμαΠαράδειγμα

9 7

1

2

8

3

6

4

5

4

8

11

8 79

1 210

1442

67

42

Page 43: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Αλγόριθμος Αλγόριθμος BoruvkaBoruvka (1926) (1926)1. Ενώνουμε κάθε κόμβο u με τον

κοντινότερο γείτονά του. Σχηματίζεται δάσος F από F’ δένδρα.

2. Ενώνουμε κάθε δένδρο του F με το κοντινότερό του δένδρο. Ανανεώνεται η τιμή του F’.

3. Αν F’ > 1, τότε πηγαίνουμε στο Βήμα 2.

43

Wikipedia: It was first published in 1926 by Otakar Borůvka as a method of constructing an efficient electricity network for Moravia. The algorithm was rediscovered by Choquet in 1938; again by Florek, Łukasiewicz, Perkal, Steinhaus, and Zubrzycki in 1951; and again by Sollin in 1965. Because Sollin was the only computer scientist in this list living in an English speaking country, this algorithm is frequently called Sollin's algorithm.

Page 44: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

ΠαράδειγμαΠαράδειγμα

9 7

1

2

8

3

6

4

5

4

8

11

8 79

1 210

1442

67

44

Τέλος πρώτης φάσης

Τέλος δεύτερης φάσης

Page 45: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

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

45

Ο αλγόριθμος αντίστροφης διαγραφής (reverse-delete) είναι «αντίστροφος» του αλγορίθμου Kruskal

1. Θέτουμε i=m. Οι ακμές ταξινομούνται κατά μη αύξον βάρος.2. Διαγράφεται η βαρύτερη ακμή αν δεν είναι γέφυρα.

Θέτουμε i=i–13. Αν i>n–1, τότε πηγαίνουμε στο Βήμα 2.

Page 46: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

ΠαράδειγμαΠαράδειγμα

9 7

1

2

8

3

6

4

5

4

8

11

8 79

1 210

1442

67

46

Page 47: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Πολυπλοκότητες αλγορίθμωνΠολυπλοκότητες αλγορίθμων

47

Οι πολυπλοκότητες εξαρτώνται από τις υλοποιήσεις αναπαράσταση γράφου (πίνακας γειτνίασης ή δυναμική λίστα) άλλες χρησιμοποιούμενες δομές (set, heaps, κλπ)

Kruskalo Disjoint set

O(m logm)

Primo Adjacency matrix

O(n2)o Binary heap,

adjacency list O(m logn)

o Fibonacci heap, adjacency list O(m + n logn)

Boruvkao O(m logn)

Reverse-deletion

o O(m logm) για ταξινόμηση

o O(n+m) για bridge detection, Tarjan

o m επαναλήψειςo Άρα, Ο(m2)

Page 48: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

48

Αλγόριθμοι βασισμένοι στις συγκρίσεις O(m log n) Jarník, Prim, Dijkstra, Kruskal, Boruvka O(m log log n)Cheriton-Tarjan (1976), Yao (1975) O(m (m,n)) Fredman-Tarjan (1987) O(m log (m,n)) Gabow-Galil-Spencer-Tarjan (1986) O(m (m, n)) Chazelle (2000)

Άλλοι αλγόριθμοι O(m) randomized Karger-Klein-Tarjan (1995) O(m) verification Dixon-Rauch-Tarjan (1992)

Νεότεροι αλγόριθμοι Νεότεροι αλγόριθμοι MSTMST

Page 49: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Data Engineering Lab

Ζευγνύον δέντρο με περιορισμό βαθμού k (π.χ. σε ηλεκτρικό κύκλωμα) (αν k=2 τότε είναι το TSP πρόβλημα).

Σε ζυγισμένο γράφο G(V,E) και για σύνολο V΄V να βρεθεί το ζευγνύον δέντρο με το ελάχιστο βάρος που συνδέει τις κορυφές του V΄, μέσω πιθανώς μερικών κορυφών ακόμα (Steiner points).

Πιο Γενικά ΠροβλήματαΠιο Γενικά Προβλήματα

1 2

3

1 2

3

49

Page 50: Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο  3 : Δένδρα

Δοθέντος συνόλου σημείων σε πολυδιάστατο χώρο, να χωρισθούν τα σημεία σε διακριτές ομάδες, έτσι ώστε τα σημεία μίας ομάδας να είναι κοντά μεταξύ τους, ενώ τα σημεία διαφορετικών ομάδων να απέχουν περισσότερο.

Αντικείμενο της Αναγνώρισης Προτύπων, της Τεχνητής Νοημοσύνης, της Εξόρυξης Δεδομένων

Εφαρμογές Data/Text Mining, Information Retrieval Web Analysis, Bibliometrics Marketing, Financial Image Analysis, Bioinformatics etc

Εφαρμογή: Ομαδοποίηση-Εφαρμογή: Ομαδοποίηση-clusteringclustering

Data Engineering Lab 50


Recommended