5. Κεφάλαιο: ΓΡΑΦΟΙ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΑΥΤΩΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "5. Κεφάλαιο: ΓΡΑΦΟΙ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΑΥΤΩΝ"

Transcript

1 5. Κεφάλαιο: ΓΡΑΦΟΙ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΑΥΤΩΝ Σύνοψη Η ανάγκη για αναπαράσταση συσχετιζόμενων εννοιών οδήγησε στην ανάπτυξη της μαθηματικής οντότητας που ονομάζεται γράφος ή γράφημα (graph). Με τη βοήθεια των γράφων επιτυγχάνεται η απεικόνιση σύνθετων φυσικών καταστάσεων που είναι εξαρτημένοι από πλήθος εννοιών και απαιτούν έναν σημαντικό αριθμό λογικών διαδικασιών. Αν απεικονιστούν οι έννοιες σε σημεία του χώρου και συνδεθούν ανά δύο εκείνα τα σημεία που απεικονίζουν έννοιες που συσχετίζονται, προκύπτει ένας γράφος. Ας σημειωθεί ότι η χρήση του όρου «γράφος» θα μπορούσε να δημιουργήσει σύγχυση, καθώς χρησιμοποιείται και για την αναπαράσταση συνεχών συναρτήσεων στο καρτεσιανό (ή άλλο) σύστημα συντεταγμένων. Προσεκτικότερη όμως μελέτη του ορισμού, που παρατίθεται πιο κάτω, δείχνει τη συνάφεια των αναπαραστάσεων αυτών σε συνεχείς και σε διακριτούς χώρους. Πρόκειται λοιπόν για μία ακόμα αποτύπωση λογικών διαδικασιών και εννοιών, αποτύπωση η οποία αποτέλεσε τη βάση για την εξέλιξη μίας ακόμα διακριτής μαθηματικής θεωρίας. Με την ανάπτυξη της επιστήμης των υπολογιστών και της μηχανικής του διαδικτύου, οι γράφοι αποδείχτηκαν ιδιαίτερα σημαντικά βοηθήματα για την επίλυση σύνθετων προβλημάτων. Αναφέρονται εδώ δυο τουλάχιστον λόγοι: Πρώτα διότι συμβάλλουν στην ανάπτυξη των υπολογιστικών συστημάτων, καθώς χρησιμοποιούνται για τον σχεδιασμό τον κυκλωμάτων, την ανάλυση πολύπλοκων συστημάτων, προκειμένου να αναπτυχθούν κώδικες, τη σχεδίαση των δικτύων και τη βελτιστοποίηση της λειτουργίας των δρομολογητών (Routers). Επίσης, επειδή προσφέρουν σημαντική βοήθεια στην αντιμετώπιση πολύπλοκων προβλημάτων μετρήσεων που αφορούν τον υπολογιστικό χρόνο. Οι γράφοι χρησιμοποιούνται επίσης για την επίλυση προβλημάτων διαχείρισης αποφάσεων στην Επιχειρησιακή Έρευνα και τη Διαχείριση Εφοδιαστικών Αλυσίδων (Supplying Chain Management). Η πολυπλοκότητα των προβλημάτων αυτών απαιτεί τη χρήση υπολογιστικών συστημάτων. Στην ενότητα της Θεωρίας Γράφων παρουσιάζεται μια σύντομη θεμελίωση της θεωρίας για να δοθεί ιδιαίτερη έμφαση στους αλγόριθμους για την επίλυση γνωστών προβλημάτων ελαχιστοποίησης, οργάνωσης και σχεδίασης κυκλωμάτων. Στόχος του τρόπου παρουσίασης της θεωρίας Γράφων και των εφαρμογών αυτής, είναι η εξοικείωση του χρήστη με τη χρηστικότητα των γράφων για την επίλυση προβλημάτων δικτύων. Στην ενότητα περιλαμβάνονται Μπεϋσιανά δίκτυα, Ασαφείς Γνωστικές (ή Γνωσιακές) Απεικονίσεις καθώς και δίκτυα Petri με παραδείγματα διαχείρισης δικτύων. Προαπαιτούμενη Γνώση Ο αναγνώστης αυτού του κεφαλαίου θα πρέπει να είναι εξοικειωμένος με στοιχεία της Γραμμικής Άλγεβρας Εισαγωγικές Έννοιες Η Θεωρία Γράφων είναι κλάδος των Διακριτών Μαθηματικών, με εφαρμογές στην Πληροφορική, τη Μηχανική, τη Χημεία και την Κοινωνιολογία. Αν και οι απαρχές της θεωρίας θεμελιώθηκαν κατά τον 18ο αιώνα, το μεγαλύτερο μέρος της αναπτύχθηκε μεταπολεμικά ως ιδιαίτερος κλάδος των Εφαρμοσμένων Μαθηματικών. Στην ελληνική βιβλιογραφία οι όροι «Θεωρία Γράφων» και «Θεωρία Γραφημάτων» χρησιμοποιούνται σχεδόν με την ίδια συχνότητα. Προτιμάται ο όρος «γράφος», για ορισμένες αναγκαίες διαφοροποιήσεις από εκείνη του όρου «γράφημα», που χρησιμοποιείται για να ορίσει και άλλες οντότητες, όπως εκείνη του γραφήματος μιας συνάρτησης που αποδίδει τη γραφική παράσταση συνάρτησης. Ανάμεσα στους ποικίλους ορισμούς που απαντώνται, διακρίνεται ένας που ορίζει πως η θεωρία γράφων είναι η μελέτη των γράφων και των σχέσεών τους και χρησιμοποιείται ευρύτατα στη θεωρία δικτύων. Οι μαθηματικοί υπολογισμοί των γράφων στηρίζονται σε αλγόριθμους. Όσον αφορά στα δίκτυα, το διάγραμμα ενός δικτύου είναι ένας απλός γράφος, υπολογισμένος με τον κατάλληλο αλγόριθμο. Ο μαθηματικός ορισμός του γράφου είναι ο ακόλουθος: 1

2 Ορισμός Γράφος είναι το διατεταγμένο ζεύγος G=(V,E), όπου V σύνολο σημείων και E διμελής σχέση πάνω στο V. Τα στοιχεία του V καλούνται κορυφές (απαντώνται και ως κόμβοι). Τα στοιχεία του Ε καλούνται ακμές (απαντώνται και ως τόξα) οι οποίες είναι ευθύγραμμα ή καμπύλα τμήματα με άκρα ένα ή δύο στοιχεία του συνόλου V. Ορισμός Δυο κορυφές λέγονται παρακείμενες εφόσον συνδέονται με μία ή περισσότερες ακμές. Οι παρακείμενες κορυφές απαντώνται στην ελληνική βιβλιογραφία και ως γειτονικές ή ακόμα και ως γειτνιάζουσες. Σχήμα Μια κορυφή είναι αρακείμενη σε τρεις άλλες και κάθε μια από αυτές είναι παρακείμενη σε μια μόνο. Είναι δυνατό δυο κορυφές να συνδέονται με περισσότερες της μίας ακμής. Η σύνδεση αυτή καλείται πολλαπλή σύνδεση. Μπορεί επίσης μια ακμή να έχει την ίδια κορυφή ως αρχή και τέλος. Σε αυτήν την περίπτωση η ακμή καλείται «βρόγχος». Ορισμός Ψευδογράφος (pseudograph) καλείται ένας γράφος που περιέχει πολλαπλές ακμές ή/και βρόγχους. 2

3 Σχήμα Απλές συνδέσεις, βρόγψοι και πολλαπλές συνδέσεις σε ένα ψευδογράφο. Τα διατεταγμένα ζεύγη G=(V,E) που δεν είναι ψευδογράφοι θα καλούνται απλοί γράφοι (ή γράφοι). Ορισμός Όταν τα στοιχεία του Ε είναι διατεταγμένα ζεύγη (v 1,v 2 ), όπου v 1 V, ο γράφος ονομάζεται προσανατολισμένος (ή κατευθυνόμενος) γράφος. Ορισμός Δοσμένου ενός γράφου, σημειώνουμε καθεμία από τις ακμές είτε με πρόσημο + είτε με πρόσημο -. Ο γράφος αυτός ονομάζεται προσημασμένος. Αναλυτικότερα μπορούμε να πούμε ότι, προσημασμένος γράφος είναι ένα ζευγάρι (G, σ) που αποτελείται από έναν γράφο G=(V,E) και έναν χάρτη προσήμων σ ανάμεσα στις ακμές E και το σύνολο συμβόλων {+, -}. Ο γράφος μπορεί να έχει επαναληπτικές ακμές (loops), όπου τα δύο άκρα είναι το ίδιο σημείο, πολλές ακμές σε ένα άκρο αλλά και ακμή με ένα μόνο άκρο (half edge) ή και καθόλου άκρα (loose edge). Οι δύο τελευταίοι τύποι ακμών δεν λαμβάνουν πρόσημο, ενώ ο λόγος ύπαρξης των ακμών χωρίς άκρα είναι κυρίως για να έχουμε πάντα τη δυνατότητα διαγραφής ακμής. To πρόσημο ενός κύκλου (ένα σετ ακμών που δημιουργεί κύκλο) ορίζεται από το γινόμενο των προσήμων των ακμών του. Με άλλα λόγια, το πρόσημο του κύκλου είναι θετικό όταν περιέχει ζυγό αριθμό αρνητικών ακμών και αρνητικό όταν περιέχει μονό αριθμό αρνητικών ακμών. Ένας προσημασμένος γράφος ή υπογράφος λέγεται «ισοζυγισμένος» όταν όλοι οι κύκλοι που περιέχει είναι θετικοί. Η ιδέα των προσημασμένων γράφων εισάχθηκε πρώτη φορά από τον αμερικανό μαθηματικό Frank Harary, ώστε να καταστεί δυνατός ο χειρισμός ενός προβλήματος κοινωνικών σχέσεων το Ένα πολύγωνο είναι θετικό όταν το γινόμενο όλων των προσήμων των ακμών του είναι θετικό. Σε διαφορετική περίπτωση το πολύγωνο είναι αρνητικό. Ένας υπογράφος λέγεται ισοζυγισμένος όταν όλα τα πολύγωνα που ανήκουν σε αυτόν είναι θετικά. Σε αντίθετη περίπτωση είναι μη ισοζυγισμένος. Αν όλα τα πολύγωνα είναι αρνητικά τότε ονομάζεται αντίθετα ισοζυγισμένος. Ορισμός Βαθμός κορυφής είναι ο αριθμός που εκφράζει το πλήθος των παρακείμενων κορυφών της. Σχετικά με τον βαθμό των κορυφών, έχουν σημειωθεί σημαντικές προτάσεις που συνδέουν τον βαθμό των κορυφών ενός απλού γράφου με γενικότερες ιδιότητες του γράφου στον οποίο ανήκουν. Ορισμός Ο αριθμός των κορυφών του γράφου καλείται τάξη (order) του γράφου. 3

4 Ορισμός Ο αριθμός των ακμών του γράφου καλείται μέγεθος (size) του γράφου. Ορισμός Κάθε ακμή είναι προσκείμενη στις κορυφές που ενώνει. Ορισμός Ισομορφισμός f δυο γράφων Η και G είναι η μία προς μία απεικόνιση των συνόλων V(H) και V(G) των κορυφών τους, τέτοιος ώστε κάθε ζεύγος προσκείμενων κορυφών u και v του Η, οι αντίστοιχες κορυφές f(u) και f(v) είναι επίσης προσκείμενες. Οι γράφοι για τους οποίους υπάρχει ισομορφισμός θα καλούνται ισόμορφοι. Ορισμός Αυτομορφισμός γράφου G καλείται ο ισομορφισμός του G στον εαυτό του. Προφανώς κάθε γράφος έχει πλήθος αυτόμορφων γράφων. Ο αριθμός των αυτόμορφων γράφων εξαρτάται από το πλήθος των κορυφών του. Για παράδειγμα, ο άνω αριστερά γράφος τεσσάρων κορυφών του Σχήματος έχει αυτόμορφους γράφους όλους τους γράφους του ίδιου σχήματος. Το σύνολο των αυτόμορφων γράφων προκύπτει από τις διατάξεις των παρακείμενων κορυφών του γράφου G. Η φυσική ερμηνεία των αυτομορφισμών γράφου είναι διά της συμμετρίας αναπαράσταση του γράφου σε ένα πλήθος γράφων, που όμως εξακολουθούν να διατηρούν τη γειτνίαση των κορυφών, όπως και σημειώνεται στον γράφο προέλευσης. Σχήμα Ισόμορφοι γράφοι που προκύπτουν με περιστροφή περί άξονα συμμετρίας(κατακόρυφο, οριζόντιο και διαγωνιο). Όλοι οι άξονες διέρχονται από τοσημείο τομής των διαγωνίον του τετραγώνου. Ένα παράδειγμα ισόμορφων γράφων είναι και αυτό που φαίνεται στο Σχήμα Οι παρακείμενες κορυφές σε κάθε ένα από τους εικονιζόμενους γράφους διατηρούν αυτή την ιδιότητα (της γειτνίασης) στους άλλους δυο. Ο ισομορφισμός των γράφων φαίνεται αν δημιοργήσουμε τον πίνακα πρόσπτωσης των πινάκων. Το γεγονός ότι παίρνουμε τον ίδιο πίνακα για κάθε μία από τις τρεις εικόνες του Σχήματος 5.1.4, μας λέει ότι αυτές αντιπροσωπεύουν τον ίδιο ψευδογράφο. 4

5 Διαδραστικό Αντικείμενο Δοκιμάστε να ανγνωρίσετε ισόμορφους γράφους εδώ. Ο χρήστης επιλέγει και μετακινεί κορυφές ενός γράφου προκειμένου να τον προσαρμόσει σε ένα πρότυπο. Δοκιμάστε να αναγνωρίσετε ισόμορφους γράφους εδώ. Ο χρήστης επιλέγει και μετακινεί κορυφές ενός γράφου προκειμένου να τον προσαρμόσει σε ένα πρότυπο. Αν έχετε προβλήματα με την πρόσβαση σε εφαρμογές Java χρησιμοποιώντας το Chrome, η Oracle συνιστά τη χρήση του Firefox, Internet Explorer ή Safari αντ 'αυτού. Ορισμός Σε κάθε γράφο G=(V,E) αντιστοιχεί ένας πίνακας πρόσπτωσης (incidence) Β(G)=[bij] ως εξής: bij=1 αν και μόνο εάν η ακμή ej έχει αρχή την κορυφή vi, bij=-1 αν και μόνο εάν η ακμή ej έχει αρχή την κορυφή vi και bij=0. Σχήμα Ισόμορφοι ψευδογράφοι. Παρατηρήστε τις κορυφές και τις ακμές που έχουν άκρο κάθε μια από τις κορυφές αυτές. Για τους ψευδογράφους του Σχήματος 5.1.4, ο πίνακας προσπτώσεων Πίνακας Ο πίνακας προσπτώσεων των ψευδογράφων του Σχήματος e1 e2 e3 e4 e5 e6 e7 e8 e9 v v v v v Το γεγονός ότι παίρνουμε τον ίδιο πίνακα για κάθε μία από τις τρεις εικόνες του Σχήματος 5.1.4, μας λέει ότι αυτές αντιπροσωπεύουν τον ίδιο ψευδογράφο. Το στοιχείο α i,j είναι ίσο με 1 αν η κορυφή v i ανήκει στην ακμή e j. Όταν η κορυφή v i δεν ανήκει στην ακμή e j τότε το στοιχείο α i,j είναι ίσο με 0. Επειδή κάθε ακμή ψευδογράφου συνδέει μία ή δυο κορυφές, κάθε στήλη έχει ένα ή δύο στοιχεία ίσα με 1 και τα υπόλοιπα ίσα με 0. Ο πίνακας προσπτώσεων γράφου έχει σε όλες τις στήλες δύο μονάδες και δεν υπάρχουν δυο στήλες ίδιες. 5

6 Ορισμός Παρακείμενες (ή γειτονικές) λέγονται δυο ακμές του G εφόσον συνδέονται με μία τουλάχιστον ακμή. Ορισμός Ο πίνακας γειτνίασης (adjacency matrix) A του γράφου G(V,E) είναι τετραγωνικός πίνακας Α(G)=[α ij ], όπου τα στοιχεία του ορίζονται ως εξής: α ij =1 αν και μόνο εάν η κορυφή v j συνδέεται με την κορυφή v i. Σε διαφορετική περίπτωση α ij =0. Στην περίπτωση ψευδογράφου, ο αριθμός που βρίσκεται καταχωρημένος στη θέση (i,j) δείχνει το πλήθος των ακμών που συνδέουν το v i και το v j. Αν το στοιχείο στη θέση (i,j) δεν είναι μηδέν, οι κορυφές v i και v j είναι παρακείμενες (adjacent) ή γειτνιάζουσες. Χωρίς τον αυστηρά μαθηματικό φορμαλισμό, θα μπορούσε να πει κάποιος ότι ο πίνακας γειτνίασης (adjacency matrix) ενός ψευδογράφου είναι ένας m m πίνακας του οποίου οι γραμμές και οι στήλες αντιστοιχούν στις κορυφές του ψευδογράφου. Προφανώς κάθε πίνακας γειτνίασης είναι συμμετρικός. Είναι ακόμη προφανές ότι αν όλα τα στοιχεία της γραμμής i είναι 0, τότε η κορυφή v i είναι απομονωμένη (isolated). Ο πίνακας γειτνίασης του ψευδογράφου των εικόνων του Σχήματος είναι: Πίνακας Ο πίνακας γειτνίασης του ψευδογράφου των εικόνων του Σχήματος v v v v v v v v v v Σημειώστε ότι ο πίνακας γειτνίασης ενός γράφου έχει μόνο 0 στην κύρια διαγώνιό του, ενώ έχει 0 και 1 εκτός αυτής. Ο πίνακας γειτνίασης ορίζει με απόλυτο τρόπο ένα ψευδογράφο. Κάθε συμμετρικός πίνακας με μη αρνητικά ακέραια στοιχεία είναι πίνακας γειτνίασης ενός ψευδογράφου. Πότε δύο ψευδογράφοι G 1 (V,E) και G 2 (V,E) είναι ίσοι; Το ερώτημα δεν μπορεί να απαντηθεί εύκολα καθώς η ισότητα των προσκείμενων πινάκων τους δεν αποτελεί ασφαλή συνθήκη για την ισότητα αυτών. Υπάρχουν περιπτώσεις, όπου διαφορετικοί πίνακες m n, μετά από μια σειρά γραμμοπράξεις να μετασχηματίζονται σε ίσους πίνακες. Σε τέτοιες περιπτώσεις οι δύο ψευδογράφοι είναι ίσοι. Το ερώτημα αυτό θα μας απασχολήσει λίγο πιο κάτω. Ορισμός Πλήρης γράφος n κορυφών ονομάζεται ο γράφος του οποίου κάθε κορυφή είναι παρακείμενη σε όλες τις άλλες. Ο πλήρης γράφος των n κορυφών συμβολίζεται με K n. Ο πίνακας γειτνίασης ενός K n έχει όλα τα στοιχεία της κυρίας διαγώνιου ίσα με 0 ενώ όλα τα άλλα είναι ίσα με 1. Ορισμός Κλίκα σε έναν γράφο G καλείται ένας υπογράφος Η αυτού που είναι πλήρης. Είναι δυνατό να υπάρχουν περισσότερες της μίας κλίκες σε έναν γράφο G. Η κλίκα με το μέγιστο δυνατό μέγεθος καλείται «μέγιστη κλίκα». Ως ανώτερου μεγέθους κλίκα ορίζεται εκείνη η οποία δεν δύναται να μπορεί να επεκταθεί με την πρόσθεση μίας ή περισσότερων προσκείμενων κορυφών στις κορυφές της. Οι μέγιστες κλίκες είναι ανώτερου μεγέθους κλίκες, αλλά το αντίστροφο αυτού δεν είναι αληθές. Οι κλίκες απαντώνται σε μεγάλο αριθμό εφαρμογών, τόσο στη Θεωρία Γράφων όσο και στη Συνδυαστική. Μια κλίκα μεγέθους k θα καλείται k-κλίκα. Έτσι, 1-κλίκα θα καλείται μια κορυφή, 2-κλίκα θα ονομάζεται μια ακμή και 3-κλίκα ένας πλήρη γράφου K 3. 6

7 Ορισμός Πλήρης διμερής γράφος K n,m καλείται ο γράφος που αποτελείται από δυο διακεκριμένα σύνολα κορυφών των οποίων κάθε κορυφή συνδέεται με όλες τις κορυφές της άλλης ομάδας. Η ομάδες των κορυφών αποτελούνται, η μεν πρώτη από m, ενώ η δεύτερη από n κορυφές. Σχήμα Πλήρης γράφος 6 κορυφών και ο πληρης διμερής γράφος 3 έναντι 4 κορυφών. Θεωρούμε τον ψευδογράφο G. Επιλέγεται ζεύγος κορυφών e i, e j, που δεν είναι υποχρεωτικά παρακείμενες. Αν υπάρχει σύνολο διαδοχικών ακμών του G, η πρώτη εκ των οποίων να έχει ένα άκρο στο e i και η τελευταία να έχει ένα άκρο στο e i τότε τα υποσύνολα E p και V p αποτελούν ένα υπογράφο P(V p,e p ) του G(V,E). Ορισμός Περίπατος καλείται μια ακολουθία ακμών, κάθε μια από αυτές έχει αρχή το τέλος της προηγούμενής της, εκτός από την πρώτη. Η τελευταία ακμή της ακολουθίας καταλήγει σε μια κορυφή που καλείται καταληκτική. Ορισμός O υπογράφος P(V p,e p ) καλείται διαδρομή (path) από το e i στο e j. Στη διαδρομή κάθε ακμή συμμετέχει μια μόνο φορά, αλλά δεν ισχύει το ίδιο για τις κορυφές. Η διαδρομή απαντάται στην ελληνική βιβλιογραφία και ως «μονοπάτι» ή «ίχνος». Ορισμός Μονοπάτι (trail) είναι μια διαδρομή στην οποία κάθε κορυφή συμμετέχει μια μόνο φορά. 7

8 Σχήμα Παράδειγμα επίπεδου γράφου. Μπορείτε να δημιουργήσετε ένα ισόμορφο του οποίου οι ακμές δεν θα τέμνονται; Στο Σχήμα ένας περίπατος θα μπορούσε να είναι το σύνολο {α,v 1,θ,v 2,η,v 3,α,v 1,θ}. Μία διαδρομή θα μπορούσε να είναι το σύνολο {θ,v 2,η,v 3,α,v 1,θ,v 4,δ}. Τέλος, παράδειγμα μονοπατιού θα μπορούσε να είναι το σύνολο {η,v 3,α,v 1,θ,v 4,δ}. Ορισμός To μήκος διαδρομής εκφράζει τον αριθμό των ακμών που περιλαμβάνει. Ορισμός Ένας ψευδογράφος καλείται συνεκτικός (connected), αν κάθε ζεύγος κορυφών του v i, v j μπορεί να συνδεθεί με μια διαδρομή. Ορισμός Απόσταση dist(v i, v j ) δυο κορυφών v i και v j καλείται το μήκος της διαδρομής με το μικρότερο μήκος (μήκος συντομότερου μονοπατιού από τη v i στη v j λέγεται και «γεωδεσιακό μονοπάτι». Ορισμός «Κλειστή διαδρομή» καλείται μια διαδρομή της οποίας η αρχή και το τέλος συμπίπτουν στην ίδια κορυφή. Ορισμός Κύκλωμα είναι μια διαδρομή που ικανοποιεί τις ακόλουθες συνθήκες: (α) Είναι κλειστή διαδρομή. β) Σε ένα κύκλωμα είναι δυνατό μία ή περισσότερες κορυφές να επαναλαμβάνονται. Ορισμός Κύκλος είναι ένα κύκλωμα που ικανοποιεί την ακόλουθη συνθήκη: Καμία κορυφή της διαδρομής δεν επαναλαμβάνεται (κλειστό μονοπάτι). Να σημειωθεί ότι κάθε κύκλος είναι κύκλωμα, ενώ κάθε κύκλωμα δεν είναι απαραίτητα κύκλος. 8

9 Για παράδειγμα θεωρούμε τον ψευδογράφο του Σχήματος Σχήμα Ψευδογράφος. Στο Σχήμα διακρίνεται μια διαδρομή, στο Σχήμα ένα κύκλωμα και στο Σχήμα ένας κύκλος. Σχήμα Διαδρομή. 9

10 Σχήμα Κύκλωμα. Σχήμα Κύκλος Δένδρα Τα σύνολα των κορυφών και των ακμών που συνθέτουν έναν γράφο δεν είναι διατεταγμένα σύνολα. Η αναφορά των στοιχείων αυτών θα μπορούσε να γίνει με διάφορους τρόπους, αρκεί στις διατάξεις να μην επαναλαμβάνονται στοιχεία των συνόλων. Με τον όρο «ανίχνευση» θα αναφερόμαστε στο εξής στον τρόπο με τον οποίο τοποθετούμε σε ακολουθίες τις κορυφές ενός γράφου. Σε ό,τι ακολουθεί στη συνέχεια, θα αφορά μια ειδική κατηγορία γράφων που καλούνται δένδρα. Ορισμός Δένδρο (tree) είναι ένα συνεκτικός γράφος, στο οποίο δεν υπάρχουν απλά κυκλώματα. Στην επιστήμη των υπολογιστών δένδρα καλούνται οι δομές δεδομένων που έχουν διάταξη δένδρου (ή δενδροειδή μορφή). Τα δένδρα είναι άκυκλοι συνδεδεμένοι γράφοι, ενώ δάσος είναι ένας γράφος που έχει ως συνιστώσες δένδρα. 10

11 Η μορφή των δένδρων είναι ισχυρά συσχετιζόμενη με το πλήθος n των κορυφών του γράφου. Στο Σχήμα παρουσιάζονται δένδρα με n κορυφές, όπου n=1,2,3 και 4. Σχήμα Δένδρα. Σημείωση Υπάρχει μια διαδεδομένη χρήση του όρου «γενεαλογικό δένδρο», για την περιγραφή της γενεαλογικής εξέλιξης. Πρόκειται για εσφαλμένη χρήση του όρου, καθώς φαίνεται ότι όλοι μας κάπου στο βάθος του χρόνου έχουμε κοινούς προγόνους. Αυτή η διαπίστωση οδηγεί στην ύπαρξη απλών κύκλων στον γράφο της γενεαλογικής μας εξέλιξης. Πράγματι, σε έναν γράφο, όπου οι ακμές παριστούν τη σχέση γονέα-παιδιού, παρατηρούμε ότι ένα άτομο έχει δυο γονείς, καθένας από τους οποίους έχει δυο γονείς κ.ο.κ. Έτσι, το άτομο αυτό έχει 2 n προγόνους. Αν όλοι αυτοί ήταν διαφορετικοί, θα έπρεπε πριν από 60 γενεές, δηλαδή το 210 μ.χ. ένας μόνο σημερινός κάτοικος του πλανήτη μας, να έχει περίπου 2 60 = προγόνους. Επειδή δε η συνολική επιφάνεια (συμπεριλαμβανόμενων και των υδάτινων επιφανειών) του πλανήτη μας είναι μόλις , είναι προφανές ότι δεν θα είχαν τόπο να σταθούν. Με βάση τον ορισμό του δένδρου, οι ακόλουθες προτάσεις είναι ισοδύναμες: Τ είναι δένδρο. Κάθε ζεύγος κορυφών του Τ συνδέεται με μοναδική απλή διαδρομή. Το Τ είναι συνεκτικός γράφος και το πλήθος των ακμών του είναι κατά μια μονάδα μικρότερος του πλήθους των κορυφών του Δένδρα με Αφετηρία Ένα δένδρο με αφετηρία είναι ένα δένδρο του οποίου μια κορυφή έχει ονομαστεί αφετηρία, ή ρίζα. Σχήμα Η κορυφή είναι μια ενώ τα φύλλα μπορει να είναι περισσότερα του ενός. 11

12 Σε κάθε ακμή ενός δένδρου διακρίνουμε την κορυφή που βρίσκεται πλησιέστερα προς τη ρίζα και την κορυφή που βρίσκεται μακρύτερα. Η πρώτη καλείται γονέας και η δεύτερη τέκνο. Όπως φαίνεται στο Σχήμα 5.3.2, οι νοητές (γκρίζες) γραμμές στις οποίες βρίσκονται οι κορυφές ενός δένδρου θα καλούνται επίπεδα ή στοιβάδες. Σχήμα Γονείς και τέκνα. Σε κάθε διαδρομή οι κορυφές που προηγούνται μιας κορυφής καλούνται πρόγονοι, ενώ όσες έπονται καλούνται απόγονοι. Οι κορυφές όπου καταλήγει μια διαδρομή, χωρίς τη δυνατότητα να επεκταθεί άλλο, καλούνται φύλλα του δένδρου. Το ύψος μιας κορυφής είναι ο αριθμός των προγόνων της, συμπεριλαμβανόμενης και της ρίζας του δένδρου. Το ύψος της ρίζας είναι 0. Ορισμός Δυαδικό (binary) καλείται ένα δένδρο του οποίου κάθε κορυφή έχει το πολύ δυο τέκνα. Δυαδικά δένδρα χρησιμοποιούνται στην ανάλυση σύνθετων εξελικτικών μοντέλων. Το επόμενο παράδειγμα αφορά τη χρήση δυαδικού δένδρου για την ανάλυση ενός αγώνα volley ball. Παράδειγμα Θεωρούμε δυο ομάδες Α και Β. Στο δένδρο που εμφανίζεται στο Σχήμα 5.3.3, Α σημαίνει ότι η ομάδα Α επικράτησε της Β στο σετ. Το δένδρο ξεκινά με την επικράτηση στο 1ο σετ της ομάδας Α. 12

13 Σχήμα Η έκβαση των αγώνων δηνιουργεί δυαδικό δένδρο. Ο αριθμός των πράσινων καταληκτικών κορυφών (φύλλων) του δυαδικού γράφου δίνει το σύνολο των νικηφόρων για την Β ομάδα εκβάσεων του αγώνα, υπό την προϋπόθεση ότι η ομάδα αυτή επικράτησε της Α στο πρώτο set. Το σύνολο διατάξεων των 3 έως 5 set για τελική επικράτηση της ομάδας Β (ανεξάρτητα της έκβασης του πρώτου set είναι 10. Το αποτέλεσμα αυτό προκύπτει και ως συνδυασμός των 3 set από 5 που μπορεί να διαρκέσει ένα αγώνας volley. Το δυαδικό δένδρο του Σχήματος απαντά και σε άλλα ερωτήματα, όπως: Πόσοι τρόποι υπάρχουν ώστε να νικήσει η ομάδα Β σε τέσσερα set, εφόσον επικρατήσει στο πρώτο από αυτά; (Μετρήστε τις πράσινες κορυφές επιπέδου 2). Πόσοι τρόποι υπάρχουν ώστε να νικήσει η ομάδα Β σε τέσσερα set, χωρίς συνθήκη για την έκβαση του πρώτου set; (Μετρήστε όλες τις κορυφές επιπέδου 2). Παράδειγμα Τα κοινά γράμματα του ελληνικού και του λατινικού αλφαβήτου που χρησιμοποιεί το Υπουργείο Επικοινωνιών και Μεταφορών στις πινακίδες κυκλοφορίας των αυτοκινήτων είναι 14. Οι πινακίδες αποτελούνται από «λέξεις» τριών γραμμάτων και τετραψήφιους αριθμούς. Θα υπολογίσουμε τον αριθμό των οχημάτων που μπορούν να κυκλοφορήσουν με άδεια από το συγκεκριμένο υπουργείο. Θέτουμε καταχρηστικά μια επιπλέον συνθήκη «δεν χρησιμοποιούνται γράμματα ή αριθμοί με διαδοχική επανάληψη». Τη συνθήκη αυτή χρησιμοποιούμε για να απεικονίσουμε το πρόβλημα με δένδρο. Για τον σκοπό αυτόν απαιτούνται δυο δένδρα. Το πρώτο αφορά τις «λέξεις» και γι αυτό έχει τρία επίπεδα πέραν του μηδενικού. Το δεύτερο έχει τέσσερα επίπεδα πέραν του μηδενικού και θα χρησιμοποιηθεί για τη σύνθεση των αριθμών: Το πρώτο δένδρο έχει: Στο 1ο επίπεδο 14 γράμματα. Στο 2ο επίπεδο 13 γράμματα ως τέκνα κάθε γονέα του 1ου επιπέδου. στο 3ο επίπεδο 13 γράμματα ως τέκνα κάθε γονέα του 2ου επιπέδου. 13

14 Το δεύτερο δένδρο έχει: Στο 1ο επίπεδο 9 αριθμούς (αποκλείεται το 0). Στο 2ο επίπεδο 9 αριθμούς (αποκλείονται αριθμοί/τέκνα ίσα με τους αριθμούς/γονείς). Στο 3ο επίπεδο 9 αριθμούς (αποκλείονται αριθμοί/τέκνα ίσα με τους αριθμούς/γονείς). Στο 4ο επίπεδο 9 αριθμούς (αποκλείονται αριθμοί/τέκνα ίσα με τους αριθμούς/γονείς). Η διαδοχική ανάπτυξη των δυο δένδρων δίνει ένα δένδρο 8 επιπέδων με συνολικό αριθμό καταληκτικών κορυφών (φύλλων) που είναι Παράδειγμα Οι αριθμητικές πράξεις εκτελούνται με προτεραιότητα στους πολλαπλασιασμούς και διαιρέσεις. Μια έκφραση της μορφής α+(b c)]-[(c/d)+ε +[(e f) g], γίνεται αντιληπτή από τη μηχανή όταν γραφεί. α+b c- (c/d+e+e f e. Η μορφή αυτή δημιουργεί έναν γράφο μεθόδου (process graph). Οι γράφοι μεθόδου χρησιμοποιούνται για την παρακολούθηση του σφάλματος στρογγυλοποίησης, όπως αυτό εξελίσσεται (διαχέεται) κατά την εκτέλεση μιας ακολουθίας πράξεων του δυαδικού συστήματος στους επεξεργαστές. Το Σχήμα παριστάνει τον γράφο μεθόδου για την παράσταση που αναφέρεται εδώ. Σχήμα Δυαδικό δένδρο αναπαράστασης αλγεβρικής έκφρασης Κώδικες Huffman Δυαδικά δένδρα με αφετηρία χρησιμοποιούνται στη δημιουργία κωδικοποιημένων μηνυμάτων. Για να μετατραπεί ένα κείμενο σε δυαδικό ψηφιακό κώδικα, αρκεί η χρήση πενταψήφιων δυαδικών αριθμών για κάθε αλφαριθμητικό στοιχείο. Για παράδειγμα θα μπορούσε να τεθεί για το Α, για το Β κ.ό.κ. Αν ληφθούν υπόψη και τα σημεία στίξης, καθώς και τα λοιπά σύμβολα που χρησιμοποιούνται στη γραπτή επικοινωνία, φαίνεται ότι οι πενταψήφιοι αριθμοί του δυαδικού συστήματος αρίθμησης δεν επαρκούν. Οι 14

15 αριθμοί με έξι ψηφία είναι πολλοί περισσότεροι από όσους πραγματικά χρειαζόμαστε. Αν χρησιμοποιηθούν αριθμοί με έξι ψηφία, θα δαπανηθεί μεγάλη έκταση της μνήμης χωρίς λόγο. Αυτή η παρατήρηση οδήγησε στη δημιουργία των κωδίκων Huffman που αφορούν το λατινικό αλφάβητο. Οι κώδικες αυτοί κάνουν χρήση δυαδικών δένδρων και για παράδειγμα χρησιμοποιούμε το δένδρο του Σχήματος Σχήμα Αναπαράσταση πρότασης με κώδικα Huffman. Το υποτυπώδες αλφάβητο που χρησιμοποιείται στο παράδειγμα έχει 5 γράμματα. Η παράσταση των γραμμάτων αυτών δεν μπορεί να γίνει με διψήφιους αριθμούς γιατί το σύνολό τους είναι 2 2 =4 και δεν επαρκούν για να αντιστοιχηθούν τα 5 γράμματα του αλφαβήτου στο παράδειγμα. Αν χρησιμοποιηθούν τριψήφιοι αριθμοί του δυαδικού συστήματος αρίθμησης, θα έχουμε 2 3 =8 διαθέσιμα στοιχεία για 5 μόνο γράμματα του αλφάβητου. Ο Hoffman πρότεινε να περιοριστεί η χρήση θέσεων μνήμης (bits) με την αντιστοίχηση ψηφιακών αριθμών διαφορετικού μήκους. Όπως φαίνεται στον Πίνακα στα γράμματα Α και Ε αντιστοιχούνται διψήφιοι αριθμοί, ενώ στα γράμματα Λ, Ν, Η και Ι τριψήφιοι. Οι αριθμοί αυτοί προκύπτουν από τη σειρά που έχουν στις διαδρομές του δένδρου (από τη ρίζα στα φύλλα). Έτσι, έχουμε τον Πίνακα Πίνακας Ηαντιστοίχιση της αλάβητου με αριθμούς του δυαδικού συστήματος Α 01 Ε 00 Λ 100 Ν 101 Η 110 Ι 111 Ένα σημαντικό πλεονέκτημα της χρήσης δυαδικού δένδρου είναι ότι δεν χρειάζεται να χρησιμοποιηθούν κενά μεταξύ των γραμμάτων ή ακόμα και μεταξύ των λέξεων. Η λέξη ΛΕΝΑ αντιστοιχεί στην ακολουθία ψηφίων Επιπλέον, χάρη στο δένδρο η αποκωδικοποίηση είναι απλή: Η ανάγνωση αρχίζει με 1, συνεχίζει με 0 ακολουθώντας τον κλάδο και στη συνέχεια 1. Επειδή εκεί υπάρχει φύλλο, καταχωρεί το γράμμα Λ. Επιστρέφει στη ρίζα του δένδρου για να ακολουθήσει άλλες ή τις ίδιες διαδρομές, σύμφωνα με τα ψηφία που αναγνωρίζει. 15

16 Για να κατασκευαστούν πλέον εύχρηστοι κώδικες, γίνεται χρήση δυαδικών δένδρων με βάρη στα φύλλα τους (weighted binary trees). Τα βάρη στα φύλλα εκφράζουν ένα μετρήσιμο μέγεθος σχετικό με το φυσικό πρόβλημα που θα απεικονιστεί. Έστω Τ ένα δυαδικό δένδρο με βάρη στα φύλλα w 1, w 2, w 3,..., w n. Το συνολικό βάρος του Τ προκύπτει από τη σχέση h 1 w 1 +h 2 w 2 +h n w n, όπου οι αριθμοί h 1, h 2,..., h n δηλώνουν τα επίπεδα που βρίσκονται τα φύλλα. Αν στο Σχήμα προσαρτήσουμε βάρη στα φύλλα, προκύπτει το δυαδικό δένδρο με βάρη του Σχήματος Σχήμα Στο δυαδικόδένδρο έχουν σημειωθεί οι συχνότητες εμφάνισης των γραμμάτων, ώστε γράμματα με μεγαλύτερη συχνότητα να βρίσκονται σε προηγούμενη γενεά από εκείνη των γραμμάτων με μικρότερη συχνότητα εμφάνισης στα κειμενα. Το δυαδικό δένδρο του σχήματος κωδικοποιεί την πρόταση ΑΝΝΑ ΛΕΕΙ Η ΛΕΝΑ. Στην πρόταση αυτή τα γράμματα Η και Ι εμφανίζονται με μικρότερη συχνότητα, ενώ τα γράμματα Α, Ν, Ε και Λ με μεγαλύτερη. Η χρήση των γραμμάτων με μεγαλύτερη συχνότητα σε φύλλα επιπέδου 2 εξοικονομεί μεγαλύτερο μέρος της μνήμης αποθήκευσης. Η διαδικασία κωδικοποίησης κειμένου με χρήση δυαδικού δένδρου με βάρη, συνοψίζεται ως εξής: υπολογίστε τη συχνότητα για κάθε αλφαριθμητικό χαρακτήρα. Κατασκευάστε το δυαδικό δένδρο ελαχίστου βάρους, του οποίου τα φύλλα έχουν τις υπολογισμένες συχνότητες ως βάρη. Στη συνέχεια παρατίθεται αλγόριθμος για το βήμα 2. Αλγόριθμος Κατασκευή Δυαδικού Δένδρου Ελάχιστου Βάρους με Αφετηρία για n Βάρη. Προσαρτήστε n βάρη σε n απομονωμένες κορυφές v 1, v 2, v 3,..., vn. Αν δεν υπάρχουν τουλάχιστον δυο κορυφές με προσαρτημένα βάρη ο έλεγχος στο βήμα 4 Επιλέξτε δυο κορυφές με τα μικρότερα βάρη Ονομάστε τις κορυφές v 1 και v 2 και τα βάρη τους w 1, w 2 αντίστοιχα. Προσθέστε μια νέα κορυφή v n+1 και συνδέστε την με τις κορυφές v 1 και v 2 Προσαρτήστε βάρος w 1 +w 2 στην v n+1 και απαλείψτε αυτά τα βάρη από τις κορυφές v 1 και 16

17 v 2. Ο έλεγχος στο βήμα 2. Ονομάστε την τελευταία κορυφή που αριθμήθηκε «αφετηρία», απαλείψτε το βάρος της και επαναπροσαρτήστε στις αρχικές n κορυφές τα βάρη τους. Παράδειγμα Κατασκευάστε ένα δυαδικό δένδρο ελαχίστου βάρους για τα βάρη 1, 3, 5, 6, 8, 9, 14. Απάντηση Γίνονται 6 επαναφορές στο βήμα 3, όπως φαίνονται στο Σχήμα Στην τελευταία αναπαράσταση του δένδρου γίνεται ανασχεδιασμός για να φαίνεται καλύτερα η διαφορά των υψών. Σχήμα Στο 4ο βήμα επιλέχτηκαν οι κορυφές με βάρη 6 και 8 επειδή το άθροισμά τους είναι μικρότερο από το άθροισμα των κορυφών με βάρη 9 και 6. 17

18 Σχήμα Η τελική διαμόρφωση του δένδρου ελάχιστου βάρους. Διαδραστικό Αντικείμενο Κατασκευή δυαδικού δένδρου ελάχιστου βάρους. Δυαδικό δένδρο ελαχίστου βάρους Το εν λόγω διαδραστικό αντικείμενο είναι διαθέσιμο από τον Ελληνικό Συσσωρευτή Ακαδημαϊκών Ηλεκτρονικών Βιβλίων. Αν έχετε προβλήματα με την πρόσβαση σε εφαρμογές Java χρησιμοποιώντας το Chrome, η Oracle συνιστά τη χρήση του Firefox, Internet Explorer ή Safari αντ 'αυτού Ανιχνεύσεις Δένδρων Για την ιεραρχική διαμόρφωση δομών βάσεων δεδομένων συχνά χρησιμοποιούνται δένδρα. Τέτοιου του είδους δομές δεδομένων έχουν ανάμεσα σε άλλα πλεονεκτήματα και εκείνο της αυτόματης εναπόθεσης νέων δεδομένων, όταν είναι γνωστός ο «γονέας». Οι «ανιχνεύσεις δένδρων» (tree search) εξυπηρετούν την «ανάσυρση δεδομένων» (data retrieval), καθώς λειτουργούν με συγκεκριμένες ροές εντολών (αλγόριθμους). Ορισμός Ανίχνευση δένδρου με αφετηρία είναι η καταγραφή των κορυφών του με συγκεκριμένη σειρά. Παρατίθενται στη συνέχεια πέντε (5) διαδικασίες ανίχνευσης δένδρων. Πρώτη ανίχνευση σε βάθος. Πρώτη ανίχνευση σε πλάτος. Προδιατεταγμένη ανίχνευση δυαδικού δένδρου. Διατεταγμένη ανίχνευση δυαδικού δένδρου. Προϋπόθεση για τη λειτουργία αυτών των ανιχνεύσεων είναι να συμπίπτει η ρίζα με την αφετηρία ανίχνευσης. 18

19 Πρώτη Ανίχνευση σε Βάθος Στο Σχήμα οι κορυφές αριθμούνται από την αφετηρία προς τα κάτω, μέχρι να αριθμηθεί το πρώτο φύλλο που βρίσκεται στον αριστερό κλάδο. Στη συνέχεια, επιστρέφει ο έλεγχος στην πρώτη διακλάδωση, για να κατέβει ακολουθώντας την αριστερή διαδρομή που δεν έχει ακολουθήσει προηγούμενα και μέχρι την καταληκτική κορυφή (φύλλο) αυτής. Επαναλαμβάνεται η ίδια διαδικασία, μέχρι να εξαντληθούν όλοι οι κλάδοι (διαδρομές). Σχήμα Οι κορυφές αριθμούνται από την αφετηρία προς τα κάτω. Η καταγραφή της ανίχνευσης εξαρτάται από τον τρόπο σχεδίασης του δένδρου. Στο Σχήμα

20 Σχήμα Καταγραφή της ανίχνευσης. Απεικονίζεται το ισόμορφο του δένδρου στο Σχήμα 5.5.1, που έχει σχεδιαστεί με διαφορετικό τρόπο. Πρώτη Ανίχνευση κατά Πλάτος Στην ανίχνευση κατά πλάτος η καταγραφή των κορυφών γίνεται με εξάντληση των κορυφών κάθε γενεάς (από αριστερά προς τα δεξιά) αρχίζοντας από τη ρίζα-αφετηρία και συνεχίζοντας με τις κορυφές της πρώτης γενεάς. Ακολουθεί η καταγραφή των κορυφών από αριστερά προς τα δεξιά των επόμενων γενεών μέχρι την εξάντλησή των. Όπως και στην πρώτη ανίχνευση σε βάθος, έτσι και εδώ ο τρόπος σχεδιασμού του δένδρου είναι καθοριστικός. Η σύγκριση των δυο μεθόδων ανίχνευσης φαίνεται στο επόμενο παράδειγμα. 20

21 Σχήμα Οι επιλογές κίνησης καταγράφονται σε κάθε επίπεδο του δένδρου: αριστερά (α), εμπρός (ε), δεξιά (δ). Η διέλευση του λαβύρινθου απαιτεί μια σειρά από αποφάσεις προσδιορισμού της πορείας. Η επιλογή μπορεί να είναι μια από τις δυνατότητες κατεύθυνσης δεξιά (Δ), ευθεία (Ε) και αριστερά (Α). Η έξοδος από τον λαβύρινθο προϋποθέτει δυο επιλογές αριστερά και καμία άλλη επιλογή μετά από αυτές. Παρατηρείται εδώ ότι μια πρώτη ανίχνευση σε βάθος οδηγεί σε αδιέξοδο. Στη συνέχεια, θα επιστρέψει κανείς πίσω στον πρώτο κόμβο αποφάσεων, για να οδηγηθεί και πάλι σε αδιέξοδο. Σε αντίθεση με την πρώτη ανίχνευση σε βάθος, η πρώτη ανίχνευση κατά πλάτος, εξαντλεί σε κάθε γενεά τις περιπτώσεις, και έτσι η έξοδος γίνεται σε μικρότερο χρόνο. Στην περίπτωση του Σχήματος η πρώτη ανίχνευση σε πλάτος δίνει (αφετηρία), Α, Δ, Ε, Α, (έξοδος) Η διαφορά του χρόνου ολοκλήρωσης μεταξύ των δυο ανιχνεύσεων φαίνεται στο δένδρο του Σχήματος Θα πρέπει να σημειωθεί ότι και σε αυτήν την περίπτωση η ταχύτητα υπολογισμών εξαρτάται από τη σχεδίαση του δένδρου. Προδιατεταγμένη Ανίχνευση Δυαδικού Δένδρου Ο βασικός κανόνας για την προδιατεταγμένη ανίχνευση δένδρου είναι: ΑΦΕΤΗΡΙΑ-ΑΡΙΣΤΕΡΑ-ΔΕΞΙΑ. Η εφαρμογή του κανόνα γίνεται στο Σχήμα Σχήμα Για διαμορφωθεί το συγκεκριμένο δένδρο, το τέκνο κάθε κορυφής βαθμού δύο, τοποθετείται είτε δεξιά είτε αριστερά κάτω από τον γονέα στην γενεά του. Στο Σχήμα η κορυφή 1 είναι αριστερή κορυφή ενώ η 10 είναι δεξιά κορυφή. Ο κανόνας ΑΦΕΤΗΡΙΑ-ΑΡΙΣΤΕΡΑ-ΔΕΞΙΑ, εφαρμόζεται ως εξής: Καταχώρηση της Αφετηρίας 21

22 Ο έλεγχος μεταφέρεται αριστερά. Η αριστερή κορυφή θεωρείται ως αφετηρία του υπογράφου που βρίσκεται από την κορυφή αυτή και στις επόμενες γενεές. Εφαρμογή του κανόνα ΑΦΕΤΗΡΙΑ-ΑΡΙΣΤΕΡΑ-ΔΕΞΙΑ μέχρι την καταχώρηση των καταληκτικών κορυφών. Διαδραστικό Αντικείμενο Ανιχνεύσεις δένδρων. Παρακολουθήστε την εφαρμογή της προδιατεταγμένης ανίχνευσης Αν έχετε προβλήματα με την πρόσβαση σε εφαρμογές Java χρησιμοποιώντας το Chrome, η Oracle συνιστά τη χρήση του Firefox, Internet Explorer ή Safari αντ 'αυτού. Στη συνέχεια παρουσιάζεται ο αλγόριθμος αυτής της εφαρμογής (στο δένδρο του Σχήματος 5.5.4). Κορυφή (30). Καταγράφεται ως αφετηρία. Κορυφή (12). Μεταφορά του ελέγχου αριστερά. Εφαρμογή του κανόνα στο δένδρο με κορυφή (12). Κορυφή (02). Κίνηση αριστερά. Εφαρμογή του κανόνα στο δένδρο με κορυφή (02). Κορυφή (01). Καταγραφή της κορυφής (1) Σημ. Ολοκληρώθηκε η καταγραφή του αριστερού κλάδου. Ο έλεγχος επιστρέφει στην κορυφή (12) και από εκεί δεξιά. Κορυφή (11). Καταγράφεται ως αφετηρία του υποκείμενου δένδρου. Κορυφή (09). Μεταφορά του ελέγχου αριστερά. Κορυφή (03). Μεταφορά του ελέγχου αριστερά. Κορυφή (08). Μεταφορά του ελέγχου δεξιά της κορυφής (09). Κορυφή (07). Κορυφή (06). Κορυφή (04). Κορυφή (05). Ολοκλήρωση καταγραφής της αριστερής πλευράς του υπογράφου με ρίζα την κορυφή (11). Κορυφή (10). Μεταφορά του ελέγχου στην κορυφή (30) και μεταφορά του ελέγχου στη δεξιά διαδρομή. Κορυφή (29). Κορυφή (17). Κορυφή (16). Κορυφή (13). Κορυφή (13). Κορυφή (15). Κορυφή (14). Ολοκλήρωση καταγραφής της αριστερής πλευράς του υπογράφου με ρίζα την κορυφή (29). Κορυφή (28). Κορυφή (26). Κορυφή (25). Κορυφή (21). Κορυφή (23). Κορυφή (27). Διατεταγμένη Ανίχνευση Δυαδικού Δένδρου Ο μνημονικός κανόνας της διατεταγμένης ανίχνευσης δυαδικού δένδρου είναι ΑΡΙΣΤΕΡΑ ΑΦΕΤΗΡΙΑ ΔΕΞΙΑ. Σε αυτήν την περίπτωση δεν καταγράφεται η αφετηρία πριν την ολοκλήρωση καταγραφής του δένδρου, που υπόκειται της κορυφής στην γενεά 1. Ακολουθεί καταγραφή της διατεταγμένης ανίχνευσης του δένδρου στο Σχήμα Κορυφή (30). Δεν καταγράφεται ως αφετηρία η κορυφή (30). Κορυφή (01). Μεταφορά του ελέγχου στην αριστερή κορυφή (01). Κορυφή (02). Καταγράφεται η (01). Δεν υπάρχει δεξιά κορυφή. Κορυφή (12). Καταγράφεται η (12). Μεταφορά του ελέγχου δεξιά. Δεν καταγράφεται η (11). Μεταφορά του ελέγχου αριστερά. Δεν καταγράφεται η (09). Κορυφή (03). 22

23 Κορυφή (09). Μεταφορά του ελέγχου δεξιά της (09). Δεν καταγράφεται η (08). Μεταφορά του ελέγχου αριστερά της (08). Κορυφή (07). Δεν υπάρχει αριστερά κορυφή σε επόμενη γενεά μετά την (07). Καταγράφεται ως αφετηρία. Μεταφορά του ελέγχου δεξιά της. Δεν καταγράφεται η (06). Κορυφή (04). Μεταφορά του ελέγχου αριστερά. Κορυφή (06). Αφετηρία Κορυφή (05). Μεταφορά του ελέγχου δεξιά. Επειδή εξαντλήθηκε ο υπογράφος-δένδρο αριστερά καταγράφεται η κορυφή (08). Κορυφή (08). Κορυφή (11). Κορυφή (10). Κορυφή (30). Καταγραφή της 30. Ο έλεγχος μεταφέρεται δεξιά. Κορυφή (13). Κορυφή (16). Κορυφή (14). Κορυφή (15). Κορυφή (17). Κορυφή (29). Κορυφή (18). Κορυφή (20). Κορυφή (19). Κορυφή (18). Κορυφή (21). Κορυφή (25). Κορυφή (22). Κορυφή (24). Κορυφή (23). Κορυφή (26). Κορυφή (28). Κορυφή (27). Μεταδιατεταγμένη Ανίχνευση Δυαδικού Δένδρου. Η εφαρμογή είναι η ίδια. Σε αυτή την περίπτωση ο μνημονικός κανόνας είναι: ΑΡΙΣΤΕΡΑ-ΔΕΞΙΑ-ΑΦΕΤΗΡΙΑ Καταγράφετε την αφετηρία στο τέλος. Ιδιαίτερο ενδιαφέρον παρουσιάζει η ανίχνευση του δυαδικού δέντρου που αφορά διαδικασία εκτέλεσης αλγεβρικών πράξεων. Η προδιατεταγμένη ανίχνευσή αποδίδει τον πολωνικό εξοπλισμό. Η διατεταγμένη ανίχνευση αποδίδει τον προκαθορισμένο συμβολισμό (infix notation), η οποία είναι η συνήθης σειρά εκτέλεσης αλγεβρικών πράξεων με τη βοήθεια παρενθέσεων. Η μεταδιατεταγμένη ανίχνευση δίνει τον αντίστροφο πολωνικό συμβολισμό. Ακολουθεί η καταγραφή των τριών ανιχνεύσεων που αφορούν το Σχήμα

24 Σχήμα Προδιατεταγμένη ανίχνευση: +-+a bc+/cde efg. Διατεταγμένη ανίχνευση: a+b c-c/d+e+e f g. Αυτή είναι η τάξη στην οποία τα σύμβολα είναι συνήθως καταγραμμένα στην άλγεβρα, αλλά χωρίς παρενθέσεις. Μεταδιατεταγμένη ανίχνευση: abc +cd/e+-ef g +. Αυτή είναι η τάξη με την οποία πρέπει να εισάγετε τις ποσότητες και τα σύμβολα των πράξεων για να κάνετε τους υπολογισμούς σε έναν υπολογιστή, που χρησιμοποιεί τον αντίστροφο πολωνικό συμβολισμό. Ακριβέστερα, πρέπει να εισάγετε τα εξής: a, enter, b, entar, c,, +, c, enter, d, /, e, a, enter, f,,g,,+. Η κλείδα "enter" πρέπει να χρησιμοποιηθεί τέσσερις φορές για να ενημερώσει τον υπολογιστή πότε ένας αριθμός τελειώνει και αρχίζει ο επόμενος Γράφοι του Euler Ένας περιοδεύων πωλητής ή ένας ταχυδρομικός διανομέας επισκέπτεται τα σπίτια σε μια γειτονιά. Καθώς κινείται από πόρτα σε πόρτα αναρωτιέται αν υπάρχει τρόπος να μη διανύει τμήματα της διαδρομής δυο ή περισσότερες φορές, μέχρι να επισκεφθεί όλες τις πόρτες τις γειτονιάς. Μια σειρά από ερωτήματα μπορεί να προκύψουν από τον προβληματισμό αυτόν. Αν το σημείο εισόδου στη γειτονιά διαφέρει από το σημείο εξόδου, τότε ο περιοδεύων πωλητής διανύει μια διαδρομή. Διακρίνονται οι ακόλουθες δυνατότητες: Να περνά από όλες τις πόρτες μια φορά (διαγράφει διαδρομή Hamilton). Να περνά από κάποιες πόρτες δυο ή περισσότερες φορές (διαγράφει διαδρομή Euler). Αν το σημείο εισόδου ταυτίζεται με το σημείο εξόδου, τότε ο περιοδεύων πωλητής διανύει κύκλωμα. Διακρίνονται οι ακόλουθες δυνατότητες: Να περνά από όλες τις πόρτες μία φορά (κύκλωμα Hamilton). Να περνά από κάποιες πόρτες δυο ή περισσότερες φορές (κύκλωμα Euler). 24

25 Με αφετηρία αυτά τα ερωτήματα, ανακύπτουν και άλλα ιδιαίτερα ενδιαφέροντα ερωτήματα, όπως: ποια είναι η συντομότερη διαδρομή που θα μπορούσε να κάνει ο περιοδεύων πωλητής, πριν καταλήξει στο σημείο όπου τελειώνει τη διανομή; Τα ερωτήματα που περιγράφηκαν παραπάνω αφορούν τη συγκεκριμένη δραστηριότητα. Ανάλογα ερωτήματα προκύπτουν σε πάρα πολλές λειτουργίες ατόμων ή επιχειρήσεων και οργανισμών, που απεικονίζονται με τη βοήθεια γράφων. Ο Leonard Euler ( ) ασχολήθηκε με μια σειρά παρεμφερών προβλημάτων, για να καταλήξει σε μια σειρά από προτάσεις που απαντούν σε ερωτήματα όπως εκείνα του περιοδεύοντος πωλητού. Αναφέρεται στη βιβλιογραφία ότι ο Euler έστρεψε την προσοχή του στο συγκεκριμένο πρόβλημα με αφορμή έναν γρίφο που αναφερόταν στις γέφυρες της πόλης Königsberg. Σχήμα Αποτύπωση του γράφου που αναπαριστά τον περίπατο στο Königsberg. Ο γρίφος που απασχόλησε τότε τους κατοίκους του Königsberg αφορούσε την ανακάλυψη μιας διαδρομής που θα επέτρεπε σε έναν περιπατητή να διέλθει από όλες τις γέφυρες της πόλης, χωρίς όμως να περάσει δυο φορές από κάποια ή κάποιες από αυτές. Στον γράφο που αντιπροσωπεύει τις διαδρομές, το πρόβλημα περιγράφηκε ως το πρόβλημα εύρεσης της διαδρομής που περνά από όλες τις ακμές. Ο Euler κατάληξε σε μια σειρά από προτάσεις που δίνουν απάντηση σε ερωτήματα αυτού του τύπου. Για να παρουσιαστούν οι προτάσεις, είναι χρήσιμο να οριστεί μια σειρά από έννοιες. Ορισμός Διαδρομή Euler (Euler path) καλείται η διαδρομή της οποίας όλες ακμές εμφανίζονται ακριβώς μία φορά. Ορισμός Σε ένα γράφο G, κύκλος του Euler (Euler cycle) καλείται ο κύκλος στον οποίο κάθε κορυφή όπως και κάθε ακμή εμφανίζεται ακριβώς μία φορά. Για γράφημα G=({v},Ø) υποθέτουμε ότι υπάρχει κύκλος Euler μηδενικού μήκους. Στην περίπτωση αυτή ο κύκλος C είναι η κορυφή v. Παράδειγμα (Το Πρόβλημα του Κινέζου Ταχυδρόμου.). Το 1962, ένας κινέζος μαθηματικός ονομαζόμενος Khan Mei-Ko ήταν ταχυδρόμος διανομής αλληλογραφίας σε μια σειρά από δρόμους και ήθελε να ακολουθήσει τη διαδρομή που θα του εξασφάλιζε την ελάχιστη συνολική απόσταση. 25

26 Παρατηρούμε ότι εάν ένα γράφημα έχει 4 κορυφές μονού βαθμού, τότε δεν είναι δυνατόν να το διασχίσουμε χωρίς να επαναλαμβάνεται τουλάχιστον μία του πλευρά. Εάν ένα γράφημα έχει 2 κορυφές μονού βαθμού, τότε δεν είναι δυνατόν να το διασχίσουμε, αλλά η αρχή και το τέλος θα είναι διαφορετικές. Ένα τέτοιο παράδειγμα είναι το ακόλουθο: Κορυφή Βαθμός a 3 b 4 c 4 d 3 e 2 Μια διαδρομή Euler είναι δυνατή, αν και μόνο αν κάθε κορυφή του γράφου είναι άρτιου βαθμού. Διαδραστικό Αντικείμενο Εντοπίστε διαδρομές ή κυκλώματα Euler. Δοκιμάστε μόνοι σας εδώ διαδρομές ή κυκλώματα Euler Αν έχετε προβλήματα με την πρόσβαση σε εφαρμογές Java χρησιμοποιώντας το Chrome, η Oracle συνιστά τη χρήση του Firefox, Internet Explorer ή Safari αντ 'αυτού. Παράδειγμα Να προσδιοριστεί μια διαδρομή Euler στο ακόλουθο γράφημα: Κορυφή Βαθμός a 4 b 4 c 4 d 4 e 2 f 2 Για να προχωρήσουμε στη λύση του προβλήματος πρέπει να βρούμε έναν τρόπο για να συνδέσουμε τις κορυφές μονού βαθμού μεταξύ τους. Εάν υπάρχουν 2 κορυφές μονού βαθμού, τότε υπάρχει μόνο ένας τρόπος σύνδεσής τους 26

27 Εάν υπάρχουν 4 κορυφές μονού βαθμού, τότε υπάρχουν 3 τρόποι σύνδεσης μεταξύ τους. Όταν υπάρχουν παραπάνω κορυφές υπάρχει ένας πρακτικός αλγόριθμός με τον οποίο μπορούμε να βρούμε γρήγορα τον αριθμό των πιθανών τρόπων σύνδεσής τους. Αριθμός των κορυφών μονού βαθμού Αριθμός πιθανών τρόπων σύνδεσης = = =105 ν (ν-1) (ν-3)...1 Θα χρησιμοποιήσουμε ένα παράδειγμα για τη διευκόλυνσή μας. Στο παρακάτω παράδειγμα ένας ταχυδρόμος πρέπει, ξεκινώντας από το Α, να περπατήσει και τους 13 δρόμους και να επιστρέψει στη κορυφή Α. Οι αριθμοί σε κάθε άκρο αντιπροσωπεύουν το μήκος σε μέτρα από κάθε δρόμο. Το πρόβλημα είναι να βρεθεί ένα μονοπάτι που θα χρησιμοποιεί όλες τις άκρες της και θα έχει το ελάχιστο συνολικό μήκος. Για να βρούμε την ελάχιστή διαδρομή για τον κινέζο ταχυδρόμο πρέπει να περπατήσουμε κατά μήκος της κάθε ακμής τουλάχιστον μία φορά και επιπλέον να περπατήσουμε μία φορά παραπάνω τις κορυφές με μονό βαθμό. Ένας αλγόριθμος για την επίλυσή του κινέζου ταχυδρόμου είναι ο εξής: Αλγόριθμος (Κινέζου Ταχυδρόμου). Βήμα 1: καταγράφουμε όλες τις κορυφές με μονό βαθμό. Βήμα 2: καταγράφουμε όλα τα δυνατά ζευγάρια κορυφών μονού βαθμού. Βήμα 3: για κάθε ζευγάρι βρίσκουμε τις κορυφές που συνδέουν τις πλευρές με το ελάχιστο μήκος. Βήμα 4: βρίσκουμε τα ζεύγη των οποίων το άθροισμα είναι το ελάχιστο. Βήμα 5: στο αρχικό διάγραμμα προσθέτουμε τις ακμές που βρέθηκαν στο βήμα 4. Βήμα 6: το μήκος της βέλτιστης διαδρομής για τον κινέζο ταχυδρόμο είναι το άθροισμα όλων των ακμών προστιθέμενο στο σύνολο που βρέθηκε στο βήμα 4. Βήμα 7: μια διαδρομή που αντιστοιχεί σε αυτό το ελάχιστο μήκος είναι πλέον εύκολο να βρεθεί με την παρακάτω διαδικασία, εκτός από πολύπλοκα δίκτυα όπου μπορεί να είναι αρκετά δύσκολο. -Βήμα Α: στο αρχικό διάγραμμα προσθέτουμε το τρόπο σύνδεσης των κορυφών με μονό βαθμό για να γίνει το Εurelian γράφημα. -Βήμα Β: φτιάχνουμε έναν πίνακα με τον βαθμό της κάθε κορυφής. Σε αυτό το στάδιο κάθε κορυφή θα έχει 27

28 ζυγό βαθμό. -Βήμα Γ: ο αριθμός των φορών που θα εμφανιστεί το κάθε άκρο σε ένα πρόβλημα κινέζου τηλεκατευθυνόμενου κινέζου θα είναι το ήμισυ του βαθμού του, με εξαίρεση την κορυφή (έναρξη και λήξη) η οποία θα εμφανιστεί μία επιπλέον φορά. Εφαρμογή αλγόριθμου στο παράδειγμά μας. Θα φτιάξουμε έναν πίνακα, για να διαπιστώσουμε αν πρόκειται για ανοιχτή διαδρομή ή απλά διαδρομή Euler συμφώνα με τα παραπάνω. Κορυφή Βαθμός a 3 b 4 c 4 d 4 e 2 f 4 g 2 h 3 Εφόσον υπάρχουν οι κορυφές (A και H) με μονό βαθμό, το πρόβλημα είναι ανοιχτή διαδρομή Euler. Βήμα 1: οι κορυφές με μονό βαθμό όπως είδαμε παραπάνω είναι Α και Η. Βήμα 2: υπάρχει μόνο ένας τρόπος για να ενώσουμε αυτές τις 2 κορυφές, η διαδρομή ΑΗ. Βήμα 3-4: η διαδρομή με τη συνολικά μικρότερη απόσταση για να τη διανύσουμε είναι ΑΒ,ΒF,FH με συνολικό μήκος 160 μέτρων. Βήμα 5: Βήμα 6: το μήκος της βέλτιστης διαδρομής είναι το άθροισμα όλων των πλευρών του αρχικού δικτύου, το οποίο είναι 840 μέτρα καθώς επίσης και η απάντηση του βήματος 4 που είναι 160 μέτρα. Επομένως το μήκος της βέλτιστης διαδρομής για τον κινέζο ταχυδρόμο είναι μέτρα. Βήμα 7: μια πιθανή διαδρομή είναι η ADCGHCABDFBEFHFBA. -Βήμα Α: 28

29 -Βήμα Β: Κορυφή Βαθμός a 4 b 6 c 4 d 4 e 2 f 6 g 2 h 4 -Βήμα Γ: Ο αριθμός όπου θα εμφανιστεί κάθε κορυφή για τη λύση του προβλήματος είναι: Κορυφή Βαθμός a 3 b 3 c 2 d 2 e 1 f 3 g 1 h 2 29

30 Ο αριθμός των κορυφών που θα διασχίσει ο ταχυδρόμος στη βέλτιστη πορεία του είναι 17. Η σειρά μπορεί να είναι διαφορετική αλλά πρέπει η κάθε κορυφή να εμφανιστεί τον αριθμό πού αναφέρεται στον πίνακα. Ορισμός Ψευδογράφος Euler καλείται κάθε «ψευδογράφος» στον οποίο εντοπίζεται ένα κύκλωμα του οποίου κάθε ακμή εμφανίζεται ακριβώς μία φορά. Σχήμα Στο Σχήμα δοκιμάστε να διαπιστώσετε αν ο γράφος είναι ψευδογράφος Euler. Θα διαπιστώσετε ότι η μέθοδος δοκιμής και λάθους είναι χρονοβόρος και συχνά ανεπιτυχής. Για την αποφυγή αυτής της χρονοβόρου διαδικασίας, ο Euler παρουσίασε ένα ακόμα σημαντικό θεώρημα. Παρατίθεται πρώτα το θεώρημα που εξασφαλίζει την ύπαρξη διαδρομής Euler. Θεώρημα Ένας συνεκτικός ψευδογράφος G περιέχει μία διαδρομή Euler P (η οποία δεν είναι κύκλωμα) αν και μόνο αν αυτό έχει ακριβώς δύο κορυφές περιττού βαθμού. Παρατίθεται στη συνέχεια το θεώρημα του Euler που χαρακτηρίζει τους ψευδογράφους Euler. Θεώρημα (Euler 1736). Ένας συνεκτικός ψευδογράφος G είναι κύκλωμα Euler αν και μόνο αν ο βαθμός κάθε κορυφής είναι άρτιας τάξης (Θεώρημα ύπαρξης κυκλώματος Euler). Οι συνθήκες είναι αναγκαίες γιατί προφανώς αν υπάρχει μια διαδρομή Euler, τότε ο γράφος πρέπει να είναι συνεκτικός και ο αριθμός των κορυφών περιττού βαθμού να είναι 0 (αντίστοιχα 2). Σε διαφορετική περίπτωση δεν θα υπήρχε δυνατότητα να περάσει μια διαδρομή από όλες τις ακμές (από μία τουλάχιστον θα περνούσε δύο φορές, οπότε δεν θα ήταν διαδρομή). Οι συνθήκες είναι και ικανές γιατί: Ισχύουν προφανώς για Ε =2. 30

31 Έστω ότι ισχύουν και για Ε >2. Ένας άλλος τρόπος για να διαπιστώσει κάποιος την ισχύ του θεωρήματος είναι ο ακόλουθος. Έστω ότι ο G είναι γράφος Euler και έστω ακόμη ότι C είναι ένα κύκλωμα Euler, που περιέχεται στον G. Επιπλέον, θεωρούμε την κορυφή v ως αρχή και καταληκτική κορυφή του C. Κάθε κορυφή u v ανήκει στο C, άρα deg(u) είναι άρτιος αριθμός. Καθώς, το C περιέχει όλες τις ακμές του G, ο βαθμός όλων των κορυφών (εκτός της v) είναι άρτιος αριθμός. Τέλος, σε ότι αφορά την κορυφή v, αυτή είναι τέλος και αρχή της διαδρομής Euler, άρα και ο βαθμός αυτής είναι άρτιος αριθμός. Συμπεραίνεται από τα παραπάνω ότι G δεν έχει κορυφές περιττού βαθμού. Ας θεωρήσουμε έναν περίπατο P ξεκινώντας από μία κορυφή α. Έστω ότι ο περίπατος P θέλουμε να περνά από διάφορες κορυφές, έως ότου φτάσει σε μία κορυφή β αφού όμως συμπεριλάβει το σύνολο των ακμών (θεωρούμε α=β αν δεν υπάρχει κορυφή περιττού βαθμού). Έστω λοιπόν ότι υπάρχουν ακμές που δεν χρησιμοποιήθηκαν. Αν οι χρησιμοποιημένες ακμές αγνοηθούν, τότε απομένει ένας υπογράφος G που δεν είναι απαραίτητα συνεκτικός. Συνάγεται ότι ο υπογράφος G περιέχει μόνο κορυφές άρτιου βαθμού και σύμφωνα με την υπόθεση της επαγωγής κάθε συνιστώσα του περιέχει ένα ίχνος Euler. Εφόσον ο γράφος G είναι συνδεδεμένος πρέπει ο περίπατος Ρ να περνά τουλάχιστον από μία κορυφή κάθε συνιστώσας του G. Συνεπώς, μπορεί να κατασκευαστεί ένα ίχνος Euler για τον γράφο G εισάγοντας στον περίπατο και τα ίχνη των συνιστωσών του υπογράφου. Τώρα δοκιμάστε και πάλι να απαντήσετε αν ο γράφος είναι γράφος Euler. Η χρησιμότητα των προτάσεων αυτών για την ανάπτυξη των μεθόδων των Εφοδιαστικών Αλυσίδων (Supplying Chains/Logistics) είναι προφανής. Επίσης, προφανής είναι και η χρήση στη λειτουργία των δρομολογητών (routers) στον παγκόσμιο ιστό. Παρατήρηση Χάρη στα θεωρήματα αυτά μπορεί να διαπιστώσει κάποιος ότι το πρόβλημα των γεφυρών του Königsberg δεν έχει λύση, δηλαδή δεν υπάρχει δυνατότητα ο περιπατητής να περάσει από όλες τις γέφυρες του ποταμού Pregel μια μόνο φορά και να βρεθεί στο σημείο που ξεκίνησε τον περίπατό του. Στον γράφο του Σχήματος φαίνεται ότι οι βαθμοί των κορυφών είναι περιττοί αριθμοί. Ο παρατηρητής εύκολα διαπιστώνει ότι αν εμπλουτιστεί κατάλληλα με νέες ακμές ο γράφος του Σχήματος 5.6.3, τότε είναι δυνατό να προκύψει ψευδογράφος Euler. Σχήμα

32 Ένα κύκλωμα Euler είναι το Κ={ν 3,e 1,ν 1,e 3,ν 4,e 7,ν 2,e 6,ν 1,e 2,ν 3,e 9,ν 4,e 4,ν 1,e 5,ν 2,e 8,ν 3 }.Στους ψευδογράφους που περιέχουν υποψευδογράφους Euler, ο προσδιορισμός του πλήθους αυτών αποτελεί ένα θέμα προς διαπραγμάτευση. Ένα άλλο ενδιαφέρον ερώτημα είναι εκείνο της εύρεσης κυκλώματος Euler ελάχιστου μήκους. Το πρόβλημα εύρεσης μιας κλειστής διαδρομής ελάχιστου μήκους θα μας απασχολήσει αργότερα. Η εύρεση μιας διαδρομής Euler σε έναν γράφο (ή ψευδογράφο) απασχόλησε την επιστημονική κοινότητα, με αποτέλεσμα να προταθούν διάφοροι αλγόριθμοι που επιτυγχάνουν το ζητούμενο αποτέλεσμα. Αναφέρονται εδώ οι αλγόριθμοι του Hierholtzer (1873), του Fleury (1921) καθώς και εκείνος του Alan Tucker (1976). Ο αλγόριθμος του Tucker στηρίζεται σε μια απόδειξη του θεωρήματος του Euler που χρησιμοποιεί την έννοια της αλύσου (αλυσίδα). Ορισμός Σε έναν γράφο G, κάθε κορυφή με δύο παρακείμενες σε αυτήν κορυφές και τις ακμές που τις συνδέουν θα καλείται άλυσος (chain). Η απόδειξη του Tucker έχει ως εξής: Για κάθε κορυφή του γράφου σχηματίστε το σύνολο των αλύσων που της αντιστοιχούν. Αυτό που προκύπτει είναι ένα σύνολο αλύσεων που, καθώς δεν έχουν τέλος, σχηματίζουν κυκλώματα. Συνδέστε διαδοχικά τα κυκλώματα που διαθέτουν κοινή κορυφή, μέχρι να μην μπορεί να φθάσετε σε κυκλώματα όπου τα σύνολα των κορυφών τους είναι ξένα μεταξύ τους. Επειδή ο γράφος είναι συνεκτικός, υπάρχει ένα μόνο κύκλωμα Euler. Παράδειγμα (Εφαρμογή του Θεωρήματος του Euler). Του αλγόριθμου Tucker στο γράφο του Σχήματος Σχήμα Καταγράφονται οι άλυσοι για όλες τις κορυφές του γράφου: , 9 5 6, 1 5 6, 1 5 4, , 5 6 7, , , , , , , 6 7 3, Για να δημιουργηθεί ένα κύκλωμα, εντοπίζονται πρώτα οι κορυφές που έχουν μοναδική άλυσο. Από αυτές επιλέγουμε μία με τυχαίο τρόπο. Έστω ότι επιλέγεται η Στη συνέχεια επιλέγεται και μετά η

33 6. Για κάθε ακμή που επιλέγεται και συμπληρώνει τη διαδρομή που σχηματίστηκε, απαλείφεται η άλυσος που την περιέχει από τον πίνακα των αλύσων που διαμορφώθηκε στο πρώτο βήμα. Έτσι αρχικά απαλείφονται οι ακμές 5 1, 1 2, 2 3, 3 7, 7 11, 11 6, 6 10, και Οι εναπομένουσες άλυσοι είναι: , 9 5 6, Τώρα απομένει μοναδική επιλογή για να συμπεριληφθεί η κορυφή 6. Στη συνέχεια, συμπληρώνεται το κύκλωμα με τον ίδιο τρόπο για να προκύψει το Παρατηρεί κανείς ότι η διαδρομή έχει περάσει από όλες τις ακμές χωρίς να επαναλάβει κάποια από αυτές. Οι κορυφές 5, 6 και 7 έχουν επαναληφθεί Κυκλώματα Hamilton Ο ταξιδιώτης που επισκέπτεται διάφορα νησιά του Αιγαίου δεν επιθυμεί να περάσει δυο φορές από το ίδιο νησί. Ζητά από τον ταξιδιωτικό του πράκτορα να βρει τα κατάλληλα δρομολόγια πλοίων που θα ικανοποιήσουν αυτήν του την απαίτηση. Ο ταξιδιωτικός πράκτορας, που έχει στη διάθεσή του έναν γράφο με κορυφές όλα τα νησιά του Αιγαίου, απομονώνει τον υπογράφο που περιλαμβάνει μόνο τους προορισμούς που ενδιαφέρουν τον πελάτη. Στη συνέχεια, προσπαθεί να διαπιστώσει αν ο υπογράφος αυτός είναι γράφος Hamilton. Ποιος όμως ήταν ο Hamilton και τι είναι ένας γράφος Hamilton; Ο sir William Rowan Hamilton ( ) δημιούργησε to 1857 ένα παιχνίδι-γρίφο, που το ονόμασε «Γύρο του Κόσμου» (the icosian game). Στο παιχνίδι αυτό οι παίκτες προσπαθούσαν να ανακαλύψουν ένα κύκλωμα που να διέρχεται από κάθε πόλη του κόσμου μία μόνο φορά. Σχήμα Ως πόλεις του κόσμου, στο παιχνίδι αυτό νοούνται τα άσπρα εμφυτεύματα, που στον αντίστοιχο γράφο των είκοσι κορυφών αντιπροσωπεύουν τις κορυφές. Το ερώτημα που καλούνται να απαντήσουν οι παίκτες του παιχνιδιού αυτού είναι σχετικό με την ανακάλυψη ενός κυκλώματος Hamilton. Στην εικόνα έχει σημειωθεί με ερυθρό χρώμα ένα από τα κυκλώματα Hamilton, στα οποία θα μπορούσε κάποιος να καταλήξει. 33

34 Ορισμός Διαδρομή Hamilton (Hamilton path) καλείται η διαδρομή ή οποία περνάει από όλους τους κόμβους του γράφου ακριβώς μία φορά. Ορισμός Κύκλωμα Hamilton είναι η κλειστή διαδρομή που διατρέχει τις κορυφές του γράφου χωρίς όμως να περάσει από την ίδια κορυφή δυο φορές. Σχήμα Η αεροπορική σύνδεση πόλεων αναπαρίσταται με έναν γράφο. Η επίσκεψη σε όλες τις πόλεις από μία μοναδική φορά είναι ένα πρόβλημα στο οποίο απαντά η ύπαρξη κυκλώματος Hamilton. Η συνηθέστερη εφαρμογή της αναζήτησης ενός κυκλώματος Hamilton είναι εκείνη του περιοδεύοντος πωλητή. Στην προσπάθειά του να επισκεφθεί όλες τις πόλεις που φαίνονται να συνδέονται με αεροπορικές γραμμές, επιθυμεί να βρει τρόπο ώστε να μην περάσει από την ίδια πόλη δυο ή περισσότερες φορές. Αναζητά λοιπόν ένα κύκλωμα Hamilton. Ο οδικός-αεροπορικός χάρτης του Σχήματος 5.7.2, με τις συγκοινωνιακές γραμμές ως ακμές και τις πόλεις ως κορυφές, είναι ένας ψευδογράφος για το οποίο όμως δεν υπάρχει καμία εγγύηση πως περιλαμβάνει ένα κύκλωμα Hamilton. Τα βασικά ερωτήματα που πρέπει να απαντηθούν είναι εκείνα της ύπαρξης, της μοναδικότητας και του τρόπου εντοπισμού μιας διαδρομής ή ενός κυκλώματος Hamilton. Ένα επίσης σημαντικό ερώτημα που χρειάστηκε να απαντηθεί και το οποίο είναι (np-complete) αφορά τη διατύπωση ικανής και αναγκαίας συνθήκης ώστε να είναι ένας γράφος Hamilton. Διατυπώθηκαν τα ακόλουθα θεωρήματα. Θεώρημα Κάθε πλήρης γράφος είναι γράφος Hamilton. Θεώρημα Κάθε πλήρης γράφος έχει (n-1)/2 κύκλους Hamilton ξένους ως προς τις ακμές. 34