Ο γενετικός προγραμματιστής αλγορίθμων παίρνει λειτουργίες
[Κόριο] γράφει γενετικούς αλγορίθμους για λίγους μήνες τώρα. Αυτό από μόνο του δεν είναι μοναδικό ή εξαιρετικό, εκτός από αυτό που παίρνει αυτούς τους γενετικούς αλγορίθμους. [Ο Kory] χρησιμοποιεί γενετικούς αλγορίθμους για να γράψει προγράμματα στο Brainfuck. Ναι, είναι ένας υπολογιστής προγραμματίζει έναν υπολογιστή. Να είστε ευγνώμονες Το Skynet είναι 18 ετών αργά.
Όταν είδαμε για πρώτη φορά το έργο [Kory], είχε προγραμματίσει έναν υπολογιστή για να γράψει και να τρέξει τα δικά της προγράμματα στο Brainfuck. Παρόλο που το όνομα της γλώσσας [Kory] επέλεξε να χρησιμοποιήσει κάποια εργασία, είναι στην πραγματικότητα η ιδανική γλώσσα για προγράμματα που δημιουργούνται από υπολογιστή. Με μόνο οκτώ εντολές, ο καθένας που αποτελείται από ένα μόνο χαρακτήρα, μειώνει σημαντικά το γενικό αποτέλεσμα του τι πρέπει να παράγει οποιοσδήποτε γενετικός αλγόριθμος και τι πρέπει να αξιολογήσει μια λειτουργία φυσικής κατάστασης.
Υπήρξε ένας μειονέκτημα στις αρχικές προσπάθειες [Kory]: λειτουργίες. Είναι σχετικά εύκολο να πάρετε ένα πρόγραμμα για να πείτε τον κόσμο του Hello, αλλά να κάνετε κάτι συγκρότημα, θα χρειαστείτε κάτι σαν μια μακροεντολή ή μια λειτουργία. Brainfuck, η πιο απλή μορφή του, δεν υποστηρίζει λειτουργίες. Αυτό ρίχνει ένα κλειδί στο σχέδιο [Kory] να έχει τον υπολογιστή του υπολογιστή του προγραμματισμού του υπολογιστή του να αναπτυχθεί πιο έξυπνος και να πάρει πάνω από τα τοπικά ελάχιστα στους γενετικούς αλγορίθμους του.
Η λύση αυτού του προβλήματος ήταν η δημιουργία μιας νέας διαλέγχης του Brainfuck [Kory] κλήσεων Brainplus. Αυτό παίρνει τα καλύτερα μέρη του εκτεταμένου εγκεφάλου και προσθέτει μια εντολή που βασικά χρησιμεύει ως δήλωση διακοπής.
Με αυτό, ο υπολογιστής αυτο-προγραμματισμού του [Kory] μπορεί να αναπτύξει πιο σύνθετα προγράμματα. Ήδη έχει δημιουργήσει ένα πρόγραμμα για να δημιουργήσει τους πρώτους αριθμούς της ακολουθίας Fibonacci. Μόνο μέχρι 233, επειδή το 255 είναι η μέγιστη τιμή για ένα byte και το ίδιο το πρόγραμμα χρειάστηκε επτά ώρες για να δημιουργήσει. Ωστόσο, λειτουργεί. Άλλα προγράμματα που παράγονται με τις νέες λειτουργίες BrainPlus περιλαμβάνουν την απαγωγή 99 μπουκάλια στον τοίχο και ένα πρόγραμμα που πολλαπλασιάζεται δύο τιμές.
Παρόλο που ο υπολογιστής [Kory] ξοδεύει πολύ χρόνο για να δημιουργήσει αυτά τα προγράμματα, δεδομένου ότι αρκετός χρόνος, δεν υπάρχει πραγματικά πολύ αυτό το πρόγραμμα δεν μπορεί να κάνει. Brainfuck, και το Brainplus του Kory], είναι γεμάτο, έτσι ώστε να δοθεί απεριόριστη μνήμη και ώρα που μπορεί να υπολογίσει οτιδήποτε. Με τη νέα προσθήκη λειτουργιών, μπορεί να υπολογίσει οτιδήποτε πιο γρήγορα.
Όλος ο κώδικας για το [Kyle] είναι διαθέσιμο στο Github.