Ευφυή Πληροφορικά Συστήματα 1 η Εργαστηριακή Άσκηση (Χειμερινό εξάμηνο ΜΒΑ 16 17) Μας δίνονται τα εκτελέσιμα αρχεία δύο () πληθυσμιακών αλγορίθμων βελτιστοποίησης σμήνους. Θέλουμε να εξετάσουμε την απόδοσή τους πάνω σε πέντε (5) δύσκολες συναρτήσεις που αποτελούν υποσύνολο ενός διεθνώς αναγνωρισμένου συνόλου συναρτήσεων που χρησιμοποιούνται για τον έλεγχο της απόδοσης αλγορίθμων βελτιστοποίησης. Θέλουμε να ελέγξουμε πειραματικά ποιος από τους δύο αλγορίθμους έχει καλύτερη απόδοση όσον αφορά την τιμή της αντικειμενικής συνάρτησης, αλλά και όσον αφορά το χρόνο εκτέλεσης. Οι αλγόριθμοι που πρόκειται να συγκριθούν είναι οι εξής: 1. Standard PSO 11 (https://hal.archives ouvertes.fr/hal 764996). Variable PSO (Παράρτημα Β) Οι συναρτήσεις ελέγχου στις οποίες θα δοκιμαστεί η απόδοση των δύο αλγορίθμων είναι οι εξής: 1. F: Shifted Schwefel s Problem 1. (Κωδικός στο εκτελέσιμο πρόγραμμα: 4) Διάσταση:, x = [x 1, x,, x ] Πεδίο ορισμού μεταβλητών: x 1, x,, x [, ] Ολικό βέλτιστο: 45. F7: Shifted Rotated Griewank s Function without Bounds (Κωδικός στο εκτελέσιμο πρόγραμμα: 5) Διάσταση:, x = [x 1, x,, x ] Πεδίο ορισμού μεταβλητών: x 1, x,, x [, 6] Ολικό βέλτιστο: 18 1
3. F8: Shifted Rotated Ackley s Function with Global Optimum on Bounds (Κωδικός στο εκτελέσιμο πρόγραμμα: 6) Διάσταση:, x = [x 1, x,, x ] Πεδίο ορισμού μεταβλητών: x 1, x,, x [ 3, 3] Ολικό βέλτιστο: 14 4. Schaffer f6 (Κωδικός στο εκτελέσιμο πρόγραμμα: 14) Διάσταση:, x = [x 1, x ] Πεδίο ορισμού μεταβλητών: x 1, x [, ] Ολικό βέλτιστο: στο x = [ ]. 5. Tripod (Κωδικός στο εκτελέσιμο πρόγραμμα: 4) Διάσταση:, x = [x 1, x,, x ] Πεδίο ορισμού μεταβλητών: x 1, x [, ] Ολικό βέλτιστο: για x = [ 5].
Κάθε αλγόριθμος θα πρέπει να εκτελεστεί, για κάθε μία από τις 5 συναρτήσεις, φορές (δέκα τυχαία ανεξάρτητα πειράματα με seed τις τιμές 1,, 3, 4,5,6,7,8,9 και ) και να καταγραφεί για κάθε πείραμα, στο αρχείο excel που επισυνάπτεται, η τιμή της αντικειμενικής συνάρτησης και ο χρόνος εκτέλεσης. Για την τιμή της αντικειμενικής συνάρτησης θα αποθηκεύετε το minimum error (fitness objective). Για το χρόνο εκτέλεσης θα αποθηκεύετε το Elapsed time for experiments. Χρησιμοποιώντας το excel που επισυνάπτεται θα πρέπει να υπολογιστούν για κάθε συνάρτηση και κάθε αλγόριθμο τα παρακάτω: Η καλύτερη τιμή της αντικειμενικής συνάρτησης (x best ). (συνάρτηση ΜΙΝ) Η χειρότερη τιμή της αντικειμενικής συνάρτησης (x worst ). (συνάρτηση ΜΑΧ) Η μέση τιμή της αντικειμενικής συνάρτησης (mean ή average) στην πραγματικότητα υπολογίζουμε το δειγματικό μέσο, όπου, 1,,, (στην περίπτωσή μας. (συνάρτηση ΜΕΑΝ) Η τυπική απόκλιση της τιμής της αντικειμενικής συνάρτησης (standard deviation, StD) στην πραγματικότητα υπολογίζουμε τη δειγματική διακύμανση, όπου, 1,,, (στην περίπτωσή μας ). (συνάρτηση STDEV) Ο συντελεστής μεταβλητότητας %, ο οποίος εκφράζει την τυπική απόκλιση των τιμών του δείγματος ως ποσοστό του μέσου τους, δηλαδή είναι ένα μέτρο σχετικής μεταβλητότητας. ( ) και Ο καλύτερος χρόνος εκτέλεσης (x best ). (συνάρτηση ΜΙΝ) Ο χειρότερος χρόνος εκτέλεσης (x worst ). (συνάρτηση ΜΑΧ) Ο μέσος χρόνος εκτέλεσης (mean ή average) στην πραγματικότητα υπολογίζουμε το δειγματικό μέσο, όπου, 1,,, (στην περίπτωσή μας. (συνάρτηση ΜΕΑΝ) Η τυπική απόκλιση του χρόνου εκτέλεσης (standard deviation, StD) στην πραγματικότητα υπολογίζουμε τη δειγματική διακύμανση, όπου, 1,,, (στην περίπτωσή μας ). (συνάρτηση STDEV) Ο συντελεστής μεταβλητότητας %, ο οποίος εκφράζει την τυπική απόκλιση των τιμών του δείγματος ως ποσοστό του μέσου τους, δηλαδή είναι ένα μέτρο σχετικής μεταβλητότητας. ( ) Έπειτα, θα πρέπει να συμπληρωθούν οι παρακάτω πίνακες ώστε από τη μία να ελεγχθεί η σταθερότητα του κάθε αλγορίθμου σχετικά με την απόδοσή και το χρόνο εκτέλεσής του και από την άλλη να συγκριθούν οι δύο αλγόριθμοι μεταξύ τους και να βρεθεί ποιος εμφανίζει καλύτερη απόδοση μεταξύ των δύο. 3
1 ος Αλγόριθμος Συνάρτηση ελέγχου Τιμή αντικειμενικής συνάρτησης Χρόνος εκτέλεσης (secs) Best Worst Average StD CV Best Worst Average StD CV 1 3 4 5 ος Αλγόριθμος Συνάρτηση ελέγχου Τιμή αντικειμενικής συνάρτησης Χρόνος εκτέλεσης (secs) Best Worst Average StD CV Best Worst Average StD CV 1 3 4 5 Επίσης, θα πρέπει να κατασκευαστούν οι εξής γραφικές παραστάσεις: 1) Γραφική παράσταση γραμμής που να συγκρίνει την απόδοση των δύο αλγορίθμων όσον αφορά τη μέση τιμή της αντικειμενικής συνάρτησης που επιτυγχάνουν στις πέντε συναρτήσεις ελέγχου που έχουμε επιλέξει: Τιμή αντικειμενικής συνάρτσης 45 4 35 3 5 15 5 4 3 3 8 3 18 11 1 3 4 5 1ος Αλγόριθμος ος Αλγόριθμος 4
) Γραφική παράσταση γραμμής που να συγκρίνει την απόδοση των δύο αλγορίθμων όσον αφορά το μέσο χρόνο εκτέλεσης που επιτυγχάνουν στις πέντε συναρτήσεις ελέγχου που έχουμε επιλέξει: 4 35 Χρόνος εκτέλεσης (secs) 3 5 15 5 1ος Αλγόριθμος ος Αλγόριθμος 1 3 4 5 7 8 9 11 3) Γραφική παράσταση ιστογράμματος που να συγκρίνει την απόδοση των δύο αλγορίθμων όσον αφορά την καλύτερη τιμή της αντικειμενικής συνάρτησης που επιτυγχάνουν στις πέντε συναρτήσεις ελέγχου που έχουμε επιλέξει: 45 4 Τιμή αντικειμενικής συνάρτσης 4 35 3 5 15 5 3 11 8 3 3 18 1ος Αλγόριθμος ος Αλγόριθμος 1 3 4 5 5
4) Γραφική παράσταση ιστογράμματος που να συγκρίνει την απόδοση των δύο αλγορίθμων όσον αφορά τον καλύτερο χρόνο εκτέλεσης που επιτυγχάνουν στις πέντε συναρτήσεις ελέγχου που έχουμε επιλέξει: 4 35 Χρόνος εκτέλεσης (secs) 3 5 15 5 1ος Αλγόριθμος ος Αλγόριθμος 1 3 4 5 7 8 9 11 5) Γραφική παράσταση θηκογράμματος σχετικά με την τιμή της αντικειμενικής συνάρτησης που επιτυγχάνει ο καλύτερος από τους δύο αλγορίθμους στις πέντε συναρτήσεις ελέγχου που έχουμε επιλέξει (ο αλγόριθμος κατασκευής; θηκογράμματος στο excel παρατίθεται στο Παράρτημα Α): Τιμή αντικειμενικής συνάρτησης 5 48 46 44 4 4 38 36 34 3 3 8 6 4 18 16 14 1 8 6 4 1 3 4 5 7 8 9 11 6
6) Γραφική παράσταση θηκογράμματος σχετικά με το χρόνο εκτέλεσης που επιτυγχάνει ο καλύτερος από τους δύο αλγορίθμους στις πέντε συναρτήσεις ελέγχου που έχουμε επιλέξει (ο αλγόριθμος κατασκευής; θηκογράμματος στο excel παρατίθεται στο Παράρτημα Α): Χρόνος εκτέλεσης (secs) 3 94 88 8 76 7 64 58 5 46 4 34 8 16 4 198 19 186 18 174 168 16 156 15 144 138 13 16 1 114 8 96 9 84 78 7 66 6 54 48 4 36 3 4 18 1 6 1 3 4 5 7 8 9 11 7
ΠΑΡΑΡΤΗΜΑ Α Αλγόριθμος κατασκευής θηκογραμμάτων στο excel: (https://www.youtube.com/watch?v=l_roxgxiwpu) 1. Υπολογίζουμε τα παρακάτω: MIN (συνάρτηση ΜΙΝ) Q1 (συνάρτηση PERCENTILE) MEDIAN (συνάρτηση ΜEDIAN) Q3 (συνάρτηση PERCENTILE) MAX (συνάρτηση ΜΑΧ). Υπολογίζουμε τα παρακάτω: MIN Q1 MIN MEDIAN Q1 Q3 MEDIAN MAX Q3 3. Επιλέγουμε τις σειρές που περιέχουν τα δεδομένα MIN, Q1 MIN, MEDIAN Q1 και Q3 MEDIAN 4. Εισαγωγή Στήλη Σωρευμένη στήλη 5. Σχεδίαση Εναλλαγή γραμμής/στήλης 6. Επιλογή στο γράφημα των δεδομένων που αντιστοιχούν στο MIN Μορφοποίηση σειράς δεδομένων. Γέμισμα Χωρίς γέμισμα Χρώμα περιγράμματος Χωρίς γραμμή 7. Επιλογή στο γράφημα των δεδομένων που αντιστοιχούν στο Q1 MIN Μορφοποίηση σειράς δεδομένων. Γέμισμα Χωρίς γέμισμα Χρώμα περιγράμματος Χωρίς γραμμή Διάταξη Γραμμές σφάλματος Περισσότερες επιλογές γραμμής σφάλματος Εμφάνιση Κατεύθυνση Μείον Πλήθος σφαλμάτων Ποσοστό % 8. Επιλογή στο γράφημα των δεδομένων που αντιστοιχούν στο Q3 MΕDIAN Διάταξη Γραμμές σφάλματος Περισσότερες επιλογές γραμμής σφάλματος Εμφάνιση Κατεύθυνση Συν Προσαρμογή Καθορισμός τιμής Θετικές τιμές σφάλματος Οι τιμές ΜΑΧ 9. Αφαίρεση του υπομνήματος 8
ΠΑΡΑΡΤΗΜΑ Β Περιγραφή του αλγορίθμου Variable PSO 1. Ο αλγόριθμος χρησιμοποιεί ένα μέγιστο αρχικό πλήθος particles (Swarm Size) το οποίο μειώνει αν χρειαστεί, απορρίπτοντας κάποια ασθενικά particles, ενώ στη συνέχεια υπάρχει περίπτωση να αυξήσει το μέγεθος του σμήνους.. Κάθε particle επικοινωνεί με κάποια άλλα particles τα οποία αποτελούν τη γειτονιά του. Το μοντέλο των γειτονιών είναι τοπολογία δακτυλίου μεταβλητού μεγέθους (variable ring topology) 3. Η ενημέρωση της ταχύτητας (velocity) γίνεται όπως στο Standard PSO 7 (http://clerc.maurice.free.fr/pso/spso_descriptions.pdf). 4. Για κάθε particle και ανά συντεταγμένη, ισχύουν οι ισότητες: A. v(t+1) = w*v(t) + R(c 1 )*[p(t) x(t)] + R(c )*[g(t) x(t)] B. x(t+1) = x(t) + v(t+1) όπου v(t) η ταχύτητα στην γενεά t. x(t) η θέση του particle στην γενεά t. p(t) η καλύτερη θέση που έχει βρεθεί το particle στο παρελθόν g(t) το βέλτιστο από όλα τα particles R(c 1 ), R(c ) τυχαίοι ομοιόμορφοι αριθμοί Πληροφορίες που εμφανίζονται μετά την ολοκλήρωση της εκτέλεσης του αλγορίθμου: 1) convergencerate = (InitialError besterror) / InitialError ) MeanConvergenceError = convergenceerror / NumberOfRuns 3) evalmean = evaluations i i 4) errormean = error i i 5) logprogressmean = i log( error i ) RumMax 6) FailureRate = numberoffails 9
7) successrate = 1 FailureRate Σημειώσεις: 1. Η εφαρμογή είναι ρυθμισμένη έτσι ώστε, αφού εισαχθεί το seed και επιλεγεί η συνάρτηση που θέλουμε να βελτιστοποιήσουμε, να τρέχει επαναληπτικά για φορές (ακολουθία πειραμάτων μήκους ).. Για δύο ακολουθίες πειραμάτων (μήκους ), αν δοθούν δύο διαφορετικά seeds, τότε τα αποτελέσματα, γενικά, είναι διαφορετικά. Ενδέχεται δε, οι διαφορές να είναι σημαντικές. Αυτό σημαίνει ότι, στις περιπτώσεις που τα αποτελέσματα είναι σημαντικά διαφορετικά, τα πειράματα δεν είναι αρκετά ώστε να μας δώσουν ικανοποιητική στατιστική πληροφορία.