Γενετικοί αλγόριθµοι - ΓΑ Genetic algorithms - GA ΕΦΑΡΜΟΓΗ στην ΕΠΕΞΕΡΓΑΣIΑ ΣΗΜΑΤΟΣ και στην ΑΣΑΦΗ ΛΟΓIΚΗ Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ
ΓΑ - Εισαγωγικά Γενετικοί αλγόριθµοι (Genetic algorithms) Εξελικτικοί αλγόριθµοί (Evolutionary algorithms) Εξελικτικά προγράµµατα (Evolutionary programs) Περιοχή της Τεχνητής Νοηµοσύνης Μιµείται τη βιολογική διεργασία της εξέλιξης: «Τα είδη του ζωικού και φυτικού βασιλείου µεταλλάσσονται και στις επόµενες ενες γενεές επικρατούν τα ισχυρότερα» Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.2
ΓΑ - διάγραµµα Αρχικός πληθυσµός Αναπαραγωγή και µετάλλαξη απογόνων τέλος Υπολογισµός καταλληλότητας (fitness) Εφαρµογή επιλογής Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.3
ΓΑ και Τεχvικές "βελτιστoπoίησης" (Optimization techniques) Eξαντλητική διαδικασία (Exhaustive search) Gradient methods - steepest descent Neural networks SA simulated annealing. Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.4
ΓΕΝΕΤIΚH. Αρχή της ΠΡΟΣΑΡΜΟΓΗΣ 2. Υλoπoιείται µε τρείςπράξεις: ΑΝΑΠΑΡΑΓΩΓΗ IΑΣΤΑΥΡΩΣΗ ΜΕΤΑΛΛΑΞΗ Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.5
"ΜΕΤΑΦΟΡΑ" ΣΕ ΑΛΓΟΡIΘΜΟ Η αρχή της προσαρµογής υλοποιείται µε µία σχετική συνάρτηση προσαρµοστικότητας καταλληλότητας (fitness function) Ολα τα µέλη του πληθυσµού αξιολογούνται µε την τιµή καταλληλότητας που λαµβάνουν (fitness value) Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.6
(συνέχεια) ΓΕΝΕΤIΚΟΣ ΚΩ IΚΑΣ ΥΑ IΚΟΣ ΚΩ IΚΑΣ ΓΟΝΙ ΙΟ bit ΧΡΩΜΟΣΩΜΑ δυαδικός αριθµός Β i. πχ. 00000 (=52) Γίνεται απεικόνιση του αριθµού Β i στον C i σύµφωνα µε τον αριθµό L των διαθεσίµων bits (γραµµική παρεµβολή): C i = C min + Bi L (C 2 - max - C min ) Όλες οι παράµετροι θεωρούνται δυαδικοί αριθµοί και τοποθετούνται σε µία σειρά σχηµατίζoντας ένα τελικό αριθµό - «χρωµόσωµα» για επεξεργασία Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.7
παράδειγµα C i = C min + Bi L (C 2 - max - C min ) Σε ένα πρόβληµα επιζητείται η εύρεση δύο παραµέτρων. Για κάθε ένα θεωρούµε 6 bits δηλαδή το χρωµόσωµα θα έχει µήκος =2. Για την απεικόνιση των παραµέτρων δίνονται: C max =5, C min =-2, L=6 και Β i =7,8,2,36 Οι τιµές C i υπολογίζονται: B 7 = Cmin + (Cmax - Cmin) = 2 + (5 + 2) =.22 L 2-2 B2 8 2 = Cmin + (Cmax - Cmin) = 2 + (5 + 2) = 0.0 L 2-2 B3 2 3 = Cmin + (Cmax - Cmin) = 2 + (5 + 2) = 0.33 L 2-2 B4 36 4 = Cmin + (Cmax - Cmin) = 2 + (5 + 2) = 2.0 L 2-2 C 6 C 6 C 6 C 6 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.8
ΓΑ - Αρχικές τιµές ΑΥΘΑIΡΕΤΗ ΠΑΡΑΓΩΓΗ n ΑΡΧIΚΩΝ TIMΩΝ ηλαδή παράγονται n «χρωµοσώµατα» - δυαδικοί αριθµοί που περιλαµβάνουν τις ζητούµενες παραµέτρους (λύσεις). Η διαδικασία είναι τυχαία (random numbers) Στη συνέχεια γίνεται αποκωδικοποίηση των σε δεκαδικούς αριθµούς που αντιστοιχούν στις παραµέτρους η παράµετρος 2η παράµετρος.... n... Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.9
ΓΑ Αναπαραγωγή επιλογή γονέων Με τις αποκωδικοποιηµένες (δεκαδικές) τιµές των παραµέτρων υπολογίζεται η τιµή προσαρµοστικότητας- καταλληλότητας (fitness value) για κάθε ένα χρωµόσωµα Οι λύσεις µε υψηλή τιµή αναπαράγονται σε µεγαλύτερο ποσοστό στο νέο πληθυσµό. Η ισοδύναµα επιλέγονται µε µεγαλύτερη πιθανότητα Ο συνολικός αριθµός των χρωµοσωµάτων παραµένει ίδιος.... n.... fitness fitness 2... fitness n Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.0
(συνέχεια) Ησυνάρτηση καταλληλότητας (fitness) χρησιµοποιείται για την επιλογή των γονέων (αναπαραγωγή) µε τους εξής τρόπους:. Σαν σχετική συχνότητα (πιθανότητα) επιλογής (Αναλογική µέθοδος proportionate). Μία υλοποίησή γίνεται µε την µέθοδο του «τροχού της τύχης» - (roulette wheel method) 2. Για δηµιουργία διάταξης και επιλογής βάσει του βαθµού κάθε γονέα 3. Με διαδικασία τυχαίας επιλογής από ένα σύνολο εκ των γονέων (Tournament selection) Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.
.α Αναπαραγωγή µε σχετική συχνότητα n... fitness Ε fitness 2... fitness n Ε n Στην απλούστερη µορφή η τιµή καταλληλότητας fitness χρησιµοποιείται άµεσα για να δώσει τον αριθµό Ε i των αντιγράφων ενος γονέα i σε ένα πληθυσµό n Ε i = < fitness(n fitness(n i i ) ) > fitness (n i ) είναι η µέση τιµή τηςfitness στον πληθυσµό Στην διαδικασία αυτή συνήθως τίθεται και ένα κατώφλιο στην τιµή της Ε i. Χρωµοσώµατα κάτω της τιµής αυτής δεν επιλέγονται Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.2
Αναπαραγωγή µε σχετική συχνότητα - παράδειγµα Το πρόβληµα: max x 2 στο σύνολο {0,,,3} Λύση µε ΓΑ. Χρωµόσωµα 5 ψηφίων πχ. 00 3 Μέγεθος πληθυσµού : 4 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.3
.β Αναπαραγωγή µε σχετική συχνότητα -roulette wheel Roullete wheel Η περιφέρεια χωρίζεται σε µήκη ανάλογα του s i = fitness(ni ) fitness(n ) i i Παράγεται ένας τυχαίος αριθµός οµοιόµορφης κατανοµής και επιλέγεται το αντίστοιχο χρωµόσωµα για αναπαραγωγή Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.4
Roullete wheel παράδειγµα Οι αριθµοί: 0-60 Chromosome Fitness 000 20 0000000 5 00 5 0000 8 00000 2 Random Numbers Father Mother 44, 3 0000 00 5, 32 000 00 49, 3 00000 000 8, 27 000 00 22, 54 0000000 00000 48 40 0 20 25 20 5 5 8 2 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.5
Αναπαραγωγή µε τον βαθµό διάταξης (rank) Κάθε χρωµόσωµα i λαµβάνει ένα βαθµό r i σύµφωνα µε την fitness value Στη συνέχεια υπολογίζεται η καινούρια (υποκειµενική) fitness value sf i : sf i = (P-r i )(max-min)/(p-) + min P is the population size, Max είναι η τιµή (καταλληλότητας) του καλύτερου χρωµοσώµατος Min είναι η τιµή (καταλληλότητας) του χειρότερου χρωµοσώµατος Η τιµή της sf i µπορεί να χρησιµοποιηθεί στη διαδικασία επιλογής roulette wheel: sfi s i = i sf i Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.6
ΓΑ - ιασταύρωση Μετά την επιλογή των γονέων γίνεται διασταύρωση (crossover) για παραγωγή καινούριων χρωµοσωµάτων Βήµατα:. Τυχαία επιλογή ζεύγους «γονέων» 2. Τυχαία επιλογή του σηµείου διασταύρωσης 3. ιασταύρωση του «γενετικού» κώδικα Τα νέα χρωµοσώµατα αποτελούν την καινούρια γενεά, υπολογίζεται συνάρτηση καταλληλότητας (fitness) και συνεχίζεται η διαδικασία αναπαραγωγής. Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.7
ιασταύρωση σε ή 2 σηµεία γονείς παιδιά Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.8
ιασταύρωση - παράδειγµα Το πρόβληµα: max x 2 στο σύνολο {0,,,3} Λύση µε ΓΑ. Χρωµόσωµα 4 ψηφίων πχ. 00 3 Μέγεθος πληθυσµού : 4 ιασταύρωση σε ένα σηµείο Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.9
ΓΑ. Μετάλαξη (mutation) Στη διαδικασία αυτή γίνεται αυθαίρετα και τυχαία η αλλαγή µερικών ψηφίων (γονιδίων) στον πληθυσµό H συχνότητα αυτή είναι πολύ µικρή. Πχ. 0.005/bit/γενεά Σκοπός είναι να «απεγκλωβίσει» την διαδικασία από µερική λύση. Μία προτεινόµενη τιµή p m ορίζεται ως εξής: p µέγεθος πληθυσµού < m < µήκος χρωµοσώµατος Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.20
Μετάλαξη - παράδειγµα Το πρόβληµα: max x 2 στο σύνολο {0,,,3} Λύση µε ΓΑ. Χρωµόσωµα 5 ψηφίων πχ. 00 3 Μέγεθος πληθυσµού : 4 ιασταύρωση σε ένα σηµείο # Χρωµοσωµ Απόγονοι µετά από διασταύρωση Απόγονοι µετά από µετάλαξη Τιµή x Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.2
Τερµατισµός του γενετικού αλγορίθµου Οταν το ποσοστό των χρωµοσωµάτων που δεν µεταβάλλεται έχει ξεπεράσει ένα συγκεκριµένο όριο. Οταν ο µέσος όρος της τιµής καταλληλότητας για όλα τα χρωµοσώµατα ενός πληθυσµού και για έναν αριθµό διαδοχικών πληθυσµών δεν βελτιώνεται. Επειδή ο GA είναι µια πιθανολογική µέθοδος αναζήτησης, είναι δύσκολο να διευκρινιστούν τυπικά κριτήρια σύγκλισης. Η ικανότητα ενός πληθυσµού µπορεί να παραµείνει στατική για έναν αριθµό γενεών προτού να βρεθεί ένα ανώτερο άτοµο, έτσι η εφαρµογή των συµβατικών κριτηρίων λήξης γίνεται προβληµατική. Μια κοινή πρακτική είναι να τερµατίζεται ο GA ύστερα από έναν αριθµό γενεών. Στη συνέχεια εξετάζεται η ποιότητα των καλύτερων µελών του πληθυσµού. Εάν καµία αποδεκτή λύση δε βρεθεί, ο GA µπορεί να ξαναξεκινήσει Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.22
Απλός Γενετικός Αλγόριθµος - ΣΥΝΟΨΗ Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.23
Απλός Γενετικός Αλγόριθµος - διάγραµµα Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.24
Παράδειγµα ο Προσαρµογή γραµµής σε δεδοµένα x y.0.0 2.0 2.0 3.0 3.0 6.0 6.0 Για τις τιµές x,y τoυ πίvακα vα γίvει η πρoσαρµoγή της ευθείας y=c x+c 2 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.25
Παράδειγµα -Πρώτη επανάληψη Παράδειγµα εύτερη επανάληψη Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.26
Παράδειγµα 2 o Υπoλoγισµός της συνάρτησης συµµετοχής ίνονται τα δεδοµένα εισόδου εξόδου: x y 2 4 3 9 4 6 5 25 x S mall Και η σχέση των συνόλων (κανόνες): y S mall Ζητούνται οι παράµετροι των ασαφών συνόλων L arge V ery L arge µ x S L µ y S VL 0 0 0 a b 5 0 c d 25 έχουµε 4 παραµέτρους (a,b,c,d) και χρησιµοποιούµε 6bits για κάθε µία - χρωµόσωµα 24 ων γονιδίων bits. Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.27
Αρχικός πληθυσµός 4 χρωµοσωµάτων: Οι 4 binary µεταβλητές (a,b,c,d) Οι 4 αντίστοιχοι δεκαδικοί αριθµοί Απεικόνιση των a,b στο διάστηµα 0-5 Απεικόνιση των c,d στο διάστηµα 0-25 Ci =C min Bi + L (C 2 - max -C min ) η γενειά ο χρωµόσωµα Εφαρµογή των κανόνων υπολογισµός του y Υπολογισµός της τιµής καταλληλότητας (fitness) Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.28
Κατώφλιο=0.75 a b c d a b c d a b c d y() y(2) y(3) y(4) y(5) 000-Σe 2 f/f a 000 0000 000 00 7 20 22 5 0.56.59 8.73 20.24 0 0 0 7.49 25 829.58.8 2 0000 0000 000 000 52. 0.74 0 3 000 000 000 0000 890.46.27 2 4 0000 0000 000 000 559.67 0.8 άθροισµα 2800.82 Μέση τιµή f a 700.2 Προηγούµενη γενεά Νέα γενεά (διασταύρωση) 000-Σe 2 f/f a 000 00 00 000 00 000 000 000 0000 900.98. 2 2 3 000 00 0 000 0000 000 000 000 0000 000 00 00 000 00 000 000 000 000 96.3 840.78.8.03 0 4 0000 0000 000 000 0000 0000 000 0000 569.32 0.7 άθροισµα 3272.36 Μέση τιµή f a 88.09 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.29
η γενειά το καλύτερο χρωµόσωµα µ x S L µ y S VL 0 0 0 2 3 4 5 0 5 0 5 20 25.66 5.59 9.3 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.30
Παράδειγµα 3 ο Επεξεργασία εικόνας ίνεται η g και ζητείται η f a) Θολωµένη εικόνα µε θόρυβο Gauss b) Αποτέλεσµα µετά την η γενεά c) µετά την 200η γενεά d) µετά την 000 γενεά Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.3
Παράδειγµα 4 ο : Εύρεση του ελαχίστου της z= x 2 + 2y 2 0.3 cos( 3πx + 4πy) + 0.3 Γραφική παράσταση της z για τον αρχικό πληθυσµό Κάτοψη της z για τον αρχικό πληθυσµό Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.32
Παράδειγµα 4 (συν) Γραφική παράσταση της z για την 0η γενεά Κάτοψη της z για την 0 γενεά Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.33
Παράδειγµα 4 (συν) Γραφική παράσταση της z για την 50η γενεά Κάτοψη της z για την 50 γενεά Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.34
Παράδειγµα 4 (συν) Γραφική παράσταση της εξέλιξης του γενετικού αλγορίθµου 2.5 2 χειρώτερο Μεσος όρος καλύτερο Fitness.5 0.5 0 0 5 0 5 20 25 30 35 40 45 50 Αριθµός γενεάς Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.35
Βιβλιογραφία - διαδίκτυο. http://cs.felk.cvut.cz/~xobitko/ga/ 2. http://www.rennard.org/alife/english/gavintrgb.html#rtit0 3. http://www.sci.hkbu.edu.hk/msc/full/regina/node.html 4. http://www.aboriginemundi.com/genelab/ 5. Goldberg, D.E., Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, Redwood City, 998 6. Holland, J.H., Adaptation in Natural and Artificial Systems, Univ. of Michigan Press, Ann Arbor, Mich., 975 7. Heistermann, Jochen, Genetische Algorithmen, B.G.Teubner, Stuttgart, 994 8. Τ. Ross Fuzzy Logic with Engineering Applications McGraw-Hill, Inc., USA, 995 Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.36
ασκήσεις εργασίες. µελέτη του traveler salesman problem (http://www.generation5.org/content/200/tspapp.asp) 2. Λεπτοµέρειες στη λύση του 2ου παραδείγµατος 3. Παρουσίαση του σχετικού toolbox of matlab (5 GUI tools) 4. Υπολογείστε το ελάχιστο της εξίσωσης Rosenbrock: f = ( x 2 2 2 ) + 00(x2 x ) Σ. Φωτόπουλος ΠΑΝΕΠ. ΠΑΤΡΩΝ Τµ. ΦΥΣΙΚΗΣ ΠΜΣ ΗΕΠ σ.37