{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Άσκηση 10 Βελτιστοποίηση με ΓΑ.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"gboSuGY7PeKr"},"source":["Με χρήση του απλού γενετικού αλγόριθμου υπολογίστε το *μέγιστο* της συνάρτησης $0.3 sin(x) + sin(1.3x) + 0.9sin(4.2x)$ στο διάστημα $[-2,4]$\n","\n","![Alt text](https://image.ibb.co/kNW9Ew/maximization.png)\n","\n","\n","- Χρησιμοποιήστε τις βοηθητικές συναρτήσεις του auxiliary.py.\n","- Εκτυπώστε τη γραφική παράσταση της συνάρτησης.\n","- Χωρίς χρήση σταθερού σπόρου (seed) δημιουργήστε αρχικό τυχαίο πληθυσμό 24 ατόμων (float) στο συγκεκριμένο διάστημα και εκτυπώστε τα πάνω στη γραφική παράσταση.\n","- Ορίστε αριθμό γονιδίων 20 και τις συναρτήσεις του μοντέλου αναπαράστασης. Υπολογίστε τα χρωμοσώματα του αρχικού πληθυσμού.\n","- Τροποποιήστε την αντικειμενική συνάρτηση ώστε να ανταποκρίνεται στο συγκεκριμένο πρόβλημα βελτιστοποίησης.\n","- Τροποποιήστε τη συνάρτηση Fitness του auxiliary.py ώστε να ανταποκρίνεται στο συγκεκριμένο πρόβλημα βελτιστοποίησης. (Oρίστε μια κατάλληλη Fitness2 εντός του notebook)\n","- Τροποιήστε τον ελιτισμό ώστε να ανταποκρίνεται στο συγκεκριμένο πρόβλημα βελτιστοποίησης\n","- Δοκιμάστε διάφορες τιμές για τον πληθυσμό (ζυγό αριθμό), αριθμό γονιδίων, το μέγιστο αριθμό γενεών, την πιθανότητα διασταύρωσης και την πιθανότητα μετάλλαξης. Δοκιμάστε επίσης τη χρήση / μη-χρήση ελιτισμού. Δοκιμάστε ακόμη να τρέξετε όλο το notebook πάνω από μια φορά (διαφορετική αρχικοποίηση πληθυσμού) με τις ίδιες παραμέτρους (σε κάθε αλλαγή από τις προηγούμενες κάντε run all cells).\n","- Εκτυπώστε τον αρχικό και τελικό πληθυσμό και την καμπύλη σύγκλισης."]}]}