Je sais je suis en retard pour cette partie, mais je voudrais juste faire un couple de points. J'ai eu l'incroyable chance de travailler avec John Koza sur sa Programmation Génétique 4 livre.
Le genre de programmation que la plupart d'entre nous faisons au jour le jour - accrochage GUI événements, poussant pixels, bases de données, etc etc sont certainement pas le type de programmes que GP a pour objectif de construire.
Ce que John Koza fait avec son cluster d'une centaine de machines (si je me souviens bien!) est à la recherche de solutions à des problèmes intéressants (pensez à un problème NP-difficile). C'est triste, mais la plupart des problèmes que nous programmeurs travaillent au jour le jour ne sont pas très intéressant, ou à des problèmes difficiles, surtout juste irritant et beaucoup de temps.
Ce que Ben Jackson dit à propos d'un génétiquement modifiés oscillateur électronique est la chose la plus proche dans ce fil de ce que le Dr Koza et de l'équipe de le faire. Il existe de nombreux exemples de circuits dans le GP de la série de livres.
Ce que Tom Château dit ici à propos de programmes impératifs n'est pas exactement vrai. Le séminal exemple de ce à partir de John et de l'entreprise est la conception de l'antenne exécuter. Il est à peu près un 3d logiciel de dessin avec des commandes telles que le LOGO de dessin de la langue qui conçoit une antenne. Il a moveto, lineto type de commandes pour pousser et éclater de matrices sur une pile. Le GP paquet j'ai juste regardé la semaine dernière, jgap, a l'appui direct: un conteneur de type non-terminal en question qui peut contenir de retour void déclarations et ensuite on a une instruction de retour à la fin. Je crois qu'il a même quelque chose comme des variables locales si je n'ai pas regarder de trop près.
L'original LISP de la conception que le début de GP s'exécute centrée autour de est une sorte de douleur de temps en temps, c'est certainement vrai. C'est quelque chose d'un rite de passage, je pense que d'être gêné à propos de la traduction de la sortie d'un GP exécuter en plus utilisable code.
TL;DR: GP n'est pas vraiment une programmation automatique du système. C'est un système automatisé de l'invention du système.