ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο EVOLOTIONARY ALGORITHMS 1
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Η Λογική (1/2) Ο Εξελικτικός Υπολογισµός (evolutionary computation) χρησιµοποιεί τα υπολογιστικά µοντέλα εξελικτικών διαδικασιών για το σχεδιασµό και την υλοποίηση συστηµάτων επίλυσης προβληµάτων. Υπάρχει ποικιλία εξελικτικών υπολογιστικών µοντέλων, τα οποία είναι γνωστά και ως Εξελικτικοί Αλγόριθµοι (ΕΑs -evolutionary algorithms). 2
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Η Λογική (2/2) Οι ΕΑs εµπνέονται από τις διαδικασίες εξέλιξης των ζωντανών οργανισµών: Για πολλές γενιές, οι φυσικοί οργανικοί πληθυσµοί εξελίσσονται σύµφωνα µε τις αρχές της φυσικής εξέλιξης και της επιβίωσης του καταλληλότερου. Οι ΕΑs διαχειρίζονται ένα πληθυσµό από λύσεις (ζωντανοί οργανισµοί) εφαρµόζοντας την αρχή της «επιβίωσης του καταλληλότερου» για να παράγουν όλο και υψηλότερης ποιότητας λύσεις, ευελπιστώντας ότι θα προσεγγίσουν τελικώς τη βέλτιστη λύση. 3
ΛΕΞΙΚΟ & ΕΝΝΟΙΕΣ Κάθε κύτταρο ενός ζωντανού οργανισµού περιλαµβάνει χρωµοσώµατα. Κάθε χρωµόσωµα περιλαµβάνει ένα σύνολο από γονίδια (genes). Κάθε γονίδιο καθορίζει κάποια άποψη του οργανισµού (χρώµα µατιών). Μια συλλογή γονιδίων καλείται κάποιες φορές ως γονότυπος. Η Αναπαραγωγή (Reproduction) περιλαµβάνει τη «ιασταύρωση» των γονιών για να παράγουν τα παιδιά και στη συνέχεια µικρές Μεταλλάξεις (σφάλµατα). Η Καταλληλότητα ενός οργανισµού αξιολογείται ανάλογα µε τη δυνατότητα του να αναπαράγει πριν πεθάνει Η εξέλιξη βασίζεται στην «επιβίωση του ισχυρότερου (καταλληλότερου)». 4
ΦΥΣΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ (1/2) Στη φύση, τα άτοµα ενός πληθυσµού ανταγωνίζονται µεταξύ τους για κοινούς βιοποριστικούς σκοπούς. Ακόµη, τα άτοµα του ίδιου είδους συχνά ανταγωνίζονται για την προσέλκυση ενός κατάλληλου συντρόφου προκειµένου να διαιωνίσουν το είδος. Τα άτοµα εκείνα που είναι περισσότερο επιτυχηµένα στο να επιβιώνουν και να προσελκύουν συντρόφους είναι εκείνα που αναµένεται να αποκτήσουν σχετικά µεγάλο αριθµό απογόνων. 5
ΦΥΣΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ (2/2) Τα λιγότερο επιτυχηµένα άτοµα (individuals) στο να επιβιώνουν αναµένεται να αποκτήσουν λίγους ή καθόλου απογόνους-παιδιά παιδιά (offspring). Αυτό σηµαίνει ότι τα γονίδια (genes) από τα περισσότερο κατάλληλα άτοµα θα κυριαρχήσουν στις επόµενες γενιές απογόνων του είδους. Ο συνδυασµός καλών χαρακτηριστικών από διαφορετικούς προγόνους µπορεί µερικές φορές να παράγει υπερκατάλληλους απογόνους, των οποίων η καταλληλότητα είναι µεγαλύτερη από αυτή των προγόνων τους. Με τον τρόπο αυτό, τα είδη εξελίσσονται έτσι ώστε να γίνονται περισσότερο προσαρµοσµένα στο περιβάλλον τους. 6
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΕΝΙΚΑ (1/5) Οι ΕAs χρησιµοποιούν ένα άµεσο ανάλογο της φυσικής συµπεριφοράς. Οι ΕAs εργάζονται µε πληθυσµούς από άτοµα, κάθε άτοµο από τα οποία αντιπροσωπεύει µια εφικτή λύση ενός προβλήµατος βελτιστοποίησης. Σε κάθε άτοµο αντιστοιχεί µια τιµή καταλληλότητας (fitness value), η οποία εκφράζει το πόσο καλή είναι η λύση που αντιπροσωπεύει το άτοµο για την επίλυση του συγκεκριµένου προβλήµατος. 7
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΕΝΙΚΑ (2/5) Οι λύσεις µε υψηλότερη τιµή καταλληλότητας έχουν τις περισσότερες ευκαιρίες για συµµετέχουν στην αναπαραγωγή- κατασκευή µέσο της ανταλλαγής στοιχείων της δοµής τους - «γενετικού υλικού» µε άλλες λύσεις του πληθυσµού. Η διαδικασία αυτή δηµιουργεί απογόνους-λύσεις που µοιράζονται κοινά χαρακτηριστικά, που έχουν «κληρονοµήσει» από τους γονείς- λύσεις τους. Τα λιγότερο κατάλληλα άτοµα-λύσεις λύσεις, είναι λιγότερο πιθανό να επιλεγούν για αναπαραγωγή και κατά συνέπεια πεθαίνουν ή εξαφανίζονται. Ένας διαφοροποιηµένος πληθυσµός από εφικτές λύσεις παράγεται µε τον τρόπο αυτό µε τη βοήθεια επιλογής των καλύτερων ατόµων από τον τρέχων πληθυσµό, που διασταυρώνεται για την παραγωγή νέων ατόµων. 8
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΕΝΙΚΑ (3/5) Η νέα αυτή γενιά έχει µεγαλύτερη αναλογία χαρακτηριστικών που κατείχαν τα πλέον κατάλληλα άτοµα της προηγούµενης γενιάς. Με τον τρόπο αυτό, µετά από αρκετές γενιές, τα καλά χαρακτηριστικά διαχέονται στα άτοµα του πληθυσµού, αναµιγνύονται και ανταλλάσσονται µε άλλα καλά χαρακτηριστικά, και η διαδικασία συνεχίζεται. 9
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΕΝΙΚΑ (4/5) Ενισχύοντας την αναπαραγωγή των καταλληλότερων ατόµων (λύσεων), οι πλέον υποσχόµενες περιοχές του χώρου λύσεων ερευνώνται λεπτοµερώς. Αν ο ΕA έχει σχεδιαστεί καλά, οι πληθυσµοί των λύσεων αναµένεται να συγκλίνουν στο παγκόσµιο βέλτιστο του προβλήµατος. 10
ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΕΝΙΚΑ (5/5) Η υλοποίηση ενός ΕA απαιτεί Κωδικοποίηση Ατόµου Κάθε άτοµο του πληθυσµού αποτελεί µια δοµή δεδοµένων που αναπαριστά τη «γενετική δοµή» µια πιθανής λύσης Αρχικοποίηση του Πληθυσµού Κάθε άτοµο του πληθυσµού αποτελεί µια δοµή δεδοµένων που αναπαριστά τη «γενετική δοµή» µια πιθανής λύσης Συνάρτηση Καταλληλότητας Μέθοδος Αναπαραγωγής (Reproduction) Σχεδιασµός Τελεστή Μετάλλαξης (Mutation Operator) ή/και Σχεδιασµός Τελεστή ιασταύρωσης (Crossover Operator) Κριτήρια Επιλογής Απόφαση σχετική µε τον τρόπο επιλογής των ατόµων του πληθυσµού που θα αντικατασταθούν 11
ΕΞΕΛΙΚΤΙΚΟΣ ΚΥΚΛΟΣ ΕΠΙΛΟΓΗ ΓΟΝΕΙΣ ΙΑΣΤΑΥΡΩΣΗ ΠΛΗΘΥΣΜΟΣ ΜΕΤΑΛΛΑΞΗ ΕΠΙΒΙΩΣΗ ΠΑΙ ΙΑ 12
ΨΕΥ ΟΚΩ ΙΚΑΣ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ (1/3) διαδικασία EA; { t = 0; Αρχικοποίησε Πληθυσµό P(t); Εκτίµηση P(t); µέχρι (να γίνει) { t = t + 1; Επιλογή_Γονέων P(t); ιασταύρωση P(t); Μετάλλαξη P(t); Εκτίµηση P(t); Επιβίωση P(t); } } 13
ΨΕΥ ΟΚΩ ΙΚΑΣ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ (2/3) Ένας πληθυσµός από άτοµα αρχικοποιείται και στη συνέχεια εξελίσσεται από γενιά σε γενιά µετά από επαναλαµβανόµενες εφαρµογές των µηχανισµών «Eκτίµηση» και «Eπιλογή» και των τελεστών (operators) «ιασταύρωση» και «Μετάλλαξη». Ο πληθυσµός έχει συνήθως σταθερό µέγεθος N σε ένα ΕΑ. Η «Εκτίµηση» µετρά την καταλληλότητα του κάθε ατόµου. Η «Εκτίµηση» συνήθως αποτελεί µια συνάρτηση καταλληλότητας. 14
ΨΕΥ ΟΚΩ ΙΚΑΣ ΕΞΕΛΙΚΤΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ (3/3) Η «Επιλογή» συνήθως εκτελείται σε δύο βήµατα: Στην «Επιλογή Γονέων» και στην «Επιβίωση». Η «Επιλογή Γονέων» αποφασίζει ποιος από τον πληθυσµό γίνεται γονέας και πόσα παιδιά οι γονείς έχουν. Τα παιδιά δηµιουργούνται µέσω της «ιασταύρωσης», η οποία ανταλλάσσει πληροφορίες µεταξύ των γονέων, και της «Μετάλλαξης», η οποία τροποποιεί περαιτέρω τα παιδιά. Στην συνέχεια εκτιµάται η καταλληλότητα των παιδιών. Τέλος, στο βήµα «Επιβίωση» αποφασίζεται ποιος επιβιώνει από τον υπάρχων πληθυσµό. 15
ΚΩ ΙΚΟΠΟΙΗΣΗ ΠΛΗΘΥΣΜΟΥ (1/3) Κωδικοποίηση αποτελεί τη διαδικασία αναπαράστασης µιας λύσης µε τη µορφή συµβολοσειράς (string), η οποία µεταφέρει την απαραίτητη πληροφορία. Όπως στο χρωµόσωµα, κάθε γονίδιο καθορίζει ένα συγκεκριµένο χαρακτηριστικό του ατόµου, οµοίως, κάθε στοιχείο της συµβολοσειράς παριστάνει ένα χαρακτηριστικό της λύσης. 16
ΚΩ ΙΚΟΠΟΙΗΣΗ ΠΛΗΘΥΣΜΟΥ (2/3) υαδική Κωδικοποίηση Αποτελεί το συχνότερο τρόπο κωδικοποίησης. Τα χρωµοσώµατα είναι συµβολοσειρές των στοιχείων 1 και 0 και κάθε θέση στο χρωµόσωµα αναπαριστάνει ένα συγκεκριµένο χαρακτηριστικό του προβλήµατος Χρωµόσωµα A Χρωµόσωµα B 10110010110011100101 11111110000000011111 Παράδειγµα: Το Knapsack πρόβληµα Το Knapsack πρόβληµα: Υπάρχουν αντικείµενα δεδοµένης αξίας και µεγέθους. Το σακίδιο (knapsack) έχει δεδοµένη χωρητικότητα. Επέλεξε τα αντικείµενα µε σκοπό της µεγιστοποίηση της συνολικής αξίας. Κωδικοποίηση: Κάθε στοιχείο δηλώνει αν το αντίστοιχο αντικείµενο είναι εντός του σακιδίου. 17
ΚΩ ΙΚΟΠΟΙΗΣΗ ΠΛΗΘΥΣΜΟΥ (3/3) Κωδικοποίηση ιάταξης Χρησιµοποιείται στα προβλήµατα διάταξης όπως το Traveling Salesman Problem (TSP) και Vehicle Routing Problem (VRP). Για παράδειγµα, κάθε χρωµόσωµα είναι µια συµβολοσειρά αριθµών, κάθε µια από τις οποίες αναπαριστάνει µια πόλη που ο πωλητής πρόκειται να επισκεφθεί. Χρωµόσωµα A Χρωµόσωµα Β 1 5 3 2 6 4 7 9 8 8 5 6 7 2 3 1 4 9 18
ΑΡΧΙΚΟΠΟΙΗΣΗ ΠΛΗΘΥΣΜΟΥ Για την αρχικοποίηση ενός πληθυσµού, θα πρέπει να επιδιώκεται η χρήση κατάλληλων κατασκευαστικών αλγορίθµων, η εναλλαγή των τιµών των παραµέτρων των οποίων, θα παράγει και τις αντίστοιχες λύσεις για την αρχικοποίηση του πληθυσµού του υπό εξέταση προβλήµατος. Οι αλγόριθµοι αυτοί µπορεί να είναι απλοί κατασκευαστικοί ευρετικοί ή ακόµα και ένας αλγόριθµος GRASP πολλαπλής εκκίνησης. Προσοχή στην επιλογή του αρχικού πληθυσµού ώστε να εξασφαλίζεται η όσο το δυνατό µεγαλύτερη διαφοροποίηση µεταξύ των λύσεων που τον συνθέτουν. 19
ΣΥΝΑΡΤΗΣΗ ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ (1/2) Η συνάρτηση καταλληλότητας ποσοτικοποιεί την ποιότητα µιας λύσης (χρωµόσωµα) ώστε η συγκεκριµένη λύση να είναι δυνατό να συγκριθεί και να καταταχθεί σε σχέση µε την ποιότητα άλλων λύσεων. Η συνάρτηση καταλληλότητας πρέπει να προσδιορίζεται κατάλληλα για κάθε πρόβληµα αριστοποίησης Η ιδανική συνάρτηση καταλληλότητας στοχεύει τόσο να εκφράσει όσο το δυνατό καλύτερα τον αντικειµενικό στόχο του προβλήµατος όσο και να µπορεί να υπολογισθεί γρήγορα. 20
ΣΥΝΑΡΤΗΣΗ ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ (2/2) οθέντος ενός συγκεκριµένου χρωµοσώµατος, η συνάρτηση καταλληλότητας επιστρέφει µια συγκεκριµένη αριθµητική τιµή καταλληλότητας, ή µέγεθος ικανότητας επιβίωσης, που υποτίθεται ότι είναι ανάλογη της χρησιµότητας ή της δυνατότητας προσαρµογής που κάθε χρωµόσωµα αντιπροσωπεύει. Για πολλά προβλήµατα αριστοποίησης, η συνάρτηση καταλληλότητας αντιπροσωπεύει απλά την τιµή κόστους ή οφέλους που συνδέεται µε το ίδιο το πρόβληµα. Ανάλογα µε την τιµή της συνάρτησης καταλληλότητας θα ληφθούν αποφάσεις σχετικά µε µε την επιλογή των γονέων µε την επιβίωση των παιδιών. 21
ΑΝΑΠΑΡΑΓΩΓΗ Μέσω της «Αναπαραγωγής», ένας ΕΑ σκοπεύει να παράγει νέες γενιές βελτιωµένων λύσεων είτε διαλέγοντας για γονείς τα άτοµα µε τις υψηλότερες τιµές στη συνάρτηση καταλληλότητας είτε δίνοντας σε αυτούς τους γονείς τη δυνατότητα να συνεισφέρουν σηµαντικά στην γέννηση καλύτερων λύσεων (παιδιών). Στους ΕΑ, η «Αναπαραγωγή» περιλαµβάνει τον Τελεστή ιασταύρωσης (Crossover Operator) ή/και τον Τελεστή Μετάλλαξης (Mutation Operator) 22
ΤΕΛΕΣΤΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ Είναι δυνατό να έχουµε έναν οι περισσότερους τελεστές διασταύρωσης. Ένας τελεστής διασταύρωσης θα πρέπει να επιδιώκει την επίτευξη διαφοροποίησης στην έρευνα που διεξάγεται στο χώρο των λύσεων. Στις επόµενες διαφάνειες θα δείξουµε τον τρόπο λειτουργίας του τελεστή «ιασταύρωσης Ενός Σηµείου» (single point crossover) τόσο για κωδικοποίηση προβληµάτων διάταξης όσο και για δυαδική κωδικοποίηση 23
ΤΕΛΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ ΚΩ ΙΚΟΠΟΙΗΣΗ ΙΑΤΑΞΗΣ (1/3) Ο Τελεστής ιασταύρωσης Ενός Σηµείου (Single point crossover) Κάθε χρωµόσωµα (έστω ότι αποτελεί µία λύση ενός προβλήµατος διάταξης) διασπάται σε 2 κοµµάτια στο ίδιο ακριβώς σηµείο. Τα 4 κοµµάτια που προκύπτουν διασταυρώνονται. Σηµείο ιαχωρισµού Σηµείο ιαχωρισµού 1 2 3 4 5 6 7 2 5 7 1 3 4 6 γονείς 1 2 3 1 3 4 6 2 5 7 4 5 6 7 παιδιά
ΤΕΛΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ ΚΩ ΙΚΟΠΟΙΗΣΗ ΙΑΤΑΞΗΣ (2/3) Ο Τελεστής ιασταύρωσης Ενός Σηµείου (Single point crossover) Τα παιδιά που προέκυψαν, αν θεωρήσουµε ότι τα 2 αυτά χρωµοσώµατα αποτελούν 2 λύσεις σε ένα πρόβληµα TSP (χωρίς επιστροφή στον κόµβο εκκίνησης) 7 κόµβων, αποτελούν 2 µη-εφικτές λύσεις του υπό εξέταση προβλήµατος. Σε µία τέτοια περίπτωση πρέπει να γίνουν οι απαραίτητες µετατροπές ώστε να εξασφαλιστεί η εφικτότητα των λύσεων που προκύπτουν. Ένα χρωµόσωµα είναι δυνατό να αποτελέσει παραπάνω από µια φορά γονιός εντός της ίδιας επανάληψης. 25
ΤΕΛΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ ΚΩ ΙΚΟΠΟΙΗΣΗ ΙΑΤΑΞΗΣ (3/3) Ο Τελεστής ιασταύρωσης Ενός Σηµείου (Single point crossover) Ο τελεστής «διασταύρωσης ενός σηµείου» µεταξύ δύο ατόµων ενός πληθυσµού είναι µια διαδικασία κατά την οποία η σειρά των χρωµοσωµάτων τους τεµαχίζεται στο ίδιο σηµείο για τα δύο χρωµοσώµατα αλλά και ταυτόχρονα τυχαία επιλεγόµενο σηµείο και τα µερικώς σχηµατιζόµενα χρωµοσώµατα διαχωρίζονται εναλλάξ έτσι ώστε να σχηµατιστούν δύο µερικώς σχηµατιζόµενα χρωµοσώµατα κεφαλής και ουράς. Τα µερικά σχηµατιζόµενα χρωµοσώµατα της ουράς στη συνέχεια τοποθετούνται εναλλάξ στα µερικά σχηµατιζόµενα χρωµοσώµατα της κεφαλής µε αποτέλεσµα να σχηµατιστούν δύο ολοκληρωµένα χρωµοσώµατα όµοιου µήκους. 26
ΤΕΛΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ ΥΑ ΙΚΗ ΚΩ ΙΚΟΠΟΙΗΣΗ (1/3) Ο Τελεστής ιασταύρωσης Ενός Σηµείου (Single point crossover) Γονέας A 011011 Γονέας B 101100 ιασταύρωσε τους γονείς διαχωρίζοντας κάθε αριθµό όπως φαίνεται µεταξύ στο 2 ο και στο 3 ο στοιχείο (η θέση επιλέγεται µε στοχαστικό τρόπο) Γονείς: 01*1011 10*1100 Παιδιά: 011100 101011 27
ΤΕΛΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ ΥΑ ΙΚΗ ΚΩ ΙΚΟΠΟΙΗΣΗ (2/3) Ο Τελεστής ιασταύρωσης Ενός Σηµείου (Single point crossover) Γονέας A: 1 0 0 1 0 1 1 1 0 1 Γονέας B: 0 1 0 1 1 1 0 1 1 0 Παιδί AB: 1 0 0 1 0 1 0 1 1 0 Παιδί BA: 0 1 0 1 1 1 1 1 0 1 28
ΤΕΛΕΣΤΕΣ ΙΑΣΤΑΥΡΩΣΗΣ ΥΑ ΙΚΗ ΚΩ ΙΚΟΠΟΙΗΣΗ (3/3) Ο Τελεστής ιασταύρωσης ύο Σηµείων (Two point crossover) Γονέας A: 1 0 0 1 0 1 1 1 0 1 Γονέας B: 0 1 0 1 1 1 0 1 1 0 Παιδί AB: 1 0 0 1 1 1 0 1 0 1 Παιδί BA: 0 1 0 1 0 1 1 1 1 0 29
ΤΕΛΕΣΤΕΣ ΜΕΤΑΛΛΑΞΗΣ Είναι δυνατό να έχουµε ένα ή περισσότερους τελεστές µετάλλαξης για την κάθε αναπαράσταση των λύσεων ενός προβλήµατος. Στόχος του τελεστή «Μετάλλαξης» είναι να εµποδίσει τον εγκλωβισµό της έρευνας του αλγορίθµου. Η µετάλλαξη συµβαίνει εντός της ίδιας λύσης. Μπορεί να µεταλλαχθούν όλες ή κάποιες από τις λύσεις του πληθυσµού. 30
ΤΕΛΕΣΤΕΣ ΜΕΤΑΛΛΑΞΗΣ - ΚΩ ΙΚΟΠΟΙΗΣΗ ΙΑΤΑΞΗΣ πριν 1 2 3 4 5 6 7 Η µετάλλαξη συµβαίνει εντός της ίδιας λύσης. µετά 1 3 4 5 2 6 7 Μεταλλαγµένο χρωµόσωµα Η µετάλλαξη συµβαίνει µε πιθανότητα p m για κάθε γονίδιο
ΤΕΛΕΣΤΕΣ ΜΕΤΑΛΛΑΞΗΣ ΥΑ ΙΚΗ ΚΩ ΙΚΟΠΟΙΗΣΗ πριν 1 0 0 1 0 1 1 1 0 1 µετά 1 0 0 0 0 1 1 1 0 1 Μεταλλαγµένο χρωµόσωµα Η µετάλλαξη συµβαίνει µε πιθανότητα p m για κάθε γονίδιο
ΜΗΧΑΝΙΣΜΟΣ «ΕΠΙΛΟΓΗ» (1/2) Θέλουµε να διασφαλίσουµε ότι τα καταλληλότερα άτοµα έχουν περισσότερες πιθανότητες να γίνουν γονείς από τα λιγότερο κατάλληλα άτοµα. Με αυτό το τρόπο θα καθοριστεί και ο τρόπος επιλογής. Ωστόσο είναι απαραίτητο θα δοθούν και κάποιες πιθανότητες επιλογής για να γίνουν γονείς και τα λιγότερο κατάλληλα άτοµα, καθότι ενδέχεται να περιέχουν κατάλληλο γενετικό υλικό. 33
ΜΗΧΑΝΙΣΜΟΣ «ΕΠΙΛΟΓΗ» (2/2) O µηχανισµός «Επιλογή» επιλέγει τα άτοµα που θα παράγουν ένα παιδί. Στο 1 ο βήµα λαµβάνει χώρα η ανάθεση της τιµής καταλληλότητας. Κάθε άτοµο που ανήκει στον πληθυσµό λαµβάνει µια πιθανότητα αναπαραγωγής που εξαρτάται από τη τιµή της αντικειµενικής συνάρτησης του (καταλληλότητα) καθώς και από την τιµή των αντικειµενικών συναρτήσεων όλων των άλλων ατόµων του πληθυσµού. Η καταλληλότητα χρησιµοποιείται κατά την επιλογή των ατόµων. Η επιλογή των ατόµων που θα παράγουν ένα παιδί είναι δυνατό επίσης να γίνει και µε τελείως στοχαστικό τρόπο. 34
ΜΗΧΑΝΙΣΜΟΣ ΕΠΙΛΟΓΗΣ ΑΤΟΜΩΝ ΤΟΥ ΠΛΗΘΥΣΜΟΥ ΠΟΥ ΘΑ ΑΝΤΙΚΑΤΑΣΤΑΘΟΥΝ Θέλουµε να διασφαλίσουµε ότι µετά από κάθε επανάληψη ο πληθυσµός θα αποτελείται από όλο και καταλληλότερα άτοµα. Με άλλα λόγια επιθυµούµε ο πληθυσµός των λύσεων να αποτελείται από όλο και υψηλότερης ποιότητας λύσεις µετά από κάθε επανάληψη. Για να επιτευχθεί αυτό, µία από τις συνήθεις λογικές είναι να αντικαθιστούµε από τον τρέχων πληθυσµό αποκλειστικά τα άτοµα που είναι λιγότερο κατάλληλα σε σχέση µε τα παιδιά που έχουν προκύψει µετά την εφαρµογή της διασταύρωσης και της µετάλλαξης. Κάποιες κατηγορίες ΕΑ προχωρούν σε συνολική αντικατάσταση του τρέχοντος πληθυσµού από αυτόν που προέκυψε µετά την εφαρµογή της διασταύρωσης και της µετάλλαξης. 35
ΚΛΑΣΙΚΕΣ ΜΟΡΦΕΣ ΕΞΕΛΙΚΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ Οι δηµοφιλέστερες παραλλαγές ενός ΕΑ είναι Ο Εξελικτικός Προγραµµατισµός (evolutionary programming) Οι Γενετικοί Αλγόριθµοι (genetic algorithms) 36
ΕΞΕΛΙΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ διαδικασία EΠ; { t = 0; αρχικοποίηση πληθυσµού P(t); Εκτίµηση P(t); Μέχρι να ενεργοποιηθεί κριτήριο τερµατισµού { t = t + 1; Επιλογή_Γονέων P(t); Μετάλλαξη P(t); Εκτίµηση P(t); Επιβίωση P(t); } } 37
ΕΞΕΛΙΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΠΙΛΟΓΗ: Μετά την αρχικοποίηση του πληθυσµού, όλα τα N άτοµα που τον συγκροτούν επιλέγονται να είναι γονείς και στη συνέχεια µεταλλάσσονται, παράγοντας N παιδιά. ΕΠΙΒΙΩΣΗ: Αυτά τα παιδιά εκτιµώνται και N επιβιώσαντες διαλέγονται από 2N άτοµα χρησιµοποιώντας µια πιθανοκρατική συνάρτηση βασιζόµενη στην καταλληλότητα των ατόµων. Με άλλα λόγια, όσο καταλληλότερα είναι τα άτοµα τόσο µεγαλύτερη πιθανότητα έχουν να επιβιώσουν. 38
ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ διαδικασία ΓΑ; { t = 0; αρχικοποίηση πληθυσµού P(t); Εκτίµηση P(t); Μέχρι να ενεργοποιηθεί το κριτήριο τερµατισµού { t = t + 1; Επιλογή_Γονέων P(t); ιασταύρωση P(t) Μετάλλαξη P(t); Εκτίµηση P(t); Επιβίωση P(t); } } 39
ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΟΓΗ: Μετά την αρχικοποίηση, επιλέγονται οι γονείς σύµφωνα µε µια πιθανοκρατική συνάρτηση που βασίζεται στην καταλληλότητα. Με άλλα λόγια, τα άτοµα µε την υψηλότερη καταλληλότητα είναι πιθανότερο να επιλεγούν για γονείς. ΙΑΣΤΑΥΡΩΣΗ: N παιδιά παράγονται από διασταύρωση N γονέων. ΕΠΙΒΙΩΣΗ: Τα N παιδιά µεταλλάσσονται και επιβιώνουν αντικαθιστώντας τους N γονείς στον πληθυσµό. Στους ΓΑ, ο τελεστής «Μετάλλαξη» αλλάζει στοιχεία µε µια µικρή πιθανότητα και, σε αντίθεση µε τον ΕΠ, αποτελεί δευτερεύων τελεστή έρευνας. Αντιθέτως στους ΓΑ, η «ιασταύρωση» αποτελεί πρωτεύων τελεστή έρευνας. 40
Οι Πατέρες του Εξελικτικού Υπολογισµού Charles Darwin 1809 1882 Πατέρας της Εξελικτικής Θεωρίας Gregor Mendel 1822 1884 Πατέρας της Γενετικών Alan Mathison Turing 1912 1954 Πατέρας του Η/Υ 41
Σηµαντικές Ηµεροµηνίες 1948, Turing προτείνει την γενετική ή εξελικτική έρευνα 1962, Bremermann βελτιστοποίηση µέσω εξέλιξης και διασταύρωσης 1964, Rechenberg εισαγωγή µιας κατηγορίας των ΕΑ, που ονοµάστηκαν εξελικτικές στρατηγικές 1965, L. Fogel, Owens and Walsh εισαγωγή µιας κατηγορίας των ΕΑ, που ονοµάστηκαν εξελικτικός προγραµµατισµός 1975, Holland εισαγωγή µιας κατηγορίας των ΕΑ, που ονοµάστηκαν γενετικοί αλγόριθµοι 42
Από τότε... 1985: 1 ο Επιστηµονικό Συνέδριο (ICGA) 1990: 1ο Επιστηµονικό Συνέδριο στην Ευρώπη (PPSN) 1993: 1ο Επιστηµονικό Περιοδικό Εξελικτικού Υπολογισµού (MIT Press) και Σήµερα: 5 Μεγάλα Συνέδρια, 30 35 µικρότερα 5 Επιστηµονικά Περιοδικά Εξελικτικού Υπολογισµού Πάνω από 6000 επιστηµονικά άρθρα δηµοσιευµένα Αµέτρητες εφαρµογές Αµέτρητες R&D Εταιρείες και Εταιρείες Συµβούλων Παγκοσµίως 43
Ευχαριστώ για την προσοχή σας. Ερωτήσεις;;;;;;;;;; 44