Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ ΙΙ (ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ - ΕΞΕΛΙΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ) Κεφάλαιο 4 Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
2
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Εισαγωγή Οι Γενετικοί Αλγόριθμοι (ΓΑ) είναι μέρος των εξελικτικών αλγορίθμων, οι οποίοι είναι μια ταχέως εξελισσόμενη περιοχή της Τεχνητής Νοημοσύνης. Οι γενετικοί αλγόριθμοι είναι γενικής χρήσης αλγόριθμοι αναζήτησης που βασίζονται στις αρχές της εξέλιξης που παρατηρούνται στη φύση και γίνονται όλο και περισσότερο γνωστοί χάριν της ικανότητά τους να λύνουν δύσκολα προβλήματα. Οι ΓΑ υλοποιήθηκαν από τον Holland (1975) που παραδοσιακά χρησιμοποίησε τις περισσότεροo κυρίαρχες αναπαραστάσεις, δηλαδή bit-strings. Όμως, πολλές πρόσφατες εφαρμογές των ΓΑ έχουν εστιάσει σε διαφορετικές αναπαραστάσεις, όπως γράφοι (Νευρωνικά Δίκτυα), Lisp-Expressions, διατεταγμένες λίστες και διανύσματα πραγματικών τιμών. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
3
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Οι ΓΑ χαρακτηρίζονται από την απλότητα και την κομψότητά τους ως γεροί αλγόριθμοι αναζήτησης, καθώς επίσης και από τη δύναμή τους να ανακαλύψουν γρήγορα τις καλές λύσεις δύσκολων, μεγάλης διάστασης προβλημάτων. Οι ΓΑ είναι χρήσιμοι και αποδοτικοί όταν: Το διάστημα αναζήτησης είναι μεγάλο, σύνθετο ή ανεπαρκώς κατανοητό. Η γνώση περιοχών είναι λιγοστή ή η ειδική γνώση είναι δύσκολο να κωδικοποιηθεί ώστε, να περιοριστεί στο διάστημα αναζήτησης. Καμία μαθηματική ανάλυση δεν είναι διαθέσιμη. Οι παραδοσιακές μέθοδοι αναζήτησης αποτυγχάνουν. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
4
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η λύση σε ένα πρόβλημα καλείται χρωμόσωμα. Ένα χρωμόσωμα αποτελείται από μια συλλογή γονιδίων που είναι απλά οι παράμετροι που βελτιστοποιούνται. Ένας ΓΑ δημιουργεί έναν αρχικό πληθυσμό (μια συλλογή των χρωμοσωμάτων), αξιολογεί αυτόν τον πληθυσμό, κατόπιν εξελίσσει τον πληθυσμό μέσο των πολλαπλών γενεών στην αναζήτηση μιας καλής λύσης για το πρόβλημα. Στο σχήμα 4.1 περιγράφεται ένας κλασσικός ΓΑ. Μετά την αρχικοποίηση εκλέγονται οι γονείς σύμφωνα με μια πιθανοθεωρητική συνάρτηση βασισμένη στην σχετική καταλληλότητα των οντοτήτων του πληθυσμού. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
5
initialize population P(t); evaluate P(t); until (done) { t = t + 1;
procedure GA; { t = 0; initialize population P(t); evaluate P(t); until (done) { t = t + 1; parent_selection P(t); recombine P(t) mutate P(t); survive P(t); } } Σχήμα 4.1: Γενετικός Αλγόριθμος Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
6
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Με άλλα λόγια, αυτές οι οντότητες με μεγαλύτερη σχετική καταλληλότητα είναι πιο πιθανές να επιλεγούν ως γονείς. Τα παιδιά δημιουργούνται από γονείς μέσο της διαδικασίας της διασταύρωσης, θα υποστούν μετάλλαξη και θα επιβιώσουν, αντικαθιστώντας τους γονείς στον πληθυσμό. Είναι ενδιαφέρον να σημειωθεί ότι σε αντίθεση με τον ΕΠ, οι ΓΑ δίνουν ιδιαίτερη σημασία στις διαδικασίες διασταύρωσης και μετάλλαξης. Σύμφωνα με τον τελεστή μετάλλαξης αναστρέφονται κάποια bits με μια πολύ μικρή πιθανότητα και συχνά θεωρείται σαν ένας τελεστής που δρα παρασκηνιακά. Οι ΓΑ συχνά χρησιμοποιούνται σαν βελτιστοποιητές, παρ’ όλο που κάποιοι ερευνητές δίνουν έμφαση στις γενικές προσαρμοστικές δυνατότητες τους (De Jong, 1992). Οι ΓΑ μπορούν να εφαρμοστούν σε μια ευρεία ποικιλία προβλημάτων βελτιστοποίησης, όπως ο σχεδιασμός, τα παιχνίδια υπολογιστών, το χρηματιστήριο, η ιατρική διάγνωση, προσαρμοστικός έλεγχος, η μεταφορά, το Πρόβλημα Διακίνησης Πωλητών, κ.λπ. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
7
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Βιολογικό Υπόβαθρο Κάθε ζωντανός οργανισμός αποτελείται από κύτταρα. Σε κάθε κύτταρο υπάρχει ο ίδιος αριθμός από χρωμοσώματα. Τα χρωμοσώματα είναι strings του DNA και χρησιμεύουν σαν ένα μοντέλο ολόκληρου του οργανισμού. Ένα χρωμόσωμα αποτελείται από γονίδια, τμήματα του DNA, που το καθένα έχει τη δική του θέση και κωδικοποιεί ένα κληρονομικό χαρακτηριστικό, για παράδειγμα το χρώμα των ματιών. Κατά την αναπαραγωγή πρώτα πραγματοποιείται η Διασταύρωση (Crossover) των γονιδίων. Γονίδια των γονέων σχηματίζουν με τον ίδιο τρόπο το νέο χρωμόσωμα. Οι νέοι απόγονοι μπορεί να έχουν υποστεί Μετάλλαξη (Mutation), κατά την οποία κάποιο στοιχείο του DNA έχει αλλάξει κατά ένα bit που οφείλεται σε λάθος αντιγραφή των γονιδίων από τους γονείς. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
8
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Στην πραγματικότητα, δεν είναι πολύ γνωστοί οι ακριβείς μηχανισμοί για την φυσική αναπαραγωγή, αλλά κάποιες όψεις τους. Οι παρακάτω ιδιότητες ωστόσο, είναι κοινά αποδεκτές: Η εξέλιξη είναι μια διαδικασία η οποία λειτουργεί πάνω σε χρωμοσώματα αντί στους ίδιους τους ζωντανούς οργανισμούς που αναπαριστούν. Η φυσική Επιλογή είναι μια σχέση μεταξύ των χρωμοσωμάτων και της αναπαράστασης των κωδικοποιημένων χαρακτηριστικών τους. Η διαδικασία της φυσικής Επιλογής εξασφαλίζει τα χρωμοσώματα τα οποία αναπαριστάνουν μια καλή σύνθεση, να αναπαράγονται πιο συχνά από κάποια άλλα. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
9
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η Εξέλιξη εμφανίζεται κατά την αναπαραγωγή. Η Μετάλλαξη, ίσως και να είναι ο λόγος που τα χρωμοσώματα των παιδιών μερικές φορές διαφέρουν από αυτά των γονέων τους σε κάποια μέρη. Τα χρωμοσώματα των γονέων λοιπόν, συνδυάζονται με συγκεκριμένο τρόπο για να δημιουργήσουν τα νέα, διαφορετικά χρωμοσώματα των παιδιών τους. Η βιολογική εξέλιξη δεν έχει μνήμη. Ότι είναι γνωστό για τις οντότητες και τον τρόπο που δρουν μέσα στο περιβάλλον τους, είναι αποθηκευμένα σε ένα σύνολο χρωμοσωμάτων τους και στον τρόπο που τα χρωμοσώματα αυτά είναι κωδικοποιημένα. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
10
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Οι ιδιότητες αυτές είναι ο λόγος που ο John Holland άρχισε να μελετά τους υπολογιστικούς αλγόριθμους, βασισμένος σε αυτή την αρχή. Έγραψε αλγόριθμους που μπορούσαν να αναπαράγουν χρωμοσώματα, αναπαριστάμενα με δυαδικά bit strings από «1» και «0». Ακριβώς σαν την φύση. Αυτά τα strings διαχειρίζονταν επιδέξια με σκοπό να γίνουν ένα καλό χρωμόσωμα. Ωστόσο, δεν γνώριζε κανείς σχετικά με το πρόβλημα που θα μπορούσαν αυτά να λύσουν. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
11
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Μαθηματικός μηχανισμός των ΓΑ Οι γενετικοί Αλγόριθμοι ασχολούνται και δρουν πολύ καλά στο πεδίο των προβλημάτων βελτιστοποίησης, καθώς εκτείνονται και σε άλλου είδους προβλήματα. Γενικά, βασίζονται στη μέθοδο του τυχαίου ψαξίματος με τη μόνη διαφορά ότι το χάσιμο χρόνου μέχρι να βρεθεί η λύση μπορεί να αποφευχθεί χρησιμοποιώντας μεθόδους βασισμένες στην βιολογία. Οι μέθοδοι αυτές, αποκαλύφθηκαν κατά την εξέταση της εξέλιξης και της καταγωγής των ειδών. Όπως είναι γνωστό, μόνο τα πιο κατάλληλα άτομα επιζούν κατά την διαδικασία της αναπαραγωγής. Με αυτόν τον τρόπο δημιουργείται και το fitness του πληθυσμού, το οποίο του επιτρέπει να επιβιώνει σε ένα μεταβαλλόμενο περιβάλλον. Ο χώρος των εφικτών λύσεων καλείται Χώρος Αναζήτησης (ή Χώρος Καταστάσεων). Κάθε σημείο του παριστάνει μια εφικτή λύση, η οποία μπορεί να χαρακτηριστεί από μια τιμή ή την τιμή της στη fitness συνάρτηση του προβλήματος. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
12
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Καθώς συγκρίνεται ένας ΓΑ με άλλους παραδοσιακούς αλγορίθμους βελτιστοποίησης παρατηρούνται οι εξής διαφορές: Οι ΓΑ δουλεύουν με κωδικοποιημένες τις παραμέτρους Δεν ψάχνουν σε ένα μόνο σημείο, αλλά από ένα πλήθος σημείων Χρησιμοποιούν πληροφορίες που οι ίδιοι παράγουν αντί να είναι εξωτερικά παραγόμενες ή βοηθητικές γνώσεις Είναι γνωστό ότι πολλά προβλήματα μπορούν να θεωρηθούν ως προβλήματα βελτιστοποίησης. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
13
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Έστω λοιπόν, ένα πρόβλημα βελτιστοποίησης όπου πρέπει να βελτιστοποιηθεί ένα σύνολο μεταβλητών ή να μεγιστοποιηθεί ένας στόχος σαν το όφελος ή αλλιώς να ελαχιστοποιηθεί το κόστος ή κάποιο μέτρο λάθους. Γενικά, τα προβλήματα βελτιστοποίησης μπορούν να διατυπωθούν σαν μαθηματικά μοντέλα με πολλές ανεξάρτητες παραμέτρους που καταλήγουν σε μια συνάρτηση, την (fitness) συνάρτηση καταλληλότητας. Η συνάρτηση αυτή περιγράφει την “ποιότητα” του μοντέλου (ή των ατόμων) για το συγκεκριμένο σύνολο των παραμέτρων. Στη fitness συνάρτηση μπορούν να συμπεριληφθούν και να συναγωνίζονται όλων των ειδών οι απαιτήσεις. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
14
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η υπεροχή και το μειονέκτημα των Γενετικών Αλγορίθμων Οι ΓΑ έχουν χρησιμοποιηθεί για δύσκολα προβλήματα ( όπως τα ΝΡ προβλήματα) για machine learning και για την εξέλιξη απλών προγραμμάτων. Επίσης, έχουν χρησιμοποιηθεί και στην τέχνη, για την εξέλιξη εικόνων και μουσικής. Πλεονέκτημα των ΓΑ είναι ότι δρουν παράλληλα. Οι ΓΑ κινούνται μέσα στο χώρο καταστάσεων με περισσότερα άτομα, ώστε είναι λιγότερο πιθανό να κολλήσει σε κάποιο τοπικό ακρότατο, σαν κάποιες άλλες μεθόδους. Είναι επίσης, εύκολα υλοποιήσιμοι. Αν υπάρχει ένας ΓΑ, τότε αυτός μπορεί να επιλύσει και κάποιο άλλο πρόβλημα, κάνοντας χρήση της ίδιας αναπαράστασης και μεταβάλλοντας τη fitness συνάρτηση. Ένα μειονέκτημα των ΓΑ είναι ο υπολογιστικός χρόνος τους. Μπορεί να είναι πιο αργοί από άλλες μεθόδους. Ωστόσο, με τις υπολογιστικές δυνατότητες των σημερινών Η/Υ το πρόβλημα σιγά σιγά δεν είναι τόσο αισθητό. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
15
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Περιγραφή του Γενετικού Αλγόριθμου Ο Γενετικός Αλγόριθμος ξεκινά με ένα σύνολο λύσεων (τις λύσεις αναπαριστάνουν τα χρωμοσώματα) που καλείται πληθυσμός. Κάποια χρωμοσώματα από τον πρώτο πληθυσμό λαμβάνονται για να παράγουν τον επόμενο πληθυσμό, με την ελπίδα να είναι καλύτερός του. Συνήθως, το μέγεθος του πληθυσμού παραμένει σταθερό για ευκολία. Οι λύσεις – χρωμοσώματα που επιλέγονται να σχηματίσουν τις νέες λύσεις (απογόνους), επιλέγονται σύμφωνα με το fitness τους – όσο πιο κατάλληλα είναι, τόσο μεγαλύτερη ελπίδα έχουν να αναπαραχθούν. Η παραπάνω διαδικασία επαναλαμβάνεται μέχρις ότου κάποια συνθήκη ικανοποιηθεί (όπως για παράδειγμα ένας αριθμός πληθυσμών ή η βελτιστοποίηση της καλύτερης λύσης). Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
16
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχεδιάγραμμα του Γενετικού Αλγόριθμου [Αρχή] Δημιουργία τυχαίου πληθυσμού από n χρωμοσώματα (κατάλληλες λύσεις του προβλήματος) [Fitness] Αποτίμηση της fitness συνάρτησης κάθε χρωμοσώματος του πληθυσμού. [Νέος Πληθυσμός] Δημιουργία ενός νέου πληθυσμού μέχρι να συμπληρωθεί, με επανάληψη των παρακάτω βημάτων: [Επιλογή] Επιλέγονται δύο γονείς χρωμοσωμάτων από τον πληθυσμό σύμφωνα με το fitness τους (όσο καλύτερο fitness, τόσο μεγαλύτερη η πιθανότητα επιλογής του) [Διασταύρωση] Σύμφωνα με την πιθανότητα διασταύρωσης, διασταυρώνονται οι γονείς για να σχηματίσουν απόγονους. Αν δεν εφαρμοστεί η διασταύρωση οι απόγονοι είναι μια πιστή αντιγραφή των γονέων τους [Μετάλλαξη] Σύμφωνα με την πιθανότητα μετάλλαξης, μεταλλάσσεται κάποια θέση του χρωμοσώματος κάποιου απογόνου [Αντικατάσταση] Χρησιμοποιείται ο νέος πληθυσμός στη συνέχεια του αλγόριθμου [Δοκιμή] Αν ικανοποιείται η τελική συνθήκη, [σταμάτα], και επέστρεψε την καλύτερη λύση του τρέχοντος πληθυσμού [Επανέλαβε] Πήγαινε στο βήμα 2 Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
17
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Όπως φαίνεται, το σχεδιάγραμμα του ΓΑ είναι πολύ γενικό. Υπάρχουν πολλά σημεία τα οποία διαφοροποιούνται ανάλογα με το πρόβλημα που επιλύεται. Κατά την δημιουργία του νέου πληθυσμού εφαρμόζονται τρεις Τελεστές (Operators): η Επιλογή (Selection), η Διασταύρωση (Crossover) και η Μετάλλαξη (Mutation), οι οποίοι εφαρμόζονται με διάφορες μορφές και μεθόδους, όπως θα παρουσιαστούν αργότερα. Όπως φαίνεται και από το σχεδιάγραμμα η Διασταύρωση και η Μετάλλαξη είναι τα πιο σημαντικά μέρη ενός ΓΑ, αφού έχει πραγματοποιηθεί η Επιλογή. Πριν αρχίσει η αναλυτική παρουσίαση των τελεστών του ΓΑ δίνονται πληροφορίες σχετικά με την κωδικοποίηση των χρωμοσωμάτων. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
18
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Αναπαράσταση του Χρωμοσώματος Το πρώτο θέμα που πρέπει να αντιμετωπιστεί, όταν γίνεται χρήση ΓΑ για την επίλυση κάποιου προβλήματος, είναι να κωδικοποιηθούν οι ανεξάρτητες παράμετροι μέσα στο χρωμόσωμα. Το χρωμόσωμα έπειτα, θα έχει όλες τι απαραίτητες πληροφορίες σχετικά με το ιδιαίτερο άτομο που εκπροσωπεί, δηλαδή θα αποτελείται από πληροφορίες σχετικές με τη λύση που αναπαριστά. Υπάρχουν διάφοροι τρόποι να κωδικοποιηθούν οι παράμετροι σε ένα χρωμόσωμα. Αν και η Δυαδική Αναπαράσταση είναι ευρέως διαδεδομένη, χρησιμοποιούνται και άλλων ειδών δυαδικές αναπαραστάσεις, όπως η κωδικοποίηση Gray με σκοπό τη βελτίωση της απόδοσης των αλγορίθμων. Φυσικά, υπάρχουν και άλλων ειδών αναπαραστάσεις όπως η Αναπαράσταση Αριθμών Κινητής Υποδιαστολής, η Αναπαράσταση Αναδιατάξεων, η Αναπαράσταση σε Διανύσματα Πραγματικών Αριθμών και η Δενδρική Αναπαράσταση, καθεμία από τις οποίες χρησιμοποιείται σε αντίστοιχα προβλήματα, όπου η δυαδική αναπαράσταση δεν επαρκεί για την πλήρη και αποτελεσματική περιγραφή των ατόμων. Βέβαια, υπάρχουν πάρα πολλές ακόμα, οι οποίες εξαρτώνται κυρίως από το πρόβλημα που επιλύεται. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
19
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Όταν εφαρμόζεται η δυαδική αναπαράσταση, χρησιμοποιούνται N bits για κάθε παράμετρο, όπου το Ν μπορεί να διαφοροποιείται για κάθε μια παράμετρο. Αν μια παράμετρος κυμαίνεται μεταξύ μιας μέγιστης τιμής ΜΑΧ και μιας ελάχιστης ΜΙΝ τότε, ο τύπος που καθορίζει το μήκος της είναι: Μία δυαδική συμβολοσειρά ορίζεται με τη χρήση ενός δυαδικού αλφάβητου {0, 1}. Μία συμβολοσειρά με l δυαδικά ψηφία καταλαμβάνει χώρο ίσο με Bl={0,1}l. Κάθε μεταβλητή κωδικοποιείται σε μία δυαδική συμβολοσειρά i συγκεκριμένου μήκους li, το οποίο καθορίζεται από το χρήστη. Έπειτα, σχηματίζεται ολόκληρη η μήκους l συμβολοσειρά με συνένωση όλων των l υπό-συμβολοσειρών. Έτσι, η συμβολοσειρά (άτομο) που θα χρησιμοποιηθεί από το ΓΑ έχει την εξής μορφή: Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
20
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
όπου n είναι ο αριθμός των άγνωστων μεταβλητών. Μία δυαδική συμβολοσειρά με μήκος li κωδικοποιεί 2li σημεία αναζήτησης. Το μήκος της συμβολοσειράς που χρησιμοποιείται για την κωδικοποίηση μιας συγκεκριμένης μεταβλητής εξαρτάται από την επιθυμητή ακρίβεια για τη συγκεκριμένη μεταβλητή. Μία μεταβλητή που απαιτεί μεγαλύτερη ακρίβεια πρέπει να κωδικοποιηθεί με μία μεγαλύτερη συμβολοσειρά και αντίστοιχα. Μία τυπική κωδικοποίηση ενός διανύσματος n μεταβλητών σε μία δυαδική συμβολοσειρά είναι η εξής: x = (x1, x2, …, xn) Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
21
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η μεταβλητή xi έχει μήκος συμβολοσειράς li και ούτω καθεξής. Αυτός ο τρόπος κωδικοποίησης των άγνωστων μεταβλητών σε μία δυαδική συμβολοσειρά επιτρέπει στους ΓΑ να βρίσκουν εφαρμογή σε μία πληθώρα προβλημάτων. Αυτό συμβαίνει διότι οι ΓΑ λειτουργούν με τις ίδιες τις συμβολοσειρές και όχι με τις αριθμητικές τιμές τις οποίες αναπαριστούν αυτές. Ο πραγματικός αριθμός των μεταβλητών καθώς και το εύρος των πεδίων ορισμού των μεταβλητών που χρησιμοποιούνται στο πρόβλημα καλύπτονται από τη δυαδική κωδικοποίηση. Αυτό επιτρέπει στον ίδιο κώδικα υλοποίησης ενός ΓΑ να εφαρμόζεται σε διαφορετικά προβλήματα χωρίς να απαιτούνται σημαντικές αλλαγές. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
22
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Έστω ένα πρόβλημα με 3 μεταβλητές, των οποίων τα μήκη αποφασίζεται να είναι τα εξής: Οι ΓΑ λειτουργούν με τις ίδιες τις συμβολοσειρές και όχι με τις αριθμητικές τιμές τις οποίες αναπαριστούν αυτές. Ο πραγματικός αριθμός των μεταβλητών καθώς και το εύρος των πεδίων ορισμού των μεταβλητών που χρησιμοποιούνται στο πρόβλημα καλύπτονται από τη δυαδική κωδικοποίηση. Αυτό επιτρέπει στον ίδιο κώδικα υλοποίησης ενός ΓΑ να εφαρμόζεται σε διαφορετικά προβλήματα χωρίς να απαιτούνται σημαντικές αλλαγές. Έτσι έχουμε: xi li Κωδ/ση χ1 5 11011 χ2 7 χ3 4 0110 Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
23
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Το χρωμόσωμα θα έχει την μορφή: Χρωμόσωμα: Κάθε χρωμόσωμα λοιπόν, είναι ένα bit string που αντιπροσωπεύει χαρακτηριστικά τις λύσης. Η κωδικοποίηση των μεταβλητών σε δυαδικές συμβολοσειρές μετατρέπει το χώρο αναζήτησης από συνεχή σε διακριτό για την αναζήτηση του ΓΑ. Γι’ αυτό, οι ΓΑ όταν προσπαθούν να επιλύσουν ένα πρόβλημα με συνεχή χώρο αναζήτησης, τον μετατρέπουν πρώτα σε διακριτό. Αν και οι βέλτιστες λύσεις του αρχικού συνεχή χώρου αναζήτησης και του καινούριου δημιουργημένου διακριτού είναι συχνά αρκετά διαφορετικές (με σημαντικές διαφορές στα μήκη των δυαδικών συμβολοσειρών), οι λύσεις που προκύπτουν είναι αποδεκτές για τα περισσότερα πρακτικά προβλήματα έρευνας και βελτιστοποίησης. Επιπλέον, αφού οι ΓΑ λειτουργούν σε ένα διακριτό χώρο αναζήτησης, μπορούν με αποτελεσματικότητα να χρησιμοποιηθούν για την επίλυση προβλημάτων διακριτού προγραμματισμού, τα οποία είναι συνήθως δύσκολο να επιλυθούν με χρήση των παραδοσιακών μεθόδων επίλυσης. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
24
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η κωδικοποίηση των μεταβλητών του προβλήματος σε δυαδικές συμβολοσειρές επιτρέπει στους ΓΑ να εκμεταλλεύονται τις ομοιότητες ανάμεσα στις διάφορες συμβολοσειρές ενός πληθυσμού για να καθοδηγήσουν τη διαδικασία αναζήτησης. Οι ομοιότητες στις θέσεις των συμβολοσειρών αναπαριστώνται από τριαδικές συμβολοσειρές (συμβολοσειρές που περιέχουν τα σύμβολα 0, 1 και *, όπου το * σημαίνει είτε 0 είτε 1), οι οποίες είναι γνωστές ως σχήματα. Η δύναμη αναζήτησης των ΓΑ θεωρείται ότι βρίσκεται στην ικανότητα παράλληλης επεξεργασίας των σχημάτων. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
25
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Αναπαράσταση σε Διανύσματα Πραγματικών Τιμών Όταν ένας ΕΑ κληθεί να βελτιστοποιήσει μια συνάρτηση πραγματικών μεταβλητών με την παρακάτω μορφή: Βρες την τιμή του διανύσματος χ, έτσι ώστε η συνάρτηση F(x):RnR να ελαχιστοποιηθεί (ή να μεγιστοποιηθεί). Χρησιμοποιεί κυρίως την αναπαράσταση σε Διανύσματα Πραγματικών Αριθμών. Πράγματι, οι ΕΣ των Bäck και Schwefel (1993) και οι τεχνικές του ΕΠ των Fogel (1995) επεξεργάζονται άμεσα το διάνυσμα πραγματικών τιμών (με τα στοιχεία του να αποτελούν τις άγνωστες παραμέτρους). Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
26
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Συνδιαστική Αναπαράσταση Σε πολλά προβλήματα αναζήτησης και βελτιστοποίησης, το διάνυσμα αναπαράστασης λύσης μπορεί να περιέχει μεταβλητές διαφορετικών τύπων. Για παράδειγμα, σε ένα mixed-integer programming πρόβλημα (το οποίο αντιστοιχεί σε ένα μεγάλο σύνολο από προβλήματα μηχανικής και λήψης αποφάσεων), κάποιες από τις άγνωστες μεταβλητές μπορεί να είναι πραγματικοί αριθμοί, ενώ κάποιες άλλες μπορεί να είναι ακέραιες μεταβλητές. Στο πρόγραμμα σχεδίασης μίας μηχανικής ταχύτητας (γρανάζι) έχουμε δύο σημαντικές μεταβλητές σχεδιασμού: τον αριθμό των δοντιών και το πάχος του. Η πρώτη μεταβλητή είναι μία ακέραιη μεταβλητή, ενώ η δεύτερη είναι μία μεταβλητή που παίρνει πραγματικές τιμές. Εάν η ακέραιη μεταβλητή κωδικοποιηθεί με πέντε δυαδικά ψηφία και η πραγματική μεταβλητή κωδικοποιηθεί με πραγματικούς αριθμούς, μία τυπική αναπαράσταση του παραπάνω προβλήματος θα μπορούσε να είναι η (10011, 23.5), αντιπροσωπεύοντας δεκαεννέα δόντια και πάχος ίσο με 23.5 mm. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
27
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σε αυτά τα προβλήματα, ένα διάνυσμα αναπαράστασης λύσης δημιουργείται από την ένωση υπό-συμβολοσειρών ή αριθμητικών τιμών που αναπαριστούν ή καθορίζουν κάθε τύπο μεταβλητής. Στην μικτή αναπαράσταση που χρησιμοποιείται για το παραπάνω πρόβλημα, μπορεί να χρησιμοποιηθεί ένας δυαδικός τελεστής διασταύρωσης για την ακέραιη μεταβλητή, που αναπαριστάται από δυαδική συμβολοσειρά, και ένας τελεστής διασταύρωσης πραγματικών τιμών για τη συνεχή μεταβλητή. Έτσι, ο τελεστής διασταύρωσης που εφαρμόζεται σε αυτές τις μικτές αναπαραστάσεις αποτελεί μία συλλογή από διαφορετικούς τελεστές διασταύρωσης, καθένας από τους οποίους είναι κατάλληλος για κάθε διαφορετικό τύπο άγνωστων μεταβλητών. Παρόμοια μικτά σχήματα τελεστών μετάλλαξης χρησιμοποιούνται για τον τελεστή μετάλλαξης που θα εφαρμοστεί σε αυτή την μικτή αναπαράσταση. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
28
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Ο Τελεστής της Επιλογής (Selection Operator) Η Επιλογή συνιστά ένα σημαντικό μέρος του ΓΑ. Χρωμοσώματα επιλέγονται από τον πληθυσμό για να γίνουν γονείς και να διασταυρωθούν. Το πρώτο βήμα είναι η ανάθεση μιας τιμής καταλληλότητας. Κάθε μια ατομικότητα λαμβάνει μια πιθανότητα αναπαραγωγής ανάλογα με την αντικειμενική αξία (τιμή καταλληλότητας) και την αντικειμενική αξία όλων των άλλων οντοτήτων. Αυτή η ικανότητα κατόπιν, χρησιμοποιείται για το πραγματικό βήμα επιλογής. Ο τελεστής Επιλογής υλοποιείται σαν μια σταθμισμένη επιλογή, αφού τα χρωμοσώματα με μεγαλύτερο fitness έχουν μεγαλύτερη ευκαιρία να επιλεγούν. Τα καλύτερα δηλαδή, θα πρέπει να επιζήσουν και να δημιουργήσουν απογόνους. Είναι λοιπόν δυνατόν, ένα χρωμόσωμα να επιλεγεί περισσότερες της μιας φοράς, ή και καθόλου. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
29
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Υπάρχουν μερικοί κανόνες οι οποίοι χρησιμοποιούνται για τη σύγκριση των διαφορετικών σχεδίων επιλογής: Πίεση Επιλογής:Η πιθανότητα Επιλογής της καλύτερης οντότητας έναντι της μέσης πιθανότητας Επιλογής όλων των οντοτήτων Προκατάληψη:Η απόλυτη διαφορά μεταξύ της κανονικοποιημένης ικανότητας ενός ατόμου και της αναμενόμενης πιθανότητας αναπαραγωγής του Πλάτος:Η κλίμακα της πιθανής αξίας των απογόνων μιας οντότητας Απώλεια ποικιλομορφίας:Το ποσοστό των οντοτήτων ενός πληθυσμού που δεν επιλέγονται κατά τη διάρκεια της Επιλογής Ένταση Επιλογής:Η αναμενόμενη μέση αξία ικανότητας του πληθυσμού μετά την εφαρμογή μιας μεθόδου Επιλογής στην Κανονική Gaussian κατανομή Διακύμανση Επιλογής:Η αναμενόμενη διαφορά της κατανομής ικανότητας στον πληθυσμό μετά από την εφαρμογή μιας μεθόδου Επιλογής στην Κανονική Gaussian κατανομή Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
30
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Για την υλοποίηση της διαδικασίας της Επιλογής υπάρχουν πάρα πολλές μέθοδοι όπως η Ρουλέτα (Roulette Wheel Selection), η Ταξινομημένη Επιλογή (Rank Selection), η Επιλογή Πρωταθλημάτων - Τουρνουά (Tournament Selection), η Σταθερής Κατάστασης Επιλογή (Steady State Selection) και πολλές άλλες. Η Ρουλέτα (Roulette Wheel Selection) Το απλούστερο Σχήμα Επιλογής είναι η Ρουλέτα, αποκαλούμενη επίσης και ως Στοχαστική Δειγματοληψία με Αντικατάσταση. Η Ρουλέτα είναι ένας στοχαστικός αλγόριθμος και περιλαμβάνει την ακόλουθη τεχνική: Όλες οι οντότητες κάθε πληθυσμού χαρτογραφούνται στα παρακείμενα τμήματα μιας γραμμής, έτσι ώστε το τμήμα κάθε ατόμου να είναι ίσο με το μέγεθος της καταλληλότητάς του. Τότε παράγεται ένας τυχαίος αριθμός και το άτομο τμήμα του οποίου εκτείνεται στον τυχαίο παραγόμενο αριθμό, επιλέγεται. Η διαδικασία επαναλαμβάνεται έως ότου επιλεγεί ο επιθυμητός αριθμός οντοτήτων που θα συμμετάσχουν στην αναπαραγωγική διαδικασία (αποκαλούμενος και Πληθυσμός Ζευγαρώματος – Mating Population). Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
31
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Στον Πίνακα 4.1 παρουσιάζονται οι Πιθανότητες Επιλογής για τις 11 οντότητες ενός πληθυσμού, μαζί με την Τιμή καταλληλότητας. Αριθμός Ατόμων 1 2 3 4 5 6 7 8 9 10 11 Τιμή Καταλληλό-τητας 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 Πιθανότητα Επιλογής 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.00 Πίνακας 4.1 Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
32
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Για την Επιλογή του Πληθυσμού Ζευγαρώματος, ο ζητούμενος αριθμός των ομοιόμορφα κατανεμημένων τυχαίων αριθμών (ομοιόμορφα κατανεμημένων στο διάστημα ) παράγεται ανεξάρτητα. Έστω οι 6 τυχαίοι αριθμοί (Ομοιόμορφα και ανεξάρτητα κατανεμημένοι στο [0,1]): Στο σχήμα 4.2 παρουσιάζεται η διαδικασία Επιλογής των οντοτήτων για τον πληθυσμό του Πίνακα μαζί με τις ανωτέρω δοκιμές δειγμάτων. 0.81 0.32 0.96 0.01 0.65 0.42 Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
33
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.2: Επιλογή Ρουλέτας Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
34
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Μετά από την επιλογή του πληθυσμού ζευγαρώματος, αυτός αποτελείται από τις οντότητες: 1, 2, 3, 5, 6, 9 Η Ρουλέτα Επιλογής παρέχει μια μηδενική πόλωση των οντοτήτων μέσα στο χώρο αναζήτησης, αλλά βέβαια δεν εγγυάται για την ελάχιστη διασπορά τους. Αυτή η τεχνική Επιλογής είναι ανάλογη με μια ρόδα Ρουλέτας, με κάθε φέτα ανάλογη της τιμής καταλληλότητας κάθε οντότητας του πληθυσμού. Έτσι, στη Ρουλέτα είναι τοποθετημένα όλα τα χρωμοσώματα, λαμβάνοντας μέρος ίσο με την πιθανότητα: . Η Ρουλέτα λοιπόν, έχει την παρακάτω μορφή: Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
35
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Έπειτα, ρίχνεται ένας βόλος και επιλέγει το χρωμόσωμα. Φυσικά, το χρωμόσωμα με το μεγαλύτερο fitness θα επιλεγεί και περισσότερες φορές. Αυτό μπορεί να υλοποιηθεί με τον παρακάτω αλγόριθμο: Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
36
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
1. [Άθροισμα] Υπολογίζεται το άθροισμα S όλων των fitness τιμών των χρωμοσωμάτων του πληθυσμού. 2. [Επιλογή] Γέννησε τυχαία αριθμό r από το διάστημα (0,S) 3. [Επανέλαβε] Διατρέχεται όλος ο πληθυσμός και αθροίζεται fitness τιμών των χρωμοσωμάτων του πληθυσμού από το μηδέν στο S. 4. Όταν το S είναι μεγαλύτερο του r, σταμάτα και επέστρεψε το χρωμόσωμα στο οποίο είσαι. Φυσικά, το βήμα 1 υλοποιείται μόνο μια φορά για κάθε πληθυσμό. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
37
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Άλλος τρόπος: 1. [Άθροισμα] Υπολογίζεται το άθροισμα S όλων των fitness τιμών των χρωμοσωμάτων του πληθυσμού και την πιθανότητα επιλογής PGet. 2. [Επιλογή] Γέννησε τυχαία αριθμό r από το διάστημα (0,1) 3. [Επανέλαβε] Διατρέχεται όλος ο πληθυσμός και αθροίζεται η συσσωρευμένη πιθανότητα Ps. 4. Όταν το Ps είναι μεγαλύτερο του r, σταμάτα και επέστρεψε το χρωμόσωμα στο οποίο είσαι. Φυσικά, το βήμα 1 υλοποιείται μόνο μια φορά για κάθε πληθυσμό. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
38
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Στοχαστική Καθολική Δειγματοληψία Η Στοχαστική Καθολική Δειγματοληψία παρέχει μια μηδενική πόλωση και την ελάχιστη διασπορά. Όλες οι οντότητες κάθε πληθυσμού χαρτογραφούνται στα παρακείμενα τμήματα μιας γραμμής, έτσι ώστε το τμήμα κάθε ατόμου να είναι ίσο με το μέγεθος της καταλληλότητάς του, όπως ακριβώς στην διαδικασία της Ρουλέτας. Εδώ τοποθετούνται δείκτες σε ίσα διαστήματα κατά μήκος της γραμμής που ο αριθμός του είναι ίσος με τον αριθμό των οντοτήτων που θα επιλεγούν. Έστω, Νpointer ο αριθμός των οντοτήτων θα επιλεγούν, κατόπιν η απόσταση μεταξύ των δεικτών είναι 1/ Νpointer και η θέση του πρώτου δείκτη δίνεται από έναν τυχαία παραγόμενο αριθμό, στο διάστημα [0, 1/ Νpointer].. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
39
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Έστω ότι θα επιλεγούν 6 οντότητες. Τότε η απόσταση μεταξύ των δεικτών είναι: 1/6=0.167 Στο Σχήμα 4.3 παρουσιάζεται η Επιλογή για το παραπάνω παράδειγμα. Ο τυχαία παραγόμενος αριθμός στο διάστημα [0, 0.167] είναι: 0.1 Μετά από την Επιλογή ο Πληθυσμός ζευγαρώματος αποτελείται από τις εξής οντότητες: 1, 2, 3, 4, 6, 8 (δηλαδή επιλέγονται οι οντότητες που “δείχνουν” οι δείκτες. Η Στοχαστική Καθολική Δειγματοληψία εν αντιθέσει της διαδικασίας της Ρουλέτας, εξασφαλίζει μια επιλογή απογόνου που είναι περισσότερο κοντά στο επιθυμητό αποτέλεσμα.. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
40
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Τοπική Επιλογή (Local Selection) Στην Τοπική Επιλογή κάθε οντότητα κατοικεί μέσα σε ένα περιορισμένο περιβάλλον αποκαλούμενο Τοπική Γειτονιά (Local Neighborhood). Στις άλλες μεθόδους Επιλογής ολόκληρος ο πληθυσμός ή ένα υποσύνολό του είναι η γειτονιά Επιλογής. Οι οντότητες αλληλεπιδρούν μόνο με τις οντότητες που βρίσκονται μέσα στην ίδια περιοχή. Κάθε γειτονιά ωστόσο, καθορίζεται βάσει της δομής με την οποία κατανέμεται ο πληθυσμός. Έτσι, κάθε γειτονιά μπορεί να θεωρηθεί και ως ομάδα οντοτήτων που πιθανώς να ζευγαρωθούν μεταξύ τους. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
41
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.4: Γραμμική γειτονιά: πλήρες και μισό δαχτυλίδι Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
42
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Το πρώτο βήμα είναι η επιλογή του πρώτου μισού πληθυσμού ζευγαρώματος ομοιόμορφα και τυχαία. Αυτό μπορεί να υλοποιηθεί με έναν από τους προηγμένως αναφερόμενους αλγορίθμους Επιλογής, παραδείγματος χάριν: Στοχαστική Καθολική Δειγματοληψία ή Επιλογή Αποκοπής. Τώρα, μια τοπική γειτονιά καθορίζεται για κάθε επιλεγμένη οντότητα. Μέσα σε αυτήν την γειτονιά επιλέγεται ο συνεργάτης (σύντροφος) ζευγαρώματος. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
43
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η δομή της γειτονιάς μπορεί να είναι: Γραμμική πλήρες δαχτυλίδι, μισό δαχτυλίδι (Σχήμα 4.4) Δισδιάστατη πλήρης σταυρός, κατά το ήμισυ σταυρός (Σχήμα 4.5) πλήρες αστέρι, μισό αστέρι (Σχήμα4.6) Τρισδιάστατος και πιο σύνθετος με οποιονδήποτε συνδυασμό των ανωτέρω δομών. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
44
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.4: Γραμμική γειτονιά: πλήρες και μισό δαχτυλίδι Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
45
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
46
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.6: Δισδιάστατη γειτονιά: πλήρες και μισό αστέρι Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
47
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Επιλογή Αποκοπής (Truncation selection) Οι μέθοδοι που διαμορφώνουν τη φυσική επιλογή αποκοπής είναι μια τεχνητή μέθοδος επιλογής. Χρησιμοποιείται από τους κτηνοτρόφους για τους μεγάλους πληθυσμούς, για τη μαζική επιλογή. Στην Επιλογή Αποκοπής τα άτομα ταξινομούνται σύμφωνα με την ικανότητά τους. Μόνο τα καλύτερα άτομα επιλέγονται να γίνουν γονείς. Αυτοί οι επιλεγμένοι γονείς παράγουν τους ομοιομόρφως τυχαίους απόγονους. Η παράμετρος για την επιλογή αποκοπής είναι το κατώτατο όριο αποκοπής (Trunc). Το σημείο αποκοπής Trunc δείχνει το ποσοστό των οντοτήτων του πληθυσμού που επιλέγεται ώστε να γίνουν γονείς και παίρνει τιμές από 50%-10%. Οι οντότητες που βρίσκονται κάτω από το κατώτατο όριο αποκοπής δεν έχουν την δυνατότητα να παράγουν απόγονους. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
48
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Επιλογή πρωταθλημάτων – Τουρνουά Στην Επιλογή Πρωταθλημάτων – Τουρνουά ένας αριθμός Τουρνουά οντοτήτων επιλέγεται τυχαία από τον πληθυσμό και το καλύτερο άτομο από αυτήν την ομάδα επιλέγεται ως γονέας. Αυτοί οι επιλεγμένοι γονείς παράγουν τον απόγονο. Η παράμετρος για την επιλογή πρωταθλημάτων είναι το Τουρνουά – μέγεθος πρωταθλημάτων. Το Τουρνουά παίρνει τις τιμές που κυμαίνονται από [2, Nind] , όπου Nind ο αριθμός οντοτήτων στον πληθυσμό. Ο Πίνακας 4.5 παρουσιάζει τη σχέση μεταξύ του αριθμού πρωταθλημάτων και της Έντασης Επιλογής. Μέγεθος Πρωταθλημάτων: Ένταση Επιλογής : 0 0,56 0, Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
49
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Επιλογή Σταθερής Κατάστασης (Steady State Selection) Αυτή δεν είναι λεπτομερής μέθοδος. Η κεντρική ιδέα επιλογής είναι ένα μεγάλο μέρος των χρωμοσωμάτων να επιβιώνουν στην επόμενη γενιά. Βάσει αυτού, ο ΓΑ δρα με τον ακόλουθο τρόπο. Σε κάθε γενιά επιλέγονται κάποια ικανά χρωμοσώματα (αυτά με την μεγαλύτερη τιμή fitness) για να δημιουργήσουν απογόνους. Έπειτα, κάποια μη ικανά χρωμοσώματα (αυτά με χαμηλή τιμή fitness) αφαιρούνται από τον πληθυσμό και τη θέση τους παίρνουν οι νέοι απόγονοι που δημιουργήθηκαν. Ο υπόλοιπος πληθυσμός επιβιώνει στην νέα γενιά. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
50
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Ταξινομημένη Επιλογή Στην Ταξινομημένη Επιλογή, ο πληθυσμός ταξινομείται σύμφωνα με τις αντικειμενικές τιμές του. Η ικανότητα ή καταλληλότητα που ορίζεται σε κάθε άτομο εξαρτάται μόνο από τη θέση του στην ταξινομημένη σειρά των ατόμων του πληθυσμού και όχι από την πραγματική αντικειμενική του αξία. Η Ταξινομημένη Επιλογή ξεπερνά τα προβλήματα Διαβάθμισης της ανάθεσης ικανότητας. (Στασιμότητα στην περίπτωση όπου η Πίεση Επιλογής είναι πάρα πολύ μικρή ή πρόωρη σύγκλιση στην περίπτωση όπου η επιλογή έχει αναγκάσει την αναζήτηση να στενέψει προς τα κάτω, πάρα πολύ γρήγορα). Η αναπαραγωγική σειρά είναι περιορισμένη, έτσι ώστε κανένα άτομο να είναι σε θέση να παράγει έναν υπερβολικό αριθμό απογόνων. Η ταξινόμηση εισάγει μια ομοιόμορφη διαβάθμιση σε ολόκληρο τον πληθυσμό και παρέχει έναν απλό και αποτελεσματικό τρόπο να ελέγχει την Πίεση Επιλογής. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
51
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Ο Τελεστής Διασταύρωσης (Recombination or Crossover Operator) Είναι ένας επίσης, σημαντικός μηχανισμός του ΓΑ. Θα δημιουργηθούν δύο νέα άτομα για τη νέα γενιά, μέσω κάποιου συνδυασμού δυο ατόμων της προηγούμενης γενιάς. Οι μέθοδοι που χρησιμοποιούνται για την διασταύρωση των χρωμοσωμάτων εξαρτώνται σε μεγάλο βαθμό από την κωδικοποίηση αυτών. Έτσι για αναπαραστάσεις σε πραγματικούς αριθμούς ή σε σύμβολα χρησιμοποιούνται διαφορετικοί μηχανισμοί διασταύρωσης από αυτούς σε αναπαραστάσεις σε bit-strings. Μερικές από αυτές τις μεθόδους είναι η Διακριτή Διασταύρωση (Discrete Recombination), η Διασταύρωση Γραμμών (Line Recombination), η Διασταύρωση Ενός Σημείου (One Point Crossover), η Πολυσημειακή Διασταύρωση (Multi Points Crossover), και η Ομοιόμορφη Διασταύρωση (Uniform Crossover). Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
52
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Διασταύρωση για απεικονίσεις σε διανύσματα Πραγματικών Αριθμών Διακριτή Διασταύρωση (Discrete Recombination) Η Διακριτή διασταύρωση εκτελεί μια ανταλλαγή των μεταβλητών μεταξύ των ατόμων. Έστω τα ακόλουθα δύο άτομα με 3 μεταβλητές κάθε ένα (3 διαστάσεις), τα οποία θα χρησιμοποιηθούν επίσης, για να επεξηγηθούν και οι άλλοι τύποι διασταύρωσης: Χρωμόσωμα 1: Χρωμόσωμα 2: Για κάθε μεταβλητή ο γονέας που συμβάλλει στη αντίστοιχη μεταβλητή στον απόγονο επιλέγεται τυχαία με ίση πιθανότητα. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
53
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Δείγμα 1: Δείγμα 2: Μετά από την Διασταύρωση τα νέα άτομα που δημιουργούνται είναι: Απόγονος 1: Απόγονος 2: Στο Σχήμα 4.11 παρουσιάζεται η Γεωμετρική αναπαράσταση της Διακριτής Διασταύρωσης κατά την οποία γονείς και απόγονοι καταλαμβάνουν τις γωνίες ενός υπερ-κύβου. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
54
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.11: Πιθανές θέσεις του απογόνου μετά από τη Διακριτή Διασταύρωση Η Διακριτή διασταύρωση μπορεί να χρησιμοποιηθεί σε οποιοδήποτε είδος μεταβλητών (δυαδικές, πραγματικές ή σύμβολα). Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
55
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Ενδιάμεση Διασταύρωση Η Ενδιάμεση διασταύρωση είναι μια μέθοδος μόνο εφαρμόσιμη στις πραγματικές μεταβλητές (και γενικά τις μη δυαδικές μεταβλητές). Εδώ οι μεταβλητές του απογόνου επιλέγονται μεταξύ των μεταβλητών των γονέων. Ο απόγονος παράγεται σύμφωνα με τον κανόνα: απόγονος = γονέας 1 + α (γονέας 2 - γονέας 1), όπου α είναι ένας παράγοντας ξελεπιάσματος που επιλέγεται ομοιόμορφα τυχαία μέσα από ένα διάστημα [-δ, 1+δ]. Στην Ενδιάμεσο Διασταύρωση δ=0, ενώ για την Εκτεταμένη Ενδιάμεση Διασταύρωση δ>0. Μια καλή επιλογή είναι δ=0.25. Κάθε μια μεταβλητή στον απόγονο είναι το αποτέλεσμα του συνδυασμού των μεταβλητών σύμφωνα με την ανωτέρω έκφραση με α που επιλέγεται για κάθε μια μεταβλητή. Στο Σχήμα 4.12 παρουσιάζεται μια εικόνα της περιοχής μεταολής της μεταβλητής του απογόνου που καθορίζεται από τις μεταβλητές των γονέων. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
56
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.12: Περιοχή για τη μεταβλητή αξία του απογόνου έναντι των γονέων στην Ενδιάμεση Διασταύρωση Θεωρούμε τα ακόλουθα δύο άτομα με 3 μεταβλητές το κάθε ένα: Χρωμόσωμα 1: Χρωμόσωμα 2: Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
57
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η επιλεγόμενη τιμή του α, για αυτό το παράδειγμα είναι: Δείγμα 1: 0,5 1,1 -0,1 Δείγμα 2: 0,1 0,8 0,5 Τα νέα άτομα υπολογίζονται ως εξής: Απόγονος 1: 67,5 1,9 2,1 Απόγονος 2: 23,1 8,2 19,5 Κατά την Ενδιάμεση Διασταύρωση οι απόγονοι βρίσκονται σε οποιοδήποτε σημείο μέσα σε ένα υπέρ-κύβο ελαφρώς μεγαλύτερο από αυτό που καθορίζεται από τους γονείς. Στο Σχήμα 4.13 παρουσιάζεται η Γεωμετρική αναπαράσταση των πιθανών θέσεων των απογόνων μετά από την Ενδιάμεση Διασταύρωση. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
58
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.13: Πιθανή περιοχή των απογόνων μετά από την Ενδιάμεση Διασταύρωση Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
59
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Διασταύρωση Γραμμών Η Διασταύρωση γραμμών είναι παρόμοια με την Ενδιάμεση Διασταύρωση, εκτός από το ότι η τιμή του α είναι ίδια για όλες τις μεταβλητές: Θεωρούμε τα ακόλουθα δύο άτομα με 3 μεταβλητές το κάθε ένα: Χρωμόσωμα 1: Χρωμόσωμα 2: Η επιλεγόμενη τιμή α για αυτό το παράδειγμα είναι: Δείγμα 1: 0,5 Δείγμα 2: 0,1 Τα νέα άτομα υπολογίζονται ως εξής: Απόγονος 1: 67,5 14,5 19,5 Απόγονος 2: 23,1 22,9 7,9 Η Διασταύρωση Γραμμών μπορεί να παραγάγει οποιοδήποτε σημείο στη γραμμή που καθορίζεται από τους δύο γονείς. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
60
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Στο Σχήμα 4.14 παρουσιάζονται οι πιθανές θέσεις των απογόνων μετά από τη Διασταύρωση Γραμμών. Σχήμα 4.14: Πιθανές θέσεις των απογόνων μετά από τη Διασταύρωση Γραμμών Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
61
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Διασταύρωση για Δυαδικές Απεικονίσεις Διασταύρωση Ενός Σημείου (Single Point Crossover) Η Διασταύρωση Ενός Σημείου είναι ο πιο απλός τρόπος διασταύρωσης. Στην Διασταύρωση Ενός Σημείου επιλέγεται ομοιόμορφα και τυχαία ένα σημείο (Σημείο Διασταύρωσης) με k [1, 2, …, Nvar] όπου Nvar ο αριθμός των μεταβλητών κάθε οντότητας. Στο σημείο αυτό k κόβονται τα δύο χρωμοσώματα και ανταλλάσσονται οι μεταβλητές τους, παράγοντας έτσι δύο νέα χρωμοσώματα. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
62
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Θεωρούμε τα ακόλουθα δύο χρωμοσώματα με 16 δυαδικές μεταβλητές το κάθε ένα: Χρωμόσωμα 1: Χρωμόσωμα 2: Έστω ότι το επιλεγόμενο Σημείο Διασταύρωσης είναι το 9 Μετά από την ανταλλαγή των μεταβλητών οι δύο απόγονοι που προκύπτουν είναι οι εξής: Απόγονος 1: Απόγονος 2: Στο Σχήμα 4.15 επεξηγείται η διαδικασία Διασταύρωσης Ενός Σημείου. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
63
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σχήμα 4.15: Διασταύρωση Ενός Σημείου Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
64
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Πολυσημειακή Διασταύρωση (Multi Points Crossover) Στην Πολυσημειακή Διασταύρωση επιλέγονται ομοιόμορφα και τυχαία m σημεία kj (Σημεία Διασταύρωσης) με kj [1, 2, …, Nvar-1] όπου Nvar ο αριθμός των μεταβλητών κάθε οντότητας και j=1, 2, m. Κατόπιν, οι μεταβλητές μεταξύ των διαδοχικών Σημείων Διασταύρωσης ανταλλάσσονται μεταξύ των δύο γονέων για να παραγάγουν δύο νέους απογόνους. Το τμήμα μεταξύ της πρώτης μεταβλητής του χρωμοσώματος και του πρώτου Σημείου Διασταύρωσης δεν ανταλλάσσονται μεταξύ των οντοτήτων. Θεωρούμε τα ακόλουθα δύο χρωμοσώματα με 16 δυαδικές μεταβλητές το κάθε ένα: Χρωμόσωμα 1: Χρωμόσωμα 2: Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
65
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Έστω ότι τα επιλεγόμενα Σημεία Διασταύρωσης για m=4 είναι τα σημεία: 4, 6, 8 και 11. Μετά από τη διασταύρωση οι δύο απόγονοι είναι οι εξής: Απόγονος 1: Απόγονος 2: Στο Σχήμα 4.16 εξηγείται η διαδικασία Πολυσημειασκής Διασταύρωσης. Σχήμα 4.16: Πολυσημειακή διασταύρωση με m=3 Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
66
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η ιδέα πίσω από Πολυσημειακή Διασταύρωση, και βέβαια σε πολλές από τις παραλλαγές του τελεστή διασταύρωσης, είναι ότι τα μέρη της αναπαράστασης των χρωμοσωμάτων που συμβάλλουν πιο πολύ στην απόδοση μιας συγκεκριμένης οντότητας δεν μπορούν να περιληφθούν απαραιτήτως στα παρακείμενα sub-strings. Περαιτέρω, η αποδιοργανωτική φύση της Πολυσημειακής Διασταύρωσης εμφανίζεται να ενθαρρύνει την εξερεύνηση του χώρου αναζήτησης, παρά να ευνοεί τη σύγκλιση σε άτομα υψηλής απόδοσης από την αρχή της αναζήτησης, καθιστώντας έτσι την αναζήτηση πιο ισχυρή. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
67
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Ομοιόμορφη Διασταύρωση (Uniform Crossover) Η Ενός Σημείου και η Πολυσημειακή Διασταύρωση καθορίζουν τα διαγώνια σημεία ως θέσεις μεταξύ των γεωμετρικών τόπων όπου ένα άτομο μπορεί να χωριστεί. Η Ομοιόμορφη Διασταύρωση γενικεύει αυτό το Σχήμα ώστε να γίνει κάθε γεωμετρικός τόπος ένα πιθανό σημείο διασταύρωσης. Σύμφωνα με την ομοιόμορφη διασταύρωση, οι δύο γονείς δημιουργούν δύο απογόνους βάσει μιας συμβολοσειράς φόρμας (Template ή Mask). Η φόρμα αυτή, επιλέγεται με ομοιόμορφο και τυχαίο τρόπο και ανάλογα με την τιμή του δυαδικού ψηφίου της κάθε θέσης της, καθορίζεται για κάθε απόγονο από ποιο γονέα θα προέρχεται το γενετικό υλικό για την συγκεκριμένη θέση. Έτσι, αν το δυαδικό ψηφίο της φόρμας είναι 1, τότε το πρώτο παιδί παίρνει την τιμή του πρώτου γονέα για αυτή τη θέση, ενώ αν είναι 0 παίρνει την τιμή του δεύτερου γονέα για τη συγκεκριμένη θέση. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
68
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Θεωρούμε τα ακόλουθα δύο χρωμοσώματα με 11 δυαδικές μεταβλητές το κάθε ένα: Χρωμόσωμα 1: Χρωμόσωμα 2: Έστω ότι η επιλεγόμενη Φόρμα που θα χρησιμοποιηθεί είναι η εξής: Φόρμα1: Φόρμα2: Μετά από τη διασταύρωση οι δύο απόγονοι είναι οι εξής: Απόγονος 1: Απόγονος 2: Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
69
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η Ομοιόμορφη Διασταύρωση, όπως η Πολυσημειακή, έχει θεωρηθεί ότι μειώνει την προκατάληψη που συνδέεται με το μήκος της δυαδικής αναπαράστασης που χρησιμοποιείται στην κωδικοποίηση ενός δεδομένου συνόλου παραμέτρων. Αυτό βοηθά να ξεπεραστεί η προκατάληψη στην Ενός Σημείου Διασταύρωση που έχει να κάνει με τα μικρά sub-strings, χωρίς την απαίτηση της ακριβούς κατανόησης της σημασίας των μεμονωμένων κομματιών στην αναπαράσταση οντοτήτων. Οι Spears και De Jong έχουν περιγράψει πώς η Ομοιόμορφη Διασταύρωση μπορεί να παραμετροποιηθεί με την εφαρμογή μιας πιθανότητας βάση της οποίας θα ανταλλάσσονται τα bits. Αυτή η πρόσθετη παράμετρος μπορεί να χρησιμοποιηθεί για να ελέγξει το ποσό διάσπασης κατά τη διάρκεια της Διασταύρωσης χωρίς εισαγωγή μιας δέσμευσης ως προς το μήκος της χρησιμοποιούμενης αναπαράστασης. Ο αλγόριθμος της Ομοιόμορφης διασταύρωσης είναι ίδιος με αυτόν της Διακριτής Διασταύρωσης. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
70
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Ο Τελεστής Μετάλλαξης (Mutation Operator) Ο μηχανισμός της Μετάλλαξης εφαρμόζεται στους απογόνους ακριβώς μετά τη Διασταύρωση. Ο τελεστής αυτός εμποδίζει στην πραγματικότητα, να πέσουν όλες οι λύσεις του πληθυσμού σε κάποιο τοπικό βέλτιστο του προβλήματος που επιλύεται, καθώς αποτρέπει τη στασιμότητα του ΓΑ. Κατά την Μετάλλαξη αλλάζει τυχαία κάποιος απόγονος με μια μικρή πιθανότητα. Η πιθανότητα αυτή καλείται Πιθανότητα Μετάλλαξης και είναι αντιστρόφως ανάλογη προς τον αριθμό των μεταβλητών (διαστάσεις). Όσο περισσότερες είναι οι διαστάσεις / μεταβλητές μιας οντότητας, τόσο μικρότερη είναι η Πιθανότητα Μετάλλαξης. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
71
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Μετάλλαξη για απεικονίσεις σε διανύσματα Πραγματικών αριθμών Στο Σχήμα 4.17 παρουσιάζονται οι πιθανές Μεταλλάξεις για μια πραγματικά εκτιμούμενη οντότητα σε δύο διαστάσεις. Σχήμα 4.17: Επίδραση της Μετάλλαξης Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
72
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Το μέγεθος του βήματος Μετάλλαξης είναι συνήθως δύσκολο να επιλεχτεί. Το βέλτιστο μέγεθος βημάτων εξαρτάται από το εξεταζόμενο πρόβλημα και μπορεί ακόμη και να ποικίλει κατά τη διάρκεια της διαδικασίας βελτιστοποίησης. Τα μικρά βήματα είναι συχνά επιτυχή, αλλά μερικές φορές τα μεγαλύτερα βήματα είναι γρηγορότερα. Ανομοιόμορφη Μετάλλαξη Ένας τελεστής Μετάλλαξης που αυξάνει την πιθανότητα της Μετάλλαξης να είναι κοντά στο 0, καθώς ο αριθμός του πληθυσμού αυξάνεται. Αυτός ο τελεστής Μετάλλαξης κρατά τον πληθυσμό σε στασιμότητα στα αρχικά στάδια της εξέλιξης και κατόπιν, σε μεταγενέστερα στάδια της εξέλιξης, επιτρέπει στο ΓΑ να αναζητήσει ακριβέστερα τη λύση. Αυτός ο τελεστής Μετάλλαξης μπορεί μόνο να χρησιμοποιηθεί για τα γονίδια ακέραιων αριθμών. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
73
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Gaussian Ένας τελεστής Μετάλλαξης που προσθέτει μια Gaussian κατανεμημένη τυχαία τιμή μονάδων στο επιλεγμένο γονίδιο. Η νέα τιμή γονιδίων απορρίπτεται εάν πέφτει έξω από τα καθορισμένα ως προς τον χρήστη χαμηλότερα ή ανώτερα όρια για εκείνο το γονίδιο. Αυτός ο τελεστής Μετάλλαξης μπορεί μόνο να χρησιμοποιηθεί για τα γονίδια ακέραιων αριθμών. Μετάλλαξη για Δυαδικές Απεικονίσεις Για τις οντότητες που έχουν απεικονιστεί σε bit-strings η Μετάλλαξη σημαίνει η αναστροφή (Flip) των bits. Έτσι, αλλάζουμε επιλεγόμενα bits του χρωμοσώματος από 1 σε 0 ή από 0 σε 1, βάσει της Πιθανότητας Μετάλλαξης. Συνήθως, ο μηχανισμός αυτός έχει μικρή πιθανότητα να συμβεί. Σχηματικά έχει ως εξής: Χρωμόσωμα 1: Απόγονος 1 : Για κάθε χρωμόσωμα το bit που θα υποστεί Μετάλλαξη είναι επιλεγμένο ομοιόμορφα και τυχαία. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
74
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Τα Κριτήρια Λήξης ενός Γενετικού Αλγορίθμου Η λήξη είναι το κριτήριο από το οποίο ο γενετικός αλγόριθμος αποφασίζει εάν θα συνεχίσει ή θα σταματήσει την αναζήτηση. Κάθε ένα από το κριτήριο λήξης ελέγχεται μετά από κάθε γενεά για να δει εάν είναι χρόνος να σταματήσει. Αριθμός παραγωγής Μια μέθοδος λήξης που σταματά την εξέλιξη όταν ολοκληρωθεί ο, καθορισμένος από τον χρήστη, ανώτατος αριθμός εξελίξεων. Χρόνος εξέλιξης Μια μέθοδος λήξης που σταματά την εξέλιξη όταν υπερβαίνει η παρερχόμενη περίοδος εξέλιξης, τον καθορισμένο από τον χρήστη ανώτατο χρόνο εξέλιξης. Εξ ορισμού, την εξέλιξη δεν σταματούν έως ότου έχει ολοκληρώσει η εξέλιξη της τρέχουσας παραγωγής, αλλά αυτή η συμπεριφορά μπορεί να αλλάξει, έτσι ώστε να σταματά η εξέλιξη μέσα σε μια παραγωγή. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
75
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Κατώτατο όριο ικανότητας Μια μέθοδος λήξης που σταματά την εξέλιξη όταν η τιμή του καλύτερου – ικανότερου ατόμου στον τρέχοντα πληθυσμό γίνεται μεγαλύτερη από το, καθορισμένο ως προς τον χρήστη, κατώτατο όριο ικανότητας. Αυτή η μέθοδος λήξης σταματά επίσης την εξέλιξη, όταν η καλύτερη ικανότητα στον τρέχοντα πληθυσμό γίνεται μεγαλύτερη από το, καθορισμένο ως προς τον χρήστη, κατώτατο όριο ικανότητας, όταν ο στόχος είναι να μεγιστοποιηθεί η ικανότητα. Σύγκλιση ικανότητας Μια μέθοδος λήξης που σταματά την εξέλιξη όταν κρίνεται ότι οι τιμές της καταλληλότητας των ατόμων συγκλίνουν. Δύο φίλτρα διαφορετικού μήκους χρησιμοποιούνται για να ομαλοποιήσουν την καλύτερη ικανότητα στις γενεές. Όταν η ομαλοποιημένη καλύτερη ικανότητα από το μακρύτερο φίλτρο είναι μικρότερη από ένα, καθορισμένο ως προς τον χρήστη, ποσοστό της ομαλοποιημένης καλύτερης ικανότητας του κοντότερου φίλτρου, τότε η ικανότητα κρίνεται πως συγκλίνει και η εξέλιξη ολοκληρώνεται. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
76
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Σύγκλιση πληθυσμού Μια μέθοδος λήξης που σταματά την εξέλιξη όταν κρίνεται ο πληθυσμός όπως συγκλίνει. Ο πληθυσμός κρίνεται ότι συγκλίνει, όταν η μέση ικανότητα σε ολόκληρο τον τρέχοντα πληθυσμό είναι μεγελύτερη από ένα, καθορισμένο ως προς τον χρήστη, ποσοστό καλύτερης ικανότητας τρέχοντος πληθυσμού. Η σύγκλιση γονιδίων: Μια μέθοδος λήξης που σταματά την εξέλιξη όταν ένα, καθορισμένο ως προς τον χρήστη, ποσοστό γονιδίων που αποτελούν ένα χρωμόσωμα κρίνεται όπως συγκλίνουν. Ένα γονίδιο κρίνεται ότι συγκλίνει όταν η μέση αξία εκείνου του γονιδίου σε όλα τα χρωμοσώματα του τρέχοντος πληθυσμού είναι μεγαλύτερη από ένα, καθορισμένο ως προς τον χρήστη, ποσοστό της μέγιστης αξίας γονιδίων στα χρωμοσώματα. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
77
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Παράμετροι ενός Γενετικού Αλγόριθμου Κάθε ΓΑ εξαρτάται από παραμέτρους οι οποίες εξαρτώνται από το πρόβλημα που επιλύεται καθώς επίσης και τα συγκεκριμένα δεδομένα αυτού. Γενικά δεν υπάρχει καμιά θεωρία που να περιγράφει τις παραμέτρους του ΓΑ για κανένα πρόβλημα. Κάποιες προτάσεις που δίδονται είναι αποτέλεσμα εμπειρικής μελέτης των ΓΑ, οι οποίες μάλιστα εφαρμόζονται μόνο σε δυαδική αναπαράσταση. Οι παράμετροι ενός ΓΑ είναι: Πιθανότητα διασταύρωσης (Crossover Probability) Η πιθανότητα διασταύρωσης εκφράζει πόσο συχνά θα εκτελείται η διασταύρωση. Αν δεν υπάρχει διασταύρωση, τότε οι απόγονοι θα ήταν πιστά αντίγραφα των γονέων τους. Αντίθετα, αν εκτελείται η διασταύρωση, οι απόγονοι θα προέρχονται από μέρη των χρωμοσωμάτων των γονέων τους. Αν η πιθανότητα διασταύρωσης είναι 100%, τότε όλοι οι απόγονοι έχουν δημιουργηθεί από διασταύρωση, ενώ αν είναι 0%, ολόκληρος ο πληθυσμός προέρχεται από ακριβεί αντίγραφα των χρωμοσωμάτων της προηγούμενης γενιάς πληθυσμού (αυτό δεν σημαίνει ότι η νέα γενιά είναι ίδια!) Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
78
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Η διασταύρωση πραγματοποιείται με την ελπίδα τα νέα χρωμοσώματα να έχουν λάβει τα καλύτερα μέρη των προγόνων τους και ίσως να είναι καλύτερα. Το ποσοστό Διασταύρωσης θα πρέπει να είναι υψηλό, περίπου 80%-90% (ωστόσο, αποτελέσματα προβλημάτων δείχνουν το ποσοστό διασταύρωσης περίπου στο 60%, είναι το καλύτερο). Η πιθανότητα διασταύρωσης σημειώνεται με Pc. Πιθανότητα Μετάλλαξης (Mutation Probability) Η πιθανότητα Μετάλλαξης εκφράζει πόσο συχνά θα μεταλλάσσονται μέρη του χρωμοσώματος. Αν δεν υπάρχει μετάλλαξη, οι απόγονοι που λαμβάνονται μετά τη διασταύρωση (ή την αντιγραφή) δεν υφίστανται καμία αλλαγή, ενώ αν εκτελείται η μετάλλαξη, μέρη του χρωμοσώματος μεταβάλλονται. Αν η πιθανότητα μετάλλαξης είναι 100%, ολόκληρα τα χρωμοσώματα αλλάζουν. Αν είναι 0%, δεν αλλάζει τίποτα. Η Μετάλλαξη πραγματοποιείται για να εμποδίσει τον ΓΑ να πέσει σε τοπικά ακρότατα, αλλά δεν πρέπει να συμβαίνει πολύ συχνά, γιατί μετά στην πραγματικότητα, ο ΓΑ θα μοιάζει με τυχαίο ψάξιμο. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
79
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Διαφορετικές δημοσιεύσεις αναφέρουν αποτελέσματα για το βέλτιστο ποσοστό Μετάλλαξης. Κάποιες αναφέρουν ότι ένα ποσοστό Μετάλλαξης, ίσο με 1/n, όπου n ο αριθμός των μεταβλητών, παρήγαγε πολύ καλά αποτελέσματα για ένα μεγάλο πλήθος δοκιμών. Το ποσοστό Μετάλλαξης θα πρέπει να είναι χαμηλό. Το καλύτερο ποσοστό αναφέρεται γύρω στο 0.5%-1%. Η πιθανότητα Μετάλλαξης σημειώνεται με Pm. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
80
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Το μέγεθος του πληθυσμού (Population Size) Το μέγεθος του πληθυσμού εκφράζει πόσα χρωμοσώματα αποτελούν τον πληθυσμό (σε κάθε γενιά). Αν είναι μόνο μερικά χρωμοσώματα, ο ΓΑ έχει μόνο μερικές πιθανότητες να εκτελέσει διασταύρωση και ένα μικρό μέρος του χώρου καταστάσεων θα εξεταστεί. Από την άλλη πλευρά, αν υπάρχουν πάρα πολλά χρωμοσώματα, ο ΓΑ θα μειώσει την ταχύτητά του. Μελέτες δείχνουν ότι μεταβάλλοντας ακραία το πλήθος των χρωμοσωμάτων (το οποίο εξαρτάται κυρίως από την αναπαράσταση και το πρόβλημα) δεν είναι πολύ πρακτικό, αφού δεν επιτυγχάνεται γρήγορα η λύση του προβλήματος καθώς αυξάνεται το μέγεθος του πληθυσμού. Ίσως να προκαλεί έκπληξη το ότι μεγάλο μέγεθος πληθυσμού συνήθως δεν βελτιώνει την απόδοση του ΓΑ ( με την έννοια της ταχύτητας εύρεσης της λύσης). Ένας καλός αριθμός χρωμοσωμάτων σε κάθε πληθυσμό είναι περίπου 20-30, όμως, κάποιες φορές μεγέθη θεωρούνται καλύτερα. Κάποιες μελέτες επίσης, δείχνουν ότι το μέγεθος του πληθυσμού εξαρτάται από την αναπαράσταση και κυρίως στο μέγεθος του string. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
81
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Όπως αναφέρθηκε νωρίτερα, ένας γενετικός αλγόριθμος εξελίσσει έναν πληθυσμό ατόμων, σύμφωνα με κάποια συνάρτηση ικανότητας (περιβάλλον). Η θεωρία δείχνει ότι το μέγεθος του πληθυσμού είναι κρίσιμο για την απόδοση του Γενετικού Αλγορίθμου. Οι μικροί πληθυσμοί βρίσκουν γενικά, τις καλές λύσεις γρήγορα, αλλά είναι συχνά κολλημένοι στα τοπικά βέλτιστα. Οι μεγαλύτεροι πληθυσμοί είναι λιγότερο πιθανό να πιαστούν από τα τοπικά βέλτιστα, αλλά γενικά παίρνουν περισσότερο χρόνο για να βρουν τις καλές λύσεις. Ένας άλλος τρόπος να προσεγγισθεί ένας πληθυσμός είναι ως πηγή στατιστικών για το περιβάλλον. Ένας μεγαλύτερος πληθυσμός επιτρέπει στο διάστημα να ελεγχθεί με περισσότερη λεπτομέρεια, με αποτέλεσμα να προκύπτουν ακριβέστερες στατιστικές. Αντίθετα, ένας μικρός πληθυσμός επιτρέπει στο διάστημα να ελεγχθεί λιγότερο λεπτομερώς, παράγοντας αποτελέσματα με μεγαλύτερη απόκλιση. Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
82
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
ΤΕΛΟΣ 4ΟΥ ΚΕΦΑΛΑΙΟΥ Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.