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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

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

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

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

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

Διαδικασιακός Προγραμματισμός

Ανάπτυξη εξελικτικού αλγορίθμου για πολυκριτηριακή βελτιστοποίηση

Τηλεπικοινωνιακά Συστήματα ΙΙ

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

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

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

ΠΛΗ21 Κεφάλαιο 1. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 1 Εισαγωγή

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

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

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

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 5: Παραδείγματα. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 2 Δυαδική Κωδικοποίηση

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

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

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

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

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

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

i=1 f i = F i SF [0, f 1 ), [f 1, f 1 + f 2 ), [f 1 + f 2, f 1 + f 2 + f 3 ),..., [f 1 + f f P 1, 1) i 1

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

Θέματα Προγραμματισμού Η/Υ

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών

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

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

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

Συμπίεση Δεδομένων

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

Συμπίεση Δεδομένων

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

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

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #8: Βελτιστοποίηση Συστημάτων Ασαφούς Λογικής. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ. Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μαθηματικά των Υπολογιστών και των Αποφάσεων

Θέματα Συστημάτων Πολυμέσων

Εισαγωγή στην Επιστήμη των Υπολογιστών

Γενετικός Προγραμματισμός

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

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

Αριθμητική Ανάλυση & Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Transcript:

Σπύρος Καζαρλής

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως ως αλγόριθμοι γενικής βελτιστοποίησης (global optimization algorithms) και αναζήτησης λύσεων Χρονολογούνται από το 1962 (John Holland). Έχουν χρησιμοποιηθεί σε πολλές και διαφορετικές εφαρμογές και με πολλές διαφορετικές παραλλαγές και τροποποιήσεις και ως υβριδικά σχήματα μαζί με άλλους αλγορίθμους. Έχουν γενική εφαρμογή. Δεν θέτουν περιορισμούς ως προς το είδος του προβλήματος. Εκτελούνται offline καθώς απαιτούν σημαντικό υπολογιστικό χρόνο. Έχουν κάποια θεωρητική βάση (Θεωρία Σχημάτων Schema Theory) που εξηγεί το γιατί και πως λειτουργούν κάτω από συγκεκριμένες συνθήκες και παραδοχές.

Η υλοποίηση ενός ΓΑ στηρίζεται σε πέντε βασικές αρχές : 1. Αρχική παραγωγή και τήρηση ενός πληθυσμού κωδικοποιημένων λύσεων. Οι λύσεις κωδικοποιούνται σε συμβολοσειρές (συνήθως δυαδικές) που προσομοιώνουν την αλυσίδα DNA των έμβιων όντων. Νεότερες υλοποιήσεις έχουν λειτουργήσει και χωρίς κωδικοποίηση των λύσεων (φυσιολογική αναπαράσταση). 2. Ύπαρξη μιας συνάρτησης ποιότητας (fitness function) που να μπορεί να αξιολογεί τις παραγόμενες λύσεις, 3. Επιλογή των καλύτερων ατόμων-λύσεων του πληθυσμού για αναπαραγωγή (επιβίωση των καλύτερων), 4. Ανασυνδυασμός των χαρακτηριστικών των γονέων για την παραγωγή των απογόνων. Μετάλλαξη των απογόνων με μικρή πιθανότητα ανά bit. 5. Αντικατάσταση των γονέων από τους απογόνους (ολική ή μερική).

Πληθυσμός Λύσεων S1 S2 S3 S4 Sn Si, i=1..n : Κατανομή των λύσεων στον χώρο λύσεων S3 S2 S1 S5 S4 Επιλογή γονέων με τον Τροχό της Ρουλέτας 2 1 49,2% 14,4% Par.1 Par.2 Ο τελεστής Crossover 5,5% 30,9% 3 4 Off.1 Off.2

Αρχικοποίηση και αξιολόγηση του πληθυσμού Πιθανοτική επιλογή δύο γονέων για αναπαραγωγή Η «λογική» ενός ΓΑ είναι πολύ απλή, γεγονός που τους καθιστά εύκολα εφαρμόσιμους. Δύο ένθετοι βρόχοι : 1. Βρόχος παραγωγής απογόνων 2. Βρόχος παραγωγής γενεών Οχι Οχι Crossover Mutation Παραγωγή και αξιολόγηση του απογόνου γονότυπου Συμπληρώθηκε ο πληθυσμός Ναί Η γενιά συμπληρώθηκε. Αντικατάσταση των γονέων Ικανοποιείται το κριτήριο τερματισμού Ναί Τέλος του Γενετικού Αλγόριθμου

Οι λύσεις-άτομα του πληθυσμού σε ένα ΓΑ δεν διατηρούνται με την κανονική τους μορφή - φαινότυπο (π.χ. σαν ανύσματα πραγματικών αριθμών) αλλά με μία κωδικοποιημένη μορφή γονότυπο, έτσι ώστε να προσομοιώσουν τα βιολογικά χρωμοσώματα, και να μπορέσουν να εφαρμοστούν πάνω τους οι γενετικοί τελεστές. Έτσι κάθε λύση-φαινότυπος είναι κωδικοποιημένη σε μία συμβολοσειρά (string) από σύμβολα γονότυπος τα οποία λαμβάνονται από ένα κατά το δυνατό ολιγομελές σύνολο συμβόλων. Το πιο συνηθισμένο σύνολο συμβόλων που χρησιμοποιείται είναι το σύνολο των δυαδικών συμβόλων (0,1), που δίνει και την απλούστερη μορφή κωδικοποίησης. Με αυτό το σύνολο συμβόλων, κάθε λύση κωδικοποιείται σε μία δυαδική συμβολοσειρά από 0 και 1 συγκεκριμένου μήκους L, προσομοιώνοντας (σε απλούστερη βέβαια μορφή) τα πραγματικά βιολογικά χρωμοσώματα

Μεταβλητή 1 Μεταβλητή.. 2.. Μεταβλητή N 1 1 1 0 0... 1 Συμβολοσειρά 1 0 1 0 1 1... 1 Συμβολοσειρά 2.. 1 0 1 1 0... 0 Συμβολοσειρά Ν 01110.. 0 11100.. 1.. 00011.. 0 Ενιαία συμβολοσειρά λύσης Το μήκος της συμβολοσειράς, L, και η σημασία του κάθε bit καθορίζεται ανάλογα με το πρόβλημα.

Έστω το πρόβλημα βελτιστοποίησης De Jong F5 (Shekel s foxholes): maximize f ( x) 0.002 25 j 1 x i [-65536,65536] Κάθε μεταβλητή x i, παίρνει 131072=65536x2 διαφορετικές τιμές και μπορεί να κωδικοποιηθεί με 17 bits (2 17 =131072). Το συνολικό χρωμόσωμα θα έχει μήκος 34 bits. γονότυπος x1 x2 2 i 1 00000000000000000 00000000000000000-65536 -65536 00000000000000001 00000000000000000-65535 -65536 11111111111111111 00000000000000000 65536-65536 11111111111111111 00000000000000001 65536-65535 11111111111111111 11111111111111111 65536 65536 j 1 ( x i a ij 6 )

Μετατροπή γονότυπου σε φαινότυπο : 1. Λαμβάνεται ο γονότυπος που παράγεται από τον ΓΑ 2. Χωρίζεται σε χρωμοσώματα (ένα ανά μεταβλητή) 3. Για κάθε χρωμόσωμα / μεταβλητή κάνουμε το εξής : 4. Μεταβλητή(i) = integer(χρωμόσωμα(i)) + Min(i) (Μετατρέπουμε τον δυαδικό αριθμό σε ακέραιο και προσθέτουμε το κάτω όριο του διαστήματος ορισμού της μεταβλητής.) Παράδειγμα : Μετατροπή του γονότυπου : 01010101010101010 10101010101010101 Integer(χρωμόσωμα) = 43690 87381 Φαινότυπος (λύση) = 43690-65536 87381-65536 = -21846 21845 x1 = -21846, x2 = 21845

Στην δυαδική κωδικοποίηση οι αριθμοί 01111111 και 10000000 αν και συνεχόμενοι (127,128) έχουν απόσταση Hamming 8 (διαφέρουν κατά 8 bits). Άρα μικρές αλλαγές στον χώρο φαινότυπων (ακέραιοι) μπορεί να δημιουργούν μεγάλες αλλαγές στον χώρο γονότυπων (binary strings). Γι αυτό μπορεί στην κωδικοποίηση να χρησιμοποιηθεί εναλλακτικά ο κώδικας Gray : Ακέραιος Δυαδικός Gray 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100

Έστω το πρόβλημα βελτιστοποίησης De Jong F1(sphere) : maximize f ( x) n i 1 2 x i x i [-5.12,5.12] Κάθε μεταβλητή x i, παίρνει άπειρες διαφορετικές τιμές. Στις δυαδικές συμβολοσειρές πεπερασμένου μήκους κωδικοποιούνται πεπερασμένες διαφορετικές τιμές. Έτσι αποφασίζουμε το πλήθος των bits για κάθε μεταβλητή, που ορίζει το πλήθος των διακριτών τιμών που θα κωδικοποιηθούν. Αν λάβουμε 8 bits για κάθε μεταβλητή: Πλήθος bits = 8 / μεταβλητή, Κωδικ. Τιμές = 2 8 = 256 Βήμα διακριτοποίησης = (Max-Min) / (Κωδικ.Τιμές -1) = (5.12-(-5.12))/255 = 0.04015686

Ακέραιος Δυαδικός Πραγματικός 0 00000000-5.1200 1 00000001-5.0798 2 00000010-5.0396 127 01111111-0.0200 128 10000000 0.0200 255 11111111 5.1200 Εάν το βήμα διακριτοποίησης δεν είναι αρκετά μικρό τότε αυξάνουμε τα bits κωδικοποίησης. Έτσι αν θέσουμε 10 bits για κάθε μεταβλητή: Κωδικ. Τιμές = 2 10 = 1024 Βήμα διακριτοποίησης = (Max-Min) / (Κωδικ.Τιμές -1) = (5.12-(- 5.12))/1024 = 0.0100392

Μετατροπή γονότυπου σε φαινότυπο : 1. Λαμβάνεται ο γονότυπος που παράγεται από τον ΓΑ 2. Χωρίζεται σε χρωμοσώματα (ένα ανά μεταβλητή) 3. Για κάθε χρωμόσωμα / μεταβλητή κάνουμε το εξής : 4. Μεταβλητή(i) = integer(χρωμόσωμα(i)) x Βήμα Διακριτ.(i) + Min(i) (Μετατρέπουμε τον δυαδικό αριθμό σε ακέραιο, τον πολλαπλασιάζουμε επί το βήμα διακριτοποίησης και προσθέτουμε το κάτω όριο του διαστήματος ορισμού της μεταβλητής.) Παράδειγμα : Μετατροπή του γονότυπου : 0000011111 1111100000 Integer(χρωμόσωμα) = 31 992 Φαινότυπος (λύση) = 31xΒήμα-5.12 992xΒήμα -5.12 = -4.8096 4.8096 x1 = -4.8096, x2 = 4,8096

Για να εφαρμοστούν οι ΓΑ απαιτούν την ύπαρξη μίας Συνάρτησης Ποιότητας (Fitness Function Quality Function) Η Συνάρτηση ποιότητας ορίζει μία απεικόνιση από το σύνολο S N των συμβολοσειρών με μέγεθος Ν bits, στο σύνολο των πραγματικών R. S N R Μέσω της συνάρτησης ποιότητας ο ΓΑ μπορεί και αξιολογεί δείγματα του χώρου λύσεων και οδηγείται εξελικτικά προς το βέλτιστο. Δεν υπάρχουν προϋποθέσεις για την μορφή της συνάρτησης ποιότητας (συνεχής, παραγωγίσιμη, κυρτή, κ.λ.π.). Μπορεί επίσης να μην είναι κάν συνάρτηση αλλά να υπολογίζεται με αλγόριθμο. Πρέπει να υπολογίζεται γρήγορα. Δεν πρέπει να είναι ευαίσθητη σε θόρυβο (ίδιος γονότυπος ίδια λύση) Το κριτήριο των πόρων που έχει χρησιμοποιήσει ένας ΓΑ δεν είναι ο αριθμός των γενεών αλλά ο αριθμός των αξιολογήσεων λύσεων μέσω της συνάρτησης ποιότητας (no of fitness function evaluations)

Για την υλοποίηση της «επιβίωσης του καλύτερου» θα πρέπει οι γονείς να επιλέγονται από τον πληθυσμό με πιθανότητα ανάλογη της ποιότητάς τους. Λύσεις καλής ποιότητας θα επιλέγονται πολύ συχνά για αναπαραγωγή Λύσεις κακής ποιότητας θα επιλέγονται σπανίως ή και καθόλου. Η επιλογή και λύσεων κακής ποιότητας «αφήνεται» να συμβεί με μικρή πιθανότητα, καθώς ο ανασυνδυασμός μίας καλής και μίας κακής λύσης, ενδέχεται να δώσει λύση ακόμα καλύτερης ποιότητας. Υπάρχουν τέσσερις βασικές μέθοδοι επιλογής γονέων : 1. Επιλογή με τον Τροχό της Ρουλέτας (Roulette Wheel Parent Selection) 2. Ντετερμινιστική δειγματοληψία (Deterministic Sampling) 3. Επιλογή με Τουρνουά (Tournament Selection) 4. Επιλογή με Διαβάθμιση (Ranking Selection)

Επιλέγει γονείς με πιθανότητα ευθέως ανάλογη της ποιότητάς τους 2 49,2% 14,4% 1 Α/Α Χρωμόσωμα Ποιότητα % επί συνόλου 5,5% 30,9% 3 4 1 2 3 4 00110110 10111001 00101111 11101100 169 576 64 361 14.4 % 49.2 % 5.5 % 30.9 % ΣΥΝΟΛΟ 1170 100 % Η μέθοδος του Tροχού της Rουλέτας (Roulette Wheel Parent Selection)

Πλεονεκτήματα Εύκολο στο να υλοποιηθεί Η πιθανότητα επιλογής είναι απευθείας ανάλογη της ποιότητας των ατόμων Μειονεκτήματα Μπορεί να οδηγήσει σε πρώιμη σύγκλιση καθώς τα άτομα με καλές ποιότητες μπορεί να κυριεύσουν ταχύτατα τον πληθυσμό. Σε μικρούς πληθυσμούς συμβαίνουν στατιστικά σφάλματα. Όταν οι τιμές ποιότητας των ατόμων του πληθυσμού είναι παρόμοιες, τότε δεν υπάρχει «πίεση επιλογής» (selection pressure) προς τις καλύτερες λύσεις. Θα πρέπει οι τιμές ποιότητας των ατόμων να είναι θετικές ποσότητες. Συμπεριφέρεται διαφορετικά στην αντίστροφη συνάρτηση ποιότητας : f (x) = 1/(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 : 1. Οι γονείς ταξινομούνται ως προς το δεκαδικό μέρος του Ei 2. Οι γονείς που υπολείπονται για επιλογή επιλέγονται ανάμεσα στα άτομα που βρίσκονται υψηλότερα στην ταξινόμηση Έτσι η μέθοδος αυτή δεν αφήνει στην τύχη το πόσες φορές θα πρέπει να επιλεγεί ο κάθε γονέας, αλλά το καθορίζει με απόλυτο τρόπο.

Επιλέγει k υποψήφιους γονείς από τον πληθυσμό με ομοιόμορφη κατανομή πιθανότητας (ισοπίθανα), με ή χωρίς αντικατάστασή τους ξανά στον πληθυσμό. Ο καλύτερος από τους k είναι ο νικητής και επιλέγεται ως γονέας. Ο αριθμός k ονομάζεται tournament size.

Τα Ν άτομα του πληθυσμού ταξινομούνται σε φθίνουσα σειρά με βάση την ποιότητά τους. Η θέση του κάθε ατόμου στον ταξινομημένο πίνακα (1..Ν) ονομάζεται «διαβάθμιση» (rank). Αντί να ληφθεί υπ όψιν η ποιότητα της κάθε λύσης, λαμβάνεται υπ όψιν η διαβάθμιση και μέσω μίας συνάρτησης επιλέγονται άτομα από την ταξινομημένη λίστα. Η συνάρτηση επιλέγει περισσότερες φορές άτομα με υψηλή διαβάθμιση (δηλαδή με καλή ποιότητα). Παράδειγμα : Fitness: f(a) = 5, f(b) = 2, f(c) = 19 Rank: r(a) = 2, r(b) = 3, r(c) = 1 Συνάρτηση : n r( x) 1 h( x) 100% r( x) n=3, Σ(r(x))=6 Function: h(a) = 33,33%, h(b) = 16,66%, h(c) = 50%

Δυαδικό Crossover: 1. Crossover ενός σημείου (One Point Crossover) 2. Crossover δύο (2) σημείων (Two Point Crossover) 3. Crossover πολλών σημείων (Multi Point Crossover) 4. Ομοιόμορφο Crossover (Uniform Crossover) Crossover ενός σημείου : σε γονότυπο μήκους L, ο δυνατός αριθμός σημείων Crossover είναι L-1. Επιλέγεται το σημείο στην τύχη. Ο Απόγονος λαμβάνει τμήματα της λύσης από τους δύο γονείς: Γονέας 1 Γονέας 2 Crossover point Απόγονος 1 Απόγονος 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 parents offspring

Επιλέγονται δύο σημεία crossover στην τύχη (1..L-1). Οι γονεις χωρίζονται σε τρία (3) τμήματα και ο απόγονος λαμβάνει τμήματα της λύσης από τους δύο γονείς με τον εξής τρόπο: Γονέας1- Γονέας2-Γονέας1 ή Γονέας2-Γονέας1-Γονέας2. Γονέας 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Γονέας 2 Απόγονος 1 Απόγονος 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CP1 CP2 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 Πετυχαίνει καλύτερο ανασυνδυασμό των λύσεων σε σχέση με το Crossover ενός σημείου, γι αυτό και προτιμάται.

Το Crossover 2 σημείων μπορεί να επεκταθεί και για Ν σημεία. Επιλέγονται Ν σημεία crossover στην τύχη (1..L-1). Ο απόγονος παράγεται λαμβάνοντας εναλλάξ τμήματα από τον πρώτο και τον δεύτερο γονέα μεταξύ των σημείων τομής. Γονέας 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Γονέας 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 CP1 CP2 CPN Απόγονος 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 Απόγονος 2 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 Χρησιμοποιείται σε προβλήματα με μεγάλους γονότυπους όπου το Crossover 2 σημείων δεν επαρκεί.

Uniform Crossover: Δεν υπάρχουν σημεία Crossover. Το κάθε bit του απογόνου λαμβάνεται από τον έναν ή τον άλλο γονέα με ίση πιθανότητα: Γονέας 1 Γονέας 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Απόγονος 1 Απόγονος 2 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 1 Έχει επιβεβαιωθεί πειραματικά ότι το uniform crossover υπερτερεί των άλλων, σε δύσκολα προβλήματα βελτιστοποίησης, εκτελώντας τον πλέον αποδοτικό ανασυνδυασμό πληροφορίας που αναπαρίσταται σε μορφή συμβολοσειρών.

Η Μετάλλαξη γενικά θα πρέπει : 1. Να επιτρέπει την παραγωγή λύσεων σε όλο το χώρο λύσεων 2. Να παράγει αποδεκτές λύσεις 3. Να μπορεί η «ένταση» και ο «ρυθμός» της μετάλλαξης να ελέγχεται πλήρως από τον Γ.Α καθώς είναι κρίσιμα. Binary Mutation : με μικρή πιθανότητα το κάθε bit μεταλλάσσεται από 1 σε 0 ή από 0 σε 1. Ικανοποιεί τα παραπάνω κριτήρια. Η πιθανότητα Mutation ανά bit είναι περίπου στο 0.01 (1%). Αυτό σημαίνει ότι κατά μέσο όρο μεταλλάσσεται 1 στα 100 bits του απογόνου. Απόγονος πρίν Mutation point Απόγονος μετά 1 0 1 1 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1

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

Οι Γ.Α. μπορούν πολύ εύκολα να συνδυαστούν με άλλες μεθόδους βελτιστοποίησης, όπως αναλυτικές μεθόδους (gradient descent), μεθόδους επιχειρησιακής έρευνας (operations research, π.χ. Δυναμικός Προγραμματισμός - Dynamic Programming), ή άλλες ευριστικές (heuristic) μεθόδους όπως η Προσομοιωμένη Ανόπτηση (Simulated Annealing) κ.α Ο συνδυασμός μπορεί να γίνει πολύ εύκολα εξάγοντας την καλύτερη λύση του ΓΑ στην γενιά g, και εισάγοντάς την σαν αρχική λύση στην δεύτερη μέθοδο. Όταν η δεύτερη ολοκληρωθεί, παίρνουμε την λύση της μεθόδου και την επαν-εισάγουμε στον πληθυσμό του ΓΑ στην γενιά g+1. GA Best Solution Other Method Έτσι θα έχουμε ένα σχήμα με δύο συνεργαζόμενες μεθόδους που εκτελούνται παράλληλα με αμοιβαία συνεργασία. Ένα συνηθισμένο υβριδικό σχήμα είναι η ενσωμάτωση στους ΓΑ τελεστών αναρρίχησης (hill climbing operators).

Οι Γ.Α. έχουν εξαιρετική ικανότητα στον εντοπισμό των περιοχών του χώρου λύσεων που έχουν σημαντικό ενδιαφέρον (δηλαδή καλές ποιότητες) αλλά επιδεικνύουν σημαντική καθυστέρηση στο να συγκλίνουν στο ακριβές και απόλυτο βέλτιστο. Για να επιταχυνθεί λοιπόν ο εντοπισμός του βέλτιστου, χρησιμοποιούμε τελεστές αναρρίχησης (Hill-Climbing Operators). Οι τελεστές αυτοί εφαρμόζονται πάνω στην καλύτερη λύση της κάθε γενιάς, προσπαθώντας να προάγουν τη λύση προς το βέλτιστο με μονοσήμαντο τρόπο. Καλύτερη Λύση S2 S1 Hill Climbing operator S3 S5 Λύσεις του πληθυσμού S4

Οι τελεστές αναρρίχησης εφαρμόζονται με το εξής σκεπτικό : 1. Πάρε την καλύτερη λύση του πληθυσμού 2. Εφάρμοσε μέθοδο τοπικής αναζήτησης (local search) για εξερεύνηση της «γειτονιάς» της καλύτερης λύσης. 3. Μετά από κάθε μικρο-μεταβολή της λύσης κάνε αξιολόγησή της μέσω της συνάρτησης ποιότητας fitness function. 4. Αν η ποιότητα της αλλαγμένης λύσης είναι καλύτερη από την αρχική τότε η αλλαγή οριστικοποιείται και η λύση επαν-εισάγεται στον πληθυσμό του ΓΑ. 5. Αν η ποιότητά της αλλαγμένης λύσης είναι χειρότερη της αρχικής τότε η αλλαγή ματαιώνεται και η λύση έρχεται στην αρχική της μορφή 6. Μετά από επιτυχημένη ή αποτυχημένη μεταβολή, ο τελεστής μπορεί είτε να τερματίσει, είτε να δοκιμάσει και νέα μεταβολή. Η παραπάνω μεθοδολογία εγγυάται ότι ο τελεστής αναρρίχησης θα βελτιώνει μονοσήμαντα την καλύτερη λύση του ΓΑ προς το βέλτιστο

Ο τελεστής αυτός λειτουργεί σε προβλήματα συνεχών παραμέτρων όπου κάθε λύση X είναι ένα άνυσμα πραγματικών (x 1 x n ) ως εξής: 1. Εκτελεί ένα βρόχο για όλες τις παραμέτρους του προβλήματος 1..n 2. Για κάθε μεταβλητή x i δοκιμάζει να προσθέσει και να αφαιρέσει μία μικρή και μία μεγάλη μετατόπιση που εξαρτάται από το πεδίο ορισμού της x i (π.χ. ±0.01 και ±1.0). 3. Σε κάθε δοκιμή η λύση αξιολογείται μέσω της συνάρτησης ποιότητας. 4. Αν η νέα ποιότητα είναι καλύτερη της προηγούμενης τότε η μεταβολή υιοθετείται, αλλιώς η μεταβολή αναιρείται και ξαναγυρνάμε στην αρχική λύση. Ο τελεστής αυτός δοκιμάζει μικρο-μεταβολές θετικές και αρνητικές κατά μήκος ενός άξονα κάθε φορά (μίας μεταβλητής) και υιοθετεί κάθε μεταβολή που θα δώσει καλύτερη λύση από την αρχική. Ο τελεστής αυτός προσθέτει n*4 αξιολογήσεις της συνάρτησης ποιότητας (fitness function evaluations) σε κάθε γενιά, αλλά επιταχύνει δραματικά την σύγκλιση προς το απόλυτο βέλτιστο.

Ο τελεστής προχωρά με «ορθογώνια» βήματα προς το βέλτιστο. Βέλτιστο x Μικρό βήμα Μεγάλο βήμα y

Q = evaluate (Λ) Λ αρχ =Λ Επανάληψη για όλες τις μεταβλητές x i, i=1..n Επανάληψη για Βήμα = Large, small, -small, -Large Λ x i = Λ x i + Βήμα Q test = evaluate (Λ) Q test > Q Λ = Λ αρχ OXI NAI Q = Q test ΤΕΛΟΣ

Η αντικατάσταση του πληθυσμού των γονέων από τον πληθυσμό των απογόνων γίνεται με δύο διαφορετικούς τρόπους: 1. Γενεαλογική Αντικατάσταση (Generational Replacement): όπου κατά την αναπαραγωγή οι δύο πληθυσμού συνυπάρχουν και όταν συμπληρωθεί ο πληθυσμός των απογόνων τότε αντικαθιστά πλήρως τον πληθυσμό των γονέων. 2. Αναπαραγωγή Σταθερής Κατάστασης (Steady State Reproduction): όπου υπάρχει μόνο ένας πληθυσμός αυτός των γονέων και κάθε φορά που παράγεται ένας απόγονος τότε αυτός αντικαθιστά στον πληθυσμό τον χειρότερο από τους γονείς. Στην πρώτη μέθοδο υπάρχει ξεκάθαρα η έννοια της γενιάς, και υπάρχει δραστική μεταβολή της σύστασης του πληθυσμού σε κάθε γενιά, που μπορεί να οδηγήσει σε απώλεια λύσεων αν δεν υπάρχει Ελιτισμός. Στην δεύτερη μέθοδο δεν υπάρχει η έννοια της γενιάς, ενώ η μεταβολή της σύστασης του πληθυσμού είναι σταδιακή.