1 Εισαγωγή Εξελικτικός υϖολογισμός Μέθοδοι εϖιλογής Περιεχόμενα. Πρόλογος...13

Σχετικά έγγραφα
Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Αναγνώριση Προτύπων Ι

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Υπολογιστικό Πρόβληµα

4 η ΕΝΟΤΗΤΑ ΜΕΤΑΕΥΡΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Τεχνολογία Συστημάτων Υδατικών Πόρων

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ

Θεµελίωση Γενετικών Αλγορίθµων

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες

Θεωρία Λήψης Αποφάσεων

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΕΕΟ 11. Η χρήση στατιστικών εργαλείων στην εκτιμητική

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαχείριση Υδατικών Πόρων Πολυκριτηριακή ανάλυση

Εφαρμογές Προσομοίωσης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Πρόβλημα 29 / σελίδα 28

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

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Τεχνολογία Συστημάτων Υδατικών Πόρων

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

O μετασχηματισμός μιας «διαθεματικής» δραστηριότητας σε μαθηματική. Δέσποινα Πόταρη Πανεπιστήμιο Πατρών

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

ΣΧΕ ΙΑΣΜΟΣ ΚΟΠΤΙΚΩΝ ΕΡΓΑΛΕΙΩΝ ΜΕΤΑΒΛΗΤΗΣ ΓΕΩΜΕΤΡΙΑΣ

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Αλγόριθμοι. Σενάριο για μαθητές της Γ γυμνασίου, διάρκειας 4 ωρών διδασκαλίας

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΤΕΧΝΙΚΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού

Επιµέλεια Θοδωρής Πιερράτος

Πληροφοριακά Συστήματα Διοίκησης. Εισαγωγή στον Γραμμικό Προγραμματισμό

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ

ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING)

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κατανεμημένα Συστήματα Ι

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΚΕΡΑΙΟΣ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Δομές Δεδομένων & Αλγόριθμοι

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

6. Στατιστικές μέθοδοι εκπαίδευσης

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Τα κύρια σηµεία της παρούσας διδακτορικής διατριβής είναι: Η πειραµατική µελέτη της µεταβατικής συµπεριφοράς συστηµάτων γείωσης

Γενετικοί Αλγόριθμοι. Εισαγωγή

Το σενάριο προτείνεται να διεξαχθεί με τη χρήση του Cabri Geometry II.

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

Υπολογιστικής Σκέψης

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Κεφάλαιο 10 ο Υποπρογράµµατα

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

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

6 ντήρηση καλούνται να παίξουν ολοένα και πιο σημαντικό ρόλο στην ανταγωνιστικότητα των επιχειρήσεων. Στο σημείο αυτό θεωρώ χρέος μου και ευχαρίστηση

Φ. Δογάνης I. Bafumba Χ. Σαρίμβεης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Χημικών Μηχανικών Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

ΟΙ ΕΡΩΤΗΣΕ1Σ III: ΟΙ ΚΛΙΜΑΚΕΣ]

Υπολογιστική Νοηµοσύνη

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

1 Ανάλυση Προβλήματος

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

Κεφάλαιο 4 : Λογική και Κυκλώματα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

ιοίκηση Παραγωγής και Υπηρεσιών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Transcript:

Περιεχόμενα Πρόλογος...13 1 Εισαγωγή... 15 Στόχος και οργανωτική δομή του συγγράμματος... 17 Βιβλιογραφία... 20 2 Εξελικτικός υϖολογισμός... 21 Ιστορική εξέλιξη... 24 Πλεονεκτήματα του εξελικτικού υπολογισμού... 25 Όρια του εξελικτικού υπολογισμού... 29 Συμπεράσματα... 33 Ερωτήσεις... 33 Βιβλιογραφία... 34 3 Μέθοδοι εϖιλογής... 35 Ανάθεση βαθμού ικανότητας βασισμένη στην ταξινόμηση (rank-based)... 36 Γραμμική ταξινόμηση... 36 Μη γραμμική ταξινόμηση... 36 Σύγκριση της γραμμικής και μη γραμμικής ταξινόμησης... 37 Ανάλυση της γραμμικής ταξινόμησης... 38

6 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Πολυαντικειμενική ταξινόμηση... 39 Ταξινόμηση Pareto... 40 Επίτευξη στόχου ή μέθοδος ανισοτήτων... 40 Συνεισφορά... 42 Συμπληρωματικές πληροφορίες για την πολυαντικειμενική βελτιστοποίηση... 42 Σταθμισμένο σύνολο, συνάθροιση, ή κλιμακοποίηση των πολλαπλών στόχων... 42 Επιλογή τροχού ρουλέτας... 43 Στοχαστική καθολική δειγματοληψία... 44 Τοπική επιλογή... 44 Επιλογή αποκοπής... 47 Ανάλυση της επιλογής αποκοπής... 48 Επιλογή πρωταθλημάτων... 49 Ανάλυση της επιλογής πρωταθλημάτων... 49 Σύγκριση των τρόπων επιλογής... 50 Παράμετρος επιλογής και ένταση επιλογής... 50 Απώλεια ποικιλομορφίας και ένταση επιλογής... 50 Διακύμανση επιλογής και ένταση επιλογής... 51 Συμπεράσματα... 52 Ερωτήσεις... 53 Βιβλιογραφία... 53 4 Τελεστές ανασυνδυασμού... 55 Δυαδικός ανασυνδυασμός (διασταύρωση)... 55 Διασταύρωση ενός σημείου/διασταύρωση δύο σημείων/ πολυσημειακή διασταύρωση... 56 Ομοιόμορφη διασταύρωση... 57 Διασταύρωση μετάθεσης... 58 Διασταύρωση με μειωμένη αναπλήρωση... 58 Όλες οι αντιπροσωπεύσεις διακριτός ανασυνδυασμός... 58 Ανασυνδυασμός πραγματικών αριθμών... 59 Ενδιάμεσος ανασυνδυασμός... 59 Ανασυνδυασμός γραμμών... 61 Εκτεταμένος ανασυνδυασμός γραμμών... 62 Συμπεράσματα... 63 Ερωτήσεις... 64 Βιβλιογραφία... 64 5 Τελεστές μετάλλαξης... 67 Μετάλλαξη πραγματικών τιμών... 67 Δυαδική μετάλλαξη... 69

Περιεχόμενα 7 Μετάλλαξη πραγματικών μεταβλητών με προσαρμογή του μεγέθους βήματος... 70 Μετάλλαξη συρρίκνωσης... 72 Συμπεράσματα... 73 Ερωτήσεις... 74 Βιβλιογραφία... 74 6 Εϖανεισαγωγή & μοντέλα ϖληθυσμών... 75 Γενική επανεισαγωγή... 75 Τοπική επανεισαγωγή... 76 Μοντέλα πληθυσμών παράλληλες εφαρμογές... 77 Γενικό μοντέλο κύριος/υπηρέτης... 78 Τοπικό μοντέλο μοντέλο διάχυσης... 79 Περιφερειακό μοντέλο μετανάστευση... 79 Συμπεράσματα... 82 Ερωτήσεις... 83 Βιβλιογραφία... 83 7 Συνδυασμοί στρατηγικών... 85 Διαφορετικές στρατηγικές για κάθε υποσύνολο πληθυσμού... 86 Ταξινόμηση των υποσυνόλων πληθυσμού... 87 Ανταγωνισμός μεταξύ υποσυνόλων πληθυσμού... 88 Διαίρεση των πόρων... 89 Κατανομή των πόρων... 91 Κατανάλωση των πόρων... 91 Διάστημα ανταγωνισμού και ποσοστό ανταγωνισμού... 92 Επιλογή ανταγωνισμού... 92 Ελάχιστο υποσυνόλων πληθυσμού... 93 Εφαρμογή διαφορετικών στρατηγικών... 93 Εφαρμογή των ανταγωνιστικών υποσυνόλων πληθυσμού... 94 Συμπεράσματα... 95 Ερωτήσεις... 97 Βιβλιογραφία... 97 8 Συνδυασμοί τελεστών και μεθόδων εϖιλογής... 99 Γενικά ρυθμιζόμενοι τελεστές και επιλογές... 100 Τελεστές και επιλογές για την ανάθεση και την επιλογή ικανότητας... 101 Τελεστές και επιλογές για εφαρμογή διαφορετικών στρατηγικών και ανταγωνισμού μεταξύ των υποσυνόλων πληθυσμού... 101

8 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Τελεστές και επιλογές για το περιφερειακό πρότυπο πληθυσμού (μετανάστευση μεταξύ των υποσυνόλων πληθυσμού)... 102 Περίληψη των γενικά διευθετήσιμων τελεστών και των επιλογών... 102 Γενικά προσανατολισμένη βελτιστοποίηση παραμέτρων... 103 Ανασυνδυασμός... 103 Μετάλλαξη... 103 Τοπικά προσανατολισμένη βελτιστοποίηση παραμέτρων... 104 Ανασυνδυασμός... 104 Μετάλλαξη... 105 Ανάθεση και επιλογή ικανότητας... 105 Βελτιστοποίηση παραμέτρων δυαδικών μεταβλητών... 106 Ανασυνδυασμός... 106 Μετάλλαξη... 106 Συνδυαστική βελτιστοποίηση... 106 Ανασυνδυασμός... 107 Μετάλλαξη... 108 Βελτιστοποίηση παραμέτρων μεταβλητών με διαφορετικές αναπαραστάσεις... 108 Ακέραιος αριθμός και δυαδικές μεταβλητές... 109 Χρήση της αναπαράστασης ακέραιων αριθμών... 109 Χρήση της δυαδικής αναπαράστασης... 110 Χρήση της αναπαράστασης πραγματικών αριθμών... 111 Συμπεράσματα... 111 Ερωτήσεις... 112 Βιβλιογραφία... 112 9 Γενετικοί αλγόριθμοι... 113 Θεώρημα σχημάτων γενετικών αλγόριθμων... 115 Το πρόβλημα με το μηχάνημα τυχερών συνδυασμών... 116 Υπόθεση δομικών στοιχείων γενετικών αλγόριθμων... 120 Συμπεράσματα... 121 Ερωτήσεις... 121 Βιβλιογραφία... 122 10 Εξελικτικός ϖρογραμματισμός... 123 Το υπόβαθρο του εξελικτικού προγραμματισμού... 124 Αναγνώριση προτύπων με εξελικτικό προγραμματισμό... 128 Συμπεράσματα... 132 Ερωτήσεις... 133 Βιβλιογραφία... 133

Περιεχόμενα 9 11 Στρατηγικές εξέλιξης... 135 Από τις διακριτές στις συνεχείς μεταβλητές απόφασης και τα πρώτα θεωρητικά αποτελέσματα... 136 Αριθμητική εξελικτική βελτιστοποίηση που επιβάλλεται επάνω σε μοντέλα προσομοίωσης... 137 Ο βασικός αλγόριθμος ES... 138 Σημειολογία του (μ/ρ + λ)-es και αλγόριθμος... 138 Επιλογή... 140 Μετάλλαξη... 141 Προσεγγισιμότητα... 142 Αμεροληψία... 142 Eυμεταβλητότητα κλίμακας... 142 Ανασυνδυασμός... 143 Τυπικοί τελεστές ανασυνδυασμού των ES... 143 Οφέλη σχεδιαστικών αρχών και αρχών ανασυνδυασμού... 144 Προσαρμογή των ενδογενών παραμέτρων στρατηγικής... 146 Ο κανόνας του 1/5 ου... 146 Αυτοπροσαρμογή... 148 Προσεγγίσεις μη τοπικής προσαρμογής... 152 Συμπεράσματα... 153 Ερωτήσεις... 154 Βιβλιογραφία... 154 12 Γενετικός Προγραμματισμός... 157 Εισαγωγή... 157 Κυτταρική κωδικοποίηση... 158 Κωδικοποίηση ακμών... 161 Συντακτικοί περιορισμοί με χρήση γραμματικών... 163 Προσέγγιση γραμματικών χωρίς συμφραζόμενα... 163 Προσέγγιση λογικής γραμματικής... 165 Τύποι συναρτήσεων ανώτερης τάξης... 166 Τυπολογικοί περιορισμοί στον γενετικό προγραμματισμό... 168 Ισχυρά Τυπολογικός Γενετικός Προγραμματισμός... 168 Μέθοδοι εφαρμογής περιορισμών στο χώρο διερεύνησης λύσεων... 170 Ο γενετικός προγραμματισμός σε σχέση με τους γενετικούς αλγόριθμους... 171 Δυναμική αναπαράσταση δέντρου... 171 Σύνθετη ερμηνεία αναπαράστασης... 172 Διασταύρωση που διατηρεί τη συντακτική διατύπωση... 172

10 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Εσωτερόνια... 172 Απεικόνιση μεταβλητού μεγέθους... 173 Θεώρημα σχημάτων του γενετικού προγραμματισμού... 175 Προσέγγιση δέντρων χωρίς ρίζα... 175 Προσέγγιση δέντρων με ρίζα... 177 Αρχή ελάχιστου μήκους περιγραφής στον γενετικό προγραμματισμό... 179 Πολυπλοκότητα κατά Kolmogorov... 179 Γενικό μήκος περιγραφής... 180 Ορισμός αρχής ελάχιστου μήκους περιγραφής... 181 Συμπεράσματα... 182 Ερωτήσεις... 183 Βιβλιογραφία... 184 13 Μιμητικοί αλγόριθμοι... 191 Εξελικτικοί Αλγόριθμοι + Τοπική Αναζήτηση = Μιμητικοί Αλγόριθμοι... 193 Λαμαρκιανισμός έναντι επίδρασης Βaldwin... 194 Διατήρηση της Ποικιλομορφίας... 195 Ποια γειτονιά πρέπει να χρησιμοποιήσει ο τοπικός ερευνητής;... 196 Χρήση σχεδιαγραμμάτων απόδοσης... 197 Συγκεκριμένες εκτιμήσεις για τις συνεχείς περιοχές... 198 Συμπεράσματα... 198 Ερωτήσεις... 199 Βιβλιογραφία... 199 14 Βελτιστοϖοίηση Σμήνους Σωματιδίων... 201 Μίμηση της κοινωνικής συμπεριφοράς... 201 Βελτιστοποίηση με σμήνη σωματιδίων... 203 Ταίριασμα κοντινότερης ταχύτητας γειτόνων και απροβλεπτότητα... 203 Το διάνυσμα χωραφιού... 203 Εξάλειψη των βοηθητικών μεταβλητών... 205 Πολυδιάστατη αναζήτηση... 205 Επιτάχυνση εξ αποστάσεως... 206 Τρέχουσα απλουστευμένη έκδοση... 206 Σμήνη και σωματίδια... 206 Εφαρμογές στη βελτιστοποίηση... 207 Σμήνη σωματιδίων και εξελικτικός υπολογισμός... 208 Συμπεράσματα... 209 Ερωτήσεις... 210 Βιβλιογραφία... 211

Περιεχόμενα 11 15 Βελτιστοϖοίηση αϖοικίας μυρμηγκιών... 213 Εισαγωγή... 213 Η προσέγγιση βελτιστοποίησης αποικίας μυρμήγκιων... 217 Ομοιότητες και διαφορές με τα πραγματικά μυρμήγκια... 217 Ο μετα-ευρετικός αλγόριθμος ACO... 219 Αποικίες μυρμηγκιών και εξελικτικός υπολογισμός... 223 Συμπεράσματα... 224 Ερωτήσεις... 224 Βιβλιογραφία... 225 16 Εξόρυξη δεδομένων... 227 Ιστορική εξέλιξη... 228 Είδη εξόρυξης δεδομένων... 229 Διαδικασία εξόρυξης δεδομένων... 231 Τεχνικές εξόρυξης δεδομένων... 235 Στατιστική ανάλυση και εξόρυξη δεδομένων... 238 Ανακάλυψη γνώσης... 239 Εξόρυξη δεδομένων και υποστήριξη αποφάσεων... 241 Συμπεράσματα... 241 Ερωτήσεις... 242 Βιβλιογραφία... 242 17 Εφαρμογή εξόρυξης δεδομένων... 245 Κατανόηση της επιχείρησης και των δεδομένων... 245 Αξιολογώντας επιχειρηματικά σχέδια... 245 Σχεδιασμός συστήματος... 247 Προετοιμασία των δεδομένων... 248 Μοντελοποίηση... 251 Ιεραρχικά δέντρα ταξινόμησης... 251 Συστήματα βάσεων ασαφών κανόνων μέσω του γενετικού προγραμματισμού... 251 Αξιολόγηση... 256 Μοντέλα αξιολόγησης... 256 Παραγόμενες λύσεις... 259 Ανάπτυξη... 261 Yπολογιστικές προδιαγραφές... 261

12 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Εγκατάσταση του συστήματος... 261 Εκτέλεση του συστήματος... 261 Συμπεράσματα... 264 Βιβλιογραφία... 264 18 Προβλήματα... 267 Λογισμικό και πηγές δεδομένων... 269 Διάγνωση στεφανιαίας νόσου... 269 Λήψη απόφασης μετεγχειρητικής πορείας ασθενούς... 272 Διάγνωση αιμάτωσης μυοκαρδίου σε τομογραφία υπολογισμένη με εκπομπή απλού πρωτονίου... 274 Διάγνωση καρκίνου του μαστού... 275 Διάγνωση εξελικτικής πορείας ηπατίτιδας... 276 Διάγνωση διαβήτη... 278 Σύστημα επιλογής αυτόματης/χειροκίνητης προσεδάφισης διαστημικού λεωφορείου... 279 Σύστημα αυτόματου φιλτραρίσματος ανεπιθύμητης ηλεκτρονικής αλληλογραφίας... 280 Σύστημα ταξινόμησης σημάτων radar από την ιονόσφαιρα... 283 Πρόβλημα αναγνώρισης στόχων ηχητικού εντοπιστή υποβρυχίων αντικειμένων (sonar)... 284 Πρόβλημα διάγνωσης αστοχίας δακτυλίων τύπου «Ο» διαστημικού λεωφορείου... 285 Αξιολόγηση επιδόσεων σε τεχνητά δεδομένα: τα προβλήματα ΜΟΝΚ... 286 Πρόβλημα Μ 1... 287 Πρόβλημα Μ 2... 287 Πρόβλημα Μ 3... 287 Βιβλιογραφία... 289 Εϖίλογος...291

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

22 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Βελτιστοποίηση αποικίας μυρμηγκιών Οι εξελικτικοί αλγόριθμοι μοντελοποιούν τις φυσικές διαδικασίες όπως η επιλογή, ο ανασυνδυασμός, η μετάλλαξη, η μετανάστευση, η τοποθεσία, και η γειτονιά. Η Εικόνα 2-1 παρουσιάζει τη δομή ενός απλού εξελικτικού αλγόριθμου. Οι εξελικτικοί αλγόριθμοι λειτουργούν χρησιμοποιώντας πληθυσμούς ατόμων που αντιπροσωπεύουν πιθανές λύσεις, αντί να έχουν μία μόνο λύση την οποία βελτιώνουν σε κάθε επανάληψη. Με αυτόν τον τρόπο η αναζήτηση εκτελείται παράλληλα. Αρχή Δημιουργία νέου ϖληθυσμού Αξιολόγηση αντικειμενικής συνάρτησης Δημιουργία νέου ϖληθυσμού Μετάλλαξη Ανασυνδυασμός Εϖίτευξη κριτηρίων; Όχι Εϖιλογή Ναι Αϖοτέλεσμα Καλύτερα άτομα Εικόνα. 2-1 Δομή ενός ενιαίου εξελικτικού αλγόριθμου ϖληθυσμών Στην αρχή του υπολογισμού αρχικοποιούνται τυχαία διάφορα άτομα που αποτελούν τον πληθυσμό του αλγόριθμου. Σε αυτά τα άτομα αξιολογείται στη συνέχεια η αντικειμενική συνάρτηση η οποία καλείται και συνάρτηση ικανότητας, ή συνάρτηση καταλληλότητας, ή συνάρτηση βαθμού προσαρμογής. Με αυτόν τον τρόπο παράγεται η πρώτη (αρχική) γενεά. Εάν τα κριτήρια βελτιστοποίησης (δηλαδή τα κριτήρια τερματισμού της αναζήτησης) δεν ι- κανοποιούνται, τότε αρχίζει η δημιουργία μιας νέας γενεάς. Κάποια άτομα επιλέγονται ως γονείς σύμφωνα με την ικανότητα που τους έχει αποδοθεί (βάσει της αντικειμενικής συνάρτησης), προκειμένου να χρησιμοποιηθούν για την παραγωγή των απογόνων. Οι γονείς αυτοί ανασυνδυάζονται για να παράγουν τον απόγονο. Στη συνέχεια, όλοι οι απόγονοι ενδέχεται να μεταλλαχθούν βάσει μιας ορισμένης πιθανότητας. Ακολούθως, υπολογίζεται η ικανότητα του κάθε απογόνου. Οι απόγονοι τότε παρεμβάλλονται στον πληθυσμό και έτσι αντικαθίστανται οι γονείς, δημιουρ-

2 Εξελικτικός υϖολογισμός 23 γώντας μια νέα γενεά. Αυτός ο κύκλος επαναλαμβάνεται έως ότου επιτευχθούν τα κριτήρια βελτιστοποίησης. Ένας τέτοιος εξελικτικός αλγόριθμος ενός πληθυσμού είναι ισχυρός και αποδίδει πολύ καλά σε μια ευρεία ποικιλία των προβλημάτων. Σε μερικές περιπτώσεις μπορούν να επιτευχθούν καλύτερα αποτελέσματα με την εισαγωγή των περισσότερων υποσυνόλων πληθυσμού. Σε μια τέτοια περίπτωση, κάθε υποσύνολο πληθυσμού εξελίσσεται απομονωμένα για μερικές γενεές (όπως στον εξελικτικό αλγόριθμο με ένα πληθυσμό) προτού να εκτελεστεί μια ανταλλαγή ενός ή περισσότερων ατόμων ανάμεσα στα υποσύνολα πληθυσμών. Ο εξελικτικός αλγόριθμος πολλών πληθυσμών διαμορφώνει την εξέλιξη ενός είδους με έναν τρόπο που μοιάζει περισσότερο στη φύση, σε σχέση με τον εξελικτικό αλγόριθμο που χρησιμοποιεί μόνο έναν πληθυσμό. Η Εικόνα 2-2 παρουσιάζει τη δομή ενός τέτοιου αλγόριθμου πολλών πληθυσμών. Αρχή Δημιουργία νέου ϖληθυσμού Δημιουργία νέου ϖληθυσμού Αξιολόγηση αρχικού ϖληθυσμού Μετανάστευση Εϖανεισαγωγή Ανταγωνισμός Αξιολόγηση αϖογόνων Εϖίτευξη κριτηρίων; Όχι Εϖιλογή Ναι Ανασυνδυασμός Μετάλλαξη Αϖοτέλεσμα Καλύτερα άτομα Εικόνα. 2-2 Δομή ενός εκτεταμένου εξελικτικού αλγόριθμου με ϖολλούς ϖληθυσμούς Από τα παραπάνω γίνεται φανερό ότι οι εξελικτικοί αλγόριθμοι διαφέρουν ουσιαστικά από τις παραδοσιακές μεθόδους αναζήτησης και βελτιστοποίησης σε ένα αριθμό σημείων. Οι σημαντικότερες διαφορές είναι: Οι εξελικτικοί αλγόριθμοι ψάχνουν έναν πληθυσμό σημείων παράλληλα, και όχι μόνο ένα απλό σημείο.

24 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Οι εξελικτικοί αλγόριθμοι δεν απαιτούν επιπρόσθετες πληροφορίες, αλλά αρκεί μόνο η α- ντικειμενική συνάρτηση και τα αντίστοιχα επίπεδα προσαρμογής/ικανότητας θα καθοδηγούν την αναζήτηση. Οι εξελικτικοί αλγόριθμοι χρησιμοποιούν στοχαστικούς κανόνες μετάβασης, και όχι αιτιοκρατικούς (ντετερμινιστικούς). Οι εξελικτικοί αλγόριθμοι είναι γενικά απλούστεροι στην εφαρμογή τους, επειδή δεν υπάρχει κανένας περιορισμός ως προς τον καθορισμό της αντικειμενικής συνάρτησης. Οι εξελικτικοί αλγόριθμοι μπορεί να παράγουν διαφορετικές λύσεις για κάποιο δεδομένο πρόβλημα, και σε αυτές τις περιπτώσεις η τελική επιλογή αφήνεται στο χρήστη. Έτσι, σε περιπτώσεις όπου το ιδιαίτερο πρόβλημα δεν έχει απαραιτήτως μία και μοναδική λύση όπως για παράδειγμα σε μια ομάδα βέλτιστων λύσεων κατά Pareto στην περίπτωση πολυαντικειμενικής βελτιστοποίησης και σε προβλήματα προγραμματισμού ο εξελικτικός αλγόριθμος είναι ενδεχομένως χρήσιμος στον εντοπισμό αυτών των εναλλακτικών λύσεων. Ιστορική εξέλιξη Οι παλαιότερες αναφορές στις έννοιες που καλούμε σήμερα εξελικτικό υπολογισμό παρουσιάστηκαν στα τέλη της δεκαετίας του 50 και στις αρχές της δεκαετίας του 60, και ήταν λογισμικό για υπολογιστές από εξελικτικούς βιολόγους που αναζητούσαν μοντελοποίηση της φυσικής εξέλιξης. Σε καμία από αυτές τις αρχικές προσπάθειες δεν είχε φανεί ότι η στρατηγική αυτή θα μπορούσε να είναι γενικά εφαρμόσιμη σε υπολογιστικά προβλήματα, αλλά αυτό δεν άργησε να γίνει αντιληπτό. Σύμφωνα με τον Mitchell, ο εξελικτικός υπολογισμός υπήρχε ήδη από την εποχή που δημιουργήθηκε ο ηλεκτρονικός υπολογιστής (Mitchell, 1996). Έως το 1962, ερευνητές όπως οι G.E.P. Box, G.J. Friedman, W.W. Bledsoe, και H.J. Bremermann είχαν αναπτύξει ανεξάρτητα αλγόριθμους τους οποίους εμπνέονταν από την εξέλιξη για τη βελτιστοποίηση συναρτήσεων και μηχανική μάθηση, αλλά το έργο τους δεν είχε σημαντική συνέχεια. Μια πιο επιτυχημένη ανάπτυξη στο συγκεκριμένο τομέα προήλθε το 1965, όταν ο Ingo Rechenberg, του Τεχνικού Πανεπιστημίου του Βερολίνου, εισήγαγε μια τεχνική που ονομάζεται στρατηγικές εξέλιξης (βλ. Κεφάλαιο 11), η οποία όμως στην αρχική της μορφή έμοιαζε περισσότερο με την τεχνική αναρρίχησης λόφου (hill-climbing) παρά με τους τότε εξελικτικούς αλγόριθμους. Σε αυτή την τεχνική, δεν υ- πήρχε πληθυσμός ή ανασυνδυασμός γονιδίων. Ένας γονέας απλώς μεταλλασσόταν προκειμένου να παράγει έναν απόγονο, και ο καλύτερος από τους δύο διατηρούνταν και γινόταν γονέας για τον επόμενο γύρο της μετάλλαξης (Haupt και Haupt, 1998). Νεότερες εκδόσεις ωστόσο εισήγαγαν και εκεί την έννοια του πληθυσμού. Οι στρατηγικές εξέλιξης εξακολουθούν να χρησιμοποιούνται σήμερα από μηχανικούς και επιστήμονες, κυρίως στη Γερμανία. Η επόμενη σημαντική ανάπτυξη στον τομέα προήλθε το 1966, όταν οι L.J. Fogel, A.J. Owens, και M.J. Walsh εισήγαγαν στην Αμερική μια τεχνική που ονομάζεται εξελικτικός προγραμματισμός. Στη μέθοδο αυτή οι υποψήφιες λύσεις στα προβλήματα εκπροσωπήθηκαν ως απλές μηχανές πεπερασμένων καταστάσεων. Όπως και στη στρατηγική εξέλιξης του Rechenberg, ο αλγόριθμος εργαζόταν με τυχαία μετάλλαξη μιας από αυτές τις προσομοιωμένες μηχανές, διατηρώντας και εδώ την καλύτερη από τις δύο (Mitchell, 1996, Goldberg, 1989). Όπως και στις στρατηγικές εξέλιξης, η γενικότερη διατύπωση της τεχνικής του εξελικτικού προγραμματισμού

2 Εξελικτικός υϖολογισμός 25 είναι ακόμη σήμερα ένας χώρος όπου η έρευνα συνεχίζεται. Ωστόσο, αυτό που εξακολουθεί να λείπει και στις δύο αυτές μεθοδολογίες είναι η αναγνώριση της σημασίας του ανασυνδυασμού. Ήδη από το 1962 η εργασία του John Holland στα προσαρμοστικά συστήματα έθεσε τα θεμέλια για τις μετέπειτα εξελίξεις. Ο Holland ήταν επίσης ο πρώτος που θα πρότεινε ρητά τον ανασυνδυασμό. Εντούτοις, το καταλυτικό του έργο στον τομέα των γενετικών αλγόριθμων ήρθε το 1975 με τη δημοσίευση του βιβλίου του Προσαρμογή στα Φυσικά και Τεχνητά Συστήματα. Με βάση τις προηγούμενες έρευνες και δημοσιεύσεις τόσο από τον ίδιο το Holland όσο και από συναδέλφους του στο Πανεπιστήμιο του Μίσιγκαν, αυτό το βιβλίο ήταν το πρώτο που παρουσίαζε συστηματικά και απαρέγκλιτα, ως μια στρατηγική επίλυσης προβλημάτων, τη σημερινή έννοια των προσαρμοστικών συστημάτων, χρησιμοποιώντας μετάλλαξη, διασταύρωση, και επιλογή, οι οποίες προσομοίωναν τις διαδικασίες της βιολογικής εξέλιξης. Το βιβλίο προσπάθησε επίσης να θέσει τους γενετικούς αλγόριθμους σε μια σταθερή θεωρητική βάση με την εισαγωγή της έννοιας των σχημάτων (Mitchell, 1996, Haupt και Haupt, 1998). Την ίδια χρονιά, η σημαντική διατριβή του Kenneth De Jong καθιέρωσε τη δυναμική του εξελικτικού υπολογισμού, από την οποία προκύπτει ότι μπορεί να έχει καλές επιδόσεις σε ένα μεγάλο εύρος προβλημάτων, συμπεριλαμβανομένων θορυβωδών, ασυνεχών, και πολυτροπικών χώρων αναζήτησης (Goldberg, 1989). Αυτές οι θεμελιώδεις εργασίες δημιούργησαν ένα ευρύτερο ενδιαφέρον για τον εξελικτικό υπολογισμό. Από τις αρχές μέχρι τα μέσα της δεκαετίας του 80, οι γενετικοί αλγόριθμοι είχαν ήδη αρχίσει να εφαρμόζονται σε ένα ευρύ φάσμα προβλημάτων, από προβλήματα αφηρημένων μαθηματικών όπως η συσκευασία σε τεμάχια (bin-packing) και ο χρωματισμός γράφων (graphcoloring), μέχρι πρακτικά προβλήματα μηχανικής, όπως ο έλεγχος ροής αγωγών, η αναγνώριση προτύπων, η ταξινόμηση και η βελτιστοποίηση δομών (Goldberg, 1989). Στην αρχή οι εφαρμογές αυτές ήταν κυρίως θεωρητικές. Ωστόσο, καθώς η έρευνα συνέχισε να αναπτύσσεται, οι γενετικοί αλγόριθμοι μεταφέρθηκαν και στον εμπορικό τομέα, και η εφαρμογή τους ενισχύθηκε από την εκθετική αύξηση της υπολογιστικής ισχύος και την ανάπτυξη του διαδικτύου. Σήμερα ο εξελικτικός υπολογισμός είναι ένας τομέας που ακμάζει και οι αλγόριθμοι αυτοί θεωρείται ότι επιλύουν προβλήματα της καθημερινότητας (Haupt και Haupt, 1998) σε περιοχές με πολύ διαφορετικές απαιτήσεις, όπως είναι λ.χ. η πρόβλεψη χρηματιστηριακών αγορών, ο σχεδιασμός χαρτοφυλακίου, η αεροδιαστημική μηχανική, ο σχεδιασμός μικροτσίπ, η βιοχημεία και η μοριακή βιολογία, καθώς και ο προγραμματισμός στους αερολιμένες και τις γραμμές συναρμολόγησης. Η δύναμη της εξέλιξης άγγιξε σχεδόν κάθε τομέα που μπορούμε να σκεφτούμε, διαμορφώνοντας τον κόσμο γύρω μας διακριτικά και αόρατα με αμέτρητους τρόπους, και εξακολουθούν να ανακαλύπτονται νέες χρήσεις καθώς η έρευνα συνεχίζεται. Και στη βάση του εξελικτικού υπολογισμού δεν υπάρχει τίποτε περισσότερο από την απλή θεωρία του Charles Darwin, ότι η τυχαία πιθανότητα σε συνδυασμό με τον κανόνα επιλογής, είναι μια τεχνική επίλυσης προβλημάτων με τεράστια δύναμη και σχεδόν απεριόριστη ισχύ. Πλεονεκτήματα του εξελικτικού υπολογισμού Το πρώτο και σημαντικότερο σημείο είναι ότι οι γενετικοί αλγόριθμοι είναι από τη φύση τους παράλληλοι. Οι περισσότεροι από τους άλλους αλγόριθμους είναι σειριακοί και μπορούν να εξερευνήσουν το χώρο λύσεων σε ένα πρόβλημα μόνο προς μία κατεύθυνση ανά πάσα στιγμή, και εάν η λύση που ανακαλύπτουν αποδεικνύεται υποβέλτιστη, δεν μπορούμε να κάνουμε κάτι άλλο

26 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ από το να εγκαταλείψουμε όλη την εργασία που ολοκληρώθηκε προηγουμένως και να αρχίσουμε από την αρχή. Ο εξελικτικός υπολογισμός, αντίθετα, από τη στιγμή που παράγει πολλούς απογόνους, έχει τη δυνατότητα να διερευνά το χώρο λύσεων σε πολλαπλές κατευθύνσεις ταυτόχρονα. Εάν μια διαδρομή οδηγεί σε αδιέξοδο, μπορεί εύκολα να απαλειφθεί και να συνεχιστεί η εργασία με τις περισσότερο υποσχόμενες διαδρομές, δίνοντας έτσι μεγαλύτερη πιθανότητα σε κάθε εκτέλεση να βρει τη βέλτιστη λύση. Ωστόσο, το πλεονέκτημα του παραλληλισμού είναι σημαντικότερο από τα παραπάνω και αρκεί να σκεφτούμε το συλλογισμό που ακολουθεί. Έστω ότι όλες οι οκταψήφιες δυαδικές συμβολοσειρές (δηλαδή σειρές 8 ψηφίων που αποτελούνται από 0 και 1) αποτελούν ένα χώρο αναζήτησης και μπορούν να αναπαρασταθούν ως ******** (όπου το * σημαίνει είτε 0 είτε 1). Ένα μέλος του χώρου αυτού είναι η συμβολοσειρά 01101010. Ωστόσο, η ίδια συμβολοσειρά είναι επίσης μέλος του χώρου 0*******, του χώρου 01******, του χώρου 0******0, του χώρου 0*1*1*1*, του χώρου 01*01**0, κ.ο.κ. Όταν ένας εξελικτικός αλγόριθμος κάνει αξιολόγηση της καταλληλότητας της συγκεκριμένης συμβολοσειράς, κάνει ουσιαστικά δειγματοληψία σε κάθε έναν από τους χώρους στους οποίους ανήκει αυτή η συμβολοσειρά. Μετά από πολλές τέτοιες α- ξιολογήσεις, ο αλγόριθμος θα δημιουργήσει μια ολοένα και πιο λεπτομερή τιμή για το μέσο όρο καταλληλότητας του κάθε χώρου από αυτούς, ο καθένας από τους οποίους έχει πολλά μέλη. Ως εκ τούτου, ο εξελικτικός υπολογισμός που αξιολογεί ρητά έναν μικρό αριθμό ατόμων εκτελεί σιωπηρά την αξιολόγηση μιας πολύ μεγαλύτερης ομάδας ατόμων με τον ίδιο τρόπο που ένας δημοσκόπος που θέτει ερωτήματα σε κάποιο μέλος μιας εθνικής, θρησκευτικής, ή κοινωνικής ομάδας ελπίζει να μάθει κάτι σχετικά με τις γνώμες όλων των μελών αυτής της ομάδας, και ως εκ τούτου να μπορέσει να προβλέψει αξιόπιστα την κοινή γνώμη, ενώ αυτός έχει κάνει δειγματοληψία μόνο σε ένα μικρό ποσοστό του πληθυσμού. Κατά τον ίδιο τρόπο, ένας εξελικτικός αλγόριθμος μπορεί να κατευθυνθεί στο χώρο προς τα άτομα υψηλότερης καταλληλότητας και τελικά να βρει το γενικά καλύτερο άτομο από την εν λόγω ομάδα. Στο πλαίσιο των εξελικτικών αλγόριθμων αυτό είναι γνωστό ως το θεώρημα σχημάτων (βλ. Κεφάλαιο 10), και θεωρείται το βασικό πλεονέκτημα του εξελικτικού υπολογισμού έναντι άλλων μεθόδων επίλυσης προβλημάτων (Holland 1992, Mitchell 1996, Goldberg 1989). Λόγω του ότι ο παραλληλισμός επιτρέπει στους εξελικτικούς αλγόριθμους να αξιολογούν σιωπηρά πολλά σχήματα ταυτόχρονα, οι αλγόριθμοι αυτοί είναι ιδιαίτερα κατάλληλοι για επίλυση προβλημάτων όπου ο χώρος των πιθανών λύσεων είναι υπερβολικά μεγάλος για να μπορέσουμε να τον αναζητήσουμε εξαντλητικά μέσα σε κάποιο εύλογο χρόνο. Τα περισσότερα προβλήματα που εμπίπτουν στην κατηγορία αυτή είναι γνωστά ως «μη γραμμικά». Σε ένα γραμμικό πρόβλημα η καταλληλότητα της κάθε συνιστώσας είναι ανεξάρτητη από τις άλλες, με συνέπεια η βελτίωση σε κάποιο σημείο να οδηγεί στη βελτίωση του συστήματος ως συνόλου. Ίσως είναι περιττό να πούμε ότι υπάρχουν ελάχιστα γραμμικά προβλήματα στον πραγματικό κόσμο. Αντίθετα, ο κανόνας είναι η μη γραμμικότητα, όπου όταν αλλάξει μια συνιστώσα, μπορεί να υπάρχουν συνεπακόλουθες επιπτώσεις στο σύνολο του συστήματος. Περιπτώσεις δηλαδή όπου μια σειρά από αλλαγές αν εφαρμοστούν μεμονωμένα θα είναι επιζήμιες, ενώ αν συνδυαστούν μπορεί να οδηγήσουν σε πολύ μεγαλύτερες βελτιώσεις στην καταλληλότητα. Η μη γραμμικότητα έχει ως αποτέλεσμα τη συνδυαστική έκρηξη: ο χώρος συμβολοσειρών 1000 δυαδικών ψηφίων μπορεί να διερευνηθεί εξαντλητικά με την αξιολόγηση μόνο 2000 περιπτώσεων εάν το πρόβλημα είναι γραμ-

2 Εξελικτικός υϖολογισμός 27 μικό, ενώ αν είναι μη γραμμικό μια εξαντλητική αναζήτηση απαιτεί την αξιολόγηση 2 1000 περιπτώσεων αριθμός που απαιτεί 300 ψηφία για πλήρη αναπαράσταση. Ευτυχώς ο έμμεσος παραλληλισμός του εξελικτικού υπολογισμού μας επιτρέπει να ξεπεράσουμε ακόμη και αυτόν τον τεράστιο αριθμό περιπτώσεων, βρίσκοντας βέλτιστα ή πολύ καλά αποτελέσματα σε σύντομο χρονικό διάστημα μετά από άμεση δειγματοληψία σε μικρές μόνο περιοχές του τεράστιου χώρου καταλληλότητας (Forrest, 1993). Για παράδειγμα, ένας γενετικός αλγόριθμος που αναπτύχθηκε από κοινού από τους μηχανικούς της General Electric και του Rensselaer Polytechnic Institute παρήγαγε ένα σχεδιασμό κινητήρα τζετ υψηλής απόδοσης που ήταν τρεις φορές καλύτερος από ένα σχεδιασμό από άνθρωπο και 50% καλύτερος από ένα σχεδιασμό που παράχθηκε από ένα έμπειρο σύστημα, διερευνώντας με επιτυχία ένα χώρο λύσεων που περιέχει περισσότερες από 10 387 δυνατότητες. Οι συμβατικές μέθοδοι για τον σχεδιασμό αυτών των στροβίλων είναι το ουσιαστικότερο μέρος των έργων αυτών και μπορούν να διαρκέσουν έως και πέντε χρόνια και να κοστίσουν περισσότερα από 2 δισεκατομμύρια ευρώ. Ο γενετικός αλγόριθμος ανακάλυψε αυτή τη λύση μετά από δύο μέρες εργασίας σε ένα τυπικό υπολογιστή (Holland, 1992). Μια άλλη αξιοσημείωτη ισχύς των εξελικτικών αλγόριθμων είναι ότι αποδίδουν καλά στα προβλήματα για τα οποία ο χώρος καταλληλότητας είναι πολύπλοκος στις περιπτώσεις δηλαδή όπου η συνάρτηση καταλληλότητας είναι ασυνεχής, θορυβώδης, μεταβάλλεται με την πάροδο του χρόνου, ή έχει πολλά τοπικά βέλτιστα. Τα περισσότερα πρακτικά προβλήματα έχουν έναν τεράστιο χώρο λύσεων, ο οποίος είναι αδύνατο να αναζητηθεί εξαντλητικά. Η πρόκληση τότε είναι το πώς θα καταφέρουμε να αποφύγουμε τις λύσεις που είναι τοπικά βέλτιστα δηλαδή λύσεις που να είναι καλύτερες από όλες τις άλλες που είναι κοντινές σε αυτές, αλλά δεν είναι τόσο καλές όσο άλλες λύσεις σε κάποιο άλλο σημείο του χώρου λύσεων. Πολλοί αλγόριθμοι αναζήτησης μπορούν να παγιδευτούν από τα τοπικά βέλτιστα: Όταν φτάνουν στην κορυφή ενός λόφου του χώρου καταλληλότητας, ανακαλύπτουν ότι δεν υπάρχουν καλύτερες λύσεις κοντά και καταλήγουν ότι έχουν φτάσει στο καλύτερο σημείο, ενώ υπάρχουν υψηλότερες κορυφές και αλλού στο χάρτη. Οι εξελικτικοί αλγόριθμοι, από την άλλη, έχουν αποδειχθεί αποτελεσματικοί στο να δραπετεύουν από τοπικά βέλτιστα και να ανακαλύπτουν τη γενική βέλτιστη λύση ακόμη και σε ένα πολύ δύσκολο και περίπλοκο χώρο καταλληλότητας. Θα πρέπει να σημειωθεί ότι στην πραγματικότητα δεν υπάρχει συνήθως τρόπος να γνωρίζουμε αν η προτεινόμενη λύση σε ένα πρόβλημα είναι και η μόνη γενική βέλτιστη λύση ή απλά ένα πολύ μεγάλο τοπικό βέλτιστο. Ωστόσο, ακόμη και αν ο εξελικτικός αλγόριθμος δεν παραδώσει πάντα μια αποδεδειγμένα τέλεια λύση σε κάποιο πρόβλημα, μπορεί τουλάχιστον, σχεδόν πάντα, να παραδώσει μια πολύ καλή λύση. Για να επιτευχθεί αυτό, εργάζονται από κοινού και οι τέσσερις σημαντικότερες συνιστώσες του εξελικτικού υπολογισμού παραλληλισμός, επιλογή, μετάλλαξη, και ανασυνδυασμός. Στην αρχή, ο ε- ξελικτικός αλγόριθμος δημιουργεί ένα διαφοροποιημένο αρχικό πληθυσμό, ρίχνοντας ένα «δίχτυ» στο χώρο καταλληλότητας. Ο Koza (2003) συγκρίνει αυτόν τον πληθυσμό με μια στρατιά από αλεξιπτωτιστές που πέφτουν επάνω στο χώρο αναζήτησης λύσεων ενός προβλήματος, με κάθε ένα αλεξιπτωτιστή να έχει εντολές για εύρεση της υψηλότερης κορυφής. Μικρές μεταλλάξεις επιτρέπουν στον καθένα να διερευνήσει την άμεση γειτονιά του, ενώ η επιλογή εστιάζει στην πρόοδο, καθοδηγώντας τους απογόνους του αλγόριθμου σε πιο ελπιδοφόρες περιοχές του χώρου λύσεων (Holland, 1992).

28 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ Ωστόσο, το βασικό στοιχείο που διαφοροποιεί τους εξελικτικούς αλγόριθμους από άλλες μεθόδους, όπως η αναρρίχηση λόφου (hill-climbing) και η προσομοιωμένη ανόπτηση (simulated annealing) είναι ο ανασυνδυασμός. Χωρίς ανασυνδυασμό κάθε μεμονωμένη λύση (άτομο του πληθυσμού) θα είναι μόνη της και θα διερευνά το χώρο αναζήτησης μόνο στο άμεσο περιβάλλον της, χωρίς να έχει αναφορά σε ό,τι ενδέχεται να έχει ανακαλυφθεί από άλλα άτομα. Όταν όμως εφαρμόζεται ο ανασυνδυασμός, υπάρχει μια μεταφορά πληροφοριών μεταξύ των επιτυχόντων υποψηφίων τα άτομα μπορούν να επωφεληθούν από αυτά που έχουν μάθει άλλα άτομα, και τα σχήματα μπορούν να αναμιχθούν και να συνδυαστούν, με δυνατότητα να παράγουν απογόνους που να έχουν πλεονεκτήματα και των δύο γονέων τους και τις αδυναμίες κανενός. Το σημείο αυτό τονίζεται στους Koza και συνεργάτες (1999), όπου οι συγγραφείς συζητούν για ένα πρόβλημα σύνθεσης ενός χαμηλοπερατού φίλτρου χρησιμοποιώντας γενετικό προγραμματισμό. Σε μiα γενιά δύο γονικά κυκλώματα είχαν επιλεγεί για να τους εφαρμοστεί ανασυνδυασμός. Ένας γονέας είχε καλή τοπολογία (κατασκευαστικά στοιχεία, όπως πυκνωτές και επαγωγείς στις σωστές θέσεις), αλλά κακά μεγέθη (οι τιμές της επαγωγής και χωρητικότητας για τα συστατικά του ήταν υπερβολικά χαμηλές). Ο άλλος γονέας είχε κακή τοπολογία, αλλά καλά μεγέθη. Το αποτέλεσμα της σύζευξης των δύο μέσω του ανασυνδυασμού των απογόνων ήταν ένας απόγονος με την καλή τοπολογία του ενός γονέα και τα καλά μεγέθη του άλλου, με αποτέλεσμα την ουσιαστική βελτίωση της καταλληλότητας σε σχέση με τους δύο γονείς. Το πρόβλημα του να βρεθεί η καλύτερη δυνατή λύση σε ένα χώρο με πολλά τοπικά βέλτιστα είναι επίσης γνωστό ως το δίλημμα της εξερεύνησης έναντι της εκμετάλλευσης (exploration vs exploitation), το οποίο σύμφωνα με τον Holland είναι ένα κλασσικό πρόβλημα για όλα τα συστήματα που μπορούν να προσαρμοστούν και να μάθουν (Holland 1992). Το δίλημμα είναι το εξής: Μόλις ένας αλγόριθμος (ή ένας σχεδιαστής) έχει βρει μια στρατηγική επίλυσης προβλημάτων που φαίνεται να λειτουργεί ικανοποιητικά, θα πρέπει να επικεντρωθεί στην καλύτερη δυνατή χρήση της εν λόγω στρατηγικής, ή θα πρέπει να αναζητήσει άλλες; Η εγκατάλειψη μιας αποδεδειγμένης στρατηγικής για την αναζήτηση μιας άλλης επιφέρει απώλειες και υποβάθμιση των ε- πιδόσεων, τουλάχιστον σε βραχυπρόθεσμο ορίζοντα. Ωστόσο, εάν κάποιος επικεντρωθεί σε μια συγκεκριμένη στρατηγική με αποκλεισμό όλων των άλλων, υπάρχει ο κίνδυνος της μη εξεύρεσης καλύτερων στρατηγικών που δυνητικά υπάρχουν και δεν έχουν βρεθεί ακόμη. Και πάλι, οι εξελικτικοί αλγόριθμοι έχουν αποδειχθεί να είναι πολύ καλοί στην ισορροπία αυτή και στην ανακάλυψη καλών λύσεων μέσα σε εύλογο χρόνο και υπολογιστική προσπάθεια. Ένας άλλος τομέας στον οποίο υπερτερούν οι γενετικοί αλγόριθμοι είναι η ικανότητά τους να χειριστούν ταυτόχρονα πολλές παραμέτρους (Forrest, 1993). Πολλά προβλήματα από τον πραγματικό κόσμο δεν μπορούν να εκφραστούν με βάση μια μοναδική τιμή που θα πρέπει να ελαχιστοποιηθεί ή να μεγιστοποιηθεί, αλλά πρέπει να εκφράζονται σε πολλαπλούς αντικειμενικούς στόχους, συνήθως απαιτώντας εξισορρόπηση όλων των παραγόντων που εμπλέκονται. Σε τέτοιες περιπτώσεις, κάποιος παράγοντας μπορεί να βελτιωθεί μόνο σε βάρος ενός άλλου παράγοντα. Οι εξελικτικοί αλγόριθμοι είναι πολύ καλοί στην επίλυση τέτοιων προβλημάτων. Η χρήση του παραλληλισμού τους επιτρέπει να παράγουν πολλαπλές εξίσου καλές λύσεις για το ίδιο πρόβλημα, και ενδεχομένως με μια υποψήφια λύση να βελτιστοποιεί έναν παράγοντα, ενώ με μια άλλη να βελτιστοποιεί ένα άλλον παράγοντα (Haupt και Haupt, 1998). Μέσω μιας ανθρώπινης επιθεώρησης μπορεί στη συνέχεια να επιλεχθεί ένας από αυτούς τους υποψηφίους για χρήση. Αν μια συγκεκριμένη λύση σε ένα πολυαντικειμενικό πρόβλημα βελτιστοποιεί μια παράμετρο, σε τέτοιο

2 Εξελικτικός υϖολογισμός 29 βαθμό ώστε η παράμετρος αυτή να μην μπορεί να βελτιωθεί περαιτέρω, χωρίς να προκαλείται αντίστοιχη μείωση της ποιότητας μιας άλλης παραμέτρου, τότε η λύση ονομάζεται βέλτιστη κατά Pareto ή μη-κυριαρχούμενη (Coello, 2000). Τέλος, μία από τις ιδιότητες των εξελικτικών αλγόριθμων, η οποία θα μπορούσε με μια πρώτη ματιά να φανεί ως μειονέκτημα, αποδεικνύεται ότι είναι ένα από τα ισχυρά τους σημεία. Συγκεκριμένα, οι εξελικτικοί αλγόριθμοι δεν γνωρίζουν τίποτα σχετικά με τα προβλήματα που θα επιλύσουν. Αντί να χρησιμοποιούμε συγκεκριμένες πληροφορίες από ένα γνωστό τομέα για την καθοδήγηση κάθε βήματος και να κάνουμε αλλαγές όπως κάνουν οι άνθρωποι, οι εξελικτικοί αλγόριθμοι είναι σύμφωνα με τον Dawkins «τυφλοί ρολογάδες» (Dawkins, 1996). Κάνουν τυχαίες αλλαγές των υποψήφιων λύσεων και στη συνέχεια χρησιμοποιούν τη συνάρτηση καταλληλότητας να διαπιστωθεί κατά πόσον οι αλλαγές αυτές παράγουν μια βελτίωση. Η βάση της τεχνικής αυτής είναι ότι επιτρέπει στους γενετικούς αλγόριθμους να ξεκινήσουν με «ανοιχτό μυαλό». Από τη στιγμή που οι αποφάσεις τους βασίζονται στην τυχαιότητα, όλες οι δυνατές πορείες αναζήτησης είναι θεωρητικά πιθανές σε ένα εξελικτικό αλγόριθμο. Αντίθετα, κάθε στρατηγική για επίλυση προβλημάτων που βασίζεται σε προηγούμενη γνώση θα πρέπει α- ναπόφευκτα να αρχίσει αποκλείοντας πολλές πορείες εξ ορισμού, και κατά συνέπεια χάνοντας οποιεσδήποτε νέες λύσεις που μπορεί να υπάρχουν εκεί (Koza et al., 1999). Χωρίς να έχουν προκαταλήψεις που να βασίζονται σε καθιερωμένες πεποιθήσεις του «πώς θα πρέπει να γίνουν τα πράγματα» ή του «τι δεν θα μπορούσε να δουλέψει», οι εξελικτικοί αλγόριθμοι δεν έχουν πρόβλημα. Επιπρόσθετα, κάθε τεχνική που βασίζεται σε προηγούμενη γνώση θα καταρρεύσει όταν αυτές οι γνώσεις δεν θα είναι διαθέσιμες, αλλά και πάλι ο εξελικτικός αλγόριθμος δεν θα επηρεαστεί αρνητικά από την άγνοια αυτή (Goldberg, 1989). Μέσω των συστατικών τους, του παραλληλισμού, του ανασυνδυασμού, και της μετάλλαξης, μπορούν να διερευνήσουν μια ευρεία περιοχή του χώρου καταλληλότητας, αναζητώντας περιοχές οι οποίες μπορεί να έχουν αγνοηθεί από άλλους αλγόριθμους, και ενδεχομένως να αποκαλύψουν λύσεις εντυπωσιακής και απρόσμενης δημιουργικότητας που μπορεί ποτέ να μην είχαν παραχθεί από ανθρώπους. Ένα τέτοιο χαρακτηριστικό παράδειγμα είναι η ανακάλυψη εκ νέου από τον γενετικό προγραμματισμό της έννοιας της αρνητικής ανάδρασης (negative feedback) αρχή κρίσιμη για πολλά και σημαντικά ηλεκτρονικά εξαρτήματα σήμερα, αλλά που όταν ανακαλύφθηκε για πρώτη φορά, δεν πέτυχε τη χορήγηση διπλώματος ευρεσιτεχνίας για εννέα χρόνια, επειδή η έννοια αυτή ήταν κάθετα αντίθετη με τις καθιερωμένες πεποιθήσεις (Koza et al., 2003). Οι εξελικτικοί αλγόριθμοι φυσικά δεν «γνωρίζουν» εάν η λύση έρχεται σε αντίθεση με τις καθιερωμένες πεποιθήσεις το μόνο που έχει σημασία είναι εάν η λύση είναι αποτελεσματική. Όρια του εξελικτικού υπολογισμού Μολονότι οι εξελικτικοί αλγόριθμοι έχουν αποδειχθεί ως μια αποτελεσματική και ισχυρή στρατηγική επίλυσης προβλημάτων, δεν είναι και πανάκεια έχουν και ορισμένους περιορισμούς. Ω- στόσο, θα δούμε ότι οι περισσότεροι από αυτούς τους περιορισμούς είναι δυνατό να αντιμετωπιστούν, και κανένας από αυτούς δεν οφείλεται στη θεωρία της βιολογικής εξέλιξης. Η πρώτη και η πιο σημαντική θεώρηση κατά το στάδιο δημιουργίας ενός εξελικτικού αλγόριθμου και ειδικότερα ενός γενετικού αλγόριθμου είναι η αναπαράσταση του προβλήματος. Η γλώσσα που θα χρησιμοποιηθεί για να καθοριστεί η μορφή των υποψήφιων λύσεων θα πρέπει

30 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ να είναι εύρωστη. Δηλαδή θα πρέπει η γλώσσα να είναι σε θέση να ανεχτεί τυχαίες αλλαγές οι οποίες δεν θα παράγουν συστηματικά, ως αποτέλεσμα, λάθη ή ασυναρτησίες. Υπάρχουν δύο βασικοί τρόποι επίτευξης του σκοπού αυτού. Ο πρώτος, ο οποίος χρησιμοποιείται από τους περισσότερους εξελικτικούς αλγόριθμους, είναι να καθοριστούν τα άτομα ως λίστες αριθμών δυαδικών τιμών, ακέραιων τιμών, ή πραγματικών τιμών όπου κάθε αριθμός αντιστοιχεί σε κάποια πτυχή της υποψήφιας λύσης. Αν τα άτομα είναι δυαδικές συμβολοσειρές, το 0 ή 1 μπορεί να σημαίνει την απουσία ή παρουσία ενός δεδομένου χαρακτηριστικού. Αν οι λίστες περιέχουν αριθμούς, αυτοί οι αριθμοί θα μπορούσαν να αντιπροσωπεύουν πολλά διαφορετικά πράγματα: τα βάρη των συνδέσεων σε ένα νευρωνικό δίκτυο, τη σειρά των πόλεων που επισκέφτηκε μια συγκεκριμένη περιοδεία, τη χωροταξική τοποθέτηση των ηλεκτρονικών εξαρτημάτων, τις τιμές που τροφοδοτείται ένας ελεγκτής, τη γωνία στρέψης του συνδέσμου πεπτιδίου μιας πρωτεΐνης, και ούτω καθεξής. Η μετάλλαξη τότε συνεπάγεται την αλλαγή αυτών των αριθμών, αντιστρέφοντας bits, ή προσθέτοντας ή αφαιρώντας τυχαίες τιμές. Στην περίπτωση αυτή δεν απαιτείται αλλαγή στον αντικειμενικό κώδικα του προγράμματος. Αυτός ο κώδικας διαχειρίζεται την προσομοίωση και παρακολουθεί τα άτομα, την αξιολόγηση της καταλληλότητάς τους και μπορεί να εξασφαλίσει μόνο ρεαλιστικές και δυνατές τιμές για το δεδομένο πρόβλημα. Σε μια άλλη μέθοδο, το γενετικό προγραμματισμό, ο πραγματικός κώδικας προγράμματος κάνει αλλαγή. Ο γενετικός προγραμματισμός αναπαριστά τα άτομα ως δέντρα εκτελέσιμου κώδικα που μπορεί να μεταλλαχθεί ή να αλλαχθεί με την αλλαγή υπο-δέντρων (δείτε περισσότερα στο Κεφάλαιο 12). Και οι δύο αυτές μέθοδοι παράγουν παραστάσεις που είναι εύρωστες απέναντι στη μετάλλαξη και μπορούν να αντιπροσωπεύουν πολλά διαφορετικά είδη προβλημάτων. Το θέμα της αναπαράστασης των υποψήφιων λύσεων με εύρωστο τρόπο δεν τίθεται στην φύση, επειδή η μέθοδος της αντιπροσώπευσης που χρησιμοποιείται από την εξέλιξη, δηλαδή ο γενετικός κώδικας, είναι από τη φύση της εύρωστη: Με πολύ λίγες εξαιρέσεις, όπως μια σειρά stop codons, δεν υπάρχει περίπτωση μια αλληλουχία βάσεων του DNA να μην μπορεί να μεταφραστεί σε μια πρωτεΐνη. Ως εκ τούτου, σχεδόν κάθε αλλαγή στα γονίδια ενός ατόμου θα εξακολουθεί να παράγει ένα κατανοητό αποτέλεσμα, και έτσι οι μεταλλάξεις στην εξέλιξη έχουν μεγαλύτερες πιθανότητες να παράγουν μια βελτίωση. Αυτό έρχεται σε αντίθεση λ.χ. με γλώσσες που δημιουργήθηκαν από ανθρώπους όπως τα ελληνικά, όπου ο αριθμός των λέξεων που έχουν νόημα είναι μικρός σε σχέση με το συνολικό αριθμό των τρόπων που μπορεί να συνδυάσει κάποιος τα γράμματα του αλφαβήτου, και συνεπώς τυχαίες αλλαγές σε μια ελληνική πρόταση είναι πιθανό να παράγουν ασυναρτησίες. Πρέπει ακόμη να μελετηθεί προσεκτικά το πρόβλημα της συγγραφής της συνάρτησης καταλληλότητας, έτσι ώστε να είναι εφικτή υψηλότερη καταλληλότητα και να ισοδυναμεί πράγματι με μια καλύτερη λύση για το συγκεκριμένο πρόβλημα. Εάν η συνάρτηση καταλληλότητας έχει επιλεγεί ανεπιτυχώς ή με ασάφεια, ο εξελικτικός αλγόριθμος μπορεί να μην καταφέρει να βρει μια λύση για το πρόβλημα, ή μπορεί να καταλήξει σε λάθος επίλυση του προβλήματος. Η τελευταία κατάσταση μερικές φορές περιγράφεται ως η τάση του εξελικτικού αλγόριθμου να «εξαπατήσει», αν και στην πραγματικότητα όλο αυτό που συμβαίνει είναι ότι ο εξελικτικός αλγόριθμος κάνει ό,τι του είπαν να κάνει, και όχι ό,τι θα ήθελαν να κάνει οι δημιουργοί του. Ένα τέτοιο παράδειγμα αναφέρεται στο άρθρο του Graham-Rowe (2002), όπου χρησιμοποιήθηκε ένας εξελικτικός αλγόριθμος σε συνδυασμό με μια σειρά επαναπρογραμματιζομένου υλικού για τη σύσταση μιας συνάρτησης καταλληλότητας, προκειμένου να επιβραβεύσει το εξελισσόμενο κύκλωμα για ένα

2 Εξελικτικός υϖολογισμός 31 παραγόμενο σήμα ταλάντωσης. Στο τέλος του πειράματος, παράχθηκε πράγματι ένα σήμα ταλάντωσης, αλλά αντί το κύκλωμα να ενεργεί ως ταλαντωτής, όπως ήθελαν οι ερευνητές, ανακάλυψαν ότι είχε γίνει ραδιοφωνικός δέκτης, ο οποίος συλλάμβανε και αναμετάδιδε ένα σήμα ταλάντωσης από ένα γειτονικό τμήμα του ηλεκτρονικού εξοπλισμού. Αυτό πάντως δεν αποτελεί πρόβλημα στη φύση. Στο εργαστήριο της βιολογικής εξέλιξης υ- πάρχει μόνο μία συνάρτηση καταλληλότητας, η οποία είναι ίδια για όλα τα έμβια όντα η οδός της επιβίωσης και της αναπαραγωγής, ανεξάρτητα από τις προσαρμογές που θα το επιτρέψουν. Οι εν λόγω οργανισμοί, οι οποίοι αναπαράγουν σε μεγαλύτερη αφθονία σε σύγκριση με τους α- νταγωνιστές τους είναι οι πιο κατάλληλοι. Εκείνοι που αδυνατούν να αναπαράγουν κρίνονται ακατάλληλοι. Εκτός από μια καλή επιλογή συνάρτησης καταλληλότητας (ικανότητας), πρέπει επίσης να ε- πιλέγονται με προσοχή και οι άλλες παράμετροι ενός εξελικτικού αλγόριθμου το μέγεθος του πληθυσμού, ο ρυθμός μετάλλαξης και ανασυνδυασμού, το είδος και η ισχύς της επιλογής. Εάν το μέγεθος του πληθυσμού είναι πολύ μικρό, ο εξελικτικός αλγόριθμος δεν μπορεί να διερευνήσει αρκετό χώρο λύσεων ώστε να βρει καλές λύσεις. Εάν το ποσοστό της γενετικής αλλαγής είναι πολύ υψηλό ή το σύστημα επιλογής που επιλέγεται είναι ανεπιτυχές, τα ευεργετικά σχήματα ενδέχεται να διαταραχθούν και ο πληθυσμός μπορεί να μπει σε λανθασμένη καθοδήγηση, να αλλάζει πολύ γρήγορα, έτσι ώστε η επιλογή να μην καταφέρει να επιφέρει σύγκλιση. Οι ζώντες οργανισμοί αντιμετωπίζουν παρόμοια προβλήματα, και η εξέλιξη έχει ασχοληθεί μαζί τους. Είναι αλήθεια ότι αν ένα μέγεθος του πληθυσμού πέφτει πολύ χαμηλά, οι ρυθμοί μετάλλαξής του είναι πολύ υψηλοί ή η πίεση επιλογής είναι πολύ ισχυρή (μια τέτοια κατάσταση θα μπορούσε να προκληθεί λ.χ. από δραστικές περιβαλλοντικές αλλαγές), και τότε τα είδη μπορεί να εξαφανιστούν. Η λύση που έχει παρατηρηθεί είναι «η εξέλιξη της εξελιξιμότητας» προσαρμογές που αλλοιώνουν την ικανότητα προσαρμογής ενός είδους. Για παράδειγμα, οι περισσότεροι ζώντες οργανισμοί έχουν εξελίξει περίπλοκο μοριακό μηχανισμό που ελέγχει και διορθώνει τα σφάλματα κατά τη διαδικασία αντιγραφής του DNA, κρατώντας τους ρυθμούς μετάλλαξης σε αποδεκτά χαμηλά επίπεδα. Αντίστροφα, σε εποχές σοβαρής περιβαλλοντικής πίεσης, κάποια είδη βακτηριδίων λ.χ. εισέρχονται σε κατάσταση υπερμετάλλαξης όπου το ποσοστό των λαθών αντιγραφής του DNA αυξάνεται κατακόρυφα, αυξάνοντας την πιθανότητα ανακάλυψης μιας μετάλλαξης εξισορρόπησης. Φυσικά, δεν μπορούν να αποφευχθούν όλες οι καταστροφές, αλλά η τεράστια ποικιλομορφία και οι εξαιρετικά πολύπλοκες προσαρμογές των ζωντανών οργανισμών σήμερα, δείχνουν ότι σε γενικές γραμμές η εξέλιξη είναι μια επιτυχημένη στρατηγική. Ομοίως, οι ποικίλες εφαρμογές της και τα εντυπωσιακά αποτελέσματα που παράγονται από τους εξελικτικούς αλγόριθμους δείχνουν να είναι ένας ισχυρός και χρήσιμος τομέας έρευνας. Ένα είδος προβλήματος στο οποίο αντιμετωπίζουν δυσκολία οι εξελικτικοί αλγόριθμοι είναι τα προβλήματα με «απατηλές» συναρτήσεις καταλληλότητας (Mitchell, 1996), στις οποίες οι θέσεις των βελτιωμένων σημείων δίνουν παραπλανητικές πληροφορίες σχετικά με το πού είναι πιθανό να βρεθεί το γενικό βέλτιστο. Για παράδειγμα, ας υποθέσουμε ένα πρόβλημα όπου ο χώρος αναζήτησης αποτελείται από δυαδικές συμβολοσειρές οκτώ χαρακτήρων και η καταλληλότητα ενός ατόμου είναι ευθέως ανάλογη με τον αριθμό των μονάδων σε αυτό δηλαδή το 00000001 είναι λιγότερο κατάλληλο από το 00000011, το οποίο είναι λιγότερο κατάλληλο από το 00000111, και ούτω καθεξής με δύο εξαιρέσεις: η συμβολοσειρά 11111111 να έχει πολύ χαμηλή καταλληλότητα και η συμβολοσειρά 00000000 να έχει πολύ υψηλή καταλληλότητα. Σε ένα

32 ΕΞΕΛΙΚΤΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΙ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ τέτοιο πρόβλημα ο εξελικτικός αλγόριθμος (όπως και οι περισσότεροι άλλοι αλγόριθμοι) δεν θα είναι ικανός να βρει το γενικό βέλτιστο καλύτερα από όσο μια τυχαία αναζήτηση. Η επίλυση αυτού του προβλήματος είναι ίδια τόσο στους εξελικτικούς αλγόριθμους όσο και στη βιολογική εξέλιξη: η εξέλιξη δεν είναι μια διαδικασία που καλείται να βρει το μοναδικό γενικό βέλτιστο κάθε φορά. Μπορεί να επιτύχει ένα υψηλό τοπικό βέλτιστο, και για τις περισσότερες περιπτώσεις αυτό θα είναι αρκετό, ακόμη και αν δεν είναι εύκολο να φτάσουμε από το σημείο εκείνο στο γενικό βέλτιστο. Η εξέλιξη είναι σε πολύ μεγάλο βαθμό ένας αλγόριθμος που θα προσφέρει μια «αρκετά καλή» λύση, αν και όχι απαραίτητα την καλύτερη, μέσα σε ένα εύλογο χρονικό διάστημα και με προσπάθεια που έχει επενδυθεί στην αναζήτηση. Αξίζει επίσης να σημειωθεί ότι είναι λίγα εάν υπάρχουν τα προβλήματα στον πραγματικό κόσμο που είναι α- πολύτως παραπλανητικά όπως το τεχνητό παράδειγμα που αναφέρθηκε παραπάνω. Συνήθως, η θέση των τοπικών βελτιώσεων δίνει τουλάχιστον κάποιες πληροφορίες σχετικά με τη θέση του γενικού βέλτιστου. Ένα ακόμη πρόβλημα που μπορεί να προκύψει με τους εξελικτικούς αλγόριθμους (ειδικά με τους γενετικούς αλγόριθμους) είναι γνωστό ως πρόωρη σύγκλιση. Ένα άτομο που είναι πολύ καλύτερο από τα άλλα άτομα και έχει προκύψει πολύ νωρίς στην εκτέλεση του αλγόριθμου, μπορεί να παράγει απογόνους σε εξαιρετικά υψηλό βαθμό, και να οδηγήσει γρήγορα σε πολύ χαμηλές τιμές την ποικιλομορφία του πληθυσμού, με αποτέλεσμα ο αλγόριθμος να συγκλίνει σε τοπικό βέλτιστο. (Forrest, 1993, Mitchell, 1996). Αυτό είναι ένα κοινό πρόβλημα ειδικά σε μικρούς πληθυσμούς, όπου ισότιμες διακυμάνσεις στο ρυθμό αναπαραγωγής μπορούν να έχουν ως αποτέλεσμα ένας γονότυπος να αποκτήσει κυρίαρχη θέση έναντι των άλλων. Οι συνηθέστερες μέθοδοι που εφαρμόζονται από τους ερευνητές των εξελικτικών αλγόριθμων για να αντιμετωπιστεί το πρόβλημα αυτό έχουν να κάνουν με τον έλεγχο της ισχύος της επιλογής, έτσι ώστε να μη δώσει σε υπερβολικά κατάλληλα άτομα πολύ μεγάλο πλεονέκτημα. Τρεις τρόποι για να αντιμετωπιστεί αυτό είναι η ταξινόμηση, η κλιμάκωση, και η επιλογή τουρνουά, που παρουσιάζονται στο Κεφάλαιο 3. Ορισμένες μέθοδοι για την κλιμάκωση επιλογής περιλαμβάνουν την κλιμάκωση σίγμα, στην οποία η αναπαραγωγή βασίζεται σε μια στατιστική σύγκριση με το μέσο όρο του πληθυσμού της καταλληλότητας και επιλογής Boltzmann, όπου η ισχύς της επιλογής αυξάνει με την πάροδο της εκτέλεσης με τρόπο παρόμοιο με τη μεταβλητή «θερμοκρασία» στην προσομοιωμένη ανόπτηση (Mitchell, 1996). Επίσης, ο γενετικός προγραμματισμός από τη φύση του δεν οδηγεί τον πληθυσμό σε σύγκλιση γενικότερα, καθόσον ο ανασυνδυασμός δυο α- πολύτως όμοιων ατόμων (δέντρων προγραμμάτων) δεν παράγει απαραιτήτως δυο εξίσου όμοια άτομα, και κατά συνέπεια η πρόωρη σύγκλιση δεν είναι συχνό φαινόμενο. Η πρόωρη σύγκλιση, απαντάται στη φύση (όπου και ονομάζεται γενετική παρέκκλιση από τους βιολόγους). Αυτό το γεγονός δεν πρέπει να μας προκαλεί έκπληξη. Όπως αναφέρθηκε παραπάνω, η εξέλιξη ως στρατηγική επίλυσης προβλημάτων δεν έχει καμία υποχρέωση να βρει την καλύτερη λύση, παρά μόνο μία που να είναι αρκετά καλή. Ωστόσο, η πρόωρη σύγκλιση στη φύση είναι λιγότερο κοινή, δεδομένου ότι οι περισσότερες ευεργετικές μεταλλάξεις σε έμβια όντα παράγουν μόνο μικρές αυξητικές βελτιώσεις καταλληλότητας. Μεταλλάξεις που να παράγουν ένα τόσο μεγάλο όφελος ως προς την καταλληλότητα και να δίνουν στους κατόχους τους εξαιρετικό αναπαραγωγικό πλεονέκτημα είναι σπάνιες. Τέλος, αρκετοί ερευνητές (Holland, 1992, Forrest, 1993, Haupt και Haupt, 1998) δεν συμβουλεύουν τη χρήση εξελικτικών αλγόριθμων σε προβλήματα που μπορούν να επιλυθούν και με α-

2 Εξελικτικός υϖολογισμός 33 ναλυτικό τρόπο. Αυτό δεν σημαίνει ότι οι γενετικοί αλγόριθμοι δεν μπορούν να βρουν καλές λύσεις σε τέτοια προβλήματα, αλλά ότι οι παραδοσιακές μέθοδοι ανάλυσης λαμβάνουν πολύ λιγότερο χρόνο και υπολογιστική προσπάθεια σε σχέση με τον εξελικτικό αλγόριθμο, και σε αντίθεση με τον εξελικτικό αλγόριθμο, είναι συνήθως μαθηματικά εγγυημένη η παραγωγή μιας λύσης με ακρίβεια. Φυσικά, από τη στιγμή που δεν υπάρχει μια μαθηματικά τέλεια λύση σε κάθε πρόβλημα βιολογικής προσαρμογής, αυτό το θέμα δεν προκύπτει στην φύση. Συμπεράσματα Οι εξελικτικοί αλγόριθμοι είναι μεθοδολογίες που χρησιμοποιούν έναν πληθυσμό πιθανών λύσεων εφαρμόζοντας την αρχή της επιβίωσης του καταλληλότερου προκειμένου να παραγάγουν ο- λοένα καλύτερες προσεγγίσεις σε μια λύση. Οι τέσσερις κύριοι κλάδοι του εξελικτικού υπολογισμού είναι οι γενετικοί αλγόριθμοι, ο εξελικτικός προγραμματισμός, οι στρατηγικές εξέλιξης, και ο γενετικός προγραμματισμός. Συγγενικές μέθοδοι βελτιστοποίησης ή υβριδικές μορφές εξελικτικού υπολογισμού αποτελούν οι μιμητικοί αλγόριθμοι, η βελτιστοποίηση σμήνους σωματιδίων, και η βελτιστοποίηση αποικίας μυρμηγκιών. Ο εξελικτικός υπολογισμός λειτουργεί με βάση τη γενεά. Στην αρχή του υπολογισμού διάφορα άτομα (ο πληθυσμός) αρχικοποιούνται τυχαία. Σε αυτά τα άτομα αξιολογείται στη συνέχεια η αντικειμενική συνάρτηση. Έτσι, παράγεται η πρώτη/αρχική γενεά. Εάν τα κριτήρια βελτιστοποίησης δεν ικανοποιούνται αρχίζει η δημιουργία μιας νέας γενεάς. Τα άτομα επιλέγονται σύμφωνα με την ικανότητά τους για την παραγωγή του απογόνου. Οι γονείς ανασυνδυάζονται για να παραγάγουν τον απόγονο. Στη συνέχεια, όλοι οι απόγονοι θα μεταλλαχθούν βάσει μιας ορισμένης πιθανότητας. Ακολούθως, υπολογίζεται η ικανότητα του κάθε απογόνου. Ο απόγονος παρεμβάλλεται στον πληθυσμό που αντικαθιστά τους γονείς, παράγοντας μια νέα γενεά. Αυτός ο κύκλος ε- κτελείται έως ότου επιτευχθούν τα κριτήρια βελτιστοποίησης. Το σημαντικότερο πλεονέκτημα των εξελικτικών αλγόριθμων είναι ότι είναι από τη φύση τους παράλληλοι. Οι περισσότεροι από τους άλλους αλγόριθμους είναι σειριακοί και μπορούν μόνο να εξερευνήσουν το χώρο λύσεων σε ένα πρόβλημα προς μία κατεύθυνση σε κάθε στιγμή. Ωστόσο, από τη στιγμή που ο εξελικτικός υπολογισμός παράγει πολλούς απογόνους, έχει τη δυνατότητα να διερευνά το χώρο λύσεων σε πολλαπλές κατευθύνσεις ταυτόχρονα. Οι εξελικτικοί αλγόριθμοι όμως έχουν και τα όριά τους, και δεν συμβουλεύεται η χρήση εξελικτικών αλγόριθμων σε προβλήματα που μπορούν να επιλυθούν με αναλυτικό τρόπο, εφόσον οι παραδοσιακές μέθοδοι ανάλυσης χρειάζονται πολύ λιγότερο χρόνο και υπολογιστική προσπάθεια απ ό,τι ο ε- ξελικτικός αλγόριθμος. Σε αντίθεση μάλιστα με τον εξελικτικό αλγόριθμο, είναι συνήθως μαθηματικά εγγυημένη η παραγωγή μιας λύσης με ακρίβεια. Ερωτήσεις 2.1 Περιγράψτε τα βασικά χαρακτηριστικά ενός εξελικτικού αλγόριθμου. Σε τι διαφέρει από άλλους αλγόριθμους; 2.2 Ποια είναι τα κύρια είδη εξελικτικών αλγόριθμων; Πώς αντιμετωπίζουν οι εξελικτικοί αλγόριθμοι το πρόβλημα των τοπικών βέλτιστων;