genetische Programmierung
- =Züchten von Computer-Programmen
- mit Hilfe von
- evolutionäre Algorithmen
- Idee: Computer programmieren Computer
- Arthur Samuel: "How can computers be made to do, what needs to be done, without being told exactly how to do it?"
- Traum, so alt wie der Computer selbst
- siehe:
- automatic programming
- machine learning
- program induction
- Compiler / höhere Programmiersprachen
- imperativ
- funktional
- logisch
- Case-tools
- generative programming
- AI / learning
- Repräsentationen
- Problemklassen
- Regression
- finden einer approximativen Funktion durch Punktwolke
- Steuerung und Regelung
- Auffassung von Programmieren als Optimierung
- Individuen werden bei der Berechnung desZielfunktionswertes als Computerprogramme interpretiert
- Programme könen relativ exotisch sein
- Was müssen wir bestimmen?
- Suchraum
- Menge Prg aller Programme
- dazu: Struktur der Programme?
- Syntax
- Folge von Zeichen
- Menge von Ausdrücken
- Sequenz von Ausdrücken
- Baum von Ausdrücken
- Graph von Ausdrücken
- ...
- Semantik
- operationale
- Was muss ich mit meinem aktuellen Zustand tun, wenn ich eine Operation ausführe
- denotationelle
- über Funktionen beschrieben
- axiomatische/logische
- über logische Ausdrücke beschrieben
- kann jeweils auch durch Compiler/Interpreter spezifiziert werden
- Interpreter
- Programm
- Interpreter: Programm x Input Þ Output
- Operatoren, die Programme manipulieren
- Bewertung (Zielfunktion)
- Zieldomäne
- Was sind Input/Output?
- definiert über messbare Features
- sollen von Programm verarbeitet werden
- von Programm ausgegeben/vorhergesagt/manipuliert
- f(prg) = Pxi (Interpreter(prg,xi)-yi)²
- Human-Competitive Results
- Ablauf
- ereuge Population zufälliger Programme
- solange (!Abbruch):
- Erzeuge Nachkommen durch
- Rekombination
- Mutation
- exakte Kopie
Erzeugt mit IntelliMind von SRSofware. 14.06.2006 / 21:28:15