Γραφήματα & Επίπεδα Γραφήματα Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα
Μονοπάτια & Κυκλώματα
Ορισμός Σε ένα κατευθυνόμενο γράφημα, ένα μονοπάτι είναι μια ακολουθία από ακμές (ei1, ei2, …, eik) τέτοιες ώστε η τερματική κορυφή της eij να ταυτίζεται με την αρχική κορυφή της ei(j+1) για 1 £ j £ k-1
Μονοπάτια Ένα μονοπάτι ονομάζεται απλό αν δεν περιέχει την ίδια ακμή δύο φορές Ένα μονοπάτι ονομάζεται στοιχειώδες αν δεν συναντά την ίδια κορυφή δύο φορές
Παράδειγμα Το (e1, e2, e3, e4) είναι ένα μονοπάτι Το (e1, e2, e3, e5, e9, e10, e11, e4) είναι ένα απλό μονοπάτι αλλά δεν είναι στοιχειώδες
Ορισμός Ένα κύκλωμα είναι ένα μονοπάτι (ei1, ei2, …, eik) στο οποίο η τερματική κορυφή της eik συμπίπτει με την αρχική κορυφή της ei1
Κυκλώματα Ένα κύκλωμα ονομάζεται απλό αν δεν περιέχει την ίδια ακμή δύο φορές Ένα κύκλωμα ονομάζεται στοιχειώδες αν δεν συναντά την ίδια κορυφή δύο φορές
Παράδειγμα Το (e1, e2, e3, e5, e6, e7) είναι ένα στοιχειώδες κύκλωμα Το (e1, e2, e3, e5, e 9, e10 , e 12, e 6, e7) είναι ένα απλό κύκλωμα αλλά δεν είναι στοιχειώδες
Θεώρημα Σε ένα (κατευθυνόμενο ή μη) γράφημα με n κορυφές, εάν υπάρχει ένα μονοπάτι από μια κορυφή u1 σε μια κορυφή u2, τότε υπάρχει ένα μονοπάτι από όχι περισσότερες από n-1 ακμές από την κορυφή u1 στην κορυφή u2
Συνεκτικό Γράφημα Ένα μη κατευθυνόμενο γράφημα ονομάζεται συνεκτικό αν υπάρχει ένα μονοπάτι μεταξύ κάθε δύο κορυφών Αλλιώς ονομάζεται μη συνεκτικό Ένα κατευθυνόμενο γράφημα ονομάζεται συνεκτικό αν το μη κατευθυνόμενο γράφημα που προκύπτει από αυτό όταν δεν ληφθούν υπ’ όψιν οι κατευθύνσεις των ακμών είναι συνεκτικό
Συνεκτικό Γράφημα (συνέχεια) Ένα κατευθυνόμενο γράφημα ονομάζεται ισχυρά συνεκτικό αν για κάθε δύο κορυφές α και b στο γράφημα υπάρχει ένα μονοπάτι από το a στο b καθώς και ένα μονοπάτι από το b στο a Συνεκτικό (όχι ισχυρά) γράφημα Μη συνεκτικό γράφημα
Ορισμός Το βάρος μιας ακμής {i,j}, w(i,j), λέγεται συνήθως μήκος της ακμής {i,j} και έχει διάφορες ερμηνείες, (π.χ. απόσταση, κόστος) ανάλογα με το εκάστοτε εξεταζόμενο πρόβλημα
Ορισμός Το μήκος ενός μονοπατιού σε ένα βεβαρυμένο γράφημα G = (V, E, w), ορίζεται ως το άθροισμα των μηκών των ακμών στο μονοπάτι
Ελάχιστα Μονοπάτια Προσδιορισμός ενός ελαχίστου μονοπατιού από μια κορυφή σε μια άλλη κορυφή στο V Αλγόριθμος Digkstra
Αλγόριθμος Digkstra Υποθέστε ότι θέλουμε να προσδιορίσουμε το ελάχιστο μονοπάτι από μια κορυφή a σε μια κορυφή z στο G. Στη διαδικασία μας Προσδιορίζεται ένα ελάχιστο μονοπάτι από την α προς κάποια άλλη κορυφή Μετά προσδιορίζεται ένα ελάχιστο μονοπάτι από την α προς κάποια άλλη κορυφή κ.ο.κ Η διαδικασία τερματίζεται όταν έχει προσδιοριστεί ένα ελάχιστο μονοπάτι από την α στη z
Αλγόριθμος Digkstra (συνέχεια) Η διαδικασία μας βασίζεται στις ακόλουθες παρατηρήσεις Έστω Τ ένα υποσύνολο κορυφών του V με αÏΤ Έστω P το υποσύνολο των κορυφών V-T Ένα ελάχιστο μονοπάτι από την α σε μια από τις κορυφές του Τ μπορεί να οριστεί ως εξής Για κάθε κορυφή t στο T έστω l(t) το μήκος του ελάχιστου μονοπατιού ανάμεσα σε όλα τα μονοπάτια από την α στην t τα οποία δεν περιέχουν καμία άλλη κορυφή του Τ
Αλγόριθμος Digkstra (συνέχεια) l(t): δείκτης της t ως προς P Ανάμεσα σε όλες τις κορυφές του Τ, έστω t1 μια κορυφή που έχει τον ελάχιστο δείκτη Υποστηρίζουμε ότι η ελάχιστη απόσταση μεταξύ της α και της t1 είναι πράγματι l(t1)
Αλγόριθμος Digkstra (συνέχεια) Για να αποδείξουμε τον ισχυρισμό μας ας υποθέσουμε ότι υπάρχει ένα μονοπάτι από την α στην t1 το μήκος του οποίου είναι μικρότερο από l(t1). Ένα τέτοιο μονοπάτι θα πρέπει να περιλαμβάνει μια ή περισσότερες από τις κορυφές του Τ-{t1} Έστω t2 η πρώτη κορυφή του Τ-{t1} που συναντάμε όταν διασχίζουμε το μονοπάτι αυτό από την α στην t1
Αλγόριθμος Digkstra (συνέχεια) Προκύπτει ότι το l(t2) είναι μικρότερο από το l(t1) Άτοπο Συνεπώς αν όταν υπολογίζουμε το l(t) καταγράφουμε την ακολουθία των κορυφών στο μονοπάτι που δημιούργησε το l(t) για κάθε t στο T Θα έχουμε επίσης προσδιορίσει ένα ελάχιστο μονοπάτι από την α στην t1
Υπολογισμός Δείκτη Κορυφής Έστω Τ ένα υποσύνολο του V και έστω P=V-T Υποθέστε ότι για κάθε κορυφή p στο P, υπάρχει ένα ελάχιστο μονοπάτι από την α στην p, το οποίο περιλαμβάνει μόνο κορυφές του P Υποθέτουμε ότι για κάθε κορυφή t του Τ έχουμε ήδη υπολογίσει τον δείκτη της ως προς το P, l(t)
Υπολογισμός Δείκτη Κορυφής (συνέχεια) Έστω x μία κορυφή στο Τ Έστω P’ το P È {x} και Τ’ το T-{x} Έστω l’(t) o δείκτης μιας κορυφής t’ στο Τ’ ως προς P’ Ισχύει l’(t) = min[l(t),l(x) + w(x,t)] (1)
Τυποποίηση Αλγορίθμου Digkstra Υπολογισμός της ελάχιστης απόστασης από το α σε οποιαδήποτε κορυφή του G Αρχικά έστω ότι P={a} και Τ=V-{a}. Για κάθε κορυφή t στο T, έστω l(t) = w(a,t) Επίλεξε την κορυφή του Τ που έχει τον μικρότερο δείκτη ως προς P. Έστω x η κορυφή αυτή.
Τυποποίηση Αλγορίθμου Digkstra (συνέχεια) Αν το x είναι η κορυφή στην οποία θέλουμε να φτάσουμε από την α, σταμάτα. Αν όχι, έστω P’=P È {x} και Τ’=Τ-{x}. Για κάθε κορυφή t του T’, υπολόγισε τον δείκτη της ως προς P’ σύμφωνα με την (1) Επανέλαβε τα βήματα 2 και 3 χρησιμοποιώντας ως P το P’ και ως Τ το Τ’
Ορισμός Σε ένα γράφημα ορίζουμε ως μονοπάτι Euler ένα μονοπάτι το οποίο διασχίζει κάθε ακμή του γραφήματος ακριβώς μία φορά
Ορισμός Ο βαθμός μιας κορυφής είναι ο αριθμός των ακμών που προσπίπτουν σε αυτήν
Βαθμός Κορυφής Σε οποιοδήποτε γράφημα υπάρχει ένας άρτιος αριθμός κορυφών περιττού βαθμού Κάθε ακμή συνεισφέρει κατά 1 στον βαθμό των δύο κορυφών στις οποίες προσπίπτει Το άθροισμα των βαθμών των κορυφών είναι ίσο με το διπλάσιο του αριθμού των ακμών στο γράφημα Άρα ο αριθμός κορυφών περιττού βαθμού είναι άρτιος
Θεώρημα Ένα μη κατευθυνόμενο γράφημα περιέχει ένα μονοπάτι Euler αν και μόνο αν είναι συνεκτικό και έχει είτε μηδέν είτε δύο κορυφές περιττού βαθμού
Πόρισμα Ένα μη κατευθυνόμενο γράφημα περιέχει ένα κύκλωμα Euler αν και μόνο αν είναι συνεκτικό και όλες οι κορυφές του είναι άρτιου βαθμού
Παράδειγμα Το γράφημα (α) έχει ένα μονοπάτι Euler αλλά όχι ένα κύκλωμα Euler αφού το γράφημα είναι συνεκτικό και υπάρχουν ακριβώς δύο κορυφές, οι d και e, περιττού βαθμού Το γράφημα (β) έχει ένα κύκλωμα Euler γιατί είναι συνεκτικό και όλες οι κορυφές είναι άρτιου βαθμού
Παράδειγμα Θα έχετε ίσως υπ’ όψιν σας προβλήματα που αναφέρονται στο αν είναι δυνατόν να σχεδιαστεί ένα δεδομένο σχήμα με μονοκοντυλιά χωρίς να επαναλαμβάνεται κάποιο τμήμα του σχήματος. Π.χ. το σχήμα (α) μπορεί να σχεδιαστεί όπως φαίνεται στο σχήμα (β)
Παράδειγμα (συνέχεια) Φανταστείτε ότι το σχήμα (α) είναι ένα γράφημα όπως φαίνεται στο σχήμα (γ) Τότε το πρόβλημα του σχεδιασμού του σχήματος (α) είναι αυτό του καθορισμού της ύπαρξης ενός μονοπατιού Euler στο γράφημα (γ)
Παράδειγμα (συνέχεια) Αφού το γράφημα (γ) έχει μόνο δύο κορυφές περιττού βαθμού, έχει ένα μονοπάτι Euler Παρομοίως, τα δύο σχήματα στο (δ) μπορούν επίσης να σχεδιαστούν μονοκοντυλιά, χωρίς να επαναληφθεί κάποιο τμήμα τους
Παράδειγμα Θέλουμε να μάθουμε αν είναι δυνατόν να διατάξουμε 28 διαφορετικά ντόμινο σε έναν κύκλο έτσι ώστε τα γειτονικά μισά κάθε δύο γειτονικών ντόμινο στη διάταξη να είναι ίδια Κατασκευάζουμε ένα γράφημα με επτά κορυφές οι οποίες αντιστοιχούν στα «κενό», 1, 2, 3, 4, 5 και 6. Στο γράφημα αυτό κάθε ζεύγος κορυφών ενώνεται με μία ακμή και επιπλέον σε κάθε κορυφή υπάρχει ένας βρόχος
Παράδειγμα (συνέχεια) Θεωρούμε τώρα ότι κάθε ακμή αναπαριστά ένα ντόμινο του οποίου τα δύο μισά είναι οι δύο κορυφές στις οποίες προσπίπτει η ακμή Προκύπτει ότι ένα κύκλωμα Euler στο γράφημα αυτό θα αντιστοιχεί σε μια κυκλική διάταξη, όπως ζητάει το πρόβλημά μας Αφού ο βαθμός κάθε κορυφής στο γράφημα είναι 8, υπάρχει πράγματι ένα κύκλωμα Euler
Ορισμός Σε ένα κατευθυνόμενο γράφημα, ο εισερχόμενος βαθμός μιας κορυφής είναι ο αριθμός των ακμών που είναι προσπίπτουσες σε αυτή και ο εξερχόμενος βαθμός μιας κορυφής είναι ο αριθμός των ακμών που είναι προσπίπτουσες από αυτή
Θεώρημα Ένα κατευθυνόμενο γράφημα περιέχει ένα κύκλωμα Euler αν και μόνο αν είναι συνεκτικό και ο εισερχόμενος βαθμός κάθε κορυφής είναι ίσος με τον εξερχόμενο βαθμό της
Θεώρημα Ένα κατευθυνόμενο γράφημα περιέχει ένα μονοπάτι Euler αν και μόνο αν είναι συνεκτικό και ο εισερχόμενος βαθμός κάθε κορυφής είναι ίσος με τον εξερχόμενο βαθμό της με δυνατή την εξαίρεση δύο κορυφών.
Θεώρημα (συνέχεια) Για τις δύο αυτές κορυφές, ο εισερχόμενος βαθμός της μίας πρέπει να είναι κατά ένα μεγαλύτερος από τον εξερχόμενο βαθμό της, και ο εισερχόμενος βαθμός της άλλης πρέπει να είναι κατά ένα μικρότερος από τον εξερχόμενο βαθμό της
Παράδειγμα Πρόβλημα μετατροπής αναλογικού υπολογισμού σε ψηφιακό Η επιφάνεια ενός περιστρεφόμενου τυμπάνου διαιρείται σε 16 τομείς όπως φαίνεται στο σχήμα (α)
Παράδειγμα (συνέχεια) Η πληροφορία για τη θέση του τυμπάνου θα αναπαρασταθεί από τα ψηφιακά δυαδικά σήματα a, b, c και d, όπως φαίνεται στο σχήμα (β) όπου αγώγιμα (γραμμοσκιασμένη περιοχή) και μη αγώγιμα (λευκή περιοχή) υλικά χρησιμοποιούνται για να δημιουργηθούν οι τομείς
Παράδειγμα (συνέχεια) Ανάλογα με την θέση του τυμπάνου, οι ακροδέκτες a, b, c και d θα είναι είτε γειωμένοι είτε μονωμένοι Οι 16 διαφορετικές θέσεις του τυμπάνου αναπαρίστανται με διαφορετικό τρόπο από τα δυαδικά σήματα στους ακροδέκτες Þ οι τομείς θα πρέπει να κατασκευαστούν με τέτοιο τρόπο ώστε να μην υπάρχουν δύο ίδιες διατάξεις από τέσσερις διαδοχικούς αγώγιμους και μη αγώγιμους τομείς
Παράδειγμα (συνέχεια) Το πρόβλημα είναι να καθοριστεί αν υπάρχει μια τέτοια διάταξη από διαδοχικούς αγώγιμους και μη αγώγιμους τομείς, και αν υπάρχει, να προσδιοριστεί ποια διάταξη είναι
Παράδειγμα (συνέχεια) Θέτοντας το δυαδικό ψηφίο 0 ως σύμβολο ενός αγώγιμου τομέα και το δυαδικό σύμβολο 1 ως σύμβολο ενός μη αγώγιμου τομέα, αναδιατυπώνουμε το πρόβλημα ως εξής: Τοποθετήστε 16 δυαδικά ψηφία σε κυκλική διάταξη έτσι ώστε οι 16 ακολουθίες τεσσάρων διαδοχικών ψηφίων να είναι όλες διαφορετικές
Παράδειγμα (συνέχεια) Κατασκευάζουμε ένα κατευθυνόμενο γράφημα με οκτώ κορυφές, οι οποίες σημαδεύονται με τους οκτώ διαφορετικούς τριψήφιους δυαδικούς αριθμούς {000, 001, …, 111} Από μία κορυφή που είναι σημαδεμένη με α1α2α3, υπάρχει μία ακμή προς την κορυφή που είναι σημαδεμένη με α2α3α0 και μία ακμή προς την κορυφή που είναι σημαδεμένη με α2α31
Παράδειγμα (συνέχεια) Σημαδεύουμε κάθε ακμή του γραφήματος με έναν τετραψήφιο δυαδικό αριθμό ως εξής: η ακμή από την κορυφή α1α2α3 προς την κορυφή α2α3α0 σημαδεύεται με α1α2α31 Οι κορυφές είναι σημαδεμένες με τους οκτώ διαφορετικούς τριψήφιους δυαδικούς αριθμούς Þ οι ακμές θα σημαδευτούν με τους 16 διαφορετικούς τετραψήφιους δυαδικούς αριθμούς
Παράδειγμα (συνέχεια) Σε ένα μονοπάτι στο γράφημα, τα σημάδια για δύο διαδοχικές ακμές θα πρέπει να είναι της μορφής α1α2α3α4 και α2α3α4α5 δηλαδή τα τρία τελευταία ψηφία από το σημάδι της πρώτης ακμής θα πρέπει να είναι ίδια με τα τρία πρώτα ψηφία από το σημάδι της δεύτερης ακμής Οι 16 ακμές στο γράφημα είναι σημαδεμένες με διαφορετικούς τρόπους
Παράδειγμα (συνέχεια) Þ υπάρχει μία κυκλική διάταξη των 16 δυαδικών ψηφίων η οποία αντιστοιχεί σε ένα κύκλωμα Euler του γραφήματος, στην οποία όλες οι ακολουθίες τεσσάρων διαδοχικών ψηφίων είναι διαφορετικές π.χ. η ακολουθία των 16 δυαδικών ψηφίων που αντιστοιχεί στο κύκλωμα Euler (e0, e1, e2, e5, e10, e4, e9, e3, e6, e13, e11, e7, e15, e14, e12, e8) είναι η 0000101001101111 (η κυκλική διάταξη δημιουργείται αν κλείσουμε τα δύο άκρα της ακολουθίας)
Παράδειγμα (συνέχεια) Σύμφωνα με το αποτέλεσμά μας παραπάνω, η ύπαρξη ενός κυκλώματος Euler στο γράφημα είναι προφανής, γιατί καθεμία από τις κορυφές έχει εισερχόμενο βαθμό ίσο με 2 και εξερχόμενο βαθμό ίσο με 2
Ορισμός Ορίζουμε ως μονοπάτι (κύκλωμα) Hamilton ένα μονοπάτι (κύκλωμα) το οποίο περνά από καθεμία από τις κορυφές ενός γραφήματος ακριβώς μία φορά
Παράδειγμα Θεωρήστε το πρόβλημα του να προσδιορίσει κάποιος τους τρόπους με τους οποίους μια ομάδα ανθρώπων μπορεί να καθίσει σε ένα στρογγυλό τραπέζι Κατασκευάζουμε ένα μη κατευθυνόμενο γράφημα έτσι ώστε οι κορυφές να συμβολίζουν τους ανθρώπους και οι ακμές να αναπαριστούν τη σχέση φιλίας μεταξύ ανθρώπων
Παράδειγμα (συνέχεια) Ένα κύκλωμα Hamilton αντιστοιχεί σε έναν τρόπο να καθίσουν οι άνθρωπο έτσι ώστε καθένας να έχει έναν φίλο του από κάθε πλευρά
Θεώρημα Έστω G ένα γραμμικό γράφημα n κορυφών. Αν το άθροισμα των βαθμών κάθε ζεύγους κορυφών στο G είναι μεγαλύτερο ή ίσο του n-1, τότε υπάρχει ένα μονοπάτι Hamilton στο G
Παράδειγμα Θεωρήστε το πρόβλημα του να προγραμματίσει κάποιος επτά εξετάσεις σε επτά ημέρες έτσι ώστε να μην υπάρχουν δύο διαδοχικές ημέρες στις οποίες να δίνονται δύο εξετάσεις από τον ίδιο καθηγητή. Αν κανείς καθηγητής δεν δίνει περισσότερες από 4 εξετάσεις, δείξτε ότι το πρόβλημα έχει λύση
Παράδειγμα (συνέχεια) Έστω G ένα γράφημα με επτά κορυφές που αντιστοιχούν στις επτά εξετάσεις Υπάρχει μία ακμή μεταξύ δύο κορυφών αν οι αντίστοιχες δύο εξετάσεις δίδονται από διαφορετικούς καθηγητές
Παράδειγμα (συνέχεια) Αφού ο βαθμός κάθε κορυφής είναι τουλάχιστον 3, το άθροισμα των βαθμών οποιωνδήποτε δύο κορυφών είναι τουλάχιστον 6 Þ το G περιέχει πάντα ένα μονοπάτι Hamilton το οποίο αντιστοιχεί σε ένα πρόγραμμα που ικανοποιεί τις συνθήκες του προβλήματος
Θεώρημα Υπάρχει πάντα ένα μονοπάτι Hamilton σε ένα κατευθυνόμενο πλήρες γράφημα
Παράδειγμα Θεωρήστε το πρόβλημα κατάταξης παικτών σε ένα «κυκλικό» (round-robin) τουρνουά τένις τέτοιο ώστε ο παίκτης α να κατατάσσεται σε υψηλότερη θέση από τον παίκτη b αν ο παίκτης α νικήσει τον b, ή αν ο α νικήσει έναν παίκτη που έχει νικήσει τον b, ή αν ο α νικήσει έναν παίκτη που έχει νικήσει έναν άλλο παίκτη που έχει νικήσει τον b κ.ο.κ.
Παράδειγμα (συνέχεια) Τα αποτελέσματα των αγώνων μπορούν να αναπαρασταθούν ως ένα κατευθυνόμενο πλήρες γράφημα η ύπαρξη ενός μονοπατιού Hamilton στο γράφημα σημαίνει ότι είναι πάντα δυνατόν να καταταχθούν οι παίκτες γραμμικά [Μία τέτοια κατάταξη δεν είναι απαραίτητα μοναδική]
Παράδειγμα Θεωρήστε το πρόβλημα της εκτύπωσης και μετά του δεσίματος n βιβλίων Υπάρχει μόνο μία μηχανή για την εκτύπωση και μία μηχανή για το δέσιμο Έστω pi, η χρονική διάρκεια της εκτύπωσης του βιβλίου i bi, η χρονική διάρκεια του δεσίματος του βιβλίου i
Παράδειγμα (συνέχεια) Αν είναι γνωστό ότι για οποιαδήποτε δύο βιβλία i και j είτε bi ³ pj είτε bj ³ pi Δείξτε ότι είναι δυνατόν να καθοριστεί μια σειρά στην οποία τα βιβλία τυπώνονται (και μετά δένονται) έτσι ώστε η μηχανή για το δέσιμο να μένει απασχολημένη μέχρι να δεθούν όλα τα βιβλία, με αρχή τη στιγμή που τυπώνεται το πρώτο βιβλίο [Επομένως ο συνολικός χρόνος που απαιτείται για την ολοκλήρωση της εργασίας είναι για κάποιο k]
Παράδειγμα (συνέχεια) Κατασκευάζουμε ένα κατευθυνόμενο γράφημα n κορυφών που αντιστοιχούν στα n βιβλία Υπάρχει μία ακμή από την κορυφή i στην κορυφή j αν και μόνον αν bi ³ pj Παρατηρούμε ότι αυτό είναι κατευθυνόμενο πλήρες γράφημα και ένα μονοπάτι Hamilton στο κατευθυνόμενο πλήρες γράφημα θα είναι μια διάταξη των βιβλίων η οποία ικανοποιεί την συνθήκη που αναφέρθηκε πιο πάνω
Παράδειγμα Θέλουμε να δείξουμε ότι το παρακάτω γράφημα (a) δεν έχει μονοπάτι Hamilton
Παράδειγμα (συνέχεια) Σημαδεύουμε την κορυφή α με Α και σημαδεύουμε όλες τις κορυφές που είναι γειτονικές με αυτή με Β. Συνεχίζοντας, σημαδεύουμε όλες τις κορυφές που είναι γειτονικές με μια κορυφή Β με Α και Σημαδεύουμε όλες τις κορυφές που είναι γειτονικές με μια κορυφή Α με Β, Μέχρι να σημαδευτούν όλες οι κορυφές
Παράδειγμα (συνέχεια) Αν υπάρχει μονοπάτι Hamilton στο γράφημα τότε θα πρέπει να περνά εναλλάξ από τις κορυφές Α και Β Αυτό όμως είναι αδύνατο γιατί συνολικά υπάρχουν εννέα κορυφές Α και επτά κορυφές Β Συνεπώς δεν μπορεί να υπάρχει μονοπάτι Hamilton