Επίπεδα Γραφήματα : Έλεγχος Επιπεδότητας

105
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας α β ζ η ε γ θ Το γράφημα εισόδου δίνεται ως ακολουθία ακμών: π.χ. (α,β), (β,γ), (α,ε), (β,η), (θ,ζ), (η,ε), (ζ,α), (γ,θ), (θ,β), (ε,ζ), (η,θ), (ζ,η)

description

Επίπεδα Γραφήματα : Έλεγχος Επιπεδότητας. α. β. γ. Το γράφημα εισόδου δίνεται ως ακολουθία ακμών : π.χ . ( α,β ), ( β,γ ), ( α,ε ), ( β,η ), ( θ,ζ ), ( η,ε ), ( ζ,α ), ( γ,θ ), ( θ,β ), ( ε,ζ ), ( η,θ ), ( ζ,η ). ε. ζ. θ. η. TexPoint fonts used in EMF. - PowerPoint PPT Presentation

Transcript of Επίπεδα Γραφήματα : Έλεγχος Επιπεδότητας

Page 1: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

α β

ζη

ε

γ

θ

Το γράφημα εισόδου δίνεται ως ακολουθία ακμών:

π.χ. (α,β), (β,γ), (α,ε), (β,η), (θ,ζ), (η,ε), (ζ,α), (γ,θ), (θ,β), (ε,ζ), (η,θ), (ζ,η)

Page 2: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

α β

ζη

ε

γ

θ

α : (α,β), (α,ε), (α,ζ)β : (β,α), (β,γ), (β,θ), (β,η)γ : (γ,β), (γ,θ)ε : (ε,α), (ε,η), (ε,ζ)ζ : (ζ,α), (ζ,ε), (ζ,η)η : (η,ζ), (η,ε), (η,β), (η,θ)θ : (θ,η), (θ,β), (θ,γ), (θ,ζ)

Συνδυαστική αναπαράσταση επίπεδου γραφήματος

Page 3: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Αλγόριθμοι ελέγχου επιπεδότητας

Μέθοδος των Auslander και Parter (1961), και Goldstein (1963)

Γραμμικός αλγόριθμος των Hopcroft και Tarjan (1974)

Μέθοδος Lempel, Even και Cederbaum (1967)

Μπορεί να υλοποιηθεί σε γραμμικό χρόνο με τη βοήθεια των παρακάτω αποτελεσμάτων :

Γραμμικός αλγόριθμος υπολογισμού δισυνεκτικών συνιστωσών [Tarjan 1972], γραμμικός αλγόριθμος υπολογισμού st-αρίθμησης [Even και Tarjan 1975], PQ-δένδρα [Booth και Lueker 1975].

Άλλοι αλγόριθμοι ελέγχου που βασίζονται στον LEC : Shih και Hsu (1993), Boyer και Myrvold (1999).

Page 4: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Θα εξετάσουμε τη μέθοδο των Lempel, Even και Cederbaum (1967)

Δίνει αλγόριθμο γραμμικού χρόνου με τη βοήθεια των παρακάτω αποτελεσμάτων :

• Γραμμικός αλγόριθμος υπολογισμού δισυνεκτικών συνιστωσών [Tarjan 1972].

• Γραμμικός αλγόριθμος υπολογισμού st-αρίθμησης [Even και Tarjan 1975].

• PQ-δένδρα [Booth και Lueker 1975].

Page 5: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υποθέτουμε ότι μας δίνεται ένα γράφημα εισόδου G με n κόμβους το οποίο έχει τις ακόλουθες ιδιότητες :

• Είναι απλό (δεν έχει βρόχους και παράλληλες ακμές).

• Έχει τουλάχιστον 5 κόμβους.

• Έχει το πολύ 3n-6 ακμές.

• Είναι συνεκτικό.

• Είναι δισυνεκτικό.

Page 6: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υποθέτουμε ότι μας δίνεται ένα γράφημα εισόδου G με n κόμβους το οποίο έχει τις ακόλουθες ιδιότητες :

• Είναι απλό (δεν έχει βρόχους και παράλληλες ακμές).

Ένας βρόχος (v,v) μπορεί να σχεδιαστεί πολύ κοντά στον κόμβο v.

Οι παράλληλες ακμές μπορούν να σχεδιαστούν πολύ κοντά μεταξύ τους.

Page 7: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υποθέτουμε ότι μας δίνεται ένα γράφημα εισόδου G με n κόμβους το οποίο έχει τις ακόλουθες ιδιότητες :

• Έχει τουλάχιστον 5 κόμβους.

1 2

3 4

Το πλήρες γράφημα με 4 κόμβους είναι επίπεδο.

Page 8: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υποθέτουμε ότι μας δίνεται ένα γράφημα εισόδου G με n κόμβους το οποίο έχει τις ακόλουθες ιδιότητες :

• Έχει το πολύ 3n-6 ακμές.

Αν και δεν υπάρχουν βρόχοι και παράλληλες ακμές τότε

Page 9: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υποθέτουμε ότι μας δίνεται ένα γράφημα εισόδου G με n κόμβους το οποίο έχει τις ακόλουθες ιδιότητες :

• Είναι συνεκτικό.

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

Page 10: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υποθέτουμε ότι μας δίνεται ένα γράφημα εισόδου G με n κόμβους το οποίο έχει τις ακόλουθες ιδιότητες :

• Είναι δισυνεκτικό.

Ισχύει η ακόλουθη πρόταση :

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

Page 11: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

Δισυνεκτική συνιστώσα : Μείζον δισυνεκτικό υπογράφημα.

Άρθρωση : κόμβος v του G, η διαγραφή του οποίου αποσυνδέει το G, δηλαδή το γράφημα G-v δεν είναι συνεκτικό.

Γέφυρα : ακμή e του G, η διαγραφή της οποίας αποσυνδέει το G, δηλαδή το γράφημα G-e δεν είναι συνεκτικό.

Δισυνεκτικό γράφημα : Γράφημα χωρίς αρθρώσεις.

Page 12: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

δισυνεκτική συνιστώσα

γέφυρα

άρθρωση

Page 13: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

Απόδειξη

Αν το G είναι επίπεδο τότε προφανώς και οι δισυνεκτικές του συνιστώσες είναι επίπεδα γραφήματα.

Αρκεί λοιπόν να αποδείξουμε το αντίστροφο: Aν οι δισυνεκτικές συνιστώσες του G είναι επίπεδα γραφήματα τότε και το G είναι επίπεδο.

Η απόδειξη είναι με επαγωγή ως προς τον αριθμό α των αρθρώσεων του G.

Βάση α=0 : Η πρόταση προφανώς ισχύει αφού το G είναι δισυνεκτικό.

Επαγωγική Υπόθεση : Η πρόταση ισχύει για κάθε γράφημα με ≤α αρθρώσεις.

Page 14: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

Απόδειξη

Επαγωγικό Βήμα : Υποθέτουμε ότι το G έχει α+1 αρθρώσεις.

Έστω v μία άρθρωση του G. Το G-v έχει συνεκτικές συνιστώσες G1, G2, …, Gk.

Κάθε συνεκτική συνιστώσα Gi έχει το πολύ α αρθρώσεις. Συνεπάγεται από την επαγωγική υπόθεση ότι κάθε Gi είναι επίπεδο γράφημα.

Θεωρούμε ένα αυθαίρετο σχέδιο του Gi στο επίπεδο. Επιλέγουμε μια όψη που

περιέχει τον κόμβο v και την κάνουμε εξωτερική (βλ. προηγούμενη διάλεξη). Με αυτόν τον τρόπο αποκτούμε σχέδια των G1, G2, …, Gk όπου ο κόμβος v είναι στην εξωτερική όψη όλων των συνιστωσών.

Page 15: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

Απόδειξη

v v

β

γ

δ

ε

ζv

δ

γ

ζ

β

εδ

γ

ζ

β

ε

Page 16: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

Απόδειξη

Με αυτόν τον τρόπο αποκτούμε σχέδια των G1, G2, …, Gk όπου ο κόμβος v είναι

στην εξωτερική όψη όλων των συνιστωσών. Μπορούμε να συγχωνεύσουμε όλα αυτά τα σχέδια μέσω του v και να λάβουμε ένα σχέδιο στο επίπεδο του αρχικού γραφήματος G.

G2

Gk

G1 Συνεπάγεται ότι το G είναι επίπεδο.

Page 17: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

st-αρίθμηση

Έστω δισυνεκτικό γράφημα G=(V,E) με n=|V| κόμβους και m=|E| ακμές και έστω ακμή (s,t) ϵ E.

Μια st-αρίθμηση του G είναι μια αρίθμηση των κόμβων π : V → {1,…,n}, τέτοια ώστε π(s)=1, π(t)=n, και κάθε κόμβος v ϵ V-{s,t} έχει ένα γειτονικό κόμβο με μικρότερη αρίθμηση και ένα γειτονικό κόμβο με μεγαλύτερη αρίθμηση, δηλαδή υπάρχουν ακμές (u,v) ϵ E και (w,v) ϵ E τέτοιες ώστε π(u)<π(v)<π(w).

2

t

s

5

4

3

6

1

Page 18: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

st-αρίθμηση

Θα αποδείξουμε πρώτα την ύπαρξη μιας st-αρίθμησης χρησιμοποιώντας έναν απλό αλγόριθμο. Στη συνέχεια θα δώσουμε ένα γραμμικό αλγόριθμο με χρήση καθοδικής διερεύνησης.

Έστω δισυνεκτικό γράφημα G=(V,E) με n=|V| κόμβους και m=|E| ακμές και έστω ακμή (s,t) ϵ E. Το G έχει st-αρίθμηση η οποία μπορεί να υπολογιστεί σε Ο(m+n)=Ο(m) χρόνο (m≥n).

Page 19: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

st-αρίθμηση

Η st-αρίθμηση ορίζει μια γραμμική διάταξη των κόμβων, με πρώτο τον s και τελευταίο τον t.

2

t

s

5

4

3

6

1

1 2 543 6

Έστω δισυνεκτικό γράφημα G=(V,E) με n=|V| κόμβους και m=|E| ακμές και έστω ακμή (s,t) ϵ E. Το G έχει st-αρίθμηση η οποία μπορεί να υπολογιστεί σε Ο(m+n)=Ο(m) χρόνο (m≥n).

Page 20: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

st-αρίθμηση

Η st-αρίθμηση ορίζει μια γραμμική διάταξη των κόμβων, με πρώτο τον s και τελευταίο τον t.

s t

Ιδέα: Ξεκινάμε με μια διάταξη που περιλαμβάνει μόνο τους s και t την οποία επεκτείνουμε σε μια ακολουθία βημάτων. Σε κάθε βήμα βρίσκουμε ένα μονοπάτι που συνδέει δύο κόμβους που βρίσκονται ήδη σε διάταξη και τοποθετούμε στη διάταξη τους κόμβους του μονοπατιού.

Έστω δισυνεκτικό γράφημα G=(V,E) με n=|V| κόμβους και m=|E| ακμές και έστω ακμή (s,t) ϵ E. Το G έχει st-αρίθμηση η οποία μπορεί να υπολογιστεί σε Ο(m+n)=Ο(m) χρόνο (m≥n).

Page 21: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

st-αρίθμηση

Έστω δισυνεκτικό γράφημα G=(V,E) με n=|V| κόμβους και m=|E| ακμές και έστω ακμή (s,t) ϵ E. Το G έχει st-αρίθμηση η οποία μπορεί να υπολογιστεί σε Ο(m+n)=Ο(m) χρόνο (m≥n).

s t

Έστω ένας κόμβος v που ανήκει στην τρέχουσα διάταξη αλλά έχει γειτονικό κόμβο w εκτός της διάταξης. Βρίσκουμε ένα μονοπάτι P από το w προς κάποιο κόμβο u≠v που ανήκει στην τρέχουσα διάταξη. (Το P υπάρχει γιατί το G-v είναι συνεκτικό.) Αν ο v προηγείται του u στη διάταξη τότε εισάγουμε τους κόμβους του P αμέσως μετά τον v. Διαφορετικά εισάγουμε τους κόμβους του P αμέσως πριν τον v.

v u

wυπογράφημα του G εκτός της τρέχουσας διάταξης

s tv uw

Page 22: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t δ

γ

β

ε

ζ

γ α

δ

α

s

t α ε

ζ δ

ε δ

s

t

s

α

β

γ

δ

ε

ζ

t

t

γ δ

ζ

ε β

ε

s

α β

Page 23: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

Δένδρο καθοδικής διερεύνησης T

1

2

δ

Page 24: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

1

2

3

δ

Page 25: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

α

1

2

3

4

δ

Page 26: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

α

δ

1

2

3

4

5

δ

Page 27: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

α

δ

ε1

2

3

4

56

δ

Page 28: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

α

δ

ε

ζ

1

2

3

4

56

7

δ

Page 29: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

α

δ

ε

βζ

1

2

3

4

8

56

7

δ

Page 30: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t

γ

β

ε

ζ

t

s

γ

Δένδρο καθοδικής διερεύνησης T

α

δ

ε

βζ

1

2

3

4

8

56

7

δ

δενδρική ακμή

ανιούσα ακμή

Page 31: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Κατά την καθοδική διερεύνηση αποθηκεύουμε δύο αριθμούς για κάθε κόμβο v :

s(v) = σειρά (χρόνος) ανακάλυψης του v.

L(v) = ελάχιστο s(u) τέτοιο ώστε υπάρχει ανιούσα ακμή (w,u) για κάποιο απόγονο w του v· L(v)=s(v) αν δεν υπάρχει τέτοιος απόγονος w του v.

t

s

γ α

δ

ε

βζ

1

2

3

4

5

6

78

s(ε)=6, L(ε)=4

s(α)=4, L(α)=1

p(v) = γονέας του v στο Τ.

Page 32: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Κατά την καθοδική διερεύνηση αποθηκεύουμε δύο αριθμούς για κάθε κόμβο v :

s(v) = σειρά (χρόνος) ανακάλυψης του v.

L(v) = ελάχιστο s(u) τέτοιο ώστε υπάρχει ανιούσα ακμή (w,u) για κάποιο απόγονο w του v· L(v)=s(v) αν δεν υπάρχει τέτοιος απόγονος w του v.

p(v) = γονέας του v στο Τ.

Ιδιότητα: Αν το G είναι δισυνεκτικό τότε L(v)<s(p(v)) για κάθε κόμβο v τέτοιον ώστε s(p(v))≠1. Αν s(p(v))=1 τότε L(v)=s(p(v))=1.

Page 33: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Μετά την ολοκλήρωση της καθοδικής διερεύνησης και τον υπολογισμό των p(v), s(v) και L(v), ο αλγόριθμος χρησιμοποιεί μια βοηθητική ρουτίνα PathFinder η οποία ανακαλύπτει μονοπάτια και σημειώνει τους κόμβους και τις ακμές τους ως εξής:

• Αρχικά μόνο οι κόμβοι s,t και η ακμή (s,t) είναι σημειωμένοι.

• Η πρώτη κλήση PathFinder(s) βρίσκει ένα απλό μονοπάτι από τον s στον t που

δεν περιέχει την ακμή (s,t). Σημειώνει τους κόμβους και τις ακμές του μονοπατιού.

• Κάθε επόμενη κλήση PathFinder(v) βρίσκει ένα απλό μονοπάτι με νέες (=μη σημειωμένες) ακμές, από σημειωμένο κόμβο v σε σημειωμένο κόμβο w≠v. Σημειώνει τους κόμβους και τις ακμές του μονοπατιού.

Page 34: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

PathFinder(v)

(1) αν υπάρχει νέα ανιούσα ακμή (v,w) με τον w πρόγονο του v τότε

σημείωσε την (v,w)

επιστροφή μονοπατιού P = (v,w)

(2) διαφορετικά αν υπάρχει νέα δενδρική ακμή (v,w) όπου v=p(w) τότε

σημείωσε την (v,w) και αρχικοποίησε P = (v,w)

ενόσω ο κόμβος w δεν είναι σημειωμένος

βρες (νέα) ακμή (w,x) με s(x)=L(w) ή L(x)=L(w)

σημείωσε τον w και την (w,x)

P = P • (w,x)

w = x

w

v

v

w

x

Page 35: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

PathFinder(v)

(3) διαφορετικά αν υπάρχει νέα ανιούσα ακμή (v,w) με τον v πρόγονο του w τότε

σημείωσε την (v,w) και αρχικοποίησε P = (v,w)

ενόσω ο κόμβος w δεν είναι σημειωμένος

βρες (νέα) ακμή (w,x) με x=p(w)

σημείωσε τον w και την (w,x)

P = P • (w,x)

w = x

(4) διαφορετικά

P =

v

x

w

Page 36: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

PathFinder(v)

(3) διαφορετικά αν υπάρχει νέα ανιούσα ακμή (v,w) με τον v πρόγονο του w τότε

σημείωσε την (v,w) και αρχικοποίησε P = (v,w)

ενόσω ο κόμβος w δεν είναι σημειωμένος

βρες (νέα) ακμή (w,x) με x=p(w)

σημείωσε τον w και την (w,x)

P = P • (w,x)

w = x

(4) διαφορετικά

P =

v

x

w

Παρατήρηση: Στην περίπτωση (3) όλα τα παιδιά του v είναι σημειωμένα. Επομένως, το P τερματίζει σε απόγονο του w του v όπου w≠v.

Page 37: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Ο αλγόριθμος υπολογίζει μια st-αρίθμηση χρησιμοποιώντας τη βοηθητική ρουτίνα PathFinder μαζί με μία στοίβα Σ:

• Η στοίβα Σ περιέχει σημειωμένους κόμβους. Αρχικά τοποθετούνται στην Σ οι

κόμβοι t και s, με τον s στην κορυφή.

• Κάθε φορά διαγράφεται ο κόμβος v στην κορυφή της Σ και καλείται η PathFinder(v) η οποία επιστρέφει ένα μονοπάτι P.

• Αν P= τότε ο v λαμβάνει τον επόμενο διαθέσιμο αριθμό και δεν τοποθετείται ξανά στη στοίβα.

• Αν P = (v1,v2) (v2,v3) ... (vk-1,vk), όπου v1=v, τότε οι κόμβοι vk-1, vk-2, …, v2 και v1 τοποθετούνται στην κορυφή της στοίβας.

Page 38: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

stNumber

σημείωσε τους κόμβους s,t και την ακμή (s,t)

Σ.ώθηση(t), Σ.ώθηση(s), i=0

ενόσω η Σ δεν είναι κενή

v = Σ.απώθηση()P = (v1,v2) (v2,v3) ... (vk-1,vk) = PathFinder(v)

αν P≠ τότεγια j=k-1 έως 1 Σ.ώθηση(vj)

διαφορετικά

αρίθμηση(v)=i+1

Page 39: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

s

Σ

Page 40: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

P = (s,γ), (γ,t)

s

Page 41: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

P = (s,α), (α,δ), (δ,t)

δ

α

s

Page 42: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

α

αρίθμηση(s)=1

Page 43: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

ε

αρίθμηση(s)=1

P = (α,ε), (ε,δ)

α

Page 44: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

ε

αρίθμηση(s)=1

P = (α,β), (β,ε)

β

α

Page 45: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

ε

αρίθμηση(s)=1αρίθμηση(α)=2

β

Page 46: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

ε

αρίθμηση(s)=1αρίθμηση(α)=2αρίθμηση(β)=3

Page 47: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

ζ

αρίθμηση(s)=1αρίθμηση(α)=2αρίθμηση(β)=3

P = (ε,ζ), (ζ,δ)

ε

Page 48: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ

t

γ

Σ

δ

ζ

αρίθμηση(s)=1αρίθμηση(α)=2αρίθμηση(β)=3αρίθμηση(ε)=4

Page 49: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

t

s

γ α

δ

ε

βζ Σ

αρίθμηση(s)=1αρίθμηση(α)=2αρίθμηση(β)=3αρίθμηση(ε)=4αρίθμηση(ζ)=5αρίθμηση(δ)=6αρίθμηση(γ)=7αρίθμηση(t)=8

Page 50: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

s α

t δ

γ

β

ε

ζ

8

1

7

2

3

64

5

Page 51: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Ιδιότητες: • Από τη στιγμή που ένας κόμβος v τοποθετείται στη στοίβα Σ, κανένας κόμβος που βρίσκεται κάτω από τον v στη Σ δε λαμβάνει αρίθμηση πριν τον v.

• Ένας κόμβος διαγράφεται μόνιμα από την Σ μόνο εφόσον όλες οι ακμές που προσπίπτουν σε αυτών έχουν σημειωθεί.

Page 52: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Ιδιότητες: • Κάθε κόμβος u ≠ s,t τοποθετείται στην Σ προτού διαγραφεί ο t.

Απόδειξη

Αφού το G είναι δισυνεκτικό, υπάρχει μονοπάτι s=w1,...,wk=u το οποίο δεν περιέχει τον t. Έστω wj ο κόμβος του μονοπατιού με μέγιστο δείκτη j που τοποθετείται στην Σ προτού διαγραφεί ο t. Θα δείξουμε ότι η υπόθεση wj ≠ wk

οδηγεί σε άτοπο.

Τότε ο wj διαγράφεται μόνιμα πριν διαγραφεί ο t. Για να συμβεί αυτό πρέπει η ακμή (wj,wj+1) να σημειωθεί, δηλαδή να τοποθετηθεί ο wj+1 στην Σ, το οποίο όμως αντιβαίνει τον ορισμό του wj.

Page 53: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Υπολογισμός μιας st-αρίθμησης σε Ο(m) χρόνο

Ιδιότητες: • Ο αλγόριθμος stNumber παράγει έγκυρη st-αρίθμηση.

Απόδειξη

Από την προηγούμενη ιδιότητα προκύπτει ότι όλοι κόμβοι λαμβάνουν αρίθμηση και επιπλέον αρίθμηση(s)=1 και αρίθμηση(t)=n. Έστω αυθαίρετος κόμβος u ≠ s,t. Για να τοποθετηθεί ο u στην Σ για πρώτη φορά, πρέπει μια κλήση PathFinder(v) να επιστρέψει ένα απλό μονοπάτι P που περιέχει τον u.

Έστω x ό κόμβος που προηγείται του u στο P και έστω y ό κόμβος που έπεται του u στο P. Τότε ο u τοποθετείται πάνω από τον y και κάτω από τον x στην Σ. Άρα θα έχουμε αρίθμηση(x)<αρίθμηση(u)<αρίθμηση(y).

Page 54: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

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

Έστω σύνολο U={α,β,γ,δ} και υποσύνολα S1={α,β,γ}, S2={α,δ}.

Οι έγκυρες μεταθέσεις του U είναι οι ακόλουθες:• β,γ,α,δ• γ,β,α,δ• δ,α,β,γ• δ,α,γ,β

Page 55: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

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

Έστω σύνολο U={α,β,γ,δ} και υποσύνολα S1={α,β,γ}, S2={α,δ}.

Οι έγκυρες μεταθέσεις του U είναι οι ακόλουθες:• β,γ,α,δ• γ,β,α,δ• δ,α,β,γ• δ,α,γ,β

Αν είχαμε επιπλέον το υποσύνολο S3={β,δ} τότε δεν υπάρχει καμία έγκυρη μετάθεση του U.

Page 56: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Ένα PQ-δένδρο για το σύνολο στοιχείων U είναι ένα διατεταγμένο δένδρο όπου :

• Στα φύλλα του δένδρου βρίσκονται στοιχεία του U.

• Οι εσωτερικοί κόμβοι διακρίνονται σε δύο κατηγορίες: στους P-κόμβους και στους Q-κόμβους.

Page 57: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Ένα PQ-δένδρο ορίζεται αναδρομικά ως εξής :

2. Έστω PQ-δένδρα T1, T2, ..., Tk. Ένας P-κόμβος v με παιδιά τα Τi είναι ένα PQ-δένδρο με ρίζα v. Αναπαριστά όλες τις μεταθέσεις των T1, T2, ..., Tk.

1. Ένα φύλλο v που περιέχει ένα στοιχείο του U είναι ένα PQ-δένδρο με ρίζα v.

T1 T2 Tk

...

3. Έστω PQ-δένδρα T1, T2, ..., Tk. Ένας Q-κόμβος v με παιδιά τα Τi είναι ένα PQ-δένδρο με ρίζα v. Αναπαριστά τη διάταξη T1, T2, ..., Tk ή τη διάταξη Tk, Tk-1, ..., T1.

T1 Tk

...T2

Page 58: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Ένα PQ-δένδρο είναι έγκυρο όταν :

• Κάθε στοιχείο του U εμφανίζεται σε ακριβώς ένα φύλλο.

• Κάθε P-κόμβος έχει τουλάχιστον 2 παιδιά.

• Κάθε Q-κόμβος έχει τουλάχιστον 3 παιδιά.

Page 59: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Παράδειγμα

Έστω σύνολο U={α,β,γ,δ} και υποσύνολα S1={α,β,γ}, S2={α,δ}.

Οι έγκυρες μεταθέσεις του U είναι οι ακόλουθες:• β,γ,α,δ• γ,β,α,δ• δ,α,β,γ• δ,α,γ,β

β γ

α δ

PQ-δένδρο

Page 60: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Παρατήρηση : Οι Q-κόμβοι είναι απαραίτητοι.

Π.χ. οι μεταθέσεις του συνόλου U={α,β,γ} με υποσύνολα S1={α,β} και S2={β,γ}

δεν μπορούν να αναπαρασταθούν από δένδρο με μόνο φύλλα και P-κόμβους.

Page 61: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Παρατήρηση : Οι Q-κόμβοι είναι απαραίτητοι.

Π.χ. οι μεταθέσεις του συνόλου U={α,β,γ} με υποσύνολα S1={α,β} και S2={β,γ}

δεν μπορούν να αναπαρασταθούν από δένδρο με μόνο φύλλα και P-κόμβους.

Οι έγκυρες μεταθέσεις του U είναι οι ακόλουθες:• α,β,γ• γ,β,α

α β γ

PQ-δένδρο

Page 62: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Δύο PQ-δένδρα είναι ισοδύναμα όταν το ένα μπορεί να μετατραπεί στο άλλο με χρήση 0 ή παραπάνω μετασχηματισμούς ισοδυναμίας.

Τύποι μετασχηματισμών ισοδυναμίας :

1. Αυθαίρετη μετάθεση των παιδιών ενός P-κόμβου.

T1 T2 T4T3 T2 T3 T1T4

2. Αντιστροφή των παιδιών ενός Q-κόμβου

T1 T3T2 T4 T4 T2T3 T1

Page 63: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ

ιε ζ

η θ κ λ

β

ι

θ η κ λ

ε ζ

δ

γ α

ισοδύναμο με

Page 64: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Δομή δεδομένων που αναπαριστά τις μεταθέσεις ενός συνόλου U στις οποίες συγκεκριμένα υποσύνολα του U εμφανίζονται ως συνεχόμενες υποακολουθίες. Αλγόριθμος

Έστω U={a1,a2,...,am} και έστω S={S1, S2, ..., Sn}.

Ξεκινάμε με ένα αρχικό PQ-δένδρο με ρίζα ένα P-κόμβο που έχει ως παιδιά m φύλλα με τα στοιχεία του U. a1 a2 am...

Επεξεργαζόμαστε ένα-ένα τα υποσύνολα Sj ϵ S. Για κάθε τέτοιο υποσύνολο Sj τροποποιούμε κατάλληλα το PQ-δένδρο ώστε τα στοιχεία του Sj να εμφανίζονται συνεχόμενα.

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

Page 65: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Παράδειγμα

Έστω σύνολο U={α,β,γ,δ} και υποσύνολα S1={α,β,γ}, S2={α,δ}.

α β δγ

αρχικό PQ-δένδρο

Page 66: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Παράδειγμα

Έστω σύνολο U={α,β,γ,δ} και υποσύνολα S1={α,β,γ}, S2={α,δ}.

α β δγ

αρχικό PQ-δένδρο

προσθήκη συνόλου S1

α γβ

δ

Page 67: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Παράδειγμα

Έστω σύνολο U={α,β,γ,δ} και υποσύνολα S1={α,β,γ}, S2={α,δ}.

προσθήκη συνόλου S2

α γβ

δ

β αγ

δ

β

α

γ

δ

Page 68: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

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

PQ-δένδρα

Έστω U(v) το σύνολο των στοιχείων του U που είναι αποθηκευμένα στα φύλλα του υποδένδρου με ρίζα v. Ο κόμβος v είναι :

• Πλήρης (για το Sj), όταν U(v) Sj.

• Κενός (για το Sj), όταν U(v) ∩ Sj =.

• Μερικός (για το Sj), όταν U(v) ∩ Sj ≠.

Ένας πλήρης ή μερικός κόμβος v λέμε ότι είναι σχετικός (για το Sj).

Page 69: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

• Αν ο κόμβος v είναι πλήρης ή κενός τότε δεν πραγματοποιείται καμία αλλαγή.

Page 70: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

• Αν ο κόμβος v είναι μερικός P-κόμβος τότε διακρίνουμε περιπτώσεις ανάλογα με το αν (1) ο v είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και (2) αν έχει (1 ή 2) παιδιά που είναι μερικά.

β γα

δ

ιε ζ

η θ κ λ

v Sj={β,ι}

Page 71: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

• Αν ο κόμβος v είναι μερικός P-κόμβος τότε διακρίνουμε περιπτώσεις ανάλογα με το αν (1) ο v είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και (2) αν έχει (1 ή 2) παιδιά που είναι μερικά.

• Αν δεν μπορεί να εφαρμοστεί κανένας μετασχηματισμός για τον κόμβο v τότε δεν υπάρχει μετάθεση του U που να ικανοποιεί τους περιορισμούς του S.

Page 72: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

α) Ο v είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και δεν έχει κανένα μερικό παιδί.

... ...

κενοί πλήρεις

...

...

Page 73: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

β) Ο v δεν είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και δεν έχει κανένα μερικό παιδί.

... ...

κενοί πλήρεις

... ...

Page 74: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

γ) Ο v είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και έχει ακριβώς ένα μερικό παιδί.

... ...

... ...

... ......

...

Page 75: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

δ) Ο v δεν είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και έχει ακριβώς ένα μερικό παιδί.

... ...

... ...

... .........

Page 76: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

ε) Ο v είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και έχει ακριβώς δύο μερικά παιδιά.

... ...

... ...

... ......

......

.........

Page 77: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

• Ανάλογοι μετασχηματισμοί ορίζονται και για τους Q-κόμβους.

Page 78: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

γ’) Ο v έχει ακριβώς ένα μερικό παιδί.

... ...

... ...

... ......

...

Page 79: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Σε κάθε κόμβο v που επεξεργαζόμαστε εφαρμόζουμε ένα κατάλληλο μετασχηματισμό ανάλογα με την κατάσταση των παιδιών του.

PQ-δένδρα

δ’) Ο v είναι ο κοντινότερος κοινός πρόγονος όλων των σχετικών φύλλων και έχει ακριβώς δύο μερικά παιδιά.

... ...

... ...

... ... ...

......

.........

...

...

Page 80: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ

ιε ζ

η θ κ λ

Παράδειγμα

Έστω ότι προσθέτουμε τον περιορισμό (υποσύνολο) S={ε,ι,κ,λ} στο παρακάτω PQ-δένδρο.

Page 81: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ

ιε ζ

η θ κ λ

Παράδειγμα

Έστω ότι προσθέτουμε τον περιορισμό (υποσύνολο) S={ε,ι,κ,λ} στο παρακάτω PQ-δένδρο.

(β)

Page 82: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ

ιε ζ

η θ κ λ

Παράδειγμα

Έστω ότι προσθέτουμε τον περιορισμό (υποσύνολο) S={ε,ι,κ,λ} στο παρακάτω PQ-δένδρο.

Page 83: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ

ζ ε ι

θηλκ

Παράδειγμα

Έστω ότι προσθέτουμε τον περιορισμό (υποσύνολο) S={ε,ι,κ,λ} στο παρακάτω PQ-δένδρο.

Page 84: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ

ζ ε ι

θηλκ

Παράδειγμα

Έστω ότι προσθέτουμε τον περιορισμό (υποσύνολο) S={ε,ι,κ,λ} στο παρακάτω PQ-δένδρο.

(δ’)

Page 85: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

β γα

δ ζ ε ι

θηλκ

Παράδειγμα

Έστω ότι προσθέτουμε τον περιορισμό (υποσύνολο) S={ε,ι,κ,λ} στο παρακάτω PQ-δένδρο.

Page 86: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

PQ-δένδρα

Η αποδοτική υλοποίηση των μετασχηματισμών του PQ-δένδρου απαιτεί προσοχή!

Ένα PQ-δένδρο μπορεί να υπολογίσει τις μεταθέσεις ενός συνόλου U με m στοιχεία έτσι ώστε να ικανοποιούνται οι περιορισμοί n υποσυνόλων S1, S2, ..., Sn

σε συνολικό χρόνο

Page 87: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Έστω G ένα απλό, δισυνεκτικό γράφημα με n≥5 κόμβους και m≤3n-6 ακμές.

Υπολογίζουμε μια st-αρίθμηση του G. Επεξεργαζόμαστε τους κόμβους του G σε αύξουσα st-αρίθμηση ως εξής :

Έστω Gi το υπογράφημα του G που περιλαμβάνει τους κόμβους 1, 2, … ,i και

τις μεταξύ τους ακμές.

2

t

s

5

4

3

6

1

Page 88: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Έστω G ένα απλό, δισυνεκτικό γράφημα με n≥5 κόμβους και m≤3n-6 ακμές.

Υπολογίζουμε μια st-αρίθμηση του G. Επεξεργαζόμαστε τους κόμβους του G σε αύξουσα st-αρίθμηση ως εξής :

Έστω Gi το υπογράφημα του G που περιλαμβάνει τους κόμβους 1, 2, … ,i και

τις μεταξύ τους ακμές.

2

t

s

5

4

3

6

1G3

Page 89: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Έστω G ένα απλό, δισυνεκτικό γράφημα με n≥5 κόμβους και m≤3n-6 ακμές.

Υπολογίζουμε μια st-αρίθμηση του G. Επεξεργαζόμαστε τους κόμβους του G σε αύξουσα st-αρίθμηση ως εξής :

Έστω Gi το υπογράφημα του G που περιλαμβάνει τους κόμβους 1, 2, … ,i και

τις μεταξύ τους ακμές.

Για i=2,…,n-1, έχουμε μια (έμμεση) αναπαράσταση του Gi στο επίπεδο την

οποία επεκτείνουμε με την προσθήκη του κόμβου i+1.

Page 90: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Θεωρούμε ένα σχέδιο του G στο επίπεδο όπου η ακμή (1,n) βρίσκεται στην εξωτερική όψη.

Gi

n

Στο αντίστοιχο σχέδιο του Gi, ο κόμβος n βρίσκεται στην εξωτερική όψη.

Page 91: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Θεωρούμε ένα σχέδιο του G στο επίπεδο όπου η ακμή (1,n) βρίσκεται στην εξωτερική όψη.

Gi

j

n

Στο αντίστοιχο σχέδιο του Gi, ο κόμβος n βρίσκεται στην εξωτερική όψη.

Επιπλέον, για κάθε κόμβο j>i, υπάρχει μονοπάτι από τον j στον n το οποίο δεν περιέχει κόμβους του Gi (συνεπάγεται από την st-αρίθμηση).

Άρα όλοι οι κόμβοι j>i πρέπει να βρίσκονται στην εξωτερική όψη του Gi.

Page 92: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Αρκεί να ελέγξουμε αν το Gi μπορεί να σχεδιαστεί έτσι ώστε οι κόμβοι i+1,…,n να

βρίσκονται στην εξωτερική του όψη.

2

t

s

5

4

3

6

1G3

2

3

1B3

6

5 5 4

Ορίζουμε ένα βοηθητικό γράφημα Bi το οποίο προκύπτει από το Gi με την

προσθήκη κόμβων και ακμών ως εξής:

Για κάθε ακμή (k,j) του G με k≤i και j>i προσθέτουμε ένα νέο αντίγραφο του κόμβου j μαζί με την ακμή (k,j).

Page 93: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Αρκεί να ελέγξουμε αν το Gi μπορεί να σχεδιαστεί έτσι ώστε οι κόμβοι i+1,…,n να

βρίσκονται στην εξωτερική του όψη.

Ορίζουμε ένα βοηθητικό γράφημα Bi το οποίο προκύπτει από το Gi με την

προσθήκη κόμβων και ακμών ως εξής:

Για κάθε ακμή (k,j) του G με k≤i και j>i προσθέτουμε ένα νέο αντίγραφο του κόμβου j μαζί με την ακμή (k,j).

Τώρα πρέπει να ελέγξουμε αν οι νέοι κόμβοι μπορούν να τοποθετηθούν στην εξωτερική όψη :• Για το B1 προφανώς ισχύει.• Έστω ότι ισχύει για το Bi-1. • Αρκεί να εξετάσουμε αν υπάρχει αναπαράσταση του Bi όπου οι νέοι γειτονικοί κόμβοι του i μπορούν να τοποθετηθούν σε συνεχόμενες θέσεις.

i

i

Page 94: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

5 4

12

3

Παράδειγμα

Page 95: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

5

12

3

Παράδειγμα

(1,2) (1,3) (1,5)

B1

Εισάγουμε P-κόμβο για τις ακμές (1,j) με j>1.

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 96: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

5

12

3

Παράδειγμα

(1,2) (1,3) (1,5)

Ομαδοποιούμε τις ακμές που προσπίπτουν στον 2. Υπάρχει μόνο η (1,2) οπότε δεν αλλάζει κάτι.

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 97: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

(1,3) (1,5)

B2

5 4

12

33

5

(2,3) (2,4) (2,5)

Εισάγουμε στη θέση της ακμής (1,2) ένα P-κόμβο για τις ακμές (2,j) με j>2.

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 98: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

(1,3) (1,5)

5 4

12

5

(2,3) (2,4) (2,5)

Ομαδοποιούμε τις ακμές που προσπίπτουν στον 3.

3

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 99: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

(1,5)

5 4

12

5

(2,4)

(2,3)

(2,5)

(1,3)

Ομαδοποιούμε τις ακμές που προσπίπτουν στον 3.

3

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 100: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

B3

5 4

12

35

5 4

(1,5)

(2,4)

(2,3)

(2,5)

(1,3)

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 101: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

B3

5 4

12

35

5 4

(1,5)

(2,4) (2,5) (3,4) (3,5)

Εισάγουμε στη θέση των ακμών(1,3) και (2,3) ένα P-κόμβο για τις ακμές (3,j) με j>3.

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 102: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

5

12

35

5

(1,5)

(2,4) (2,5) (3,4) (3,5)

4

Ομαδοποιούμε τις ακμές που προσπίπτουν στον 4.

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 103: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

54

12

35

5

(1,5)

(2,5) (2,4) (3,4) (3,5)

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 104: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

B4

54

12

35

5

(1,5)

(2,5) (4,5) (3,5)

5

Εισάγουμε στη θέση των ακμών(3,4) και (3,5) ένα φύλλο για την ακμή (4,5).

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Page 105: Επίπεδα Γραφήματα :  Έλεγχος  Επιπεδότητας

Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας

Γραμμικός αλγόριθμος βασισμένος στην μέθοδο Lempel, Even και Cederbaum

Παράδειγμα

5

12

3 (1,5)

(2,5) (4,5) (3,5)

Οι έγκυρες αναπαραστάσεις κάθε Bi μπορούν να διατηρηθούν με ένα PQ-δένδρο, όπου U=υποσύνολο των ακμών του Bi.

Ομαδοποιούμε τις ακμές που προσπίπτουν στον 5. Είναι ήδη σε συνεχόμενη διάταξη.