ΤΕΙ Κεντρικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταπτυχιακό Πρόγραμμα Τηλεπικοινωνιών & Πληροφορικής Μάθημα : 204a Υπολογιστική Ευφυία Μηχανική Μάθηση Καθηγητής : Σπύρος Καζαρλής Ενότηα : Εξελικτική Υπολογιστική Τυπικά θέματα εξετάσεων ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά Ερώτηση 1: Για τους παρακάτω όρους της βιολογικής εξέλιξης δώστε τους αντίστοιχους όρους που ισχύουν στην Εξελικτική Υπολογιστική, δίνοντας ένα μικρό σχολιασμό για τον κάθε όρο σχετικά με το πώς προσομοιώνεται στον υπολογιστή. 1. Οργανισμός 2. Επιδόσεις 3. Περιβάλλον 4. Φυσική επιλογή 5. Αναπαραγωγή 6. Γενιές ατόμων 7. Βελτίωση είδους Ερώτηση 2: Ποια είναι τα βασικά συστατικά ενός Εξελικτικού Αλγόριθμου Ερώτηση 3: Ποια είναι τα πιθανά κριτήρια τερματισμού ενός Εξελικτικού Αλγόριθμου Ερώτηση 4: Τι σημαίνει ο συμβολισμός (μ/ρ+λ)-es για έναν αλγόριθμο Εξελικτικής Στρατηγικής (Evolutionary Strategy). Τι σημαίνει ο συμβολισμός (μ/ρ, λ)-es. Ερώτηση 5: Δώστε μία γενική περιγραφή του όρου «Ευφυία Σμηνών» ( Swarm Intelligence ) στην Εξελικτική Υπολογιστική. Ερώτηση 6: Ποια είναι τα πλεονεκτήματα των Εξελικτικών Αλγορίθμων σε σύγκριση με άλλες μεθόδους βελτιστοποίησης? Ερώτηση 7: Ποια είναι τα μειονεκτήματα των Εξελικτικών Αλγορίθμων σε σύγκριση με άλλες μεθόδους βελτιστοποίησης? Ερώτηση 8: Ποιες είναι οι 5 βασικές αρχές στις οποίες βασίζονται οι Γενετικοί Αλγόριθμοι. Ερώτηση 9: Δώστε ένα λογικό διάγραμμα ενός Γενετικού Αλγόριθμου και σχολιάστε τους δύο ένθετους βρόχους του. 1
Ερώτηση 10: Περιγράψτε πως κωδικοποιούνται οι λύσεις ενός προβλήματος σε δυαδικές συμβολοσειρές στην περίπτωση προβλημάτων με ακέραιες μεταβλητές. Ερώτηση 11: Σε ένα πρόβλημα βελτιστοποίησης πολλών συνεχών πραγματικών μεταβλητών όπως το πρόβλημα De Jong F1(sphere) : maximize n x i i 1 2 f ( x) xi [-5.12,5.12], περιγράψτε πως γίνεται η κωδικοποίηση των λύσεων του προβλήματος σε δυαδικές συμβολοσειρές των 12 bits. Τι ακριβώς είναι το βήμα διακριτοποίησης, πώς υπολογίζεται και τι τιμή έχει στη συγκεκριμένη περίπτωση. Τι κάνουμε αν το βήμα διακριτοποίησης δεν είναι αρκετά μικρό, ώστε να προσεγγίσουμε τη λύση με την επιθυμητή ακρίβεια. Δώστε παράδειγμα. Τι συνέπεια έχει η σμίκρυνση του βήματος κωδικοποίησης για τον ΓΑ. Ποια είναι τα βήματα αποκωδικοποίησης γονότυπου σε φαινότυπο. Δώστε παράδειγμα αποκωδικοποίησης για τον γονότυπο : 000000111111 111111000000 (προφανώς για n=2) Ερώτηση 12: Για την κωδικοποίηση πραγματικών λύσεων προβλημάτων σε συμβολοσειρές που να προσομοιώνουν το DNA, συνήθως χρησιμοποιείται ο δυαδικός κώδικας (σύμβολα 0,1). Εναλλακτικά όμως μπορεί να χρησιμοποιηθεί και ο κώδικας Gray. Αναφέρατε τον τρόπο κωδικοποίησης αριθμών με τον κώδικα Gray. Ποια είναι η διαφορά του με τον δυαδικό κώδικα. Ποιο είναι το πρόβλημα του δυαδικού κώδικα στην κωδικοποίηση λύσεων που αντίστοιχα λύνεται με τον κώδικα Gray (μειονέκτημα του δυαδικού κώδικα και πλεονέκτημα του Gray). Ποιο είναι το πρακτικό μειονέκτημα του κώδικα Gray που αντίστοιχα είναι πλεονέκτημα του δυαδικού. Δώστε ένα πίνακα με τις πρώτες 16 τιμές του δεκαδικού συστήματος, του δυαδικού συστήματος και του κώδικα Gray. Ερώτηση 13: Αναφέρατε ότι γνωρίζετε για την μέθοδο επιλογής γονέων «Τροχός της Ρουλέτας» (Roulette Wheel) στους ΓΑ, πώς ακριβώς λειτουργεί, πως επιλέγει γονείς, ποια είναι τα πλεονεκτήματά της σε σχέση με τις άλλες μεθόδους, ποια είναι τα μειονεκτήματά της. Αναφέρατε μικρό παράδειγμα με 4 γονείς και τυχαίες ποιότητες. Ερώτηση 14: Αναφέρατε ότι γνωρίζετε για την μέθοδο επιλογής γονέων «Ντετερμινιστική Δειγματοληψία» (Deterministic Sampling) στους ΓΑ, πώς ακριβώς λειτουργεί, πως επιλέγει γονείς, ποιο είναι το πλεονέκτημά της σε σχέση με τον «Τροχό της Ρουλέτας». Αναφέρατε μικρό παράδειγμα με 4 γονείς και τυχαίες ποιότητες. Ερώτηση 15: Αναφέρατε ότι γνωρίζετε για την μέθοδο επιλογής γονέων «Επιλογή με Τουρνουά» (Tournament Selection) στους ΓΑ, πώς ακριβώς λειτουργεί, πως επιλέγει γονείς, από ποια παράμετρο εξαρτάται η λειτουργία της και πως ονομάζεται αυτή, τι συμβαίνει όταν η παράμετρος αυτή είναι οριακά πολύ μεγάλη ή πολύ μικρή. Αναφέρατε μικρό χαρακτηριστικό παράδειγμα δικής σας επιλογής. Ερώτηση 16: Αναφέρατε ότι γνωρίζετε για την μέθοδο επιλογής γονέων σε Γ.Α. με την ονομασία «Επιλογή με Διαβάθμιση» (Ranking Selection), πώς ακριβώς λειτουργεί, πως επιλέγει γονείς, ποιος είναι ο ρόλος της συνάρτησης επιλογής h(x), ποιο είναι το πλεονέκτημά της σε σχέση με τον 2
«Τροχό της Ρουλέτας». Αναφέρατε μικρό παράδειγμα με 4 γονείς και τυχαίες ποιότητες και n r( x) 1 συνάρτηση επιλογής h ( x) 100% r( x) Ερώτηση 17: Περιγράψτε τον τελεστή ανασυνδυασμού που ονομάζεται One Point Crossover και δώστε ένα Ερώτηση 18: Περιγράψτε τον τελεστή ανασυνδυασμού που ονομάζεται Two Point Crossover και δώστε ένα Ερώτηση 19: Περιγράψτε τον τελεστή ανασυνδυασμού που ονομάζεται Multi Point Crossover και δώστε ένα Ερώτηση 20: Περιγράψτε τον τελεστή ανασυνδυασμού που ονομάζεται Uniform Point Crossover και δώστε ένα σχηματικό παράδειγμα του τρόπου που λειτουργεί και παράγει απογόνους από επιλεγμένους γονείς. Ερώτηση 21: Περιγράψτε τον τελεστή Δυαδικής Μετάλλαξης (Binary Mutation) και δώστε ένα σχηματικό παράδειγμα του τρόπου που λειτουργεί και παράγει απογόνους. Ερώτηση 22: Περιγράψτε την μέθοδο του Ελιτισμού ( Elitism ) που συνήθως χρησιμοποιείται στους Γενετικούς Αλγόριθμους. Ποιο είναι το πρόβλημα που δημιούργησε την ανάγκη εφαρμογής του Ελιτισμού. Ερώτηση 23: Αναφέρατε ότι γνωρίζετε για τον τελεστή Αναρρίχησης «Μετάλλαξη Φαινοτύπου» (Phenotype Mutation Hill-Climbing Operator), για τι είδους προβλήματα συνίσταται, πως ακριβώς λειτουργεί, πόσο επιβαρύνει τον Γ.Α. με αξιολογήσεις της συνάρτησης ποιότητας, τι αποτέλεσμα έχει, σε τι βοηθάει τον Γ.Α., κ.λ.π. Δώστε το λογικό διάγραμμα εκτέλεσης του τελεστή καθώς και σχήμα που να δείχνει τον τρόπο με τον οποίο εξελίσσει τις λύσεις. Ερώτηση 24: Ποιες είναι οι συνήθεις μέθοδοι για την αντικατάσταση των λύσεων μίας γενιάς με αυτές της επόμενης γενιάς, στους Γενετικούς Αλγόριθμους (Μέθοδοι Αντικατάστασης Γονέων). Περιγράψτε τις μεθόδους και αναφέρατε τι επίπτωση έχουν για την εξέλιξη του πληθυσμού, ποιες είναι οι ιδιαιτερότητές τους από πλευράς υλοποίησης στον Η/Υ, και σε ποιες περιπτώσεις προβλημάτων θα προτείνατε την χρήση τους Ερώτηση 25: Αναφέρατε τις βασικές αρχές λειτουργίας ενός Classifier System (CS). Ποια είναι η αρχή λειτουργίας τους και πως πετυχαίνουν την συσσώρευση ευφυίας και γνώσης. Τι είναι οι Κανόνες και τα Μηνύματα. Τι είναι οι Detectors και οι Effectors. Τι ρόλο παίζει η Αποθήκη με τους Classifiers. Τι είναι η Λίστα Μηνυμάτων. Τι ρόλο παίζει ο ΓΑ μέσα σε ένα CS. Δώστε χαρακτηριστικό σχήμα ενός CS και χαρακτηριστικό παράδειγμα Κανόνα. Ερώτηση 26: 3
Περιγράψτε τα βασικά χαρακτηριστικά (κωδικοποίηση, παραγωγή αρχικού πληθυσμού, αξιολόγηση λύσεων, αντικατάσταση γονέων, κ.λ.π.) καθώς και τον αναλυτικό αλγόριθμο λειτουργίας της Εξελικτικής Μεθόδου που ονομάζεται «Διαφορική Εξέλιξη» στην απλή της μορφή χωρίς Ελιτισμό. Δώστε παράδειγμα λειτουργίας της μεθόδου για την παραγωγή ενός μόνο νέου απογόνου σε ένα πρόβλημα 3 μεταβλητών, όπου η Διαφορική Εξέλιξη χρησιμοποιεί πληθυσμό 5 ατόμων, βάζοντας τυχαίες τιμές στους γονότυπους και τις ποιότητές τους. Ερώτηση 27: Αναφέρατε ότι γνωρίζετε για τους Παράλληλους Γενετικούς Αλγόριθμους (Parallel Genetic Algorithms), τι ακριβώς είναι, ποιο μειονέκτημα των απλών ΓΑ επιλύουν, ποιο πραγματικό φυσικό μοντέλο προσομοιώνουν, κ.λ.π.. Περιγράψτε εν συντομία τα 4 μοντέλα Π.Γ.Α. που έχουν προταθεί έως σήμερα. Ερώτηση 28: Στις εφαρμογές Γενετικού Προγραμματισμού (Genetic Programming) για την εύρεση βέλτιστων προγραμμάτων υπολογιστών: α) Με ποιο τρόπο γίνεται η κωδικοποίηση των λύσεων (δώστε σχετικό παράδειγμα) β) Με ποιο τρόπο γίνεται ο ανασυνδυασμός των λύσεων για την παραγωγή νέων (δώστε σχετικό παράδειγμα) γ) Με ποιο τρόπο γίνεται η μετάλλαξη των λύσεων (αναφέρατε τουλάχιστον 4 υποπεριπτώσεις και δώστε ένα σχετικό παράδειγμα) Ερώτηση 29: Ποιες είναι οι βασικές αρχές του Εξελισσόμενου Υλικού (Evolvable Hardware). Τι είναι τα FPGAs από τι αποτελούνται και τι δυνατότητες έχουν. Τι αποτελεί την «ποιότητα λύσης» σε μία εφαρμογή Εξελισσόμενου Υλικού, δηλαδή πως γίνεται η αξιολόγηση των λύσεων. Σε τι διαφέρουν οι αναλογικές πλατφόρμες Εξελισσόμενου Υλικού από τις ψηφιακές πλατφόρμες. Με ποια άλλη εξελικτική τεχνική συγγενεύει το Εξελισσόμενο Υλικό και γιατί. Τι είναι η άμεση σχεδίαση και τι η έμμεση με την γλώσσα HDL. Τι ακριβώς είναι το πρόβλημα της κλιμάκωσης στο Εξελισσόμενο Υλικό. Ερώτηση 30: Στην Επιστήμη του Εξελικτικού Υλικού (Evolvable Hardware) υπάρχουν δύο είδη υλοποιήσεων : οι Εξωτερικές (Extrinsic), και οι Εσωτερικές (Intrinsic). Αναφέρατε ότι γνωρίζετε για τα δύο αυτά είδη υλοποιήσεων δηλαδή : τι είναι οι Εξωτερικές Υλοποιήσεις, τι είναι οι Εσωτερικές Υλοποιήσεις, με ποιο είδος υλοποιήσεων δούλευαν αρχικά οι ερευνητές, για ποιο λόγο δεν μπορούσε αρχικά να εφαρμοστεί το άλλο είδος υλοποίησης, κ.λ.π. Ερώτηση 31: Στον Αλγόριθμο της Διαφορικής Εξέλιξης η κάθε νέα αρχική υποψήφια λύση για κάθε γονέα xi παράγεται με τον τύπο: v i =x r1 +A(x r2 -x r3 ) Αναφέρατε αναλυτικά: 1. Ποια είναι η σημασία των xr1, xr2 και xr3 καθώς και του A στον τύπο. 2. Γιατί η μέθοδος ονομάζεται «Διαφορική Εξέλιξη» 3. Ποιο είναι το πλεονέκτημά της σε σχέση με τον κανονικό Γενετικό Αλγόριθμο που την κάνει να συγκλίνει σταδιακά προς το βέλτιστο και σχετίζεται με τον όρο «Διαφορική» Εξέλιξη. Η τελική υποψήφια λύση ui προκύπτει από τον τύπο: u i (j) = { v i (j), αν k j k+l x i (j), διαφορετικά Εξηγήστε τι εννοεί ο τύπος και δώστε μικρό παράδειγμα δικής σας επιλογής. 4
Ερώτηση 32: Αναφέρατε την σημασία των παρακάτω όρων που σχετίζονται με τους Γενετικούς Αλγόριθμους. Η απάντησή σας να έχει έκταση μίας παραγράφου για κάθε όρο: Ελιτισμός (Elitism) Ομοιόμορφη Διασταύρωση (Uniform Crossover) Επιλογή με Τουρνουά (Tournament Selection) Πίεση Επιλογής (Selection Pressure) Σπύρος Καζαρλής Καθηγητής 5