Skip to main content

Τι είναι ο γενετικός προγραμματισμός;

Ο γενετικός προγραμματισμός είναι η διαδικασία χρήσης ενός προγράμματος υπολογιστή για να γράψετε ένα άλλο πρόγραμμα υπολογιστή χρησιμοποιώντας μεθοδολογία που βασίζεται σε εξελικτικό αλγόριθμο.Αυτή η διαδικασία συγκρίνεται συχνά με τον γραμμικό προγραμματισμό, στον οποίο ο προγραμματιστής γράφει συγκεκριμένες οδηγίες για να πραγματοποιήσει ο υπολογιστής.Το LISP και το σχέδιο είναι οι πιο συνηθισμένες γλώσσες προγραμματισμού για αυτό το είδος εργασίας λόγω της λειτουργικότητας και της ευελιξίας υψηλού επιπέδου.Ως αποτέλεσμα της εννοιολογικής του ομοιότητας με τη βιολογική εξέλιξη, ο γενετικός προγραμματισμός αναφέρεται συχνά ως παράδειγμα βιο-εμπνευσμένων υπολογιστών. Τα γενετικά προγράμματα (GPS) λειτουργούν δημιουργώντας και τρέχοντας χιλιάδες προγράμματα και επιλέγει το πιο αποτελεσματικό στη χρήση.Για παράδειγμα, ένας GP μπορεί να χρησιμοποιηθεί για να δημιουργήσει ένα πρόγραμμα για να σχεδιάσει ένα σκίτσο μιας φωτογραφίας.Το πρώτο πράγμα που θα έκανε ο GP είναι να δημιουργήσει ένα σύνολο προγραμμάτων που χρησιμοποιούν διάφορες λειτουργίες σχεδίασης υπολογιστή σε τυχαίους συνδυασμούς.Στη συνέχεια, ο GP θα τρέχει κάθε ένα από αυτά τα προγράμματα με τη σειρά, εξάγοντας τα αποτελέσματα του καθενός σε αρχεία εικόνας.

Το επόμενο βήμα για το GP επιλέγει τα καλύτερα από αυτά τα προγράμματα από το σετ.Αυτή η διαδικασία είναι γενικά το πιο δύσκολο μέρος του γενετικού προγραμματισμού.Στην περίπτωση του προγράμματος σχεδίασης, ο GP θα χρησιμοποιούσε λογισμικό σύγκρισης εικόνων για να καθορίσει ποιο από τα τυχαία σχέδια ήταν πιο παρόμοια με την εικόνα που προσπαθούσε να σχεδιάσει το λογισμικό.Από τα τυχαία παραγόμενα προγράμματα, ο GP θα επιλέξει τα κορυφαία και θα απορρίψει τα υπόλοιπα.Η διαδικασία επιλογής είναι γνωστή ως αξιολόγηση φυσικής κατάστασης και θεωρείται γενικά το πιο δύσκολο μέρος του γενετικού προγραμματισμού.

Μόλις επιλεγούν τα κορυφαία προγράμματα, ο GP θα τα χρησιμοποιήσει ως βάση μιας νέας παρτίδας προγραμμάτων.Κάθε νέα παρτίδα ονομάζεται γενιά.Οι δύο τρόποι δημιουργίας της νέας γενιάς είναι η μετάλλαξη και η διασταύρωση.Η μετάλλαξη λειτουργεί με τη λήψη ενός από τα υπάρχοντα προγράμματα και την πραγματοποίηση τυχαίων αλλαγών σε αυτό, ελπίζουμε προς το καλύτερο.Το Crossover, που ονομάζεται επίσης αναπαραγωγή, λειτουργεί με τη λήψη δύο από τα κορυφαία προγράμματα και το συνδυασμό των στοιχείων αυτών για τη δημιουργία νέων προγραμμάτων.

Μετά τη δημιουργία μιας νέας παρτίδας προγραμμάτων, ο GP επαναλαμβάνει τη διαδικασία λειτουργίας και αξιολόγησης και στη συνέχεια επαναλαμβάνει την επιλογή, εξάλειψη και διαδικασίες παραγωγής.Το GPS θα τρέχει συχνά εκατοντάδες γενιές πριν βρει ένα μόνο πρόγραμμα με ικανοποιητικό αποτέλεσμα.Παρά τον περιορισμό αυτό, ο γενετικός προγραμματισμός είναι ένας κοινός τρόπος για την επίλυση ορισμένων τύπων δύσκολων υπολογιστικών προβλημάτων, συμπεριλαμβανομένης της ρομποτικής μηχανικής και των προβλημάτων τεχνητής νοημοσύνης.