Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 4 η Διάλεξη Κύκλοι και μονοπάτια Hamilton Ικανές ή αναγκαίες συνθήκες για ύπαρξη κύκλων Αλγόριθμος κατασκευής μονοπατιών Hamilton Πρόβλημα περιοδεύοντος πωλητή Εφαρμογές-Ασκήσεις
Γράφοι Hamilton-Εισαγωγή Sir William Rowan Hamilton, Ιρλανδός, 1856, στερεό κανονικό 12εδρο που αποτέλεσαι τη βάση για ένα παιχνίδι που επινόησε, στο οποίο κάθε μία από τις 20 κορυφές του έφερε μια ετικέτα με το όνομα μια μεγάλης πόλης. Ο σκοπός του παιχνιδιού ήταν να ταξιδέψει κανείς στον κόσμο ξεκινώντας από μια από τις κορυφές- πόλεις του 12εδρου και διασχίζοντας τις ακμές του επισκεπτόμενος τις διάφορες «πόλεις». Ο μοναδικός κανόνας του παιχνιδιού ήταν να μην επισκέπτεται ο παίκτης μια πόλη για δεύτερη φορά. Ο Hamilton πούλησε την ιδέα σε έναν κατασκευαστή παιχνιδιών.
Κύκλος Hamilton Είναι κάθε απλός κύκλος που διέρχεται από όλες τις κορυφές του γραφήματος (ισοδύναμα, κύκλος Hamilton είναι κάθε απλός κύκλος μήκους n ή κάθε κύκλος που διέρχεται από κάθε κορυφή του γραφήματος ακριβώς μια φορά). Δεν είναι γνωστό κανένα σύνολο ικανών και αναγκαίων συνθηκών που να χαρακτηρίζει τα γραφήματα με κύκλο Hamilton. Κάθε κύκλος Hamilton είναι ένα συνεκτικό γράφημα και δεν έχει γέφυρες,ούτε σημεία κοπής. Σημείωση:μια ακμή ενός συνεκτικού γραφήματος ονομάζεται γέφυρα αν δεν υπάρχει κύκλος που να την περιέχει. Μια κορυφή ενός συνεκτικού γραφήματος ονομάζεται σημείο κοπής αν η αφαίρεσή της αίρει τη συνεκτικότητα του γραφήματος.
Γράφοι Hamilton-Εισαγωγή Πρόβλημα: είναι δυνατόν σε κάθε γράφο να βρεθεί κύκλος (=κλειστό μονοπάτι) που να περνά από όλες τις κορυφές? Γράφος Hamilton, κύκλος, μονοπάτι Εφαρμογές-Ψυχαγωγικά προβλήματα
Κύκλος Hamilton Πρόταση 1: Ενας πλήρης γράφος έχει πάντοτε κύκλο Hamilton. Πρόταση 2: σε ένα γράφο με n κορυφές αν όλες οι κορυφές έχουν βαθμό n-1 τότε υπάρχει κύκλος Hamilton. Θεώρημα: αν σε ένα γράφο με n κορυφές (n>=3) όλες οι κορυφές έχουν βαθμό =>n/2, τότε υπάρχει στο γράφο κύκλος Hamilton. Απόδειξη: Υποθέτουμε, στοχεύοντας σε άτοπο, ότι δεν ισχύει το θεώρημα και ας θεωρήσουμε επομένως ένα μέγιστο γράφο G με n κορυφές που διαψεύδει το θεώρημα. Είναι φανερό από τον ορισμό του G ότι αν προσθέσουμε μια οποιασήποτε ακμή στον G, τότε ο νέος γράφος θα έχει έναν κύκλο Hamilton. Αν υπάρχουν δυο κορυφές u1 και un που δεν είναι γειτονικές, επειδή με την πρόσθεση της ακμής {u 1,u n } δημιουργείται κύκλος Hamilton, συμπεραίνουμε ότι στον G υπάρχει μονοπάτι Hamilton, που συνδέει το u 1 με το u n. Ας είναι, u1,u2,..,u n, το μονοπάτι αυτό που περνάει από όλες τις κορυφές του G μια μόνο φορά. Ας είναι επίσης, u j1, u j2,..u jm, οι κορυφές μεταξύ των u2,..,u n-1, που γειτνιάζουν με τη u2. από την υπόθεση συμπεραίνουμε ότι: m>= n/2. Παρατηρούμε ότι η un δεν είναι δυνατόν να είναι γειτονική με οποιαδήποτε από τις κορυφές u j1-1, u jm-1.
Κύκλος Hamilton Διμερές Hamiltonian γράφημα: έχει τον ιδιο αριθμό κορυφών και στα δυο μέρη. Αν δεν ικανοποιεί κάποια αναγκαία συνθήκη δε μπορεί να έχει κύκλο Hamilton. (υπάρχουν όμως γραφήματα που ικανοποιούν τις αναγκαίες συνθήκες και δεν έχουν κύκλο Η) Οι πιο γνωστές ικανές συνθήκες είναι τα θεωρήματα του Dirac και Ore. Θεώρημα Dirac: κάθε (απλό μη-κατευθ.) γράφημα με ελάχιστο βαθμό κορυφής μεγαλύτερο ή ίσο του n/2 είναι Hamiltonian. Θεώρημα Ore: αν το άθροισμα των βαθμών κάθε ζέυγους κορυφών ενός (απλού μη-κατευθ.) γραφήματος είναι τουλάχιστον n το γράφημα περιέχει κύκλο Hamilton. Κάθε γράφημα που ικανοποιεί κάποια από τις ικανές συνθήκες έχει κύκλο Hamilton.
Κύκλος Hamilton Αν πρέπει να αποδείξετε ότι κάποιο γράφημα έχει κύκλο Hamilton, τότε πρέπει να βρείτε έναν κύκλο Hamilton στο γράφημα. Αν αυτό δεν είναι εφικτό, πρέπει να δείξετε ότι ικανοποιεί κάποια από τις ικανές συνθήκες (π.χ. Θεώρημα του Dirac). Αν πρέπει να δείξετε ότι δεν έχει κύκλο Hamilton, πρέπει να βρείτε κάποια αναγκαία συνθήκη που δεν ικανοποιείται από το γράφημα (π.χ. Έχει σημείο κοπής ή γέφυρα).
Γράφοι Hamilton (2) Eξιχνιάσιμος Hamilton (έχει μονοπάτι Hamilton) Oμογενώς Hamilton εξιχνιάσιμος (εξιχνιάσιμος από κάθε κορυφή) Γράφος υπο-hamilton αν δεν είναι Hamilton αλλά ο γράφος G-v είναι Hamilton για κάθε κορυφή v του G Συνδεδεμένος κατά Hamilton (δύο οποιεσδήποτε κορυφές συνδέονται με ένα μονοπάτι Hamilton) Κάθε γράφος συνδεδεμένος κατά Hamilton με αριθμό κορυφών ίσο ή μεγαλύτερο του 3, είναι γράφος Hamilton. Το αντίθετο δεν ισχύει.
Γράφοι Hamilton (3) Πρόβλημα: ποιά είναι η ικανή και αναγκαία συνθήκη, ώστε να είναι ένας γράφος Hamilton? (NP-complete) Θεώρημα: κάθε πλήρης γράφος είναι Hamilton Θεώρημα: κάθε πλήρης γράφος έχει (n-1)/2 Hamilton κύκλους ξένους ως προς ακμές Θεώρημα: κάθε απλός γράφος με n>=3 και d(g)>=n/2 είναι Hamilton
Γράφοι Hamilton (4) Θεώρημα: κάθε απλός γράφος με n>=3 και d(x)+d(y)>=n για κάθε ζεύγος μη γειτονικών κορυφών x,y είναι γράφος Hamilton Θεώρημα: κάθε απλός γράφος με n>=3 και d(x)+d(y)>=n για δύο διακριτές μη γειτονικές κορυφές x,y είναι Hamilton, αν ο γράφος G+(x,y) είναι Hamilton Κλείσιμο γράφου είναι ένας γράφος c(g) με επιπλέον ακμές για τα ζεύγη μη γειτονικών ακμών x και y, όπου ισχύει d(x)+d(y)>=n. Θεώρημα: κάθε απλός γράφος είναι γράφος Hamilton, αν και μόνον αν το κλείσιμό του είναι Hamilton.
Αλγόριθμος εύρεσης κύκλων Hamilton (1) To (i,j) στοιχείο της k-οστής δύναμης του πίνακα γειτνιάσεων δίνει τον αριθμό μονοπατιών μήκους k που συνδέουν τις δύο κορυφές i και j. Θεωρούμε τον κατευθυνόμενο γράφο του σχήματος και τον πίνακα γειτνιάσεων, όπου αντί για μονάδες έχει ως στοιχεία τις συμβολοσειρές ij αν οι κορυφές i και j είναι γειτονικές. Θεωρούμε επίσης έναν πίνακα, που προκύπτει από τον προηγούμενο πίνακα, θέτοντας για κάθε μη μηδενικό στοιχείο του στην αντίστοιχη θέση του νέου πίνακα, μόνο το δεύετερο σύμβολο της συμβολοσειράς ij.
Αλγόριθμος εύρεσης κύκλων Hamilton (2) M 1 M M 2 0 ΑB 0 0 0 0 0 ΒC 0 0 0 0 0 CD CE 0 0 0 0 DE EA EB 0 ED 0 0 B 0 0 0 0 0 C 0 0 0 0 0 D E 0 0 0 0 E A B 0 D 0 0 0 ABC 0 0 0 0 0 BCD BCE CEA CEB 0 CED CDE DEA DEB 0 0 0 0 EAB EBC 0 0 M j =M j-1 *M Όπου το * δηλώνει παράθεση των αντιστοίχων στοιχείων των δύο πινάκων αν κανένα από τα δύο στοιχεία δεν είναι μηδενικά και το σύμβολο του πίνακα Μ δεν συμπεριλαμβάνεται στην αντίστοιχη συμβολοσειρά του M j-1 0 0 0 ABCED ABCDE BCDEA 0 0 0 0 0 CDEAB 0 0 0 0 0 DEABC 0 0 0 0 0 EABCD 0 M 4
Αλγόριθμος εύρεσης κύκλων Hamilton (3) Αν στην k δύναμη του πίνακα προκύψουν μονοπάτια τέτοια έτσι ώστε να υπάρχει ακμή που να ενώνει το πρώτο και το τελευταίο σύμβολο κάθε συμβολοσειράς, τότε αυτά είναι μονοπάτια Hamilton. Το πρόβλημα αυτό μπορεί να λυθεί εναλλακτικά χρησιμοποιώντας έναν αλγόριθμο που στηρίζεται στη φιλοσοφία της Οπισθοδρόμησης, του Δυναμικού Προγραμματισμού ή της μεθόδου της Διακλάδωσης με Περιορισμό από τη Θεωρία Αλγορίθμων.
Περιοδεύων Πωλητής (1) Ευκλείδειος γράφος: όταν ισχύει η ανισοϊσότητα του τριγώνου Πρόβλημα: με ποια σειρά πρέπει να επισκεφθεί τις πόλεις ο πωλητής και να επιστρέψει στη δική του διανύοντας τη μικρότερη δυνατή συνολική απόσταση; Χρησιμοποιούμε ένα ζυγισμένο απλό γράφο. Αν ο γράφος δεν είναι Ευκλείδειος, τότε μπορεί ο πωλητής να περνά από την ίδια πόλη περισσότερες από μία φορές και μία τέτοια λύση μπορεί να είναι η βέλτιστη. Σε διαφορετική περίπτωση το πρόβλημα ανάγεται σε πρόβλημα εύρεσης κύκλων Hamilton με το ελάχιστο βάρος.
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (1) Επίλυση με ευριστικές υποβέλτιστες λύσεις Μέτρο σύγκρισης είναι η ποσότητα 1<L/L opt =a
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (2) Μέθοδος του πλησιέστερου γείτονα 1. Θέτουμε Επιλέγουμε μία τυχαία κορυφή v 0 και θεωρούμε το μονοπάτι P i =v 0 2. Αν i=n, τότε C=P n είναι ένας κύκλος Hamilton, αλλιώς αναζητείται η ακμή e με το μικρότερο βάρος ώστε να προσπίπτει σε μία από τις δύο τερματικές κορυφές του P i και αν είναι δυνατόν, να μη δημιουργείται κύκλος με τις κορυφές του P i. 3. Σχηματίζεται το μονοπάτι Θέτουμε Πηγαίνουμε στο βήμα 2. Έχει αποδειχθεί ότι α=( ln n +1)/2 και άρα για μεγάλα n έχει σημαντική απόκλιση από τη βέλτιστη λύση
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (3) Μέθοδος της μικρότερης εισαγωγής 1. Θέτουμε Επιλέγουμε μία τυχαία κορυφή v 0 και θεωρούμε το μονοπάτι C i =v 0 2. Αν i=n, τότε C=C n είναι ένας κύκλος Hamilton, αλλιώς αναζητείται μία κορυφή v i που δεν υπάρχει στον κύκλο C i και είναι πλησιέστερα προς ένα ζεύγος διαδοχικών κορυφών του C i. 3. Σχηματίζεται ο κύκλος C i+1 εισάγοντας την κορυφή v i μεταξύ των w i και w i+1 Θέτουμε Πηγαίνουμε στο βήμα 2. Στο βήμα 2 ελαχιστοποιείται η ποσότητα Απλούστερη εκδοχή: αναζητείται εκείνη η κορυφή που ελαχιστοποιεί την Έχει αποδειχθεί ότι α<=2 και η πολυπλοκότητα του συγκεκριμένου αλγορίθμου είναι O(n 3 ).
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (4) Προσεγγιστική μέθοδος στηριζόμενη στα ελάχιστα γεννητορικά (ζευγνύωντα) δένδρα 1. Βρίσκουμε ένα ελάχιστο ζευγνύων δένδρο Τ του G. 2. Εκτελούμε μία αναζήτηση με προτεραιότητα βάθους. Αν από μία κορυφή v 0 προσπελασθεί η v 1, τότε η διαδικασία συνεχίζεται προς κάποια νέα γειτονική κορυφή της v 1 και όχι της v 0. Αν προσεγγισθεί κάποια κορυφή από όπου είναι αδύνατο η διαδικασία να συνεχισθεί σε μία μη ήδη επισκεφθείσα κορυφή, τότε η διαδικασία συνεχίζει από την προηγούμενη της τρέχουσας κορυφής με την ίδια τεχνική. 3. Αν είναι η σειρά επίσκεψης των κορυφών του T από το Βήμα 2, τότε ο κύκλος Hamilton είναι
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (5) Προσεγγιστική μέθοδος με διαδοχικές ανταλλαγές ακμών 1. Θεωρείται ένας κύκλος Hamilton 2. Για κάθε i,j, τέτοια ώστε 1<i+1<j<n, λαμβάνεται ένας νέος κύκλος Hamilton διαγράφοντας τις ακμές (v i,v i+1 ) και (v j,v j+1 ) και προσθέτοντας τις ακμές (v i,v j ) και (v i+1,v j+1 ). 3. Αν για κάποια i,j προκύψει τότε θέτουμε Πηγαίνουμε στο Βήμα 2.
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (6) Mέθοδος πλησιέστερου γείτονα (άπληστη) (3,6,5,4,2,1,3), βάρος 193, Mέθοδος μικρότερης εισαγωγής (άπληστη) (3) (3) (3,6,3) (3,6,3) (3,6,5,3) (3,5,6,3) (3,6,5,4,3) (3,5,4,6,3) (3,6,1,5,4,3) (3,1,5,4,6,3) (3,6,2,1,5,4,3) βάρος 192 (3,1,2,5,4,6,3) βάρος 212
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (7) Μέθοδος με ελάχιστα γεννητορικά (ζευγνύοντα) δένδρα Εφαρμόζοντας τον αλγόριθμο του Prim προκύπτει το ζευγνύον δένδρο που φαίνεται και ακολούθως με μία αναζήτηση με προτεραιότητα βάθους το αποτέλεσμα 1 13 2 13 6 2 51 3 68 6 2 51 3 35 57 35 5 4 5 4 21 (3,1,2,4,5,6,3) βάρος 212 21
Προσεγγιστικοί Αλγόριθμοι Για Το Προβλήματος Περιοδεύοντος Πωλητή (8) Μέθοδος με διαδοχικές ανταλλαγές ακμών (3,4,5,6,1,2,3) βάρος 237 (3,6,5,4,1,2,3) βάρος 210 (3,6,5,4,2,1,3) βάρος 193 (3,6,1,2,4,5,3) βάρος 192 Ο τελευταίος κύκλος δε βελτιώνεται περισσότερο όμως είναι δυνατό να βρεθεί μικρότερος κύκλος αν ληφθεί άλλη κορυφή ως αφετηρία.
Άπειροι Γράφοι Οι κορυφές είναι σημεία του επιπέδου με ακέραιες συντεταγμένες, ενώ οι ακμές ενώνουν κορυφές σε απόσταση 1 Σε άπειρο γράφο δεν υπάρχει ίχνος Euler ή κύκλος Hamilton, αλλά υπάρχουν τα αντίστοιχα μονοπάτια Ένα μονοπάτι Hamilton που είναι άπειρο και προς τις δύο κατευθύνσεις είναι ένας δύο παράγοντας Μονοπάτι Euler είναι το μονοπάτι που είναι άπειρο προς τις δύο κατευθύνσεις και περνά από όλες τις ακμές. Μονοδρομικό (one-way) μονοπάτι Euler/Hamilton είναι το μονοπάτι που ξεκινά από μία κορυφή και επεκτείνεται επ άπειρο (space filling curve)
Μαγικά Τετράγωνα Γραμμές, στήλες και διαγώνιοι έχουν ίσο άθροισμα Μεγάλη προϊστορία/ιστορία-dührer 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 23 1 2 20 19 22 16 9 14 4 5 11 13 15 21 8 12 17 10 18 7 25 24 6 3
Μαγικά Τετράγωνα 8 1 6 3 5 7 4 9 2 Αλγόριθμοι κατασκευής μαγικών τετραγώνων (περιττής τάξης): Μέθοδος Bachet (με ρόμβο) Προσθέτοντας σε κάθε θέση του βασικού μαγικού τετραγώνου τον ίδιο τυχαίο αριθμό Αντικαθιστώντας τους αριθμούς [1..9] διαδοχικά με τους εννέα περιττούς αριθμούς [3..17] με άλλα τεχνάσματα.
Μαγικός Γράφος Μαγικός λέγεται ο γράφος όπου το άθροισμα των επιγραφών των ακμών που προσπίπτουν σε όλες τις κορυφές είναι ίσο 11 8 1 6 3 5 7 4 9 2 13 3 5 8 14 16 6 2 9 10 12 1 4 7 15 Κ 3,3 Κ 4,4
Μαγικά Τετράγωνα Θεώρημα: αν ένας διμερής γράφος μπορεί να αποσυντεθεί σε 2 κύκλους Hamilton, τότε ο γράφος είναι μαγικός. Αντιμαγικός λέγεται ο γράφος όπου τα αθροίσματα των επιγραφών των ακμών που προσπίπτουν σε όλες τις κορυφές είναι διάφορα μεταξύ τους. Πλήθος μαγικών αντικειμένων (ομόκεντρα τετράγωνα, τετράγωνα με ντόμινο, πολύγωνα κλπ)