Επίκουρος Καθηγητής 1



Σχετικά έγγραφα
Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως

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

Οι τεχνικές της σύγχρονης επιστήμης μιμούνται και τις δύο αυτές μηχανές :

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

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

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

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

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

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

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

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

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

Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

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

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

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο

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

5.1 Θεωρητική εισαγωγή

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

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

Συστήματα Επιχειρηματικής Ευφυίας

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

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

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

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

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

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

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

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

Differential Evolution (Storn & Price 1995) Μπορεί να θεωρηθεί ως παραλλαγή των ΓΑ. Εφαρμόζεται μόνο σε προβλήματα συνεχών παραμέτρων και όχι

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

4.3. Γραµµικοί ταξινοµητές

Επίλυση Προβλημάτων 1

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

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

Μη Συµβολικές Μέθοδοι

Αλγόριθµοι και Πολυπλοκότητα

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

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

Ε ανάληψη. Ε αναλαµβανόµενες καταστάσεις. Αναζήτηση µε µερική ληροφόρηση. Πληροφορηµένη αναζήτηση. µέθοδοι αποφυγής

Γενετικές Μέθοδοι Βελτιστοποίησης Ερωτηµάτων σε Βάσεις εδοµένων

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

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

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

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

Ψηφιακοί Υπολογιστές

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

ιαµέριση - Partitioning

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ιαφορική εντροπία Σεραφείµ Καραµπογιάς

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

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

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών

οµηµένος Εξελικτικός Αλγόριθµος

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

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

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

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

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Επίλυση Γραµµικών Συστηµάτων

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

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

Θεωρία πληροφοριών. Τεχνολογία Πολυµέσων 07-1

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

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

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Ο ΓΠ (GP) γεννήθηκε από την ιδέα ότι η ανάπτυξη λογισμικού μπορεί να θεωρηθεί ως ένα πρόβλημα βελτιστοποίησης για το οποίο οι εξελικτικοί αλγόριθμοι

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

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Σ ή. : υαδικά. Ε ό. ή Ενότητα

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Εισαγωγή στους Γενετικούς Αλγορίθμους

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

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

Transcript:

Εισαγωγή, Ταξινόµηση, Ιστορική Εξέλιξη, Βασικές Αρχές Είδη Αλγορίθµων, Περιοχές Εφαρµογής, Παραδείγµατα. Οι Γενετικοί Αλγόριθµοι, αρχές λειτουργίας, λογικό διάγραµµα, κωδικοποίηση λύσεων, συνάρτηση ποιότητας, επιλογή γονέων. Γενετικοί Τελεστές, Crossover, Mutation, ειδικοί τελεστές, αναπαραγωγή, κριτήρια τερµατισµού, άλλες τεχνικές. Θεωρία Σχηµάτων, αντιµετώπιση περιορισµών, εφαρµογές Γ.Α., Multiobjective optimization, microgenetic algorithms, memetic algorithms Classifier Systems, Παράλληλοι ΓΑ, Εξελικτικές Στρατηγικές, Εξελικτικός Προγ/µός, Γενετικός Προγ/µός Evolvable Hardware, Multi-Agent systems, Ant-colony optimization Artificial Life, Immune Systems, Cultural Algorithms Εφαρµογές Εξελικτικής Υπολογιστικής Ποια είναι η πιο ισχυρή «µηχανή» αναζήτησης λύσεων, σύλληψης νέων ιδεών, θεωριών και εφευρέσεων στο σύµπαν? Α. Ο ανθρώπινος εγκέφαλος (που εφηύρε τον τροχό, την σύγχρονη επιστήµη τους υπολογιστές κ.λ.π.) Β. Ο µηχανισµός της εξέλιξης (που κατασκεύασε τον ανθρώπινο εγκέφαλο) Οι τεχνικές της σύγχρονης επιστήµης µιµούνται και τις δύο αυτές µηχανές : Α. Τον ανθρώπινο εγκέφαλο κατασκευάζοντας τεχνητά νευρωνικά δίκτυα και γενικότερα την επιστήµη της νευρο-υπολογιστικής (neurocomputing) Β. Τον µηχανισµό της εξέλιξης κατασκευάζοντας εξελικτικούς αλγορίθµους και γενικότερα την επιστήµη της Εξελικτικής Υπολογιστικής (Evolutionary Computation) Επίκουρος Καθηγητής

Η Εξελικτική Υπολογιστική αφορά αλγορίθµους και τεχνικές που προσοµοιώνουν την βιολογική εξέλιξη των ειδών στην φύση (θεωρία του αρβίνου) καθώς και άλλες βιολογικές τεχνικές και συστήµατα (ανοσοποιητικό σύστηµα). Σκοπός είναι η αυτόµατη αναζήτηση και εύρεση βέλτιστων λύσεων σε δύσκολα προβλήµατα µε εξελικτικό τρόπο, καθώς και η δηµιουργία τεχνητών συστηµάτων που να µπορούν να αυτο-εξελίσσονται και να προσαρµόζονται στο περιβάλλον τους. Προσοµοιώνονται αρχές όπως η «επιβίωση του καλύτερου», ο ανασυνδυασµός των γενετικών χαρακτηριστικών των ειδών, η αντικατάσταση πληθυσµών γονέων από απογόνους, η µετάλλαξη των χρωµοσωµάτων, η επικοινωνία µεταξύ ατόµων και πληθυσµών κ.λ.π. Πετυχαίνουν βελτιστοποίηση σε δύσκολα προβλήµατα µε µεγάλους χώρους λύσεων, αυτόµατη παραγωγή software, αυτό-εξελισσόµενο hardware, προσοµοίωση συστηµάτων, βελτιστοποίηση παραµέτρων άλλων αλγορίθµων και τεχνικών. Μέθοδοι για την ενσωµάτωση Ευφυΐας στις Μηχανές (Machine Intelligence) Τεχνητή Ευφυΐα (Artificial Intelligence) Υπολογιστική Ευφυΐα (Computational Intelligence) Εξελικτική Υπολογιστική Evolutionary Computation Νευρωνικά ίκτυα Neural Networks Ασαφή Συστήµατα Fuzzy Systems Επίκουρος Καθηγητής 2

Εξελικτική Υπολογιστική Evolutionary Computation Γενετικοί Αλγόριθµοι Genetic Algorithms Εξελικτικές Στρατηγικές Evolution Strategies Εξελισσόµενο Υλικό Evolvable Hardware Ανοσοποιητικά Συστήµατα Immune Systems Εξελικτικός Προγραµµατισµός Evolutionary Programming Γενετικός Προγραµµατισµός Genetic Programming Βελτ/ποίηση αποικιών µυρµηγκιών Ant Colony Optimization Συστήµατα Κανόνων Classifier Systems Box, Friedman, Bledsoe και Bremerman στα τέλη της δεκαετίας του 50 και αρχές της δεκαετίας του 60 : Προσπάθειες υλοποίησης αρχών της εξέλιξης, Επιλογή του Καλύτερου και δυαδικές συµβολοσειρές J. Holland 962 (Ann Arbor, MI): Genetic Algorithms Θεωρείται πατέρας των ΓΑ. Το 975 δηµοσιεύει την εργασία Adapatation in Natural and Artificial Systems όπου θεµελιώνονται οι βασικές αρχές των ΓΑ. L. Fogel 962 (San Diego, CA): Evolutionary Programming I. Rechenberg & H.-P. Schwefel 965 (Berlin, Germany): Evolution Strategies J.Holland & J.Reitman 978 : Το πρώτο Classifier System (CS-) J. Koza 989 (Palo Alto, CA): Genetic Programming Hugo De Garis, 992 : Evolvable Hardware Marco Dorigo 992 : Ant Colony Optimisation Επίκουρος Καθηγητής 3

Θεωρία της εξέλιξης των ειδών του αρβίνου Παράλληλη εξέλιξη µεγάλων πληθυσµών από άτοµα του είδους Επιβίωση των καλύτερων (survival of the fittest) Αναπαραγωγή των ατόµων µε ανασυνδυασµό των χρωµοσωµάτων τους. Ανασυνδυασµός των χαρακτηριστικών των γονέων. Πιθανότητα µετάλλαξης του γενετικού υλικού και δηµιουργία νέων χαρακτηριστικών που δεν προυπήρχαν. Παραγωγή νέας γενιάς από άτοµα που αντικαθιστούν τους γονείς Με τον µηχανισµό αυτό οι πληθυσµοί προσαρµόζονται στο περιβάλλον και βελτιώνονται συνεχώς. Οργανωµένη συµπεριφορά οµάδων ατόµων που ζουν σε αποικίες (Ant Colony Optimization) Πολιτισµική διάχυση σε οµάδες πληθυσµών (Cultural Algorithms) Λειτουργία Ανοσοποιητικού Συστήµατος, εισβολείς αντισώµατα (Immune Systems) Βιολογική Εξέλιξη Άτοµο Επιδόσεις Περιβάλλον Φυσική επιλογή Αναπαραγωγή Γενιές ατόµων Βελτίωση είδους Λύση Προβληµάτων Υποψήφια Λύση Ποιότητα Πρόβληµα Πιθανοτική επιλογή Ανασυνδυασµός Γενιές λύσεων Βελτιστοποίηση Επίκουρος Καθηγητής 4

Έστω πρόβληµα µε Ν πραγµατικές παραµέτρους X, X 2,, X N Μεταβλητή Μεταβλητή.. 2.. Μεταβλητή N 0 0... Συµβολοσειρά 0 0... Συµβολοσειρά 2.. 0 0... 0 Συµβολοσειρά Ν 00.. 0 00.... 000.. 0 Ενιαία συµβολοσειρά λύσης Για την λειτουργία των Εξελικτικών Αλγορίθµων θα πρέπει να υπάρχει µία συνάρτηση ποιότητας που να αξιολογεί κάθε παραγόµενη λύση : Συνάρτηση Ποιότητας Fitness Function, Quality Function Υποψήφια Λύση 523.78 Συνάρτηση Ποιότητας Ησυνάρτηση ποιότητας πρέπει να είναι γρήγορη γιατί καλείται πολύ συχνά (για κάθε παραγόµενη λύση), πρέπει να αντιπροσωπεύει το πραγµατικό πρόβληµα, και να µην παραλλάσσεται από θόρυβο (ίδια λύση -> ίδια ποιότητα) Επίκουρος Καθηγητής 5

Γενιά t Γενιά t + αναπαραγωγή επιλογή Μετάλλαξη (mutation) Ανασυνδυασµός (recombination) Επιλογή Γονείς Πληθυσµός Ανασυνδυασµός Μετάλλαξη Αντικατάσταση Απόγονοι Επίκουρος Καθηγητής 6

Η εξέλιξη σταµατά όταν ικανοποιηθεί το κριτήριο τερµατισµού του αλγορίθµου που µπορεί να είναι :. Απόλυτο όριο γενεών (π.χ. 5.000 γενιές) 2. Θέσπιση ορίου βέλτιστης λύσης και τερµατισµός µόλις αυτό επιτευχθεί. 3. Σύγκλιση του πληθυσµού στην ίδια λύση (βέλτιστη ή υπο-βέλτιστη) για συγκεκριµένο αριθµό γενεών. 4. Όριο πραγµατικού χρόνου σε εφαρµογές βελτιστοποίησης πραγµατικού χρόνου. 5. Ικανοποίηση των περιορισµών σε προβλήµατα µε περιορισµούς. Οι Εξελικτικοί Αλγόριθµοι συνήθως απαιτούν αρκετό χρόνο για την προσέγγιση των βέλτιστων λύσεων (offline optimization). Ως «ευριστικοί» (heuristic) αλγόριθµοι που βασίζονται στην τυχαιότητα, δεν µπορούν να εγγυηθούν την εύρεση της βέλτιστης λύσης σε πεπερασµένο χρόνο. Έτσι η έρευνα στρέφεται στην αύξηση της απόδοσης των Ε.Α. έτσι ώστε να πετυχαίνουν καλύτερες λύσεις σε λιγότερες γενιές ή σε λιγότερο χρόνο. Γενετικοί Αλγόριθµοι (Genetic Algorithms) Εξελίσσουν ένα πληθυσµό από Ν λύσεις (π.χ. 00) οι οποίες είναι κωδικοποιηµένες ως συµβολοσειρές (συνήθως δυαδικές). Οι αρχικές λύσεις παράγονται τυχαία. Οι λύσεις αξιολογούνται µέσω της συνάρτησης ποιότητας. Επιλέγονται λύσεις ανά δύο, µε βάση την ποιότητά τους και ανασυνδυάζονται µέσω του τελεστή Crossover για να δώσουν νέες λύσεις (τους απογόνους). Οι απόγονοι υπόκεινται και σε πιθανοτική µετάλλαξη (mutation). Όταν συµπληρωθούν Ν απόγονοι τότε αντικαθιστούν τους γονείς. Η διαδικασία επαναλαµβάνεται µέχρι να ικανοποιηθεί το κριτήριο τερµατισµού. Η καλύτερη λύση του τελικού πληθυσµού λαµβάνεται ως η βέλτιστη λύση του προβλήµατος. Ο τελικός πληθυσµός περιέχει και Ν- υποβέλτιστες λύσεις. Επίκουρος Καθηγητής 7

Εξελικτικές Στρατηγικές (Evolution Strategies) Ξεκινούν συνήθως από µία τυχαία λύση που δεν είναι κωδικοποιηµένη. Εφαρµόζοντας πιθανοτική µετάλλαξη στον γονέα παράγουν λ νέες λύσεις, τους απογόνους, οι οποίες αξιολογούνται. Από το σύνολο των απογόνων, ή το συνδυασµένο σύνολο απογόνωνγονέα, επιλέγεται ο γονέας της επόµενης γενιάς. Η διαδικασία επαναλαµβάνεται µέχρι να ικανοποιηθεί το κριτήριο τερµατισµού. Αργότερα (Rechenberg 978) προστέθηκε και τελεστής ανασυνδυασµού. Συµβολισµός (µ/ρ + λ) ES ή (µ/ρ, λ) ES µ=γονείς, ρ=ανά πόσοι ανασυνδυάζονται, λ=απόγονοι, + = (µ+λ) ->µ, = λ -> µ. Χρησιµοποιούνται όταν η συνάρτηση ποιότητας είναι χρονοβόρα. Κάνουν λίγες αξιολογήσεις σε κάθε γενιά. Αντιστοιχεί σε hill-climbing προς το βέλτιστο. Πρέπει το πρόβληµα να έχει οµαλό χώρο λύσεων. Εξελικτικός Προγραµµατισµός (Evolutionary Programming) εν χρησιµοποιεί κωδικοποιηµένες λύσεις, αλλά την φυσική για το πρόβληµα αναπαράσταση (π.χ. πραγµατικές µεταβλητές). Ξεκινάει µε ένα τυχαία παραγόµενο πληθυσµό γονέων-λύσεων. Αξιολογεί τους γονείς µέσω της συνάρτησης ποιότητας Επιλέγει τους γονείς µε βάση την ποιότητά τους. Εφαρµόζει µόνο τελεστή πιθανοτικής µετάλλαξης για την παραγωγή νέων ατόµων-λύσεων και όχι ανασυνδυασµό. Ο τελεστής µετάλλαξης εξαρτάται από το εκάστοτε πρόβληµα και παραλλάσσει τον γονέα παράγοντας τον απόγονο. Όταν συµπληρωθεί ο πληθυσµός των απογόνων, τότε αυτός αντικαθιστά τον πληθυσµό των γονέων. Η διαδικασία συνεχίζεται µέχρι να ικανοποιηθεί το κριτήριο τερµατισµού. Εφαρµόστηκε σε απλά µόνο προβλήµατα βελτιστοποίησης. Υπολείπεται σε απόδοση των Γενετ. Αλγορίθµων που είναι πιο γενικοί Επίκουρος Καθηγητής 8

Γενετικός Προγραµµατισµός (Genetic Programming) Αποτελεί ειδική εφαρµογή των ΓΑ. Σκοπός του είναι η αυτόµατη εξέλιξη προγραµµάτων υπολογιστών (software) για την επίλυση αλγοριθµικών προβληµάτων. Τα προγράµµατα αναπαρίστανται ως σύνθετες δοµές (κυρίως δενδροειδείς, όπου οι κόµβοι είναι εντολές προγραµµατισµού και οι ακµές καθορίζουν την αλληλουχία των εντολών). Εξελίσσει πληθυσµούς προγραµµάτων, µε µεθόδους επιλογής γονέων, ανασυνδυασµό και µετάλλαξη. Κάθε πρόγραµµα αξιολογείται µε την εκτέλεσή του και την αξιολόγηση των αποτελεσµάτων του. Χρησιµοποιείται και σε άλλα προβλήµατα όπου οι λύσεις αναπαρίστανται ως δενδροειδείς δοµές, όπως electronic circuits design, VLSI design και Evolvable Hardware. Συστήµατα Κατηγοριοποίησης (Classifier Systems) Είναι παράδειγµα των Συστηµάτων Εκµάθησης Κανόνων (Rule Learning Systems ή Genetics Based Machine learning GBML) Έχουν την ικανότητα εξέλιξης της γνώσης υπό την µορφή απλών κανόνων µε την βοήθεια µεθόδων γενετικής εξέλιξης. Χρησιµοποιώντας ΓΑ βρίσκουν σύνολα λογικών κανόνων που περιγράφουν σύνθετα ή και ευφυή συστήµατα. Αγγίζουν τον χώρο της Τεχνητής Ευφυίας (Artificial Intelligence ή AI). Εξελίσσουν απλούς if then κανόνες οι οποίοι εφαρµοζόµενοι σε δεδοµένα εισόδου (input) δίνουν την επιθυµητή έξοδο (output). Μπορούν να προσοµοιώσουν οποιαδήποτε συνάρτηση εισόδου-εξόδου (π.χ. ένα ψηφιακό αποκωδικοποιητή decoder ή έναν ελεγκτή controller σε ένα σύστηµα αυτοµάτου ελέγχου). Έχουν άµεση αντιστοιχία µε τα Τεχνητά Νευρωνικά ίκτυα Επίκουρος Καθηγητής 9

Εξελισσόµενο Υλικό (Evolvable Hardware) Είναι ειδική εφαρµογή των ΓΑ και του Genetic Programming. Σκοπός τους είναι η δηµιουργία αυτό-εξελισσόµενου hardware το οποίο θα µπορεί να προσαρµόζεται αυτόµατα στο εκάστοτε πρόβληµα. Βασίζονται κυρίως στα FPGAs (Field Programmable Gate Arrays) που αποτελούν ψηφιακά κυκλώµατα που µπορούν να καθορίζονται δυναµικά και να αλλάζουν σύσταση και λειτουργία ώστε να έχουν την επιθυµητή συµπεριφορά. Το EHW εξελίσσει συµβολοσειρές που προγραµµατίζουν τα FPGAs. H αξιολόγηση των λύσεων γίνεται µε πραγµατική δοκιµή των FPGAs και έλεγχο κατά πόσο λειτουργούν σύµφωνα µε το εκάστοτε πρόβληµα. Χρησιµοποιεί αρχές του Genetic Programming καθώς η σύνθεση των κυκλωµάτων αναπαρίσταται και εδώ µε σύνθετες δενδροειδείς δοµές. Είναι ακόµα σε εµβρυακό στάδιο. Μπορεί να οδηγήσει σε αναπαραγωγή και εκµάθηση µηχανών. Παράλληλοι Γενετικοί Αλγόριθµοι (Parallel Genetic Algorithms) Εφαρµόζουν πολλούς ΓΑ που τρέχουν παράλληλα σε παράλληλους επεξεργαστές (π.χ. Transputers ή σε κατανεµηµένους Η/Υ) Εξελίσσουν παράλληλα πολλούς πληθυσµούς λύσεων που αναζητούν την βέλτιστη λύση στο ίδιο πρόβληµα Οι ΓΑ µπορούν να επικοινωνούν µεταξύ τους ανταλλάσσοντας την καλύτερη-µέχρι-στιγµής λύση που έχει βρει ο καθένας. Μπορούν να εφαρµόζουν διαφορετικές εξελικτικές στρατηγικές (π.χ. ο ένας µόνο Crossover, ο άλλος µόνο Mutation κ.λ.π.) Εκµεταλλεύονται την επεξεργαστική ισχύ των παράλληλων συστηµάτων ώστε να εκτελούν ταυτόχρονα αναζήτηση σε διαφορετικές περιοχές του χώρου λύσεων. Επιταχύνουν δραµατικά την ταχύτητα σύγκλισης προς το βέλτιστο και την ικανότητα να ξεπερνούν τοπικά βέλτιστα. Επίκουρος Καθηγητής 0

Προσοµοίωση Αποικίας Μυρµηγκιών (Ant Colony Optimization) Εξελίσσουν πληθυσµούς από αυτόνοµα άτοµα (Autonomous Agents) που εξερευνούν τον χώρο λύσεων για να αποφεύγουν τα τοπικά βέλτιστα (εµπόδια) και να βρίσκουν το απόλυτο βέλτιστο (τροφή). Τα άτοµα (µυρµήγκια) έχουν δυνατότητες επικοινωνίας και ανταλλαγής πληροφοριών (εκκρινόµενες ουσίες) µέσω των οποίων µπορούν να καθοδηγούν το ένα το άλλο Ανοσοποιητικά Συστήµατα (Immune Systems) Το ανοσοποιητικό σύστηµα έχει την ικανότητα να ξεχωρίζει όλα τα κύτταρα του οργανισµού ως ξένα ή οικεία και να κατηγοριοποιεί τα ξένα ώστε να ενεργοποιεί αµυντικούς µηχανισµούς (αντισώµατα). Το Α.Σ. αυτοεκπαιδεύεται µέσω εξέλιξης να ξεχωρίζει τα κύτταρα και να παράγει τα κατάλληλα αντισώµατα, ενώ διαθέτει και µνήµη. Ένα Τεχνητό Α.Σ. αποτελεί ένα παράλληλο και κατανεµηµένο σύστηµα που χρησιµοποιείται για αναγνώριση προτύπων και κατηγοριοποίηση. Πολιτισµικοί Αλγόριθµοι (Cultural Algorithms) Στις ανθρώπινες κοινωνίες ο Πολιτισµός (Κουλτούρα, Παράδοση) είναι ένα σύστηµα συσσώρευσης γνώσης και εµπειρίας για την επίλυση προβληµάτων και την αντιµετώπιση καταστάσεων, που εξελίσσεται. Οι Πολιτισµικοί Αλγόριθµοι είναι επέκταση των ΓΑ και περιλαµβάνουν ένα χώρο µνήµης (belief space) όπου αποθηκεύεται η αποκτώµενη εµπειρία στην επίλυση του προβλήµατος, η οποία είναι διαθέσιµη στα άτοµα του πληθυσµού και µπορεί να επιταχύνει την αναζήτηση του βέλτιστου. Τεχνητή Ζωή (Artificial Life) Ο όρος αυτός περιλαµβάνει µία σειρά µεθόδων που χρησιµοποιούν εξελικτικούς αλγορίθµους για την µοντελοποίηση και κατανόηση της εξέλιξης των πραγµατικών βιολογικών συστηµάτων. Μακροσκοπικό επίπεδο : Εξέλιξη και συµπεριφορά πληθυσµών Ατοµικό Επίπεδο : Εξέλιξη και λειτουργία βιολογικών µηχανισµών Επίκουρος Καθηγητής

Βελτιστοποίηση προβληµάτων µε συνεχείς παραµέτρους (Continuous Variable Problems) Βελτιστοποίηση συνδυαστικών προβληµάτων (Combinatorial Problems) Μοντελοποίηση και αναγνώριση συστηµάτων (System modeling and identification) Χρονικός Προγραµµατισµός και Έλεγχος Συστηµάτων (Planning, Scheduling and Control) Σχεδίαση (Engineering Design) Συστήµατα Κανόνων (Rule-Based Systems) Προσαρµοζόµενα Συστήµατα (Adaptive Systems) Αυτο-προσαρµοζόµενο υλικό (self-adaptive hardware) Παραγωγή Αλγορίθµων και οµών Εξόρυξη εδοµένων (Data Mining) Machine Learning Προσοµοίωση Ζωής (Artificial Life) Βελτιστοποίηση Μαθηµατικών Συναρτήσεων µε ή χωρίς περιορισµούς Επίλυση Προβληµάτων των Συστηµάτων Ισχύος (Economic Dispatch, Unit Commitment) Επίλυση Προβληµάτων Κοπής και Συσκευασίας (Cutting and Packing) Επίλυση προβληµάτων σχεδιασµού γραµµής παραγωγής (Job Shop Scheduling) Επίλυση προβληµάτων σχεδιασµού και δροµολόγησης (routing and scheduling) Επίλυση προβληµάτων χρονοδιαγράµµατος (Time-Tabling problems) Εφαρµογή ως αλγόριθµος εκπαίδευσης σε Τεχνητά Νευρωνικά ίκτυα Επίλυση προβληµάτων αναγνώρισης προτύπων (Pattern recognition) Επίλυση προβληµάτων βέλτιστης τοπολογίας δικτύων (επικοινωνίας, συγκοινωνίας, ύδρευσης, διανοµής αερίου κ.λ.π.) Επίλυση προβληµάτων στην σχεδίαση κυκλωµάτων πολύ υψηλής κλίµακας ολοκλήρωσης (VLSI) Επίκουρος Καθηγητής 2

Επίλυση προβληµάτων κατανοµής αγαθών (Resource scheduling) π.χ. κατανοµή χρόνου CPU σε έναν Η/Υ µε πολυδιεργασία (multi-tasking) Εφαρµογή στην βιοµηχανική σχεδίαση (π.χ. σχεδίαση αεροδυναµικού σχήµατος αεροσκαφών) και στην σχεδίαση ελεγκτών (Controllers). Εφαρµογή στην σχεδίαση και βελτιστοποίηση Συστηµάτων Ασαφούς Λογικής (Fuzzy Logic Systems) Εφαρµογή στην Ροµποτική (Εύρεση βέλτιστης τροχιάς βραχίονα, εύρεση βέλτιστων µονοπατιών κίνησης κ.λ.π.) Εφαρµογή στην εύρεση βέλτιστων τοπολογιών σε Εξελισσόµενο Υλικό Εκµάθηση τρόπου παιξίµατος παιγνιδιών (game-playing) Αναγνώριση και ταξινόµηση προτύπων εικόνας (Image pattern recognition and classification) Εφαρµογή στην Ροµποτική (Εκµάθηση τρόπου κίνησης σε χώρους µε εµπόδια κ.λ.π.) Εφαρµογή στη ψηφιακή επεξεργασία εικόνας (Ανάκτηση και ανακατασκευή εικόνων κ.λ.π.) Πλεονεκτήµατα Κανένας περιορισµός για το πρόβληµα και το είδος του χώρου λύσεων. Είναι γενικά εφαρµόσιµοι. υνατότητα παράλληλης εξερεύνησης πολλών υπο-περιοχών του χώρου λύσεων (Exploration) αλλά και διεξοδική εξερεύνηση περιοχών υψηλής ποιότητας (Exploitation). Χαµηλό κόστος ανάπτυξης και εφαρµογής. Εύκολα ενσωµατώνουν και άλλες µεθόδους. Μπορούν να δεχθούν λύσεις προτεινόµενες από τον χρήστη. Παρέχουν πλήθος εναλλακτικών λύσεων Μειονεκτήµατα εν εγγυώνται βέλτιστες λύσεις σε πεπερασµένο χρόνο. Αδύναµη θεωρητική βάση (Schema Theorem) Χρειάζονται ρύθµιση παραµέτρων για βέλτιστη απόδοση. Απαιτούν σηµαντικό υπολογιστικό χρόνο Επίκουρος Καθηγητής 3

Βελτιστοποίηση ακροφυσίου για µετατροπή καυτού νερού σε ατµό (970). υνατότητα µεταβολής της διατοµής µε 400 δακτυλίδια (0 36 διαφορετικές λύσεις). Επιλύθηκε σε 4 ηµέρες µετά από 300 γενιές λύσεων. Αρχική Σχεδίαση Ενεργ.Απόδοση 55% Λύση του Γενετικού Αλγόριθµου Ενεργ.Απόδοση 79% Βελτιστοποίηση αεροτοµής για ελάχιστη αντίσταση Rechenberg (964). Λύσεις 345x0 6. Επίλυση σε 350 γενιές. Επίκουρος Καθηγητής 4

Βέλτιστη τοποθέτηση πατρόν σε επιφάνεια υλικού. Πρόβληµα µε περιορισµούς (επικαλύψεις). 0 36 διαφορετικές λύσεις. Επιλύεται σε λεπτό µετά από 50 γενιές λύσεων. Τυχαία κατανοµή Λύση του Γενετικού Αλγόριθµου Βέλτιστη έναυση και σβέση θερµικών µονάδων παραγωγής ενέργειας (Unit Commitment). Πρόβληµα µε περιορισµούς. 0 72 διαφορετικές λύσεις. Επιλύεται σε 5 λεπτά µετά από 500 γενιές λύσεων. Ωρες : 2 3 4 5 6 7 8 9 023456789202222324 Μονάδα Μονάδα 2 Μονάδα 3 Μονάδα 4 Μονάδα 5 Μονάδα 6 Μονάδα 7 Μονάδα 8 Μονάδα 9 Μονάδα 0 Επίκουρος Καθηγητής 5

Γενετικοί Αλγόριθµοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δηµοφιλές είδος Εξελικτικού Αλγόριθµου Χρησιµοποιούνται κυρίως ως αλγόριθµοι γενικής βελτιστοποίησης (global optimization algorithms) και αναζήτησης λύσεων Χρονολογούνται από το 962 (John Holland). Έχουν χρησιµοποιηθεί σε πολλές και διαφορετικές εφαρµογές και µε πολλές διαφορετικές παραλλαγές και τροποποιήσεις και ως υβριδικά σχήµατα µαζί µε άλλους αλγορίθµους. Έχουν γενική εφαρµογή. εν θέτουν περιορισµούς ως προς το είδος του προβλήµατος. Εκτελούνται offline καθώς απαιτούν σηµαντικό υπολογιστικό χρόνο. Έχουν κάποια θεωρητική βάση (Θεωρία Σχηµάτων Schema Theory) που εξηγεί το γιατί και πως λειτουργούν κάτω από συγκεκριµένες συνθήκες και παραδοχές. Η υλοποίηση ενός ΓΑ στηρίζεται σε πέντε βασικές αρχές :. Αρχική παραγωγή και τήρηση ενός πληθυσµού κωδικοποιηµένων λύσεων. Οι λύσεις κωδικοποιούνται σε συµβολοσειρές (συνήθως δυαδικές) που προσοµοιώνουν την αλυσίδα DNA των έµβιων όντων. Νεότερες υλοποιήσεις έχουν λειτουργήσει και χωρίς κωδικοποίηση των λύσεων (φυσιολογική αναπαράσταση). 2. Ύπαρξη µιας συνάρτησης ποιότητας (fitness function) που να µπορεί να αξιολογεί τις παραγόµενες λύσεις, 3. Επιλογή των καλύτερων ατόµων-λύσεων του πληθυσµού για αναπαραγωγή (επιβίωση των καλύτερων), 4. Ανασυνδυασµός των χαρακτηριστικών των γονέων για την παραγωγή των απογόνων. Μετάλλαξη των απογόνων µε µικρή πιθανότητα ανά bit. 5. Αντικατάσταση των γονέων από τους απογόνους (ολική ή µερική). Επίκουρος Καθηγητής 6

Πληθυσµός Λύσεων S S2 S3 S4 Si, i=..n : Κατανοµήτων λύσεων στον χώρο λύσεων S2 Sn S S4 Επιλογή γονέων µε τον Τροχό της Ρουλέτας Οτελεστής Crossover 2 49,2% 4,4% Par. Par.2 S3 S5 5,5% 30,9% 3 4 Off. Off.2 Αρχικοποίηση και αξιολόγηση του πληθυσµού Πιθανοτική επιλογή δύο γονέων για αναπαραγωγή Η «λογική» ενός ΓΑ είναι πολύ απλή, γεγονός που τους καθιστά εύκολα εφαρµόσιµους. ύο ένθετοι βρόχοι :. Βρόχος παραγωγής απογόνων 2. Βρόχος παραγωγής γενεών Οχι Οχι Crossover Mutation Παραγωγή και αξιολόγηση του απογόνου γονότυπου Συµπληρώθηκε οπληθυσµός Ναί Ηγενιάσυµπληρώθηκε. Αντικατάσταση των γονέων Ικανοποιείται το κριτήριο τερµατισµού Ναί Τέλος του Γενετικού Αλγόριθµου Επίκουρος Καθηγητής 7

Οι λύσεις-άτοµα του πληθυσµού σε ένα ΓΑ δεν διατηρούνται µε την κανονική τους µορφή - φαινότυπο (π.χ. σαν ανύσµατα πραγµατικών αριθµών) αλλά µε µία κωδικοποιηµένη µορφή γονότυπο, έτσι ώστε να προσοµοιώσουν τα βιολογικά χρωµοσώµατα, και να µπορέσουν να εφαρµοστούν πάνω τους οι γενετικοί τελεστές. Έτσι κάθε λύση-φαινότυπος είναι κωδικοποιηµένη σε µία συµβολοσειρά (string) από σύµβολα γονότυπος τα οποία λαµβάνονται από ένα κατά το δυνατό ολιγοµελές σύνολο συµβόλων. Το πιο συνηθισµένο σύνολο συµβόλων που χρησιµοποιείται είναι το σύνολο των δυαδικών συµβόλων (0,), που δίνει και την απλούστερη µορφή κωδικοποίησης. Με αυτό το σύνολο συµβόλων, κάθε λύση κωδικοποιείται σε µία δυαδική συµβολοσειρά από 0 και συγκεκριµένου µήκους L, προσοµοιώνοντας (σε απλούστερη βέβαια µορφή) τα πραγµατικά βιολογικά χρωµοσώµατα Μεταβλητή Μεταβλητή.. 2.. Μεταβλητή N 0 0... Συµβολοσειρά 0 0... Συµβολοσειρά 2.. 0 0... 0 Συµβολοσειρά Ν 00.. 0 00.... 000.. 0 Ενιαία συµβολοσειρά λύσης Το µήκος της συµβολοσειράς, L, και η σηµασία του κάθε bit καθορίζεται ανάλογα µε το πρόβληµα. Επίκουρος Καθηγητής 8

Έστω το πρόβληµα βελτιστοποίησης De Jong F5 (Shekel s foxholes): 25 maximize f ( x) = 0.002 + 2 x i [-65536,65536] 6 j= j + ( x ) i= i aij Κάθε µεταβλητή x i, παίρνει 3072=65536x2 διαφορετικές τιµές και µπορεί να κωδικοποιηθεί µε 7 bits (2 7 =3072). Το συνολικό χρωµόσωµα θα έχει µήκος 34 bits. γονότυπος 00000000000000000 00000000000000000 0000000000000000 00000000000000000 00000000000000000 0000000000000000 x -65536-65535 65536 65536 65536 x2-65536 -65536-65536 -65535 65536 Μετατροπή γονότυπου σε φαινότυπο :. Λαµβάνεται ο γονότυπος που παράγεται από τον ΓΑ 2. Χωρίζεται σε χρωµοσώµατα (ένα ανά µεταβλητή) 3. Για κάθε χρωµόσωµα / µεταβλητή κάνουµε το εξής : 4. Μεταβλητή(i) = integer(χρωµόσωµα(i)) + Min(i) (Μετατρέπουµε τον δυαδικό αριθµό σε ακέραιο και προσθέτουµε το κάτω όριο του διαστήµατος ορισµού της µεταβλητής.) Παράδειγµα : Μετατροπή του γονότυπου : 000000000 00000000 Integer(χρωµόσωµα) = 43690 8738 Φαινότυπος (λύση) = 43690-65536 8738-65536 = -2846 2845 x = -2846, x2 = 2845 Επίκουρος Καθηγητής 9

Στην δυαδική κωδικοποίηση οι αριθµοί 0 και 0000000 αν και συνεχόµενοι (27,28) έχουν απόσταση Hamming 8 (διαφέρουν κατά 8 bits). Άρα µικρές αλλαγές στον χώρο φαινότυπων (ακέραιοι) µπορεί να δηµιουργούν µεγάλες αλλαγές στον χώρο γονότυπων (binary strings). Γι αυτό µπορεί στην κωδικοποίηση να χρησιµοποιηθεί εναλλακτικά ο κώδικας Gray : Ακέραιος υαδικός Gray 0 2 3 4 5 6 7 0000 000 000 00 000 00 00 0 0000 000 00 000 00 0 00 000 Έστω το πρόβληµα βελτιστοποίησης De Jong F(sphere) : maximize f ( x) = n 2 x i i= x i [-5.2,5.2] Κάθε µεταβλητή x i, παίρνει άπειρες διαφορετικές τιµές. Στις δυαδικές συµβολοσειρές πεπερασµένου µήκους κωδικοποιούνται πεπερασµένες διαφορετικές τιµές. Έτσι αποφασίζουµε το πλήθος των bits για κάθε µεταβλητή, που ορίζει το πλήθος των διακριτών τιµών που θα κωδικοποιηθούν. Αν λάβουµε 8 bits για κάθε µεταβλητή: Πλήθος bits = 8 / µεταβλητή, Κωδικ. Τιµές = 2 8 = 256 Βήµα διακριτοποίησης = (Max-Min) / (Κωδικ.Τιµές -) = (5.2-(-5.2))/255 = 0.0405686 Επίκουρος Καθηγητής 20

Ακέραιος 0 2 27 28 255 υαδικός 00000000 0000000 0000000 0 0000000 Πραγµατικός -5.200-5.0798-5.0396-0.0200 0.0200 5.200 Εάν το βήµα διακριτοποίησης είναι µικρό τότε αυξάνουµε τα bits κωδικοποίησης. Έτσι αν θέσουµε 0 bits για κάθε µεταβλητή: Κωδικ. Τιµές = 2 0 = 024 Βήµα διακριτοποίησης = (Max-Min) / (Κωδικ.Τιµές -) = (5.2-(- 5.2))/024 = 0.000392 Μετατροπή γονότυπου σε φαινότυπο :. Λαµβάνεται ο γονότυπος που παράγεται από τον ΓΑ 2. Χωρίζεται σε χρωµοσώµατα (ένα ανά µεταβλητή) 3. Για κάθε χρωµόσωµα / µεταβλητή κάνουµε το εξής : 4. Μεταβλητή(i) = integer(χρωµόσωµα(i)) x Βήµα ιακριτ.(i) + Min(i) (Μετατρέπουµε τον δυαδικό αριθµό σε ακέραιο, τον πολλαπλασιάζουµε επί το βήµα διακριτοποίησης και προσθέτουµε το κάτω όριο του διαστήµατος ορισµού της µεταβλητής.) Παράδειγµα : Μετατροπή του γονότυπου : 00000 00000 Integer(χρωµόσωµα) = 3 992 Φαινότυπος (λύση) = 3xΒήµα-5.2 992xΒήµα -5.2 = -4.8096 4.8096 x = -4.8096, x2 = 4,8096 Επίκουρος Καθηγητής 2

Σε πολλές εφαρµογές προτιµάται να µην κωδικοποιούνται οι λύσεις σε συµβολοσειρές αλλά να αναπαρίστανται µε φυσιολογικό τρόπο (natural representation). Έτσι οι λύσεις προβληµάτων µε πραγµατικές µεταβλητές µπορούν να παραµείνουν ως πραγµατικές µεταβλητές (real coded GA) : Γονότυπος = X = (x, x 2,., x n ), x i R, i=..n Σε αυτή την περίπτωση όµως ΕΝ µπορούν να χρησιµοποιηθούν οι κλασσικοί γενετικοί τελεστές ανασυνδυασµού και µετάλλαξης (crossover, mutation). Θα πρέπει λοιπόν να εφευρίσκονται νέοι ανασυνδυαστικοί τελεστές κατάλληλοι για την µέθοδο κωδικοποίησης. Παράδειγµα Ανασυνδυασµού Μέσου Όρου: Recomb(X,Y) = ( (x i +y i ) / 2, i=..n) Παράδειγµα Μετάλλαξης Gauss : Mutated(Χ) = (x i + Gauss(0,σ), i=..n ) Εκτός από προβλήµατα µε συνεχείς παραµέτρους (ακέραιες ή πραγµατικές) υπάρχουν και συνδυαστικά προβλήµατα (combinatorial problems) : Χρονικού Προγραµµατισµού (Scheduling & Timetabling) Κοπής και Συσκευασίας (Cutting & Packing) Τοπολογίας δικτύων και δροµολόγησης (Networking & Routing) Ανάθεσης Πόρων (Resource Allocation) Χωρισµός ενιαίου χώρου σε δωµάτια / γραφεία Ανάθεση CPU time σε διεργασίες (Λ.Σ.) Προβλήµατα Γράφων (Graph Problems) Traveling Salesman Problem Graph Coloring Problems Στα συνδυαστικά προβλήµατα χρησιµοποιούνται ειδικές κωδικοποιήσεις που εξαρτώνται από το συγκεκριµένο πρόβληµα Επίκουρος Καθηγητής 22

Scheduling Horizon (hours) 2 3 4 5 Η- Η Unit Cost + Unit 2 Cost 2 + Unit 3 Cost 3 + + Unit Ν Cost Ν Συνολικό Κόστος Παραγωγής Καθορισµός των χρονοδιαγραµµάτων έναυσης και σβέσης ων θερµικών µονάδων παραγωγής, ώστε να ικανοποιείται η ζήτηση ενέργειας µε το ελάχιστο δυνατό κόστος. Unit Unit 2. Unit N Hours 2 3 4 5............... H 0 0............... 0 0 0................ 0 0 0............... 0 Unit Unit 2 Unit N 00.. 0 00.... 000.. 0 Για 0 µονάδες παραγωγής και 24 ώρες πρόβλεψη, το µήκος της συµβολοσειράς του γονότυπου είναι 240 bits και ο χώρος λύσεων που προκύπτει αποτελείται από 2 240 =.76x0 72 διαφορετικές λύσεις. Επίκουρος Καθηγητής 23

Σε πολλά συνδυαστικά προβλήµατα οι λύσεις αποτελούνται από µία διάταξη στοιχείων ενός συνόλου (Σειρά γεγονότων, σειρά κοπής κοµµατιών, σειρά συσκευασίας κιβωτίων, σειρά επίσκεψης κόµβων σε γράφους κ.λ.π.). Παραδείγµατα : Traveling Salesman Problem : Να βρεθεί η σειρά επίσκεψης όλων των κόµβων ώστε να επισκεφθούν όλοι οι κόµβοι από µία φορά διανύοντας την ελάχιστη δυνατή διαδροµή : Κόµβος αφετηρίας Β Ε Θ Α Γ Ζ Ι Η Ηλύση είναι Α-Β-Γ- -Η-Ζ-Ε-Θ-Ι Αν αντιστοιχίσουµε σε κάθε κόµβο έναν αριθµό τότε η λύση γίνεται : -2-3-4-7-6-5-8-9 Θα µπορούσαµε λοιπόν να κωδικοποιήσουµε τις λύσεις µε 9 αριθµούς όπου ο καθένας θα ανήκει στο διάστηµα [..9], και άρα θα χρειάζεται 4 bit: 000 000 00 000 0 00 00 000 00 ηµιουργείται όµως ένα σοβαρό πρόβληµα : αν ανασυνδυάσουµε δύο οποιουσδήποτε γονείς δεν παράγεται νόµιµη λύση, π.χ. Γονέας 2 3 4 7 6 5 8 9 Γονέας 2 2 4 5 3 6 7 8 9 Απόγονος 2 3 4 3 6 7 8 9 Ηλύση δεν είναι αποδεκτή καθώς περιέχει 2 φορές τον κόµβο 3 και καµία φορά τον κόµβο 5! Επίκουρος Καθηγητής 24

Επίκουρος Καθηγητής 25 Αντί για την απόλυτη σειρά κόµβων στο Order Representation κωδικοποιούµε την σειρά µε τη οποία λαµβάνεται ο κόµβος από το σετ των δυνατών κάθε φορά κόµβων. ηλαδή : 2 3 4 5 6 7 8 9 α/ασετ επιλ. 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 α/ασετ επιλ. 2 3 4 5 6 7 8 3 4 5 6 7 8 9 α/ασετ επιλ. 2 3 4 5 6 7 4 5 6 7 8 9 α/ασετ επιλ. 2 3 4 5 6 Λύση - 2-3 - 4 Μετά και την επιλογή του κόµβου 8 προστίθεται και ο 9 που έχει αποµείνει. Έτσι η λύση : ----3-2-- επιλέγει τους κόµβους µε την σειρά : -2-3-4-7-6-5-8-9 5 6 7 8 9 α/ασετ επιλ. 3 2 3 4 5 5 6 8 9 α/ασετ επιλ. 2 2 3 4 5 8 9 α/ασετ επιλ. 2 3 8 9 α/ασετ επιλ. 2 Λύση 7-6 - 5-8

Έτσι αν πρέπει να επιλεγούν Ν αντικείµενα µε κάποια σειρά, η κωδικοποιηµένη λύση θα έχει Ν- ακεραίους, µε διαφορετικά όρια ο καθένας ως εξής : Θέση Όριο..Ν 2..Ν- 3..Ν-2 4..Ν-3 5..Ν-4 Ν-2..3 Ν- Με το Order Representation οποιοσδήποτε ανασυνδυασµός αποδεκτών λύσεων µας δίνει επίσης αποδεκτή λύση. Οποιαδήποτε µετάλλαξη σε οποιαδήποτε θέση του γονότυπου µας δίνει επίσης αποδεκτή λύση αρκεί να τηρηθούν τα όρια για κάθε θέση. Γονέας Γονέας 2 3 2 Λύση: 2 3 4 7 6 5 8 9 2 2 2 3 2 Λύση: 3 4 2 6 8 5 9 7 Απόγονος 2 3 2 Λύση: 2 3 4 6 8 5 9 7..2 Για να εφαρµοστούν οι ΓΑ απαιτούν την ύπαρξη µίας Συνάρτησης Ποιότητας (Fitness Function Quality Function) Η Συνάρτηση ποιότητας ορίζει µία απεικόνιση από το σύνολο S N των συµβολοσειρών µε µέγεθος Ν bits, στο σύνολο των πραγµατικών R. S N R Μέσω της συνάρτησης ποιότητας ο ΓΑ µπορεί και αξιολογεί δείγµατα του χώρου λύσεων και οδηγείται εξελικτικά προς το βέλτιστο. εν υπάρχουν προϋποθέσεις για την µορφή της συνάρτησης ποιότητας (συνεχής, παραγωγίσιµη, κυρτή, κ.λ.π.). Μπορεί επίσης να µην είναι κάν συνάρτηση αλλά να υπολογίζεται µε αλγόριθµο. Πρέπει να υπολογίζεται γρήγορα. εν πρέπει να είναι ευαίσθητη σε θόρυβο (ίδιος γονότυπος ίδια λύση) Το κριτήριο των πόρων που έχει χρησιµοποιήσει ένας ΓΑ δεν είναι ο αριθµός των γενεών αλλά ο αριθµός των αξιολογήσεων λύσεων µέσω της συνάρτησης ποιότητας (no of fitness function evaluations) Επίκουρος Καθηγητής 26

Για την υλοποίηση της «επιβίωσης του καλύτερου» θα πρέπει οι γονείς να επιλέγονται από τον πληθυσµό µε πιθανότητα ανάλογη της ποιότητάς τους. Λύσεις καλής ποιότητας θα επιλέγονται πολύ συχνά για αναπαραγωγή Λύσεις κακής ποιότητας θα επιλέγονται σπανίως ή και καθόλου. Η επιλογή και λύσεων κακής ποιότητας «αφήνεται» να συµβεί µε µικρή πιθανότητα, καθώς ο ανασυνδυασµός µίας καλής και µίας κακής λύσης, ενδέχεται να δώσει λύση ακόµα καλύτερης ποιότητας. Υπάρχουν τέσσερις βασικές µέθοδοι επιλογής γονέων :. Επιλογή µε τον Τροχό της Ρουλέτας (Roulette Wheel Parent Selection) 2. Ντετερµινιστική δειγµατοληψία (Deterministic Sampling) 3. Επιλογή µε Τουρνουά (Tournament Selection) 4. Επιλογή µε ιαβάθµιση (Ranking Selection) Επιλέγει γονείς µε πιθανότητα ευθέως ανάλογη της ποιότητάς τους 2 49,2% 4,4% Α/Α Χρωµόσωµα Ποιότητα % επί συνόλου 5,5% 30,9% 3 4 2 3 4 0000 000 000 000 69 576 64 36 4.4 % 49.2 % 5.5 % 30.9 % ΣΥΝΟΛΟ 70 00 % Η µέθοδος του Tροχού της Rουλέτας (Roulette Wheel Parent Selection) Επίκουρος Καθηγητής 27

Πλεονεκτήµατα Εύκολο στο να υλοποιηθεί Η πιθανότητα επιλογής είναι απευθείας ανάλογη της ποιότητας των ατόµων Μειονεκτήµατα Μπορεί να οδηγήσει σε πρώιµη σύγκλιση καθώς τα άτοµα µε καλές ποιότητες µπορεί να κυριεύσουν ταχύτατα τον πληθυσµό. Σε µικρούς πληθυσµούς συµβαίνουν στατιστικά σφάλµατα. Όταν οι τιµές ποιότητας των ατόµων του πληθυσµού είναι παρόµοιες, τότε δεν υπάρχει «πίεση επιλογής» (selection pressure) προς τις καλύτερες λύσεις. Θα πρέπει οι τιµές ποιότητας των ατόµων να είναι θετικές ποσότητες. Συµπεριφέρεται διαφορετικά στην αντίστροφη συνάρτηση ποιότητας : f (x) = /(f(x) (transposed version) Υπολογίζει τον εκτιµώµενο αριθµό φορών που πρέπει να επιλεγεί ένας γονέας i ως εξής : Ei = Num_Of_Parent_Selections * f(i)/σf(i) όπου f(i) είναι η ποιότητα του γονέα i, Σf(i) το άθροισµα των ποιοτήτων όλων των γονέων και Num_Of_Parent_Selections o συνολικός αριθµός φορών που πρέπει να επιλεγεί ένας γονέας (συνήθως 2*πληθυσµός). Ο αριθµός Ei είναι εν γένει δεκαδικός αριθµός. Έτσι ο γονέας i προ-επιλέγεται τόσες φορές όσες και το ακέραιο µέρος του Ei, SELi = int (Ei). Επειδή µπορεί Σ SELi < Num_Of_Parent_Selections :. Οι γονείς ταξινοµούνται ως προς το δεκαδικό µέρος του Ei 2. Οι γονείς που υπολείπονται για επιλογή επιλέγονται ανάµεσα στα άτοµα που βρίσκονται υψηλότερα στην ταξινόµηση Έτσι η µέθοδος αυτή δεν αφήνει στην τύχη το πόσες φορές θα πρέπει να επιλεγεί ο κάθε γονέας, αλλά το καθορίζει µε απόλυτο τρόπο. Επίκουρος Καθηγητής 28

Επιλέγει k υποψήφιους γονείς από τον πληθυσµό µε οµοιόµορφη κατανοµή πιθανότητας (ισοπίθανα), µε ή χωρίς αντικατάστασή τους ξανά στον πληθυσµό. Ο καλύτερος από τους k είναι ο νικητής και επιλέγεται ως γονέας. Ο αριθµός k ονοµάζεται tournament size. Τα Ν άτοµα του πληθυσµού ταξινοµούνται σε φθίνουσα σειρά µε βάση την ποιότητά τους. Η θέση του κάθε ατόµου στον ταξινοµηµένο πίνακα (..Ν) ονοµάζεται «διαβάθµιση» (rank). Αντί να ληφθεί υπ όψιν η ποιότητα της κάθε λύσης, λαµβάνεται υπ όψιν η διαβάθµιση και µέσω µίας συνάρτησης επιλέγονται άτοµα από την ταξινοµηµένη λίστα. Η συνάρτηση επιλέγει περισσότερες φορές άτοµα µε υψηλή διαβάθµιση (δηλαδή µε καλή ποιότητα). Παράδειγµα : Fitness: f(a) = 5, f(b) = 2, f(c) = 9 Rank: r(a) = 2, r(b) = 3, r(c) = Συνάρτηση : n r( x) + h( x) = 00% ( ) n=3, Σ(r(x))=6 r x Function: h(a) = 33,33%, h(b) = 6,66%, h(c) = 50% Επίκουρος Καθηγητής 29

υαδικό Crossover:. Crossover ενός σηµείου (One Point Crossover) 2. Crossover δύο (2) σηµείων (Two Point Crossover) 3. Crossover πολλών σηµείων (Multi Point Crossover) 4. Οµοιόµορφο Crossover (Uniform Crossover) Crossover ενός σηµείου : σε γονότυπο µήκους L, ο δυνατός αριθµός σηµείων Crossover είναι L-. Επιλέγεται το σηµείο στην τύχη. Ο Απόγονος λαµβάνει τµήµατα της λύσης από τους δύο γονείς: Γονέας Γονέας 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Crossover point Απόγονος 0 0 0 0 0 0 0 0 0 0 0 Απόγονος 2 0 0 0 0 0 parents offspring Αν οι γονότυποι είναι String τότε η υλοποίηση γίνεται µε συναρτήσεις Substring: Child=Substr(Par,,CP)+Substr(Par2,CP+,L-CP), όπου CP το σηµείο Crossover (..L-) και L το πλήθος των bits. Αν οι γονότυποι είναι ακέραιοι (int, long) τότε : Παράγουµε 2 «µάσκες» µε βάση το σηµείο Crossover CP : Mask=00000, Mask2=~Mask= 0000000000 Η παραγωγή του Mask γίνεται µε βρόχο που προσθέτει διαδοχικά στη µάσκα δυνάµεις του 2. Ο απόγονος παράγεται ως εξής : Child= (Parent & Mask2) (Parent2 & Mask) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Όπου & ο τελεστής AND και ο τελεστής OR Απόγονος2: Child2= (Parent2 & Mask2) (Parent & Mask) Επίκουρος Καθηγητής 30

Επιλέγονται δύο σηµεία crossover στην τύχη (..L-). Για να µην συµπέσουν τα σηµεία µπορούµε να χωρίσουµε το γονότυπο στα 2 και έτσι CP [..(L-)/2] και CP2 [(L-)/2+..L-]. Ο Απόγονος λαµβάνει τµήµατα της λύσης από τους δύο γονείς: Γονέας Γονέας 2 Απόγονος Απόγονος 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CP CP2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Πετυχαίνει καλύτερο ανασυνδυασµό των λύσεων σε σχέση µε το Crossover ενός σηµείου, γι αυτό και προτιµάται. Το Crossover 2 σηµείων µπορεί να επεκταθεί και για Ν σηµεία. Επιλέγονται Ν σηµεία crossover στην τύχη (..L-). Για να µην συµπέσουν τα σηµεία µπορούµε να χωρίσουµε το γονότυπο σε Ν τµήµατα και έτσι CP [..(L-)/N], CP2 [(L-)/N+.. 2(L-)/N], κ.ο.κ. Γενικά CPi [(i-)(l-)/n+.. i(l-)/n] Γονέας Γονέας 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CP CP2 CPN Απόγονος 0 0 0 0 0 0 0 0 0 0 0 Απόγονος 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Χρησιµοποιείται σε προβλήµατα µε µεγάλους γονότυπους όπου το Crossover 2 σηµείων δεν επαρκεί. Επίκουρος Καθηγητής 3

Uniform Crossover: εν υπάρχουν σηµεία Crossover. Το κάθε bit του απογόνου λαµβάνεται από τον έναν ή τον άλλο γονέα µε ίση πιθανότητα: Γονέας Γονέας 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Απόγονος Απόγονος 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Έχει επιβεβαιωθεί πειραµατικά ότι το uniform crossover υπερτερεί των άλλων, σε δύσκολα προβλήµατα βελτιστοποίησης, εκτελώντας τον πλέον αποδοτικό ανασυνδυασµό πληροφορίας που αναπαρίσταται σε µορφή συµβολοσειρών. Μετά την επιλογή των δύο γονέων ακολουθεί το στάδιο της αναπαραγωγής µέσω των ανασυνδυαστικών τελεστών. Η εφαρµογή του Crossover δεν γίνεται πάντα αλλά σύµφωνα µε µία πιθανότητα εφαρµογής που γενικά είναι υψηλή 0.7 0.9. Εάν δεν γίνει Crossover τότε ο Απόγονος παράγεται ως ακριβές αντίγραφο του ενός ή του άλλου γονέα µε ίση πιθανότητα. Έτσι δίνεται η δυνατότητα της µεταφοράς ακριβών αντιγράφων των γονέων στην επόµενη rnd<0.7 ναι Crossover γενιά χωρίς να υποστούν ανασυνδυασµό, ή να όχι υποστούν µόνο µετάλλαξη. ναι Η πιθανότητα Crossover µπορεί να rnd<0.5 Child=Par µεταβάλλεται κατά την εκτέλεση ενός Γ.Α. όχι Αύξηση της πιθανότητας Crossover σηµαίνει ταχύτερη εξερεύνηση των υποβέλτιστων Child=Par2 λύσεων που έχουν εντοπιστεί και σύγκλιση στα τοπικά βέλτιστα. Επίκουρος Καθηγητής 32

Η Μετάλλαξη γενικά θα πρέπει :. Να επιτρέπει την παραγωγή λύσεων σε όλο το χώρο λύσεων 2. Να παράγει αποδεκτές λύσεις 3. Να µπορεί η «ένταση» και ο «ρυθµός» της µετάλλαξης να ελέγχεται πλήρως από τον Γ.Α καθώς είναι κρίσιµα. Binary Mutation : µε µικρή πιθανότητα το κάθε bit µεταλλάσσεται από σε 0 ή από 0 σε. Ικανοποιεί τα παραπάνω κριτήρια. Η πιθανότητα Mutation ανά bit είναι περίπου στο 0.0 (%). Αυτό σηµαίνει ότι κατά µέσο όρο µεταλλάσσεται στα 00 bits του απογόνου. Απόγονος πρίν Mutation point Απόγονος µετά 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Αντί για την εκτέλεση βρόχου L φορές (L=πλήθος bits γονότυπου), και τον έλεγχο (rnd()<0.0) για κάθε bit του απογόνου, µπορούµε να κάνουµε το εξής : Αριθµός bits µετάλλαξης = L * πιθανότητα ανά bit π.χ. για L=28 και πιθανότητα =0.0, bits µετάλλ.= 28 * 0.0 =.28 Το ακέραιο µέρος () δηλώνει το πόσα bits θα µεταλλαχθούν σίγουρα. Το δεκαδικό µέρος (0.28) είναι η πιθανότητα να µεταλλαχθεί και ένα επιπλέον bit. Έτσι επιλέγονται τυχαία τα bits που θα µεταλλαχθούν στον γονότυπο. Η αλλαγή ενός bit σε strings µπορεί να γίνει και πάλι µε Substr() Η αλλαγή σε ακέραιους γίνεται µε µάσκες και XOR: Mask = << position; Child = Child ^ Mask Απόγονος πριν Απόγονος µετά 0 0 0 0 0 0 0 XOR 00000000 Μάσκα 000000000000000 Επίκουρος Καθηγητής 33

Η Μετάλλαξη προσθέτει τυχαιότητα στον Γ.Α. αυξάνοντας την διασπορά των λύσεων (diversity), και παράγοντας πληροφορία που δεν προϋπάρχει στον πληθυσµό. Υπερβολικά υψηλός ρυθµός Μετάλλαξης εκφυλίζει τον Γ.Α. σε µέθοδο Τυχαίας Αναζήτησης (Random Search), καθώς οι απόγονοι που αποτελούν ανασυνδυασµό των γονέων επανακαθορίζονται τυχαία. Υπερβολικά χαµηλός ρυθµός Μετάλλαξης έχει σαν συνέπεια την γρήγορη σύγκλιση του πληθυσµού σε τοπικά βέλτιστα. Σύγκλιση του πληθυσµού : Crossover + Επιλογή Καλύτερων Απόκλιση του πληθυσµού : Μετάλλαξη Έτσι κατά την διάρκεια ενός Γ.Α. είναι συνηθισµένο να µεταβάλλεται η πιθανότητα Μετάλλαξης µε τους εξής απλούς κανόνες :. Αν ο πληθυσµός συγκλίνει υπερβολικά αύξηση της πιθανότητας Μετάλλαξης (µέχρι κάποιο όριο) 2. Αν αποκλίνει υπερβολικά µείωση της πιθανότητας Μετάλλαξης Σε Γ.Α. µε φυσική αναπαράσταση πραγµατικών αριθµών (real coded) οι λύσεις Λ αναπαρίστανται ως διανύσµατα πραγµατικών αριθµών : Λ = [ x, x 2, x 3,, x n ], x i R, i=..n Η πιο κοινή µέθοδος ανασυνδυασµού πραγµατικών είναι ο «Ανασυνδυασµός Μέσου Όρου», που µπορεί να υλοποιηθεί σε αντιστοιχία µε το Crossover ενός σηµείου, δύο σηµείων, πολλών σηµείων και Οµοιόµορφο Crossover. «Ανασυνδυασµός Μέσου Όρου» ενός σηµείου : ορίζονται 2n- σηµεία τοµής (n για όλα τα x i και επιπλέον n- για τα ενδιάµεσα σηµεία). Αν το τυχαίο σηµείο «πέσει» ανάµεσα σε δύο πραγµατικούς (x k,x k+ ) τότε λαµβάνονται οι «πρώτοι» πραγµατικοί (i=..k) από το πρώτο διάνυσµα και οι «δεύτεροι» (i=k+..n)από το δεύτερο διάνυσµα, χωρίς να παραλλάσσεται κανένα στοιχείο του διανύσµατος. Αν «πέσει» πάνω σε πραγµατικό x k τότε λαµβάνονται οι «πρώτοι» (i=..k-) από το πρώτο διάνυσµα, οι «δεύτεροι» (i=k+..n) από το δεύτερο, και το k στοιχείο: x k = (x k par + x k par2 )/2 Επίκουρος Καθηγητής 34

Για n=5 θα οριστούν 2x5-=9 σηµεία Crossover ως εξής : Σηµεία τοµής 2 3 4 5 6 7 8 9 ιάνυσµαλύσης x x2 x3 x4 x5 Αν επιλεγεί το σηµείο 4 (ενδιάµεσο σηµείο) τότε : Γονέας Γονέας 2.2 3.5 2.8 4. 7.9 6.3 4.0 5.6 0.5 8.7 Απόγονος.2 3.5 5.6 0.5 8.7 Απόγονος 2 6.3 4.0 2.8 4. 7.9 Αν επιλεγεί το σηµείο 5 (πάνω στο x 3 ) τότε : Γονέας Γονέας 2.2 3.5 2.8 4. 6.3 4.0 5.6 0.5 7.9 8.7 Απόγονος Απόγονος 2.2 6.3 3.5 4.0 Το στοιχείο x3 του απογόνου υπολογίζεται ως ο Μ.Ο. των αντίστοιχων στοιχείων των γονέων : x 3 = (x 3 par + x 3 par2 )/2 = (2.8 + 5.6)/2 = 8.4/2 = 4.2 Με καθορισµό περισσότερων σηµείων Crossover για κάθε στοιχείο του διανύσµατος µπορούµε να παράγουµε τα στοιχεία των απογόνων ως ζυγισµένα αθροίσµατα των στοιχείων των γονέων. 4.2 4.2 0.5 4. 8.7 7.9 Επίκουρος Καθηγητής 35

Ορίζουµε 3n+n-=4n- σηµεία τοµής. Για κάθε στοιχείο αντιστοιχούν 3 σηµεία τοµής, µε συντελεστές (βάρη), 2 και 3 αντίστοιχα: Σηµεία τοµής 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 ιάνυσµαλύσης x x2 x3 x4 x5 Έτσι αν επιλεγεί το σηµείο 0 τότε για τους απόγονους θα είναι : x 3 = (2x par 3 + 2x par2 3 )/(2+2) = (x par 3 + x par2 3 )/2 (Μ.Ο.) Άν όµως επιλεγεί το σηµείο τότε για τους απόγονους θα είναι : x ch 3 = (3x par 3 + x par2 3 )/(3+) x ch2 3 = (x par 3 + 3x par2 3 )/(3+) Έτσι για το child το x3 θα «µοιάζει» πιο πολύ µε αυτό του parent, ενώ για το child 2 θα «µοιάζει» πιο πολύ µε το αντίστοιχο του parent2 Γενικά : x i = (w i x par i + w i2 x par2 i )/Σ j w ij = δx par i +(-δ) x par2 i, 0 δ Τα παραπάνω µπορούν εύκολα να επεκταθούν για Ανασυνδυασµό Πραγµατικών αντίστοιχο µε το Crossover 2 ή περισσότερων σηµείων. Για Ανασυνδυασµό Πραγµατικών αντίστοιχο µε αυτό του Uniform Crossover θα έχουµε : x i = (x i par + x i par2 )/2, i=..n που σηµαίνει ότι όλα τα στοιχεία του διανύσµατος του απογόνου υπολογίζονται ως ο Μ.Ο. των αντίστοιχων στοιχείων των γονέων Παράδειγµα : Γονέας.2 3.5 2.8 4. 7.9 Γονέας 2 Απόγονος 6.3 4.35 4.0 3.75 5.6 M.O. 4.2 0.5 2.3 8.7 8.3 Επίκουρος Καθηγητής 36

Οι παραπάνω µέθοδοι ανασυνδυασµού βασίζονται στον Μ.Ο. ο οποίος µας δίνει πάντα τιµές «ανάµεσα» στις δύο αρχικές (interpolation): x par x child x par2 Αν όµως η βέλτιστη τιµή είναι εκτός του διαστήµατος [x par,x par2 ], τότε ο ανασυνδυασµός Μ.Ο. δεν είναι ικανός να το εντοπίσει. Έτσι η εύρεση ή όχι του βέλτιστου εξαρτάται από την αρχικοποίηση του πληθυσµού ή κάποιο τυχερό mutation. H λύση είναι το Blend Crossover BLX-α, που έχει τη δυνατότητα να κάνει και extrapolation πέρα από τις αρχικές τιµές των γονέων. Ο τελεστής αυτός παράγει τη τιµή του απογόνου µε οµοιόµορφη τυχαία κατανοµή στο διάστηµα x - α(x2-x) x2 + α(x2-x) x par α x d d x child x par2 α x d Η Μετάλλαξη έχει την έννοια της ελαφράς παραλλαγής µίας λύσης. Έτσι στην περίπτωση των πραγµατικών η λύση είναι να παραλλάξουµε µε µικρή πιθανότητα ένα στοιχείο από το διάνυσµα της λύσης. Αυτό γίνεται µε βάση µία πιθανοτική κατανοµή που θα επιλέξει ο σχεδιαστής του Γ.Α. Μετάλλαξη πραγµατικού µε οµοιόµορφη κατανοµή : x = x + U(-a, +a), U(-a,+a) : τυχαία µεταβλητή οµοιόµορφης κατανοµής x-a x x+a Μετάλλαξη πραγµατικού µε κατανοµή Gauss: x = x + N(0, σ), Ν(0,σ) : τυχαία µεταβλητή κατανοµής Gauss µε µέση τιµή 0 και τυπική απόκλιση σ. x-a x x+a Επίκουρος Καθηγητής 37

Ανασυνδυασµός σε δενδροειδείς αναπαραστάσεις: ο απόγονος παράγεται µε συνδυασµό των υπο-δένδρων των γονέων. * π * * 2 * * π * 2 r r r r r 2πr 2r 2 πr 2 Η Μετάλλαξη σε δενδροειδείς αναπαραστάσεις γίνεται µεταλλάσσοντας κόµβους, δηµιουργώντας υποδένδρα ή σβήνοντας υποδένδρα. * * * * π * π * π * π * 2 r 2πr r πr 2 r r πr r π 2 r π H γενιά των γονέων αντικαθίσταται πλήρως από την γενιά των απογόνων. Λόγω της δυναµικής του ΓΑ υπάρχει σηµαντική πιθανότητα η καλύτερη λύση µιας γενιάς να µην µπορέσει να µεταφερθεί στην επόµενη καθώς:. Θα διαφοροποιείται µέσω των τελεστών ανασυνδυασµού 2. Θα παραλλάσσεται µέσω των τελεστών µετάλλαξης Για την σωστή απόδοση του ΓΑ θα πρέπει η καλύτερη κάθε φορά λύση να οδεύει µονότονα προς το βέλτιστο και να µην υπάρχουν οπισθοχωρήσεις σε προηγούµενες υπο-βέλτιστες τιµές. Έτσι εφαρµόζεται η τεχνική του Ελιτισµού (Elitism) : Η καλύτερη λύση κάθε γενιάς µεταφέρεται αυτούσια και στην επόµενη γενιά, ώστε να διατηρηθεί, Έτσι σε ένα ΓΑ µε πληθυσµό Ν, σε κάθε γενιά παράγονται N- απόγονοι, καθώς ο Ν-οστός είναι ο καλύτερος της προηγούµενης Επίκουρος Καθηγητής 38

ΗΑντιστροφή (Inversion). Ο τελεστής αυτός εφαρµόζεται πάνω σε ένα γονότυπο. Επιλέγονται δύο σηµεία τοµής µε οµοιόµορφη τυχαία κατανοµή. Τα bits εντός των σηµείων κοπής αναδιατάσσονται µε ανάποδη σειρά. π.χ. Αρχικός Γονότυπος Τελικός Γονοτυπος Σηµεία κοπής 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ΗΑντιστροφή αντιστρέφει την διάταξη ενός υπο-τµήµατος της λύσης. Έχει εφαρµογή κυρίως σε προβλήµατα διάταξης (Ordering Problems) όπως π.χ. το πρόβληµα TSP: Αν έχουµε ένα πρόβληµα 9 πόλεων και χρησιµοποιήσουµε απλή κωδικοποίηση τότε µία λύση θα ήταν : 2 3 4 5 6 7 8 9 που µε Αντιστροφή γίνεται : 2 3 6 5 4 7 8 9 όπου αλλάζει η σειρά επίσκεψης των κόµβων 4, 5 και 6. Partially Matched Crossover (PMX) Ο τελεστής αυτός εφαρµόζεται πάνω σε δύο γονότυπους. Επιλέγονται δύο σηµεία τοµής µε οµοιόµορφη τυχαία κατανοµή. Στον πρώτο γονότυπο τα bits εντός των σηµείων κοπής αντιστοιχίζονται µε τα αντίστοιχα του 2ου γονότυπου. Στον δεύτερο γονότυπο τα bits εντός των σηµείων κοπής αντιστοιχίζονται µε τα αντίστοιχα του ου γονότυπου. Για παράδειγµα σε ένα πρόβληµα TSP µε 9 κόµβους και απλή κωδικοποίηση οι αρχικοί γονότυποι θα είναι : Γονότυπος : 9 8 4 5 6 7 3 2 Γονότυπος 2: 8 7 2 3 9 5 4 6 Στους απόγονους αντικαθιστώνται το 5 µε το 2, το 6 µε το 3 και το 7 µε το 9, σε όλο το γονότυπο (όχι µόνο ανάµεσα στα σηµεία τοµής!) Απόγονος : 7 8 4 2 39 6 5 Απόγονος 2: 8 9 5 6724 3 Επίκουρος Καθηγητής 39

Order Crossover (OX) Ο τελεστής αυτός εφαρµόζεται πάνω σε δύο γονότυπους. Επιλέγονται δύο σηµεία τοµής µε οµοιόµορφη τυχαία κατανοµή. Π.χ. Γονότυπος : 9 8 4 5 6 7 3 2 Γονότυπος 2: 8 7 2 3 9 5 4 6 Στον απόγονο αρχικά αφήνονται κενά εκεί όπου υπήρχαν νούµερα (2, 3, ή 9) που βρίσκονται ανάµεσα στα σηµεία τοµής του 2ου γονότυπου. Απόγονος : - 8 4 5 6 7 - - Στη συνέχεια γίνεται µία ολίσθηση ώστε τα κενά να βρεθούν στην µέση Απόγονος : 5 6 7 - - - 8 4 Τέλος τα κενά συµπληρώνονται µε τα αντίστοιχα του Γονότυπου 2 Απόγονος : 5 6 7 2 3 9 8 4 Αντίστοιχα ο απόγονος 2 θα είναι ως εξής : Απόγονος 2: 8-2 3 9-4 -, 2 3 9 - - - 4 8, 2 3 9 5 6 7 4 8 Το OX δίνει βάση στην διατήρηση της σχετικής θέσης (όχι απόλυτης) Cycle Crossover (CX). Παράδειγµα γονέων : Γονέας : 9 8 2 7 4 5 3 6 Γονέας 2: 2 3 4 5 6 7 8 9 Κάθε κόµβος λαµβάνεται είτε από τον ο είτε από τον 2ο γονέα. Ξεκινώντας, λαµβάνουµε τον πρώτο κόµβο (9) από τον πρώτο γονέα: Απόγονος: 9 --------. Εφόσον στη ίδια θέση ο 2ος απόγονος έχει το, αυτό θα πρέπει να παρθεί επίσης από τον ο γονέα ( δεν µπορεί να παρθεί από τον δεύτερο), και έτσι θα έχουµε: Απόγονος: 9 -- -----. Αυτό σηµαίνει ότι το 4 που είναι στην ίδια θέση µε το στον 2ο γονέα, δεν µπορεί να παρθεί από τον 2ο και άρα θα παρθεί από τον ο, και θα έχουµε: Απόγονος: 9 -- -4 ---. Οµοίως θα πρέπει να παρθεί το 6 : Απόγονος: 9 - - - 4 - - 6. Το 6 αντιστοιχεί στο 9 το οποίο όµως ήδη πάρθηκε και έτσι κλείνει ο «κύκλος». Τα κενά συµπληρώνονται από τον 2ο γονέα, και έτσι θα έχουµε : Απόγονος: 9 2 3 5 4 7 8 6 (Απόγονος 2 = 8 2 4 7 6 5 3 9 ) Επίκουρος Καθηγητής 40

Edge Recombination (ER). Παράδειγµα γονέων : Γονέας : 2 3 4 5 6 Γονέας 2: 4 6 2 3 5 Φτιάχνουµε ένα πίνακα (Edge Map) που για κάθε κόµβο έχει τους γειτονικούς του (και στους δύο γονείς) : : 2, 3 2:, 3, 6 3:, 2, 4, 5 4: 3, 5, 6 5: 3, 4, 6 6: 2, 4, 5 Το πρώτο ψηφίο του απογόνου λαµβάνεται στην τύχη από τον ο ή τον 2ο γονέα. Τα επόµενα ψηφία λαµβάνονται από τα «γειτονικά» του προηγούµενου, µε βάση τον πίνακα. Π.χ. Απόγονος: 2 6 4 3 5, ή 4 3 2 6 5 ή, Εκτός από τους ανασυνδυαστικούς τελεστές, στους Γ.Α. εφαρµόζονται και διάφοροι τελεστές µετάλλαξης, που παραλλάσσουν έναν απόγονο µε διάφορους τρόπους. Οι τελεστές αυτοί πολλές φορές είναι ειδικοί για το εκάστοτε πρόβληµα (problem specific). Έχει αποδειχθεί πειραµατικά ότι τέτοιοι τελεστές µπορεί να επιταχύνουν δραµατικά την σύγκλιση του Γ.Α. προς το βέλτιστο. Τέτοιοι τελεστές είναι : Μετάλλαξη τυχαίου χρωµοσώµατος (Random Chromosome): Σε προβλήµατα πολλών µεταβλητών (x, x 2, x n ), µε δυαδική ή µη κωδικοποίηση, επιλέγεται ένα χρωµόσωµα (x k ) της λύσης, τυχαία, και επανακαθορίζεται τυχαία µέσα στο πεδίο ορισµού του:. Επέλεξε k από (..n) µε οµοιόµορφη κατανοµή πιθανότητας 2. x k =rnd()*range(x k )+LowLimit(x k ) Ο τελεστής αυτός είναι µία ενισχυµένη έκδοση του απλού τελεστή µετάλλαξης, που έχει την ικανότητα να «παράγει» όλες τις δυνατές τιµές ενός υπο-τµήµατος της λύσης. Επίκουρος Καθηγητής 4

Μετάλλαξη Τυχαίου Γονότυπου (Random Genotype) : ολόκληρη η λύση επανακαθορίζεται µε οµοιόµορφη κατανοµή : k (..n) x k =rnd()*range(x k )+LowLimit(x k ) Ο τελεστής αυτός είναι µία ενισχυµένη έκδοση του προηγούµενου τελεστή. Έχει την ικανότητα να «παράγει» τελείως τυχαίες λύσεις (σαν αυτές του αρχικού πληθυσµού) κατά την διάρκεια εκτέλεσης του ΓΑ. Μεταλλαξη Εναλλαγής Χρωµοσωµάτων (Swap Chromosome) : Σε προβλήµατα πολλών µεταβλητών (x, x 2, x n ), µε δυαδική ή µη κωδικοποίηση, επιλέγονται δύο χρωµoσώµατα (x k, x m ) της λύσης, τυχαία, και ανταλλάσσονται µέσα στην λύση :. Επέλεξε k,m από (..n) µε οµοιόµορφη κατανοµή πιθανότητας 2. x k x m O τελεστής αυτός ανταλλάσσει δύο υπο-τµήµατα της λύσης τα οποία επιλέγονται τυχαία, και µπορεί να βοηθήσει εξαιρετικά σε περιπτώσεις που οι λύσεις του προβλήµατος παρουσιάζουν συµµετρίες η οµοιογένεια. (συνέχεια) Μετάλλαξη Εναλλαγής Χρωµοσωµάτων. Σε ένα συνδυαστικό πρόβληµα χρονο-προγραµµατισµού, εναλλάσσει τον προγραµµατισµό για δύο τµήµατα της λύσης π.χ. δύο γεννήτριες: Hours 2 3 4 5 6 7 8 9........... H Unit- 0 0 0 0........... 0. Unit-k. 0 0 0............ Unit-m. 0 0 0 0 0............ Unit-n 0 0 0 0 0........... 0 Σε προβλήµατα που η βέλτιστη λύση είναι συµµετρική ή οµοιογενής (π.χ. x i =0, i=..n) ο τελεστής αυτός σε συνδυασµό µε το Crossover µπορεί και «αντιγράφει» χρωµοσώµατα από µία θέση σε µία άλλη, µε αποτέλεσµα να εντοπίζει ταχύτατα το βέλτιστο. Επίκουρος Καθηγητής 42

Μετάλλαξη Εναλλαγής Bits/Τµηµάτων Χρωµοσωµάτων. Σε προβλήµατα πολλών µεταβλητών (x, x 2, x n ), επιλέγονται δύο χρωµoσώµατα (x k, x m ) της λύσης, τυχαία. Επίσης επιλέγεται ένα παράθυρο bits(bit i..bit j ) και ανταλλάσσονται τα bits των δύο χρωµοσωµάτων µέσα στην λύση :. Επέλεξε k, m από (..n) µε οµοιόµορφη κατανοµή πιθανότητας 2. Επέλεξε i, j από (..len) όπου len το µήκος του χρωµοσώµατος 3. x k (bit i..bit j ) x m (bit i..bit j ) Hours 2 3 4 5 6 7 8 9........... H Unit- 0 0 0 0........... 0. Unit-k 0 0 0............ Unit-m. Unit-n 0 0 0 0 0........... 0 0 0 0 0........... 0 Οι Γ.Α. µπορούν πολύ εύκολα να συνδυαστούν µε άλλες µεθόδους βελτιστοποίησης και αναζήτησης λύσεων, όπως αναλυτικές µεθόδους (gradient descent), µεθόδους επιχειρησιακής έρευνας (operations research, π.χ. υναµικός Προγραµµατισµός - Dynamic Programming), ή άλλες ευριστικές (heuristic) µεθόδους όπως η Προσοµοιωµένη Ανόπτηση (Simulated Annealing) κ.λ.π. Ο συνδυασµός µπορεί να γίνει πολύ εύκολα καθώς µπορούµε να εξάγουµε την καλύτερη λύση του ΓΑ στην γενιά g, να την εισάγουµε σαν αρχική λύση στην δεύτερη µέθοδο η οποία και θα εκτελεστεί, και όταν ολοκληρωθεί να παίρνουµε την λύση της µεθόδου και να την επαν-εισάγουµε στον πληθυσµό του ΓΑ στην γενιά g+. Έτσι θα έχουµε ένα σχήµα µε δύο συνεργαζόµενες µεθόδους που εκτελούνται παράλληλα µε αµοιβαία συνεργασία. Ένα συνηθισµένο υβριδικό σχήµα είναι η ενσωµάτωση στους ΓΑ τελεστών αναρρίχησης (hill climbing operators). Επίκουρος Καθηγητής 43

Οι Γ.Α. έχουν εξαιρετική ικανότητα στον εντοπισµό των περιοχών του χώρου λύσεων που έχουν σηµαντικό ενδιαφέρον (δηλαδή καλές ποιότητες) αλλά επιδεικνύουν σηµαντική καθυστέρηση στο να συγκλίνουν στο ακριβές και απόλυτο βέλτιστο. Για να επιταχυνθεί λοιπόν ο εντοπισµός του βέλτιστου, χρησιµοποιούµε τελεστές αναρρίχησης (Hill-Climbing Operators). Οι τελεστές αυτοί εφαρµόζονται πάνω στην καλύτερη λύση της κάθε γενιάς, προσπαθώντας να προάγουν τη λύση προς το βέλτιστο µε µονοσήµαντο τρόπο. Καλύτερη Λύση S2 S Hill Climbing operator S3 S5 Λύσεις του πληθυσµού S4 Οι τελεστές αναρρίχησης εφαρµόζονται µε το εξής σκεπτικό :. Πάρε την καλύτερη λύση του πληθυσµού 2. Εφάρµοσε µέθοδο τοπικής αναζήτησης (local search) για εξερεύνηση της «γειτονιάς» της καλύτερης λύσης. 3. Μετά από κάθε µικρο-µεταβολή της λύσης κάνε αξιολόγησή της µέσω της συνάρτησης ποιότητας fitness function. 4. Αν η ποιότητα της αλλαγµένης λύσης είναι καλύτερη από την αρχική τότε η αλλαγή οριστικοποιείται και η λύση επαν-εισάγεται στον πληθυσµό του ΓΑ. 5. Αν η ποιότητά της αλλαγµένης λύσης είναι χειρότερη της αρχικής τότε η αλλαγή µαταιώνεται και η λύση έρχεται στην αρχική της µορφή 6. Μετά από επιτυχηµένη ή αποτυχηµένη µεταβολή, ο τελεστής µπορεί είτε να τερµατίσει, είτε να δοκιµάσει και νέα µεταβολή. Η παραπάνω µεθοδολογία εγγυάται ότι ο τελεστής αναρρίχησης θα βελτιώνει µονοσήµαντα την καλύτερη λύση του ΓΑ προς το βέλτιστο Επίκουρος Καθηγητής 44