Introduction to Genetic Programming

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Προσομοίωση Απλού Μοντέλου Markov σε
Advertisements

Τι είναι ο προγραμματισμός
ΚΑΘΟΡΙΣΜΟΣ ΚΑΙ ΚΑΤΑΝΟΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ
Αλγόριθμοι Αναζήτησης
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΙΑΣ: ΔΗΜΗΤΡΙΟΣ ΜΑΪΟΓΛΟΥ YOU ARE NOW ENTERING TO THE WORLD OF AGENT BASED MODELS.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Αναγνώριση Προτύπων.
Μοντέλο Διδασκαλίας Φυσικών Επιστήμων, για την Υποχρεωτική Εκπαίδευση, στην Κατεύθυνση της Ανάπτυξης Γνώσεων και Ικανοτήτων. Π. Κουμαράς.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Προσεγγιστικοί Αλγόριθμοι
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Χαντζής Δημήτριος Τσούγκαρης Παναγιώτης
Αριθμητικές Μέθοδοι Βελτιστοποίησης Θεωρία & Λογισμικό Τμήμα Πληροφορικής - Πανεπιστήμιο Ιωαννίνων Ι. Η. Λαγαρής.
Πτυχιακή εργασία: «Ανάπτυξη αλγορίθμου Γενετικού Προγραμματισμού (Genetic Programming) με δυνατότητα διαχείρισης δενδροειδών δομών και εφαρμογή του στην.
Σχεδίαση αλγορίθμων (2ο μέρος)
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ενεργή επιλογή αλγορίθμου, Active Algorithm Selection, Feilong Chen and Rong Jin Εύα Σιταρίδη.
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
Μερικές Διαφορικές Εξισώσεις ΙΙ
Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης. K-means k-windows k-means: 2 φάσεις 1. Μια διαμέριση των στοιχείων σε k clusters 2. Η ποιότητα της διαμέρισης.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Διπλωματική Εργασία Πειραματική Αξιολόγηση της Μοναδιαίας Οκνηρής Συνέπειας Τόξου (Singleton Lazy Arc Consistency) Ιωαννίδης Γιώργος (ΑΕΜ: 491)
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
Πρόβλεψη Θέσης Χρήστη σε Κινητά Δίκτυα - Ταξινομητής Βέλτιστης Παύσης Σπύρος Γεωργάκης Διπλωματική Εργασία.
Μηχανική Μάθηση σε Συστήματα Πολλαπλών Πρακτόρων Παπαλιάς Κωνσταντίνος Τμήμα Πληροφορικής.
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό Κώστας Κοντογιάννης Αναπλ. Καθηγητής Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ε.Μ.Π.
ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ ΙΙ (ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ) Τμήμα Μηχανικών Η/Υ & Πληροφορικής -Εργαστήριο Αναγνώρισης Προτύπων Διευθυντής: Σπύρος Λυκοθανάσης, Καθηγητής.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Ι 7 η Διάλεξη Η ΜΕΘΟΔΟΣ ΤΟΥ ΓΕΩΜΕΤΡΙΚΟΥ ΤΟΠΟΥ ΡΙΖΩΝ  Ορισμός του γεωμετρικού τόπου ριζών Αποτελεί μια συγκεκριμένη καμπύλη,
ΥΝ Ι: ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ 1 ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ (Τεχνητά Νευρωνικά Δίκτυα και Γενετικοί Αλγόριθμοι) ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ.
Πτυχιακή εργασία : Σχεδίαση γραμμικών στοιχειοκεραιών με τη χρήση εξελικτικών αλγορίθμων Της σπουδάστριας : Χοροζάνη Αναστασίας Επιβλέπων Καθηγητής : Δρ.
Ιατρικά Συστήματα Τεχνητής Νοημοσύνης με την συνεργασία τεχνικών Ασαφούς Λογικής, Νευρωνικών Δικτύων και Γενετικών Αλγορίθμων. A.Τζαβάρας P.R.Weller B.
Κεφάλαιο 4: Γενετικοί Αλγόριθμοι
Δυναμικός Κατακερματισμός
Επίλυση Προβλημάτων με Αναζήτηση
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Προβλήματα Ικανοποίησης Περιορισμών
Ασκήσεις WEKA Νευρωνικά δίκτυα.
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Πληροφορημένη Αναζήτηση και Εξερεύνηση
Προσομοίωση και Μοντέλα Συστημάτων (Μέρος B)
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό
Παιδαγωγικές Εφαρμογές Η/Υ
Κεφάλαιο 9: Περιγραφή της Λειτουργίας ενός Απλού Γ.Α.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Εισαγωγή στα Έμπειρα Συστήματα
ΥΠΟΛΟΓΙΣΜΟΣ ΚΑΘΑΡΟΥ ΚΕΡΔΟΥΣ ΑΠΌ ΤΗΝ ΑΓΡΟΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ
Μη Γραμμικός Προγραμματισμός
Σκοπός Η συνοπτική παρουσίαση
Διαχρονικές Δομές Δεδομένων
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Introduction to Genetic Programming Εισαγωγή στο Γενετικό Προγραμματισμό Σ. Λυκοθανάσης, Καθηγητής Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Περίγραμμα Παρουσίασης Εισαγωγή, Γενετικός Προγραμματισμός (GP), Εφαρμογές, GP και μοντελοποίηση, Συζήτηση

Ο Γενετικός Προγραμματισμός με μια γρήγορη ματιά Αναπτύχθηκε στις Η.Π.Α. στις αρχές της δεκαετίας του 1990, Εμπνευστής του ήταν ο J. Koza, Τυπικά εφαρμόζεται σε: Προβλήματα Μηχανικής Μάθησης όπως πρόβλεψη, κατηγοριοποίηση κ.λπ. Χαρακτηριστικές Ιδιότητες: Συναγωνίζεται με τεχνολογίες όπως τα νευρωνικά δίκτυα κ.α. Χρειάζεται συνήθως πολύ μεγάλους πληθυσμούς για να δουλέψει (μερικές εκατοντάδες μέλη), Είναι γενικά αργός Ειδικά χαρακτηριστικά: Χρησιμοποιεί μη-γραμμικά χρωμοσώματα: δένδρα, γράφους, Η χρήση μετάλλαξης είναι πιθανή αλλά όχι πάντα αναγκαία (υπάρχει έντονη διαφωνία για το συγκεκριμένο θέμα)

Τι είναι Μέλος της οικογένειας των εξελικτικών αλγορίθμων Εξελικτικοί Αλγόριθμοι: πρόκειται για μια οικογένεια από στοχαστικές τεχνικές αναζήτησης οι οποίες είναι εμπνευσμένες από την κατά Δαρβίνο βιολογική εξέλιξη. Στην κατηγορία των εξελικτικών τεχνικών ανήκουν πολλές διαφορετικές μέθοδοι – αλγόριθμοι, οι οποίοι όμως μοιράζονται κοινή φιλοσοφία λειτουργίας. Οι βασικές μέθοδοι είναι: Γενετικοί Αλγόριθμοι (Genetic Algorithms), Γενετικός Προγραμματισμός (Genetic Programming), Εξελικτικές Στρατηγικές (Evolution Strategies), Εξελικτικός Προγραμματισμός (Evolutionary Programming).

Η θέση τους στο χώρο της Υπολογιστικής Νοημοσύνης

GP: Βασική φιλοσοφία λειτουργίας Διατηρεί έναν πληθυσμό από πιθανές λύσεις του προς επίλυση προβλήματος Σε κάθε γενιά εξελίσσει τον πληθυσμό εφαρμόζοντας διάφορους γενετικούς τελεστές, προκειμένου να βελτιώσει την ποιότητα των λύσεων που απαρτίζουν τον πληθυσμό. Η διαδικασία επαναλαμβάνεται έως ότου εξευρεθεί μια ικανοποιητική λύση (βέλτιστη ή σχεδόν βέλτιστη).

GP: Βασικός κύκλος εξέλιξης

GP: Βασική φιλοσοφία λειτουργίας Creation of initial population Evaluation Selection Direct reproduction New generation End? End Crossover Mutation Yes No with pc with pm

Αναπαράσταση Τα δένδρα είναι η βασική μορφή αναπαράστασης στο ΓΠ: για παράδειγμα Αριθμητική Εξίσωση: Λογικός Τύπος: Πρόγραμμα: (x  true)  (( x  y )  (z  (x  y))) i =1; while (i < 20) { i = i +1 }

Αναπαράσταση σε μορφή Δένδρου: εξίσωση

Αναπαράσταση σε μορφή Δένδρου: λογικός τύπος (x  true)  (( x  y )  (z  (x  y)))

Αναπαράσταση σε μορφή Δένδρου: πρόγραμμα i =1; while (i < 20) { i = i +1 }

Αναπαράσταση σε μορφή Δένδρου Στους ΓΑ, ΕΣ, ΕΠ τα χρωμοσώματα είναι γραμμικές δομές (bit strings, integer strings, real-valued vectors, permutations) Τα χρωμοσώματα με μορφή δένδρου είναι μη-γραμμική δομή Στους ΓΑ, ΕΣ, ΕΠ το μέγεθος του χρωμοσώματος είναι (συνήθως) σταθερό (fixed) Τα δένδρα στο ΓΠ μπορεί (και συνήθως) ποικίλουν σε βάθος και πλάτος

Αναπαράσταση σε μορφή Δένδρου Οι συμβολικές εκφράσεις καθορίζονται από: Ένα σύνολο από Τερματικά (Terminal set) T, Ένα σύνολο από συναρτήσεις ή μη-τερματικά (Function or Non-Terminals set) F (κάθε συνάρτηση μπορεί να έχει διαφορετικό αριθμό ορισμάτων) Γενικά ακολουθούνται οι εξής αναδρομικοί ορισμοί: Κάθε t  T είναι μια σωστή έκφραση, Η f(e1, …, en) είναι σωστή έκφραση εάν f  F, arity(f)=n και οι e1, …, en είναι σωστές εκφράσεις, Δεν υπάρχουν άλλοι τύποι σωστών εκφράσεων

Γενετικοί Τελεστές: Διασταύρωση – Recombination or Crossover Η πιο συνηθισμένη μορφή διασταύρωσης είναι η ανταλλαγή δύο τυχαία επιλεγμένων υπό-δένδρων ανάμεσα στους γονείς Η Διασταύρωση χρησιμοποιεί δύο παραμέτρους: Την πιθανότητα διασταύρωσης pc για την επιλογή του τελεστή της διασταύρωσης σε σχέση με τον τελεστή της μετάλλαξης Την πιθανότητα με την οποία επιλέγονται τα υπό-δένδρα (τα σημεία διασταύρωσης) στους «γονείς» Το μέγεθος του παιδιού που προκύπτει από τη διασταύρωση μπορεί να είναι μεγαλύτερο από αυτό των «γονιών» του

Διασταύρωση: παράδειγμα Parent 1 Parent 2 Child 1 Child 2

Γενετικοί Τελεστές: Μετάλλαξη - Mutation Η πιο συνηθισμένη μορφή μετάλλαξης είναι η αντικατάσταση ενός τυχαία επιλεγμένου υπό-δένδρου από ένα τυχαία παραγόμενο υπό-δένδρο

Μετάλλαξη Η Μετάλλαξη χρησιμοποιεί δύο παραμέτρους: Την πιθανότητα μετάλλαξης pm: για την επιλογή του τελεστή της μετάλλαξης σε σχέση με τον τελεστή της διασταύρωσης, Την πιθανότητα με την οποία επιλέγεται το υπό-δένδρο για αντικατάσταση (το σημείο μετάλλαξης) Είναι αξιοσημείωτο ότι η pm προτείνεται να είναι είτε 0 (Koza’92) είτε ένας πολύ μικρός αριθμός όπως για παράδειγμα 0.05 (Banzhaf et al. ’98) Το μέγεθος του παιδιού που προκύπτει από τη μετάλλαξη μπορεί να είναι μεγαλύτερο από αυτό του «γονιού» του

Γενετικοί Τελεστές: Επιλογή – Selection Η επιλογή των γονιών είναι συνήθως αναλογική ως προς την απόδοσή τους (fitness proportionate): π.χ. Roulette Wheel Selection Υπάρχουν πολλές μέθοδοι επιλογής, όπως: Elitist Fitness Proportionate Selection, Rank Based Selection, Tournament Selection, Uniform Selection, Over-selection σε πολύ μεγάλους πληθυσμούς: Ταξινόμησε τον πληθυσμό με βάση την απόδοση, σε δύο γκρουπ: γκρουπ 1: τα καλύτερα x% μέλη του πληθυσμού, γκρουπ 2 τα υπόλοιπα (100-x)%, 80% των γονέων επιλέγονται από το γκρουπ 1, και 20% από το γκρουπ 2, Για μεγέθη πληθυσμού = 1000, 2000, 4000, 8000 x = 32%, 16%, 8%, 4% κίνητρο: η αύξηση της αποτελεσματικότητας, τα ποσοστά έχουν προκύψει με «rule of thumb»

Αρχικοποίηση – Initialization Αρχικά πρέπει να καθοριστεί το μέγιστο αρχικό βάθος των Dmax των δένδρων, Πλήρης Μέθοδος (Full method) (κάθε κλάδος του δένδρου έχει βάθος = Dmax): Οι κόμβοι που βρίσκονται σε βάθος d < Dmax επιλέγονται τυχαία από το σύνολο του function set (non terminals) F Οι κόμβοι που βρίσκονται σε βάθος d = Dmax επιλέγονται τυχαία από το terminal set T Μέθοδος της Ανάπτυξης (Grow method) (κάθε κλάδος του δένδρου έχει βάθος  Dmax): Οι κόμβοι σε βάθος d < Dmax επιλέγονται τυχαία από το σύνολο F  T Οι κόμβοι σε βάθος d = Dmax επιλέγονται τυχαία από το σύνολο T Η συνήθης τεχνική αρχικοποίησης: ο μισός αρχικός πληθυσμός κατασκευάζεται με την full method και ο άλλος μισός με την grow method (τεχνική Ramped Half-Half)

Το φαινόμενο του Bloat Bloat = το φαινόμενο της επιβίωσης του πιο χονδρού («survival of the fattest»), το μέγεθος των δένδρων στον πληθυσμό αυξάνεται συνεχώς με το χρόνο Υπάρχει πολύ έρευνα αλλά και συζήτηση σε εξέλιξη για τους λόγους που προκαλούν το φαινόμενο Απαιτείται η λήψη διαφόρων μέτρων για την αντιμετώπισή του, όπως: Η «απαγόρευση» γενετικών τελεστών που τείνουν να παράγουν πολύ μεγάλα σε μέγεθος παιδιά Πίεση για οικονομία: επιβολή ποινής στα μέλη του πληθυσμού που είναι υπερμεγέθη

Προβλήματα με το «φυσικό» περιβάλλον Δένδρα για data fitting σε σχέση με δένδρα (προγράμματα) τα οποία είναι πραγματικά εκτελέσιμα Η εκτέλεση ενός προγράμματος κωδικοποιημένου σε δένδρο μπορεί να προκαλέσει μεταβολή του περιβάλλοντος και κατά συνέπεια του υπολογισμού της απόδοσης: για παράδειγμα ένας robot controller Ο υπολογισμός της απόδοσης των μελών του πληθυσμού με τη χρήση εξομοίωσης, σε πολύπλοκα προβλήματα κυμαίνεται από ακριβή (σε υπολογιστικούς πόρους και χρόνο) έως πολύ ακριβή Τα αποτελέσματα που προκύπτουν είναι συχνά πολύ καλά

Παράδειγμα: Το πρόβλημα του credit scoring Η Τράπεζα θέλει να κατηγοριοποιήσει τους υποψήφιους δανειολήπτες σε δύο κατηγορίες: καλούς και κακούς. Η Τράπεζα διατηρεί αρχείο με δεδομένα από παλιότερα δάνεια και συμπεριφορά δανειοληπτών. Απαιτείται η δημιουργία ενός μοντέλου σύμφωνα με τα δεδομένα αυτά: ID No Of Children Salary Marital status OK? ID-1 2 45000 Married ID-2 30000 Single 1 ID-3 40000 Divorced …

Παράδειγμα: Το πρόβλημα του credit scoring Ένα πιθανό μοντέλο για το πρόβλημα είναι: IF (NOC = 2) AND (S > 80000) THEN good ELSE bad Γενική μορφή μοντέλου: IF formula THEN good ELSE bad Ο «άγνωστος» είναι ο τύπος «formula» και επομένως: Ο χώρος αναζήτησης (οι φαινότυποι) είναι το σύνολο που σχηματίζουν οι διαφορετικοί τύποι (formulas), Υπάρχει μια φυσική συνάρτηση απόδοσης (fitness) για κάθε τύπο: το ποσοστό των περιπτώσεων που κατηγοριοποιεί σωστά το αντίστοιχο μοντέλο. Υπάρχει μια φυσική αναπαράσταση για τους τύπους (γενότυποι): τα parse trees

Παράδειγμα: Το πρόβλημα του credit scoring Για παράδειγμα το μοντέλο: IF (NOC = 2) AND (S > 80000) THEN good ELSE bad Μπορεί να αναπαρασταθεί από το ακόλουθο δένδρο: AND S 2 NOC 80000 > =

Παράδειγμα: symbolic regression Το πρόβλημα: Έστω n σημεία στον R2, (x1, y1), … , (xn, yn) Θέλουμε να υπολογίσουμε μια συνάρτηση f(x) τέτοια ώστε i = 1, …, n: f(xi) = yi

Παράδειγμα: symbolic regression Πιθανή λύση με τη χρήση GP: Αναπαράσταση: Function (or non terminal) set: F = {+, -, /, sin, cos}, Terminal set: T = R  {x} Η απόδοση κάθε μέλους υπολογίζεται με τη σχέση: Χρήση των συνηθισμένων γενετικών τελεστών Μέγεθος Πληθυσμού = 1000 Αρχικοποίηση με τεχνική Ramped Half-Half Συνθήκη τερματισμού: n “hits” ή 50000 υπολογισμοί αποδόσεων (fitness evaluations) (όπου με τον όρο “hit” εννοούμε όταν | f(xi) – yi | < 0.0001)

Μοντελοποίηση συστημάτων με τη χρήση GP Μετρήσεις Μοντέλο Το πρόβλημα: Δεδομένου ενός συνόλου μετρήσεων (για παράδειγμα τα αποτελέσματα ενός πειράματος) θέλουμε να υπολογίσουμε τη μαθηματική σχέση που διέπει αυτά τα δεδομένα Έχουν προταθεί και χρησιμοποιηθεί διάφορες μέθοδοι για την επίλυση του προβλήματος: black box τεχνικές, white box, κ.λπ. Μια από τις πιο πρόσφατες είναι ο Γενετικός Προγραμματισμός

Σχεδιαστικές αποφάσεις Για την εφαρμογή του ΓΠ χρειάζεται: Να καθοριστούν τα function (non-terminal) set, και terminal set. Σε αυτό το σημείο είναι πολύ σημαντικό να αξιοποιηθεί η οποιαδήποτε a-priori γνώση υπάρχει σε σχέση με το πρόβλημα, Να καθοριστούν οι τιμές των διαφόρων παραμέτρων του GP (μέγιστο βάθος δένδρων, συνθήκες τερματισμού, μέγεθος πληθυσμού, τιμές πιθανοτήτων για διασταύρωση και μετάλλαξη, κ.λπ.), Να επιλεχθεί το κατάλληλο μέτρο για την αποτίμηση της απόδοσης των διαφόρων μοντέλων (π.χ. MSE), Να επιλεχθεί η κατάλληλη μέθοδος αρχικοποίησης, Να επιλεχθεί η κατάλληλη πολιτική επιλογής, Να επιλεχθούν οι κατάλληλοι γενετικοί τελεστές διασταύρωσης και μετάλλαξης,

Βασική Δομή – Λειτουργία

Βασική Δομή – Λειτουργία Το ΓΠ δημιουργεί έναν αρχικό πληθυσμό από μοντέλα (αναπαρίστανται ως δένδρα) με τυχαίο τρόπο και αξιοποιώντας τυχών a priori γνώση, Κάθε μοντέλο αξιολογείται (υπολογισμός fitness) χρησιμοποιώντας τα πειραματικά δεδομένα που έχουμε στη διάθεσή μας, Εφαρμόζονται οι διάφοροι γενετικοί τελεστές (επιλογή, διασταύρωση, μετάλλαξη) και δημιουργείται ένας νέος πληθυσμός από μοντέλα, Ο έλεγχος επιστρέφει στο βήμα 2 και η διαδικασία επαναλαμβάνεται έως ότου ικανοποιηθεί η συνθήκη τερματισμού

Γενετικοί Τελεστές κατά τη μοντελοποίηση

Παρατηρήσεις Ο αλγόριθμος με τη γενική μορφή δεν αποδίδει ιδιαίτερα καλά σε δύσκολα προβλήματα (πολύπλοκα μη γραμμικά μοντέλα), Χρειάζονται διάφορες τροποποιήσεις και συμπερίληψη γνώσης του προβλήματος (specific domain knowledge): σχεδίαση κατάλληλων για τη μορφή των μοντέλων γενετικών τελεστών, χρήση επιπλέον αλγορίθμων για την βελτιστοποίηση των μοντέλων (υβριδικοί αλγόριθμοι) Με τις κατάλληλες μετατροπές ο αλγόριθμος μπορεί να δώσει εξαιρετικά αποτελέσματα

Παράδειγμα – 1

Παράδειγμα – 2 Μοντέλο από πειραματικά δεδομένα χωρίς να υπάρχει κάποια αναλυτική μαθηματική σχέση

Παράδειγμα – 3 simulation Result of GP (y) + 4% noise (u) 20 40 60 80 20 40 60 80 100 -2 -1 1 2 3 4 (u) (y) + 4% noise simulation Result of GP

Συζήτηση Τελικά τι είναι ένα Γενετικό Πρόγραμμα: Η τέχνη της εξέλιξης προγραμμάτων υπολογιστών; Ένας τρόπος για τον αυτόματο προγραμματισμό υπολογιστών; Ένας Γενετικός Αλγόριθμος με διαφορετική αναπαράσταση;

ΤΕΛΟΣ