ΓΡΑΦΗΜΑΤΑ EULER ΚΑΙ AMILTON...173Γραφ [ματα Euler και Hamilton...

24
ΚΕΦΑΛΑΙΟ 6 ΓΡΑΦΗΜΑΤΑ EULER ΚΑΙ HAMILTON 6.1 Εισαγωγή 6.2 Γραφήματα Euler 6.3 Κατευθυνόμενα Γραφήματα Euler 6.4 Το Πρόβλημα του Κινέζου Ταχυδρόμου 6.5 Διαδρομές και Κύκλοι Hamilton 6.6 Γραφήματα Hamiltonian 6.7 Το Πρόβλημα του Πλανόδιου Πωλητή 6.8 Τουρνουά Προαπαιτούμενη Γνώση Πολύ καλή γνώση των εννοιών και των θεμάτων του Κεφαλαίου 5. Βασικές γνώσεις διακριτών μαθηματικών. Καλή γνώση δομών δεδομένων και αλγοριθμικών τεχνικών.

Transcript of ΓΡΑΦΗΜΑΤΑ EULER ΚΑΙ AMILTON...173Γραφ [ματα Euler και Hamilton...

  • Γραφήματα Euler και Hamilton 173

    ΚΕΦΑΛΑΙΟ 6

    ΓΡΑΦΗΜΑΤΑ EULER ΚΑΙ HAMILTON

    6.1 Εισαγωγή

    6.2 Γραφήματα Euler

    6.3 Κατευθυνόμενα Γραφήματα Euler

    6.4 Το Πρόβλημα του Κινέζου Ταχυδρόμου

    6.5 Διαδρομές και Κύκλοι Hamilton

    6.6 Γραφήματα Hamiltonian

    6.7 Το Πρόβλημα του Πλανόδιου Πωλητή

    6.8 Τουρνουά

    Προαπαιτούμενη Γνώση

    Πολύ καλή γνώση των εννοιών και των θεμάτων του Κεφαλαίου 5. Βασικές γνώσεις διακριτών

    μαθηματικών. Καλή γνώση δομών δεδομένων και αλγοριθμικών τεχνικών.

  • 174 Αλγοριθμική Θεωρία Γραφημάτων

    6.1 Εισαγωγή

    H θεωρία γραφημάτων θεωρείται ότι ξεκίνησε τον 18ο αιώνα, όταν ο Ελβετός μαθηματικός

    Leonard Euler έλυσε το πρόβλημα των 7 γεφυρών του Konigsberg. Ένα μοντέλο του

    προβλήματος του Konigsberg, όπως εμφανίσθηκε τον 17ο αιώνα, εμφανίζεται στο Σχήμα 6.1. Ο

    ποταμός Pregel, ο οποίος περνούσε μέσα από την πόλη, περιέκλειε τη νήσο Kneiphof και στα

    δεξιά του χάρτη του Σχήματος 6.1 τη διαχώριζε σε δύο τμήματα. Για να διευκολυνθεί η διέλευση

    των πολιτών από τη μία πλευρά της πόλης στην άλλη, το ποτάμι συνδεόταν με 7 γέφυρες. Από

    την άλλη πλευρά, οι πολίτες τις πόλης συνήθιζαν να συναγωνίζονται για το ποιός θα βρει μία

    διαδρομή που να ξεκινά από μία περιοχή της πόλης, έστω Α, να διασχίζει και τις 7 γέφυρες, με

    τον περιορισμό ότι κάθε γέφυρα θα διασχισθεί ακριβώς μία φορά, και να καταλήγει πάλι στην

    περιοχή Α. Ωστόσο, επειδή κάθε προσπάθεια απέβαινε άκαρπη, αρκετοί πίστευαν ότι δεν υπήρχε

    τέτοια διαδρομή. Έτσι, το πρόβλημα της εύρεσης τέτοιας διαδρομή, γνωστό ως το Πρόβλημα των

    Γεφυρών του Konigsberg, δεν είχε λυθεί, μέχρι που ο Euler έδωσε μία μαθηματική λύση το 1736.

    Σχήμα Το πρόβλημα των 7 γεφυρών του Konigsberg.

    Έτσι, ο Euler, ονομάζοντας τις χερσαίες περιοχές της πόλης A, B, C, και D, μοντελοποίησε το

    πρόβλημα των γεφυρών του Konigsberg στο πολυγράφημα του Σχήματος 6.1, αντιστοιχίζοντας

    τους κόμβους του γραφήματος στις χερσαίες περιοχές και τις ακμές στις 7 γέφυρες. Με τη

    μοντελοποίηση αυτή, το πρόβλημα των γεφυρών του Konigsberg τώρα ανάγεται στην εύρεση του

    εάν το πολυγράφημα περιέχει διαδρομή που να περιέχει όλες τις ακμές του μία μόνο φορά.

    O Euler απέδειξε ότι στο πολυγράφημα δεν υπάρχει τέτοια διαδρομή, και επομένως απέδειξε

    ότι το διάσημο πρόβλημα των 7 γεφυρών του Konigsberg δεν έχει λύση. Προφανώς, η απόδειξή

    του Euler δεν θα είχε μεγάλη αξία, εάν περιοριζόταν σε αυτό καθ’ αυτό το συγκεκριμένο

    πρόβλημα. Πράγματι, ο Euler απέδειξε ιδιότητες για το πότε γενικά ένα (πολυ) γράφημα έχει

    μία τέτοια διαδρομή, δηλαδή μία διαδρομή με αρχικό και τελικό κόμβο τον ίδιο και να περιέχει

    όλες τις ακμές του γραφήματος μία μόνο φορά. Μία τέτοια διαδρομή ενός γραφήματος

    ονομάζεται διαδρομή Euler και το γράφημα Euler.

  • Γραφήματα Euler και Hamilton 175

    6.2 Γραφήματα Euler

    Ένα ίχνος (trail) σε ένα γράφημα είναι μία ακολουθία εναλλασσόμενων κόμβων και ακμών

    , , τέτοια ώστε το πρώτο και το τελευταίο στοιχείο της είναι

    κόμβος, ενώ δεν επαναλαμβάνεται κάποια ακμή της (δηλαδή δεν εμφανίζεται στην ακολουθία

    περισσότερες από μία φορές). Εάν το πρώτο και το τελευταίο στοιχείο του ίχνους ταυτίζονται

    (δηλαδή ), τότε ονομάζεται κύκλωμα (circuit). Μερικές φορές, θα χρησιμοποιούμε μόνο

    τις ακμές ή μόνο τους κόμβους , για να ορίσουμε ένα

    ίχνος (ή κύκλωμα).

    Ένα ίχνος μεταξύ δύο διαφορετικών κόμβων u και v ενός γραφήματος ονομάζεται διαδρομή

    Euler (εναλλακτικά, ίχνος Euler), εάν περιέχει όλες τις ακμές του γραφήματος . Ένα κύκλωμα

    που περιέχει όλες τις ακμές του ονομάζεται κύκλωμα Euler.

    Ορισμός 6.1 Ένα γράφημα (πολυγράφημα) ονομάζεται γράφημα Euler (Eulerian graph), εάν

    το έχει ένα κύκλωμα Euler. Το γράφημα ονομάζεται ημι-Euler (semi-Euler), εάν έχει μία

    διαδρομή Euler.

    Στο γράφημα της θέσης (α) του Σχήματος 6.2 είναι ένα ημι-Euler γράφημα, διότι η ακολουθία

    είναι μία διαδρομή Euler μεταξύ των κόμβων 1 και 4. Αντίθετα, το γράφημα

    της θέσης (β) του ίδιου σχήματος είναι γράφημα Euler με κύκλωμα Euler το .

    (α) (β)

    Σχήμα (α) Ένα πολυγράφημα ημι- Euler τάξης . (β) Ένα πολυγράφημα Euler τάξης 5.

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

    απαιτείται.

    Θεώρημα 6.1 Έστω ένα συνεκτικό γράφημα τάξης . Οι ακόλουθες προτάσεις είναι

    ισοδύναμες:

    (i) είναι γράφημα Euler.

    (ii) Κάθε κόμβος του έχει άρτιο βαθμό, δηλαδή , για κάθε .

  • 176 Αλγοριθμική Θεωρία Γραφημάτων

    (iii) Υπάρχει μία διαμέριση του συνόλου των ακμών του , τέτοια

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

    Απόδειξη. Θα δείξουμε την ισοδυναμία των προτάσεων (i) και (ii). Οι υπόλοιπες αφήνονται ως

    άσκηση στον αναγνώστη.

    (i) (ii) Έστω ένα κύκλωμα Euler με αρχικό και τελικό κόμβο

    τον . Για να αποδείξουμε ότι κάθε κόμβος του είναι άρτιου βαθμού, θεωρούμε αρχικά έναν

    κόμβο . Δεδομένου ότι ο κόμβος δεν είναι ούτε ο πρώτος ούτε ο τελευταίος κόμβος του

    κυκλώματος , όποια φορά εμφανίζεται στο (ένας κόμβος μπορεί να εμφανισθεί περισσότερες

    από μία φορές) θα υπάρχει μία ακμή πριν από τον και μία ακμή μετά τον στο κύκλωμα

    . Επομένως, κάθε εμφάνιση του στο κύκλωμα συνεισφέρει κατά δύο στο βαθμό του και

    έτσι ο κόμβος έχει άρτιο βαθμό. Ομοίως, κάθε εμφάνιση του κόμβου (εκτός της πρώτης και

    της τελευταίας) προσθέτει στο βαθμό του, ενώ η αρχική και τελική εμφάνιση του στο

    συνεισφέρει κατά στο βαθμό του και, κατά συνέπεια, και ο κόμβος θα έχει άρτιο βαθμό.

    (ii) (i) Αντιστρόφως, έστω ότι κάθε κόμβος του έχει άρτιο βαθμό. Τότε δείχνουμε ότι το

    είναι γράφημα Euler κατασκευάζοντας ένα κύκλωμα Euler στο . Επιλέγουμε ένα κόμβο του

    και ξεκινάμε ένα ίχνος από το . Επεκτείνουμε το ίχνος όσο μπορούμε, μέχρι να φθάσουμε

    σε ένα κόμβο του οποίου όλες οι προσκείμενες ακμές του ανήκουν ήδη στο ίχνος .

    Ισχυριζόμαστε ότι . Υποθέτουμε το αντίθετο, δηλαδή . Κάθε φορά που ο κόμβος w

    εμφανίζεται στο ίχνος , πριν από την τελευταία εμφάνιση του, χρησιμοποιείται μία ακμή για

    είσοδο σε αυτόν και μία για έξοδο από αυτόν. Έτσι λοιπόν, οι εμφανίσεις του κόμβου στο ,

    εκτός της τελευταίας φοράς, αθροίζουν σε άρτιο πλήθος ακμών προσκείμενων στον κόμβο .

    Ωστόσο, την τελευταία φορά που ο κόμβος εμφανίζεται στο ίχνος χρησιμοποιείται μόνο μία

    ακμή προσκείμενη σε αυτόν. Επομένως, στο ο αριθμός των ακμών προσκείμενων στο είναι

    περιττός αριθμός. Όμως, εφόσον το έχει άρτιο βαθμό, θα πρέπει να υπάρχει τουλάχιστον μία

    ακμή προσκείμενη στο , η οποία να μην ανήκει στο ίχνος . Ωστόσο, το γεγονός αυτό έρχεται

    σε αντίφαση με το ότι όλες οι προσκείμενες ακμές στον κόμβο w ανήκουν στο ίσχος . Άρα,

    όπως ισχυρισθήκαμε, , και το ίχνος είναι πράγματι κύκλωμα. Εάν το κύκλωμα περιέχει

    όλες τις ακμές του , τότε το είναι κύκλωμα Euler και κατ’ επέκταση το είναι ένα γράφημα

    Euler.

    Ας υποθέσουμε, ωστόσο, ότι το κύκλωμα δεν περιέχει όλες τις ακμές του . Επειδή το γρά-

    φημα είναι συνεκτικό, υπάρχει κόμβος στο με προσκείμενες ακμές εκτός του . Έστω το

    γράφημα , που κατασκευάζεται διαγράφοντας τις ακμές του από το και το οποίο δεν είναι

    κενό αφού το δεν περιέχει όλες τις ακμές του . Επιπρόσθετα, κάθε κόμβος του έχει άρτιο

    πλήθος προσκείμενων ακμών στο και, κατά συνέπεια κάθε κόμβος στο θα πρέπει να έχει

    άρτιο βαθμό. Επιλέγουμε τον κόμβο και ξεκινάμε ένα ίχνος από το εκτείνοντάς την όσο

    μπορούμε. Τότε, όπως και πριν, το ίχνος θα πρέπει να τελειώνει στον κόμβο και έτσι το

    να αποτελεί κύκλωμα. Εάν τώρα εισαγάγουμε το κύκλωμα στο σημείο του , όπου

    εμφανίζεται ο κόμβος , δημιουργούμε ένα κύκλωμα , το οποίο θα ξεκινά και θα τελειώνει

    στον κόμβο και το οποίο θα περιέχει περισσότερες ακμές από το . Έτσι, εάν το περιέχει

    όλες τις ακμές του τότε το είναι κύκλωμα Euler και το είναι ένα γράφημα Euler. Άλλως,

  • Γραφήματα Euler και Hamilton 177

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

    μέχρι να φτάσουμε σε ένα κύκλωμα Euler στο γράφημα . ∎

    Οι προτάσεις (i) (ii) του Θεωρήματος 6.1 μας παρέχουν μία απλή μέθοδο, για να αποφανθούμε

    εάν ένα συνδεδεμένο γράφημα είναι γράφημα Euler. Μπορούμε εύκολα να σχεδιάσουμε έναν

    αλγόριθμο για την αναγνώριση γραφημάτων Euler με πολυπλοκότητα χρόνου , όπου

    η τάξη και το μέγεθος του γραφήματος εισόδου . Επίσης, η απόδειξη της ισοδυναμίας των

    προτάσεων (i) και (ii) του ανωτέρω θεωρήματος προτείνει έναν αλγόριθμο ο οποίος, δεδομένου

    ενός γραφήματος Euler , κατασκευάζει ένα κύκλωμα Euler του .

    Από την απόδειξη παρατηρούμε ότι ένα κύκλωμα Euler μπορεί να ξεκινήσει από οποιοδήποτε

    κόμβο ενός γραφήματος παράλληλων ακμών. Επιπρόσθετα, από το ίδιο Θεώρημα 6.1 μπορούμε

    να κατασκευάσουμε ένα κύκλωμα Euler του γραφήματος Euler βασιζόμενοι στην ιδιότητα ότι

    οι ακμές ενός γραφήματος Euler αποτελούν ένωση κύκλων ξένων ως προς τις ακμές (edge-

    disjoint cycles). Ονομάζουμε τον προηγούμενο αλγόριθμο για τον υπολογισμό

    ενός Euler κυκλώματος και τον περιγράφουμε αναλυτικά στον Αλγόριθμο 6.1.

    Αλγόριθμος 6.1:

    Input: Ένα Euler γράφημα τάξης n και μεγέθους m.

    Output: Ένα Euler κύκλωμα του γραφήματος .

    1. Πάρε έναν οπουδήποτε κόμβο και ξεκινώντας από αυτόν κατασκεύασε ένα

    κύκλο ;

    2. Εάν ο κύκλος περιέχει όλες τις ακμές του , επίστρεψε τον κύκλο και τερμάτισε;

    εάν όχι, επίλεξε ένα κόμβο κοινό στον κύκλο και στο γράφημα , που

    δημιουργείται από το γράφημα διαγράφοντας όλες τις ακμές του κύκλου ;

    3. Ξεκίνα από τον κόμβο και κατασκεύασε ένα κύκλο στο γράφημα ;

    4. Συνδύασε τις ακμές των κύκλων και και δημιούργησε ένα κύκλωμα στο .

    Ονόμασε το νέο κύκλωνα , και πήγαινε στο Βήμα 2.

    Στη συνέχεια, παρουσιάζουμε έναν άλλο αλγόριθμο (γνωστός ως αλγόριθμος του Fleury) για την

    κατασκευή ενός Euler κυκλώματος ενός γραφήματος Euler , ξεκινώντας από έναν τυχαίο

    κόμβο του . Τον αλγόριθμο του Fleury τον ονομάζουμε και τον

    περιγράφουμε στον Αλγόριθμο 6.2.

    Θεώρημα 6.2 Ένα συνεκτικό γράφημα έχει μία διαδρομή Euler ( είναι γράφημα ήμι- Euler)

    εάν-ν το έχει ακριβώς δύο κόμβους περιττού βαθμού. Επιπρόσθετα, η διαδρομή Euler ξεκινά

    από τον ένα κόμβο περιττού βαθμού και τελειώνει στον άλλο.

    Στο ημι-Euler γράφημα του Σχήματος 6.2α, οι κόμβοι 1 και 4 έχουν περιττό βαθμό, ενώ όλοι οι

    άλλοι έχουν άρτιο. Κάθε διαδρομή Euler στο γράφημα αυτό είναι ένα ίχνος μεταξύ των κόμβων 1

    και 4.

  • 178 Αλγοριθμική Θεωρία Γραφημάτων

    Αλγόριθμος 6.2:

    Input: Ένα γράφημα Euler τάξης και μεγέθους .

    Output: Ένα κύκλωμα Euler του γραφήματος .

    1. Θέσε, αρχικά, ; Ξεκίνα από τον κόμβο v0 και όρισε το ίχνος ;

    2. Έστω το ίχνος μεταξύ των κόμβων και στην -

    οστή επανάληψη. Επίλεξε μία ακμή από το σύνολο – που

    ενώνει τους κόμβους και . Εάν δεν υπάρχει καμία τέτοια ακμή, τέλος;

    3. Εάν η ακμή είναι γέφυρα στο γράφημα που δημιουργείται από το

    διαγράφοντας τις ακμές του Ei, τότε εισάγαγε αυτή στο ίχνος

    , μόνο εάν δεν υπάρχει άλλη επιλογή (εάν

    υπάρχει, επίλεξε μη-γέφυρα);

    4. Θέσε και πήγαινε στο Βήμα 2.

    6.3 Κατευθυνόμενα Γραφήματα Euler

    Στη συνέχεια, εξετάζουμε μία άμεση επέκταση των διαδρομών και κυκλωμάτων Euler σε

    κατευθυνόμενα γραφήματα.

    Έστω ένα συνεκτικό κατευθυνόμενο γράφημα (weakly connected digraph). Μία κατευθυνόμενη

    διαδρομή Euler μεταξύ δύο διαφορετικών κόμβων και του γραφήματος είναι ένα

    κατευθυνόμενο ίχνος που περιέχει όλες τις ακμές του , ενώ ένα κατευθυνόμενο κύκλωμα Euler

    είναι ένα κατευθυνόμενο κύκλωμα που περιέχει όλες τις ακμές του .

    Ορισμός 6.2 Ένα συνεκτικό κατευθυνόμενο γράφημα ονομάζεται ημι-Euler (semi-Euler),

    εάν το έχει μία κατευθυνόμενη διαδρομή Euler. Το γράφημα ονομάζεται γράφημα Euler

    (Eulerian graph), εάν έχει ένα κατευθυνόμενο κύκλωμα Euler.

    (α) (β)

    Σχήμα Κατευθυνόμενα γράφημα ημι-Euler και Euler.

  • Γραφήματα Euler και Hamilton 179

    Στο κατευθυνόμενο γράφημα (α) του Σχήματος 6.3 υπάρχει η κατευθυνόμενη διαδρομή Euler

    από τον κόμβο 1 στον κόμβο 2 και, επομένως, το γράφημα είναι ένα

    κατευθυνόμενο γράφημα ημι-Euler. Αντίθετα, το γράφημα (β) του ίδιου σχήματος έχει το

    κατευθυνόμενο κύκλωμα Euler και, επομένως, είναι ένα

    κατευθυνόμενο γράφημα Euler.

    Το επόμενο θεώρημα χαρακτηρίζει τα κατευθυνόμενα γραφήματα ημι-Euler και Euler.

    Θεώρημα 6.3 Έστω ένα συνεκτικό κατευθυνόμενο γράφημα (weakly connected digraph)

    τάξης n.

    (i) Το είναι γράφημα Euler εάν-ν ο βαθμός εισόδου κάθε κόμβου είναι ίσος με το βαθμό

    εξόδου του, δηλαδή , για κάθε κόμβο .

    (ii) Το είναι γράφημα ημι-Euler εάν-ν υπάρχουν δύο κόμβοι v και u τέτοιοι ώστε:

    (ii.a) ,

    (ii.b) – , και

    (ii.c) , για κάθε κόμβο – .

    Παρατηρούμε ότι στο γράφημα (α) του Σχήματος 6.3 ισχύει και

    – και για κάθε άλλο κόμβο ισχύει . Στο

    γράφημα αυτό κάθε κατευθυνόμενη διαδρομή Euler αρχίζει από τον κόμβο και τελειώνει

    στον κόμβο . Στο γράφημα (β) του Σχήματος 6.3 παρατηρούμε ότι κάθε κόμβος του έχει βαθμό

    εισόδου ίσο με το βαθμό εξόδου του και πράγματι έχει ένα κατευθυνόμενο κύκλωμα Euler.

    6.4 Το Πρόβλημα του Κινέζου Ταχυδρόμου

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

    μικρή πόλη. Ο ταχυδρόμος, λοιπόν, θα ήθελε να καλύψει την αντίστοιχη διαδρομή με τον

    αποδοτικότερο τρόπο και να επιστρέψει εν τέλει στο ταχυδρομείο. Επομένως, ο ταχυδρόμος θα

    πρέπει να βρει μία διαδρομή που να περνά από κάθε δρόμο τουλάχιστον μία φορά, αλλά να

    ελαχιστοποιεί το συνολικό αριθμό των φορών που είναι απαραίτητο να περπατήσει σε ένα

    συγκεκριμένο δρόμο. Το πρόβλημα εύρεσης τέτοιας διαδρομής καλείται Το Πρόβλημα του

    Κινέζου Ταχυδρόμου και το όνομά του δόθηκε από τον M.K. Kwan το 1962, ο οποίος πρώτος

    καθόρισε το πρόβλημα.

    Μοντελοποίηση. Μπορούμε να μοντελοποιήσουμε το πρόβλημα αυτό μέσω ενός γραφήματος

    όπου τα σταυροδρόμία της πόλης αντιστοιχούν σε κόμβους του γραφήματος και δύο κόμβοι είναι

    γειτονικοί, εάν ο δρόμος που ενώνει τα αντίστοιχα σταυροδρόμια δεν ενώνεται με τρίτο

    σταυροδρόμι. Εάν κάνουμε κάτι τέτοιο, τότε το πρόβλημα του κινέζου ταχυδρόμου ανάγεται στο

    εξής γραφο-θεωρητικό πρόβλημα: Σε ένα συνεκτικό γράφημα , βρες έναν ελάχιστο κλειστό

    περίπατο (closed walk) που να περιέχει όλες τις ακμές του . Μία τέτοια διαδρομή την

    ονομάζουμε περίπατο Euler (Eulerian walk) του γραφήματος .

  • 180 Αλγοριθμική Θεωρία Γραφημάτων

    Μέθοδος Επίλυσης. Εάν το συνεκτικό γράφημα που μοντελοποιεί το πρόβλημα του κινέζου

    ταχυδρόμου είναι γράφημα Euler, τότε έχουμε άμεσα έναν αλγόριθμο επίλυσης. Πράγματι, αρκεί

    να βρούμε ένα κύκλωμα Euler του και από αυτό να κατασκευάσουμε το περίπατο Euler με

    αρχή και τέλος τον κόμβο αφετηρίας και προορισμού (ο κόμβος αντιστοιχεί στο

    σταυροδρόμι που βρίσκεται το ταχυδρομείο). Εάν το δεν είναι γράφημα Euler, τότε

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

    Πριν από την περιγραφή της προτεινόμενης μεθόδου, διατυπώνουμε κάποιες παρατηρήσεις και

    δίδουμε μερικές χρήσιμες ιδιότητες των περιπάτων Euler ενός γραφήματος .

    (1) Εύκολα παρατηρούμε ότι, εάν διπλασιάσουμε κάθε ακμή ενός γραφήματος , δηλαδή

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

    πολυγράφημα Euler (Eulerian multi-graph). Πράγματι, το είναι γράφημα Euler, διότι

    είναι συνδεδεμένο και ισχύει , , για όλους τους κόμβους

    (στην πραγματικότητα, ο βαθμός κάθε κόμβου του είναι διπλάσιος του βαθμού του

    αντίστοιχου κόμβου του ). Επιπρόσθετα, ισχύει ότι το είναι υποκείμενο γράφημα του .

    Επομένως, ένα κύκλωμα Euler του παράγει ένα κλειστό περίπατο (closed walk) του , ο

    οποίος περιέχει κάθε ακμή του .

    (2) Από την παρατήρηση αυτή είναι εύκολο να δούμε ότι κάθε γράφημα (και, επομένως, και το

    , που μοντελοποιεί το πρόβλημα του κινέζου ταχυδρόμου) έχει ένα περίπατο Euler

    (Eulerian walk) με μήκος τουλάχιστο , αλλά όχι περισσότερο του , όπου το πλήθος

    των ακμών του γραφήματος . Εάν το είναι γράφημα Euler μεγέθους , τότε το μήκος

    ενός περιπάτου Euler στο είναι , ενώ, εάν το είναι δένδρο, το μέγεθος ενός περιπάτου

    Euler είναι μεγέθους .

    (3) Εάν το δεν είναι γράφημα Euler, τότε το περιέχει άρτιο αριθμό κόμβων περιττού

    βαθμού. Έστω , , το σύνολο των κόμβων περιττού

    βαθμού του . To γράφημα του Σχήματος 6.4α δεν είναι Euler και ισχύει

    .

    Μία διμελής διαμέριση του συνόλου είναι μία διαμέριση του σε k υποσύνολα των δύο

    στοιχείων. Για μία διμελή διαμέριση:

    ορίζουμε την απόσταση της π ως το άθροισμα των αποστάσεων των μελών της στο

    γράφημα , δηλαδή:

    Έστω , για κάθε του (το ελάχιστο υπολογίζεται επάνω σε όλες τις

    διμελείς διαμερίσεις π του συνόλου . Είναι προφανές ότι, εάν είναι ένα γράφημα Euler,

    ισχύει και τότε ορίζουμε .

  • Γραφήματα Euler και Hamilton 181

    (α) (β) (γ)

    Σχήμα Παράδειγμα για τη λύση του προβλήματος του κινέζου ταχυδρόμου.

    To γράφημα του Σχήματος 6.4α, με , έχει τρεις διμελείς διαμερίσεις: τη

    διαμέριση , τη διαμέριση και τη διαμέριση

    με αποστάσεις , , . Πράγματι,

    , γιατί μία ελάχιστη διαδρομή μεταξύ και στο γράφημα είναι η

    με μήκος 4 και, επομένως, , ενώ μία ελάχιστη διαδρομή μεταξύ

    και είναι η με μήκος και, επομένως, . Στο Σχήμα 6.4β

    δείχνουμε το μήκος των ελάχιστων διαδρομών μεταξύ όλων των ζευγών των κόμβων του

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

    Το ακόλουθο θεώρημα που παρατίθεται δίχως απόδειξη, διατυπώθηκε από τους Goodman και

    Hedetniemi το 1973 και δίδει το μήκος ενός περιπάτου Euler για κάθε συνδεδεμένο γράφημα

    μεγέθους .

    Θεώρημα 6.4 (Goodman και Hedetniemi, 1973) Εάν είναι ένα συνεκτικό γράφημα μεγέθους

    m, τότε ένας περίπατος Euler (Eulerian walk) στο θα έχει μήκος .

    (4) Έστω ότι έχουμε υπολογίσει μία διμελή διαμέριση του συνόλου

    τέτοια ώστε . Για κάθε ζεύγος κόμβων της υπολογίζουμε

    την ελάχιστη διαδρομή μεταξύ αυτών, . Εάν αντι-

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

    ακμών, τότε προκύπτει ένα πολυγράφημα τέτοιο ώστε το είναι γράφημα Euler και το

    είναι υποκείμενο γράφημα του .

    Στο γράφημα του Σχήματος 6.4α έχουμε ότι όπου Οι

    ελάχιστες διαδρομές των δύο ζευγών είναι και Επομένως, για

    την κατασκευή του πολυγραφήματος αρκεί να αντικαταστήσουμε κάθε μία από τις ακμές

    και με ένα ζεύγος παράλληλων ακμών (βλέπε το γράφημα

    του Σχήματος 6.4γ).

  • 182 Αλγοριθμική Θεωρία Γραφημάτων

    Βασιζόμενοι στις παρατηρήσεις αυτές και στο αποτέλεσμα του Θεωρήματος 6.1, δίνουμε έναν

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

    και τον περιγράφουμε στον Αλγόριθμο 6.3.

    Αλγόριθμος 6.3:

    Input: Ένα γράφημα , τάξης και μεγέθους , και ο κόμβος αφετηρίας .

    Output: Ένα περίπατο Euler (Eulerian walk) του γραφήματος .

    1. Υπολόγισε το βαθμό κάθε κόμβου ;

    2. Εάν για κάθε κόμβο , τότε το είναι γράφημα Euler, θέσε

    και πήγαινε στο Βήμα 6;

    3. Υπολόγισε το σύνολο των κόμβων του με περιττό βαθμό και μία διμελή

    διαμέριση του τέτοια ώστε ;

    4. Για κάθε ζεύγος κόμβων της υπολογίζουμε την ελάχιστη διαδρομή

    μεταξύ των κόμβων και , .

    5. Κατασκεύασε το πολυγράφημα Euler από το αντικαθιστώντας την κάθε ακμή της

    διαδρομής , , με ένα ζεύγος παράλληλων ακμών;

    6. Υπολόγισε ένα κύκλωμα Euler στο γράφημα και από αυτό ένα περίπατο Euler με

    αρχικό και τελικό κόμβο τον κόμβο αφετηρίας και προορισμού w;

    7. Επίστρεψε το περίπατο Euler.

    Έστω ότι ο Αλγόριθμος πάρει ως είσοδο το γράφημα του Σχήματος 6.4(α)

    με κόμβο αφετηρίας . Τότε, στο Βήμα 6 υπολογίζει ένα κύκλωμα Euler στο γράφημα

    του Σχήματος 6.4γ, έστω , ο

    περίπατος Euler που επιστρέφει στο Βήμα 7 έχει μήκος , όπου και

    .

    Η προτεινόμενη λύση απαιτεί τον καθορισμό όλων των διμελών διαμερίσεων του ,

    καθώς επίσης και τον υπολογισμό . Η διαδικασία αυτή δεν είναι αποδοτική

    δεδομένου ότι ο αριθμός των διμελών διαμερίσεων του είναι όπου είναι το

    πλήθος των κόμβων του που είναι περιττού βαθμού. Ωστόσο, υπάρχει μία αποδοτική μέθοδος

    για τον υπολογισμό της διμελoύς διαμέρισης του , για την οποία ισχύει

    (βλέπε Βιβλιογραφία).

    6.5 Διαδρομές και Κύκλοι Hamilton

    Στην θεωρία γραφημάτων το πρόβλημα της διαδρομής Hamilton (Hamiltonian path problem ή

    HP) και το πρόβλημα του κύκλου Hamilton (Hamiltonian cycle problem ή HC) ορίζονται ως τα

    προβλήματα καθορισμού, εάν ένα γράφημα έχει ή όχι μία διαδρομή ή έναν κύκλο Hamilton.

  • Γραφήματα Euler και Hamilton 183

    Μία διαδρομή μεταξύ δύο κόμβων και ενός γραφήματος ονο-

    μάζεται διαδρομή Hamilton, εάν περιέχει όλους τους κόμβους του ακριβώς μία φορά (άρα,

    εάν είναι διαδρομή Hamilton). Μία διαδρομή Hamilton ( )

    ονομάζεται κύκλος Hamilton, εάν οι τερματικοί κόμβοι και της διαδρομής είναι γειτονικοί

    (δηλαδή συνδέονται με ακμή).

    Το γράφημα (α) του Σχήματος 6.5 έχει μία διαδρομή Hamilton (κόκκινη διαδρομή), ενώ το

    γράφημα (β) έχει κύκλο Hamilton. Το γράφημα (γ) του ίδιου σχήματος, γράφημα Herschel, είναι

    το μικρότερο δυνατό πολυεδρικό γράφημα που δεν έχει κύκλο Hamilton.

    (α) (β) (γ)

    Σχήμα Γραφήματα με διαδρομές και κύκλους Hamilton.

    Ορισμός 6.3 Ένα γράφημα ονομάζεται γράφημα Hamilton (Hamiltonian graph), εάν το

    έχει ένα κύκλο Hamilton. Το γράφημα ονομάζεται ανιχνεύσιμο (traceable), εάν έχει μία

    διαδρομή Hamilton.

    Τα γραφήματα Hamilton είναι ανιχνεύσιμα, αλλά το αντίθετο δεν είναι πάντα αληθές. Για

    παράδειγμα, το γράφημα (γ) του Σχήματος 6.5, το γνωστό γράφημα Peterson, είναι ανιχνεύσιμο,

    αλλά δεν είναι Hamiltonian (όπως και το γράφημα (α) του ίδιου σχήματος).

    Κάθε αυτό-συμπληρωματικό γράφημα (self-complementary) είναι ανιχνεύσιμο (βλέπε Clapham

    1974; Camion 1975; Farrugia 1999, σελίδα 52). Σημειώνουμε ότι ένα γράφημα είναι αυτο-

    συμπληρωματικό, εάν είναι ισόμορφο με το συμπληρωματικό του, δηλαδή όταν τα γραφήματα

    και είναι ισόμορφα. Στο Σχήμα 6.6 δείχνουμε τα αυτο-συμπληρωματικά γραφήματα τάξης n

    (τα γραφήματα με 2 και 3 κόμβους δεν είναι αυτο-συμπληρωματικά).

    Σχήμα Τα αυτο-συμπληρωματικά γραφήματα τάξης = , και .

    Υπάρχει μία απλή σχέση μεταξύ των προβλημάτων της εύρεσης μίας διαδρομής Hamilton και

    ενός κύκλου Hamilton. Πράγματι, το πρόβλημα εύρεσης μίας διαδρομής Hamilton σε ένα

  • 184 Αλγοριθμική Θεωρία Γραφημάτων

    γράφημα είναι ισοδύναμο με το πρόβλημα εύρεσης ενός κύκλου Hamilton σε ένα γράφημα H

    που λαμβάνεται από το , με την προσθήκη ενός νέου κόμβου και τη σύνδεση αυτού με όλους

    τους κόμβους του . Έτσι, η εύρεση μίας διαδρομής Hamilton δεν μπορεί να είναι σημαντικά πιο

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

    κύκλου Hamiltonian. Από την άλλη πλευρά, ένα γράφημα έχει ένα κύκλο Hamilton που

    χρησιμοποιεί την ακμή εάν-ν το γράφημα που λαμβάνεται (ή, ισοδύναμα, κατασκευάζεται)

    από το με την αντικατάσταση της ακμής από ένα ζεύγος κόμβων βαθμού 1, με τον ένα να

    συνδέεται στον κόμβο και τον άλλον να συνδέεται στον κόμβο , έχει Hamiltonian μονοπάτι.

    Επομένως, αντικαθιστώντας όλες τις ακμές που προσπίπτουν σε ένα επιλεγμένο κόμβο του , το

    πρόβλημα εύρεσης ενός κύκλου Hamilton μπορεί να επιλυθεί με τον υπολογισμό το πολύ

    διαδρομών Hamilton, όπου είναι το πλήθος των κόμβων του γραφήματος. Το πρόβλημα του

    κύκλου Hamilton είναι, επίσης, μία ειδική περίπτωση του Προβλήματος του Πλανόδιου Πωλητή

    (Travelling Salesman Problem ή TSP), που λαμβάνεται θέτοντας την απόσταση μεταξύ δύο

    πόλεων ίσον με , εάν είναι γειτονικές (συνδέονται άμεσα), και διαφορετικά, και

    επαληθεύοντας ότι η συνολική διανυθείσα απόσταση είναι ίση με (αν ναι, τότε η διαδρομή

    είναι ένας κύκλος Hamilton, ενώ, εάν δεν υπάρχει κύκλος Hamilton, τότε η συντομότερη

    διαδρομή θα είναι μεγαλύτερη του ).

    Γενικά, το πρόβλημα της εύρεσης μίας διαδρομής Hamilton είναι NP-πλήρες (βλέπε βιβλίο

    Garey and Johnson, σελίδες 199-200) και, επομένως, η επίλυσή του σε δεδομένο γράφημα

    απαιτεί μία εξαντλητική αναζήτηση του γραφήματος.

    6.6 Γραφήματα Hamilton

    Θεώρημα 6.5 (Ore's Theorem) Έστω ένα γράφημα με κόμβους. Εάν για κάθε ζεύγος

    κόμβων ισχύει ή , τότε το γράφημα έχει

    Hamiltonian κύκλο.

    Απόδειξη (σκιαγράφηση): Υποθέτουμε ότι υπάρχει γράφημα που ικανοποιεί την ιδιότητα του

    θεωρήματος, αλλά δεν έχει κύκλο Hamilton. Έστω ένα τέτοιο γράφημα με το μεγαλύτερο

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

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

    Hamilton.

    Βάσει της αρχής του περιστερώνα (pigeonhole principle) θα πρέπει να υπάρχουν κόμβοι που

    γειτνιάζουν με τα άκρα της διαδρομής (τον αρχικό και τον τελικό κόμβο της διαδρομής) με τρόπο

    που μπορούμε να δημιουργήσουμε ένα κύκλο Hamilton. ∎

    Θεώρημα 6.6 (Dirac's Theorem) Έστω ένα γράφημα με κόμβους. Εάν για κάθε κόμβο

    ισχύει , τότε το γράφημα έχει Hamiltonian κύκλο.

    Η ισχύς του θεωρήματος του Dirac προκύπτει άμεσα από το Θεώρημα 6.5 (Ore's Theorem).

    Πράγματι, εάν ισχύει για κάθε κόμβο v του γραφήματος , τότε ισχύουν οι

    συνθήκες του θεωρήματος του Ore και, επομένως, το έχει Hamiltonian κύκλο.

    http://mathworld.wolfram.com/NP-CompleteProblem.html

  • Γραφήματα Euler και Hamilton 185

    Ωστόσο, θα δώσουμε μία απόδειξη του θεωρήματος του Dirac ανεξάρτητη από αυτή του

    θεωρήματος του Ore.

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

    (τετριμμένα) Hamiltonian. Υποθέτουμε, επομένως, ότι .

    Έστω είναι η μεγαλύτερη διαδρομή στο γράφημα (βλέπε Σχήμα 6.7).

    Τότε κάθε γείτονας του κόμβου και κάθε γείτονας του κόμβου ανήκουν στη διαδρομή ,

    άλλως θα υπήρχε μία μεγαλύτερη διαδρομή από την . Συνεπώς, .

    Σχήμα Μία μέγιστη διαδρομή στο γράφημα .

    Υπάρχει κόμβος vi, όπου , τέτοιος ώστε ο κόμβος v1 να γειτνιάζει με τον vi, και ο κόμβος

    vp να γειτνιάζει με τον . Εάν δεν ισχύει, τότε, οποτεδήποτε ο κόμβος v1 θα γειτνιάζει με τον

    vi, ο κόμβος vp δεν θα γειτνιάζει με τον vi-1. Επειδή, τουλάχιστο κόμβοι vi γειτνιάζουν με τον

    v1, τουλάχιστο από τους διαφορετικούς κόμβους από τον vp δεν γειτνιάζουν με τον .

    Επομένως, το οποίο αντιβαίνει στο γεγονός ότι .

    Άρα, όπως ισχυρισθήκαμε, πρέπει να υπάρχει κόμβος γειτονικός του και κόμβος γειτονικός του (βλέπε Σχήμα 6.8).

    Σχήμα Ένα υπογράφημα του γραφήματος .

    Βλέπουμε τώρα ότι το γράφημα έχει ένα κύκλο

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

    του (δηλαδή εάν ), τότε ο κύκλος είναι Hamiltonian και η απόδειξη ολοκληρώνεται.

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

    . Επειδή, η διαδρομή περιέχει τουλάχιστο κόμβους, υπάρχουν λιγότεροι από

    κόμβοι που δεν ανήκουν στο , και έτσι ο πρέπει να γειτνιάζει με ένα κόμβο , ο οποίος

    ανήκει στον . Όμως, η ακμή συν ο κύκλος περιέχει μία διαδρομή με μήκος που είναι

  • 186 Αλγοριθμική Θεωρία Γραφημάτων

    μεγαλύτερο από αυτό της , που είναι αδύνατο. Άρα, o κύκλος περιέχει όλους τους κόμβους

    του γραφήματος και, συνεπώς, είναι Hamiltonian. ∎

    Σημειώστε ότι η συνθήκη του θεωρήματος του Dirac είναι ικανή (sufficient) αλλά όχι αναγκαία

    (necessary): υπάρχουν γραφήματα που έχουν κύκλους Hamilton, αλλά δεν πληρούν τη συνθήκη

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

    βαθμό και ισχύει , όμως το γράφημα έχει Hamiltonian κύκλο. Γενικά, δεν υπάρχουν

    καλές ικανές-και-αναγκαίες συνθήκες για το πότε ένα γράφημα έχει κύκλο Hamilton.

    Πόρισμα 6.1 Έστω ένα γράφημα με κόμβους. Εάν για κάθε κόμβο ισχύει

    , τότε το γράφημα έχει διαδρομή Hamilton.

    Απόδειξη. Εάν , τότε , επομένως το έχει (τετριμμένα) διαδρομή Hamilton.

    Υποθέτουμε ότι και ορίζουμε το γράφημα . Έστω είναι ο κόμβος του ,

    που δεν ανήκει στο . Επειδή το γράφημα είναι τάξης , συνεπάγεται ότι .

    Επιπλέον, για κάθε κόμβο του , ισχύει

    .

    Από το Θεώρημα 6.6 (Dirac's Theorem) έχουμε ότι το περιέχει ένα κύκλο Hamilton .

    Αφαιρώντας τον κόμβο από τον κύκλο , παίρνουμε μία διαδρομή Hamilton στο . ∎

    6.7 Το Πρόβλημα του Πλανόδιου Πωλητή

    Υποθέτουμε ότι ένας πλανόδιος πωλητής σε μία περιοδεία του θέλει να επισκεφθεί πόλεις.

    Το ερώτημα που τίθεται είναι ποιά διαδρομή θα πρέπει να ακολουθήσει, ώστε να

    ελαχιστοποιήσει τη συνολική απόσταση που θα πρέπει να διανύσει; Το ερώτημα αυτό ορίζει το

    γνωστό Πρόβλημα του Πλανόδιου Πωλητή (Travelling Salesman Problem ή TSP), το οποίο ως

    γνωστό έχει μία φυσική γραφοθεωρητική ερμηνεία.

    Έστω ένα συνεκτικό έμβαρο γράφημα, του οποίου οι κόμβοι αντιστοιχούν στις

    πόλεις που ο πωλητής πρέπει να επισκεφθεί και το βάρος της ακμής αντιστοιχεί

    στην απόσταση της άμεση σύνδεσης μεταξύ της πόλης vi και της πόλης .

    Υποθέτουμε ότι το γράφημα είναι πλήρες, γιατί στην περίπτωση που δεν υπάρχει άμεση

    σύνδεση μεταξύ της πόλης και της πόλης θα μπορούμε πάντα να θεωρήσουμε ότι υπάρχει η

    ακμή στο και να θέσουμε , όπου είναι το κόστος της

    ελάχιστης διαδρομής από την πόλη στην πόλη . Το πρόβλημα του πλανόδιου πωλητή

    ανάγεται στην εύρεση ενός Hamiltonian κύκλου ελάχιστου βάρους στο (πλήρες) γράφημα . Στο

    εξής, θα ονομάζουμε τον κύκλο αυτό ελάχιστο κύκλο Hamilton του .

    Ένας προφανής αλγόριθμος για την επίλυση του προβλήματος απαιτεί τον υπολογισμό του

    βάρους των κύκλων Hamilton του γραφήματος . Η πολυπλοκότητα χρόνου ενός

    τέτοιου αλγόριθμου είναι εκθετικής τάξης και, επομένως, ο αλγόριθμος μη-αποτελεσματικός.

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

    προβλήματος του πλανόδιου πωλητή.

  • Γραφήματα Euler και Hamilton 187

    Πράγματι, το επόμενο σχετικό πρόβλημα απόφασης είναι NP-πλήρες.

    TSP: Δεδομένου ενός έμβαρου πλήρους γραφήματος και μίας θετικής σταθεράς , υπάρχει κύκλος Hamilton στο τέτοιος ώστε

    Για να δούμε εάν ισχύει, αρχικά αποδεικνύουμε ότι το πρόβλημα TSP είναι NP (βλέπε Άσκηση

    1). Στη συνέχεια δείχνουμε ότι το πρόβλημα HC (εύρεση ενός Hamiltonian κύκλου) μπορεί να

    μετασχηματισθεί πολυωνυμικά στο πρόβλημα TSP.

    Έστω ένα έμβαρο πλήρες γράφημα με τέτοιο ώστε:

    εάν

    σε κάθε άλλη περίπτωση

    Έστω, . Τότε, το γράφημα μπορεί να κατασκευασθεί από το ελέγχοντας όλα τα

    ζεύγη κόμβων. Επομένως, ο μετασχηματισμός του στο μπορεί να πραγματοποιηθεί σε

    χρόνο. Απομένει να δείξουμε ότι το γράφημα περιέχει ένα Hamiltonian κύκλο εάν-ν

    το περιέχει ένα Hamiltonian κύκλο με βάρος .

    Υποθέτουμε ότι το γράφημα περιέχει ένα Hamiltonian κύκλο . Τότε,

    και είναι ακμές του γραφήματος βάρους 1. Επομένως,

    είναι ένας Hamiltonian κύκλος βάρους στο . Αντίθετα, υποθέτουμε ότι

    το γράφημα περιέχει ένα Hamiltonian κύκλο βάρους το πολύ

    . Επειδή περιέχει ακμές βάρους τουλάχιστο , κάθε ακμή του πρέπει να έχει βάρος

    ακριβώς 1. Αυτό συνεπάγει ότι και είναι ακμές του . Επομένως,

    είναι ένας κύκλος Hamilton στο . Άρα, HC TSP, και επομένως το

    πρόβλημα TSP είναι NP-πλήρες. ∎

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

    να σχεδιάσουμε έναν αποτελεσματικό αλγόριθμο για το πρόβλημα TSP, δηλαδή έναν αλγόριθμο

    που υπολογίζει ένα κύκλο Hamilton ελάχιστου βάρους. Αντίθετα, μας κατευθύνει να

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

    «χαμηλού» αλλά όχι ελάχιστου βάρους.

    Στη συνέχεια, περιγράφουμε δύο αλγορίθμους υπολογισμού ενός τέτοιου κύκλου Hamilton.

    Υποθέτουμε ότι τα γραφήματα εισόδου και των δύο αλγορίθμων ικανοποιούν την τριγωνική

    ανισότητα . Την υπόθεση αυτή μπορούμε να κάνουμε με

    ασφάλεια, διότι η απόσταση δύο πόλεων με άμεση σύνδεση είναι συνήθως μικρότερη ή ίση από

    την απόσταση μίας έμμεσης σύνδεσης μεταξύ αυτών (θυμίζουμε, έμμεση σύνδεση μεταξύ δύο

    πόλεων είναι αυτή που περνά μέσω μίας άλλης πόλης ή άλλων πόλεων). Επίσης, θα μας

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

    ένα -κύκλο και ότι μία ακμή αποτελεί ένα -κύκλο .

  • 188 Αλγοριθμική Θεωρία Γραφημάτων

    Ο πρώτος αλγόριθμος, που ονομάζουμε , παίρνει ως είσοδο ένα έμβαρο πλήρες γράφημα

    και επιστρέφει ένα κύκλο Hamilton «χαμηλού» βάρους. Ο αλγόριθμος βασίζεται στην άπληστη

    τεχνική και εργάζεται ως εξής:

    Επιλέγει αρχικά ένα τυχαίο κόμβο και θεωρεί αυτό ότι αποτελεί ένα 1-κύκλο .

    Έστω ότι έχει ήδη κατασκευάσει ένα κύκλο . Εάν περιέχει όλους τους κόμβους του

    , τότε ο αλγόριθμος επιστρέφει τον κύκλο και τερματίζει.

    Άλλως, υπολογίζει το βάρος για κάθε κόμβο v του

    που δεν ανήκει στον κύκλο . Έστω,

    και έστω είναι ο κόμβος του συνόλου για τον οποίο παίρνουμε το min,

    δηλαδή Έστω, up είναι o κόμβος του τέτοιος ώστε

    Εισάγει τον κόμβο v’ πριν από τον κόμβο u’ στον κύκλο και παίρνει τον κύκλο

    Τον προηγούμενο αλγόριθμο για τον υπολογισμό ενός κύκλου Hamilton «χαμηλού» βάρους τον

    περιγράφουμε στον Αλγόριθμο 6.4.

    Αλγόριθμος 6.4:

    1. Επίλεξε ένα οποιοδήποτε κόμβο του και σχημάτισε τον 1-κύκλο ;

    2. Θέσε ; {αρχικοποίηση της παραμέτρου p στην οποία καταχωρούμε το μήκος του

    κύκλου}

    3. Εάν , τότε βρες μία ακμή ελάχιστου βάρους τέτοια ώστε ο ένας κόμβος της

    και ο άλλος , και πήγαινε στο Βήμα 4. Άλλως, επίστρεψε τον

    Hamiltonian κύκλο ;

    4. Εισήγαγε τον κόμβο ακριβώς πριν από τον κόμβο στον κύκλο και πάρε τον

    κύκλο ;

    5. Θέσε και πήγαινε στο Βήμα 3.

    Όπως σχολιάσαμε στην αρχή του κεφαλαίου, εάν το γράφημα είναι ένα συνεκτικό έμβαρο

    γράφημα αλλά όχι πλήρες, τότε μπορούμε να κατασκευάσουμε ένα έμβαρο πλήρες γράφημα

    με τέτοιο ώστε:

    εάν

    εάν

    όπου, είναι το βάρος της ελάχιστης διαδρομής στο γράφημα . Είναι προφανές

    ότι, εάν το γράφημα ικανοποιεί την τριγωνική ανισότητα, τότε την ικανοποιεί και το .

    Επομένως, εάν το ικανοποιεί την τριγωνική ανισότητα, μπορούμε να εφαρμόσουμε τον αλ-

  • Γραφήματα Euler και Hamilton 189

    γόριθμο στο γράφημα και να υπολογίσει έναν κύκλο Hamilton . Τότε, μπορούμε να

    πάρουμε έναν κλειστό περίπατο «χαμηλού» βάρους στο , αντικαθιστώντας τις ακμές του

    κύκλου που δεν είναι ακμές του με την ελάχιστη διαδρομής στο γράφημα .

    Στη συνέχεια δείχνουμε τη λειτουργία του αλγόριθμου σε ένα έμβαρο πλήρες γράφημα

    τάξης 6 με σύνολο κόμβων . Το γράφημα , που ικανοποιεί την

    τριγωνική ανισότητα, δίδεται στο Σχήμα 6.9.

    Σχήμα Ένα έμβαρο πλήρες γράφημα τάξης 6.

    Έστω ότι ο αλγόριθμος επιλέγει αρχικά στο Βήμα 2 τον κόμβο και, επομένως, θέτει

    . Στη συνέχεια, επιλέγει την ακμή με το ελάχιστο βάρος, που είναι η

    με βάρος 4, εισάγει τον κόμβο στο κύκλο πριν από τον κόμβο και δημιουργεί τον

    κύκλο Κατόπιν, υπολογίζει την ακμή με το ελάχιστο βάρος που έχει τον

    κόμβο στο σύνολο – και τον κόμβο στο σύνολο , και

    εισάγει τον κόμβο στο παίρνοντας, έτσι, τον κύκλο . Στο σχήμα μας η ακμή αυτή είναι η

    με βάρος 6 και, επομένως, εισάγει τον κόμβο στον κύκλο πριν από τον κόμβο και

    δημιουργεί τον κύκλο Με την ίδια διαδικασία δημιουργεί τους κύκλους

    και , που είναι οι εξής:

    Το βάρος του Hamiltonian κύκλου C6 είναι 43, ενώ το βάρος του ελάχιστου Hamiltonian κύκλου

    είναι 39, όπου .

    Είναι προφανές ότι, εάν επιλέξουμε αρχικά στο Βήμα 2 έναν κόμβο διαφορετικό από τον v1 για

    τη δημιουργία του πρώτου κύκλου , τότε είναι πιθανόν να πάρουμε ένα Hamiltonian κύκλο

    με βάρος διαφορετικό του 43. Όμως, αποδεικνύεται ότι οποιαδήποτε και εάν είναι η επιλογή του

    αρχικού κόμβου, ο αλγόριθμος δεν θα δώσει Hamiltonian κύκλο με βάρος μεγαλύτερο από

    το διπλάσιο του ελάχιστου (στο παράδειγμά μας, ο κύκλος δεν θα έχει βάρος μεγαλύτερο του

    . Η απόδειξη του ισχυρισμού δίδεται στο εξής θεώρημα.

  • 190 Αλγοριθμική Θεωρία Γραφημάτων

    Θεώρημα 6.8 Έστω ένα έμβαρο πλήρες γράφημα τάξης . Ο κύκλος Hamilton , που

    υπολογίζεται από τον αλγόριθμο έχει βάρος μικρότερο του διπλασίου του βάρους

    του ελάχιστου κύκλου Hamilton του γραφήματος , δηλαδή

    Απόδειξη. Έστω ένας ελάχιστος κύκλος Hamilton του γραφήματος και έστω το βάρος

    του. Έστω είναι μία ακμή του κύκλου με το μεγαλύτερο βάρος και έστω το σύνολο των

    ακμών του κύκλου εκτός της ακμής , δηλαδή – Επομένως, το γράφημα

    , που επάγεται από τις ακμές του οι οποίες ανήκουν στο , είναι μία διαδρομή μήκους

    (βλέπε Σχήμα 6.10, όπου η διαδρομή έχει άκρα τους κόμβους και ). Στη συνέχεια,

    έστω o αρχικός κόμβος που επιλέγεται από τον αλγόριθμο για την δημιουργία του 1-

    κύκλου και έστω ο αντίστοιχος κόμβος που επιλέγεται στο Βήμα 3 και

    δημιουργείται ο 2-κύκλος . Η ακμή είναι η πρώτη στην υπο-διαδρομή από

    τον κόμβο στον κόμβο της διαδρομής (βλέπε Σχήμα 6.10). Ορίζουμε το σύνολο ακμών

    – και παίρνουμε το γράφημα , που επάγεται από τις ακμές του που ανήκουν

    στο . Είναι προφανές ότι το αποτελείται από δύο διαδρομές με συνολικό πλήθος ακμών

    .

    Σχήμα Το αρχικό βήμα στην απόδειξη του Θεωρήματος 6.8.

    Γενικά, για έστω η ακμή ελάχιστου βάρους που επιλέγεται στο Βήμα 3 του

    αλγόριθμου, έστω ep+1 είναι η πρώτη ακμή στην υπο-διαδρομή από τον κόμβο στον κόμβο up

    μίας διαδρομής του γραφήματος και έστω – . Επομένως, για

    το γράφημα αποτελείται από συνιστώσες (διαδρομές) με συνολικό πλήθος ακμών n-p.

    Επιπρόσθετα, κάθε κόμβος του κύκλου ανήκει ακριβώς σε μία συνιστώσα (διαδρομή) του

    Στο Σχήμα 6.11 δείχνουμε μία πιθανή μορφή του κύκλου Cp και του επαγόμενου

    γραφήματος ] ενός γραφήματος τάξης , όπου . Οι ακμές του κύκλου είναι

    με διακεκομμένες γραμμές, ενώ αυτές του γραφήματος με συνεχείς (θυμίζουμε ότι οι

    ακμές του ανήκουν στον ελάχιστο κύκλο Hamilton του γραφήματος ). Παρατηρούμε

    ότι το γράφημα αποτελείται από 5 συνιστώσες (διαδρομές) με συνολικό πλήθος ακμών 11

    (οι 5 διαδρομές του έχουν μήκη 0, 1, 3, 3 και 5).

  • Γραφήματα Euler και Hamilton 191

    Σχήμα Ένα ενδιάμεσο βήμα στην απόδειξη του Θεωρήματος .

    Ο αλγόριθμος υπολογίζει τον κύκλο εισάγοντας τον κόμβο vp ακριβώς πριν από τον

    κόμβο στον κύκλο (Βήμα 4). Έστω z είναι ο κόμβος ακριβώς πριν από τον κόμβο στο

    κύκλο (βλέπε Σχήμα 6.12). Τότε, η διαδρομή είναι μία υποδιαδρομή του κύκλου

    . Επομένως, το βάρος της ακμής είναι το ελάχιστο μεταξύ όλων των ακμών

    που έχουν τον έναν κόμβο τους στον κύκλο και τον άλλο κόμβο εντός του . Άρα,

    (βλέπε Σχήμα 6.12).

    Σχήμα Ένα ενδιάμεσο βήμα στην απόδειξη του Θεωρήματος 6.8.

    Παρατηρούμε ότι

    (1)

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

    ή, ισοδύναμα:

    . (2)

    Επομένως, από (1) και (2) και την ανισότητα παίρνουμε ότι η αύξηση του

    βάρους του κύκλου σε σχέση με τον κύκλο είναι:

  • 192 Αλγοριθμική Θεωρία Γραφημάτων

    Επομένως,

    Το δεύτερο αλγόριθμο που παρουσιάζουμε για τον υπολογισμό ενός κύκλου Hamilton «χα-

    μηλού» βάρους τον ονομάζουμε , παίρνει ως είσοδο (όπως και ο αλγόριθμος ) ένα

    έμβαρο πλήρες γράφημα που ικανοποιεί την τριγωνική ανισότητα. Ο αλγόριθμος βασίζεται

    στον υπολογισμό ενός ελάχιστου σκελετικού δένδρου του γραφήματος και στις εξής

    ιδιότητες:

    Η διαγραφή μίας οποιοσδήποτε ακμής από έναν ελάχιστο Hamiltonian κύκλο του

    γραφήματος δημιουργεί ένα σκελετικό δένδρο του . Επομένως, .

    Έστω ένα Eulerian πολυγράφημα (multigraph) που λαμβάνεται από το δένδρο

    διπλασιάζοντας κάθε ακμή του. Τότε, υπάρχει ένα Eulerian κύκλωμα (circuit) στο δένδρο

    με βάρος . Για παράδειγμα, έστω ένα ελάχιστο σκελετικό δένδρο του

    γραφήματος του Σχήματος 6.9 (βλέπε Σχήμα 6.13α). Τότε, , , , , , , ,

    , , , ) είναι ένα Eulerian κύκλωμα στο δένδρο με βάρος 60.

    Έστω ότι εφαρμόζουμε DFS διέλευση στο δένδρο , αρχίζοντας από ένα τυχαίο κόμβο

    , και έστω είναι η σειρά επίσκεψης για πρώτη φορά των κόμβων

    του δένδρου από την DFS. Τότε, από την τριγωνική ανισότητα, έχουμε ότι ο κύκλος

    έχει βάρος το πολύ w(Η), όπου το Eulerian πολυγράφημα

    του . Επομένως, . Το Σχήμα 6.13β δείχνει τη σειρά πρώτης

    επίσκεψης της DFS στο δένδρο του Σχήματος 6.13α (ακέραιοι αριθμοί σε τετράγωνα

    πλαίσια), ενώ το Σχήμα 6.14 δείχνει ένα Hamiltonian κύκλο βάρους του έμβαρου

    πλήρους γραφήματος του Σχήματος 6.9.

    (α) (β)

    Σχήμα (α) Ένα ελάχιστο σκελετικό δένδρο του γραφήματος του Σχήματος 6.9. (β) Η

    σειρά πρώτης επίσκεψης των κόμβων του εφαρμόζοντας DFS με αρχικό κόμβο τον v1.

  • Γραφήματα Euler και Hamilton 193

    Σχήμα Ένας Hamiltonian κύκλος του γραφήματος του Σχήματος 6.9.

    Είναι προφανές ότι ο Hamiltonian κύκλος που επιστρέφει ο αλγόριθμος δεν είναι κατ’

    ανάγκη ίδιου «χαμηλού» βάρους με αυτόν που υπολογίζει ο αλγόριθμος .

    Τον προηγούμενο αλγόριθμο για τον υπολογισμό ενός κύκλου Hamilton «χαμηλού»

    βάρους τον περιγράφουμε στον Αλγόριθμο 6.5.

    Αλγόριθμος 6.5:

    1. Υπολόγισε ένα ελάχιστο σκελετικό δένδρο του γραφήματος ;

    2. Εφάρμοσε DFS διέλευση στο δένδρο , ξεκινώντας από ένα τυχαίο κόμβο, και

    υπολόγισε τους χρόνους πρώτης επίσκεψης των κόμβων του ;

    3. Πάρε του κόμβους του σε αύξουσα τάξη, έστω , σύμφωνα με τους

    χρόνους πρώτης επίσκεψης της DFS, δηλαδή ;

    4. Επίστρεψε τον Hamiltonian κύκλο .

    Η πολυπλοκότητα του Βήματος 1 είναι και των Βημάτων 2, 3 και 4 είναι . Άρα, η

    συνολική πολυπλοκότητα του Αλγόριθμου HC_2 είναι .

    6.8 Τουρνουά

    Ένα κατευθυνόμενο γράφημα που προκύπτει από το πλήρες γράφημα μετατρέποντας κάθε

    μη-κατευθυνόμενη ακμή του σε κατευθυνόμενη ονομάζεται γράφημα τουρνουά

    (tournament) τάξης . Με άλλα λόγια, ένα γράφημα τουρνουά είναι ένας προσανατολισμός

    (orientation) ενός πλήρους γραφήματος.

    Θεώρημα 6.9 (Redei’s Theorem) Κάθε τουρνουά έχει μία κατευθυνόμενη διαδρομή Hamilton.

    Θεώρημα 6.10 Ένα τουρνουά είναι μεταβατικό, εάν-ν είναι άκυκλο.

  • 194 Αλγοριθμική Θεωρία Γραφημάτων

    Θεώρημα 6.11 Ένα τουρνουά έχει μοναδική διαδρομή Hamilton, εάν-ν είναι μεταβατικό

    τουρνουά.

    Θεώρημα 6.12 (Camion’s Theorem) Ένα τουρνουά είναι Hamiltonian, εάν-ν είναι ισχυρά

    συνεκτικό (strongly connected).

    ΑΣΚΗΣΕΙΣ 6

    1. Δείξτε ότι ένα πλήρες γράφημα τάξης περιέχει Hamiltonian κύκλους.

    2. Δείξτε ότι το πρόβλημα TSP είναι NP.

    3. Έστω ένα γράφημα με κόμβους τέτοιο ώστε για κάθε ζεύγος κόμβων

    ισχύει . Δείξτε ότι, εάν το γράφημα είναι Hamiltonian, τότε

    είναι Hamiltonian.

    4. Αποδείξτε ότι ένα μονοπάτι Euler για ένα δένδρο μεγέθους είναι .

    5. Αποδείξτε την ορθότητα ή μη των παρακάτω προτάσεων:

    (α) Ένα συνεκτικό κατευθυνόμενο γράφημα είναι γράφημα Euler εάν-ν κάθε ακμή του

    συμμετέχει σε περιττό πλήθος κύκλων.

    (β) Ένα συνεκτικό κατευθυνόμενο γράφημα είναι γράφημα Euler εάν-ν το σύνολο των

    ακμών του μπορεί να διαμεριστεί σε κύκλους.

    6. Δείξτε ότι ο αριθμός των διαμερίσεων ζεύγους ενός συνόλου με στοιχεία

    είναι:

    7. Έστω ένα συνδεδεμένο γράφημα. Δείξτε ότι, εάν ένα γράφημα είναι ένα Euler

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

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

    8. Για ποιούς θετικούς ακεραίους τα ακόλουθα γραφήματα είναι γραφήματα Euler;

    (α) , (β) , (γ) και (δ) .

    9. Δείξτε ότι ένα συνδεδεμένο γράφημα παράλληλων ακμών είναι γράφημα Euler,

    εάν-ν το σύνολο ακμών του μπορεί να χωρισθεί σε υποσύνολα, κάθε ένα εκ των οποίων

    επάγει έναν κύκλο (όπου οι -κύκλοι επιτρέπονται).

    Υπόδειξη: Χρησιμοποιήστε την επαγωγή στο πλήθος των κόμβων.

    10. Δείξτε ότι, εάν το είναι ένα συνδεδεμένο γράφημα με κόμβους περιττού βαθμού,

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

    ανεξάρτητες ακμές.

  • Γραφήματα Euler και Hamilton 195

    ΒΙΒΛΙΟΓΡΑΦΙΑ 6

    [1] A.V. AΗΟ, J.E. HOPCROFT AND J.D. ULLMAN, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, Mass, 1974.

    [2] S. BAASE AND A.V. GELDER, Computer Algorithms, Addison-Wesley (3rd edition), 2000.

    [3] N.L. BIGGS, Algebraic Graph Theory, Cambridge Tracts in Mathematics 67, Cambridge University Press (2nd Edition), 1993.

    [4] B. BOLLOBAS, Random Graphs, Academic Press 1985.

    [5] J.A. BONDY AND U.S.R. MURTY, Graph Theory with Applications, North-Holland, 1976.

    [6] G. CHARTRAND AND O.R. OELLERMANN, Applied and Algorithmic Graph Theory, McGraw-Hill, 1993.

    [7] N. CHRISTOFIDES, Graph Theory - An Algorithmic Approach, Academic Press, 1975.

    [8] S. EVEN AND G. EVEN, Graph Algorithms, Cambridge University Press (2nd Edition), 2012.

    [9] M.R. GAREY AND D.S. JOHNSON, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, 1979.

    [10] A. GIBBONS, Algorithmic Graph Theory, Cambridge University Press, 1985

    [11] S.E. GOODMAN AND S.T. HEDETNIEMI, Eulerian walks in graphs, SIAM J. Comput. 2, 16-27, 1973.

    [12] J.L. GROSS, Combinatorial Methods with Computer Applications, CRC Press, 2007.

    [13] J.L. GROSS AND J. YELLEN. Graph Theory and Its Applications, Chapman and Hall/CRC (2nd Edition), 2005.

    [14] J.L. GROSS AND J. YELLEN (EDS), Handbook of Graph Theory, Series: Discrete Mathematics and Its Applications Volume: 25, CTC Press, 2003.

    [15] F. HARARY, Graph Theory, Addison-Wesley, 1969.

    [16] F. HARARY AND E.M. PALMER, Graphical Enumeration, Academic Press 1973.

    [17] W. KOCAY AND D.L. KREHER, Graphs, Algorithms, and Optimization, Chapman and Hall/CRC, 2004.

    [18] E.F. MOORE, The shortest path through a maze, Proc. Int’l Symposium Switching Theory, Harvard University Press, pp. 285-292, 1959.

    [19] Ι. ΜΑΝΩΛΟΠΟΥΛΟΣ, Α. ΠΑΠΑΔΟΠΟΥΛΟΣ, Κ. ΤΣΙΧΛΑΣ, Θεωρία και Αλγόριθμοι Γράφων, Εκδόσεις Νέων Τεχνολογιών, 2014.

    [20] Λ. ΚΥΡΟΥΣΗΣ, Χ. ΜΠΟΥΡΑΣ, Π. ΣΠΥΡΑΚΗΣ, Γ. ΣΤΑΜΑΤΙΟΥ, Εισαγωγή στους Γράφους: Θεωρία, Προβλήματα και Λύσεις, Gutenberg, 1999.

    http://www.cs.columbia.edu/~sanders/graphtheory/people/Biggs.NL.htmlhttp://www.amazon.com/Alan-Gibbons/e/B001HCW5XU/ref=dp_byline_cont_book_1https://www.google.gr/search?hl=el&tbo=p&tbm=bks&q=inauthor:%22Frank+Harary%22http://www.cs.columbia.edu/~sanders/graphtheory/people/Palmer.EM.html

  • 196 Αλγοριθμική Θεωρία Γραφημάτων