Skip to main content

Was ist genetische Programmierung?

Genetische Programmierung ist der Prozess der Verwendung eines Computerprogramms zum Schreiben eines anderen Computerprogramms mithilfe der evolutionären Algorithmus-basierten Methodik.Dieser Prozess wird häufig mit der linearen Programmierung verglichen, bei der der Programmierer spezifische Anweisungen für den Computer schreibt.LISP und Schema sind aufgrund ihrer hohen Funktionalität und Flexibilität die häufigsten Programmiersprachen für diese Art von Arbeit.Aufgrund seiner konzeptionellen Ähnlichkeit mit der biologischen Evolution wird die genetische Programmierung häufig als Beispiel für bio-inspiriertes Computing bezeichnet.Zum Beispiel könnte ein GP verwendet werden, um ein Programm zum Zeichnen einer Skizze eines Fotos zu erstellen.Das erste, was der GP tun würde, ist eine Reihe von Programmen, die verschiedene Computerzeichnungsfunktionen in zufälligen Kombinationen verwenden.Anschließend würde der GP jedes dieser Programme in der Reihenfolge ausführen und die Ergebnisse der einzelnen Bilddateien ausgeben.

Der nächste Schritt für den GP besteht darin, die besten dieser Programme aus dem Satz auszuwählen.Dieser Prozess ist im Allgemeinen der schwierigste Teil der genetischen Programmierung.Im Falle des Zeichnungsprogramms würde der GP eine Bildvergleichssoftware verwenden, um zu bestimmen, welche der Zufallszeichnungen dem Bild, das die Software zu zeichnen wollte, am ähnlichsten war.Von den zufällig erzeugten Programmen würde der GP die oberen Mehrheit ausgewählt und den Rest verwerfen.Der Auswahlverfahren wird als Fitness -Bewertung bezeichnet und wird allgemein als der schwierigste Teil der genetischen Programmierung angesehen.

Sobald die besten Programme ausgewählt wurden, wird der GP sie als Grundlage für eine neue Gruppe von Programmen verwenden.Jede neue Charge wird als Generation bezeichnet.Die beiden Möglichkeiten zur Schaffung der neuen Generation sind Mutation und Crossover.Mutation funktioniert, indem sie eines der vorhandenen Programme annehmen und zufällige Änderungen daran vornehmen, hoffentlich zum Besseren.Crossover, auch Zucht genannt, arbeitet mit zwei der Top -Programme und kombiniert Elemente von ihnen, um neue Programme zu erstellen.

Nach dem Erstellen einer neuen Programmstapel wiederholt der GP den Prozess des Ausführens und Evaluierens und wiederholt die Auswahl anschließend, Eliminierung und Erzeugungsprozesse.GPS wird häufig Hunderte von Generationen ausführen, bevor ein einzelnes Programm mit einem zufriedenstellenden Ergebnis findet.Trotz dieser Einschränkung ist die genetische Programmierung eine häufige Möglichkeit, einige Arten von schwierigen Rechenproblemen zu lösen, einschließlich Robotertechnik und künstlichen Intelligenzproblemen.