Entwicklungsalgorithmus

In der künstlichen Intelligenz ist ein Entwicklungsalgorithmus (EA) eine Teilmenge der Entwicklungsberechnung, eines allgemeinen bevölkerungsbasierten metaheuristic Optimierungsalgorithmus. Ein EA verwendet einige durch die biologische Evolution begeisterte Mechanismen: Fortpflanzung, Veränderung, Wiederkombination und Auswahl. Kandidat-Lösungen des Optimierungsproblems spielen die Rolle von Personen in einer Bevölkerung, und die Fitnessfunktion bestimmt die Umgebung, innerhalb deren die Lösungen "leben" (sieh auch Kostenfunktion). Die Evolution der Bevölkerung findet dann nach der wiederholten Anwendung der obengenannten Maschinenbediener statt. Künstliche Evolution (AE) beschreibt einen Prozess, der mit individuellen Entwicklungsalgorithmen verbunden ist; EAs sind individuelle Bestandteile, die an einem AE teilnehmen.

Entwicklungsalgorithmen bringen häufig eine gute Leistung, Lösungen aller Typen von Problemen näher kommend, weil sie ideal keine Annahme über die zu Grunde liegende Fitnesslandschaft machen; diese Allgemeinheit wird durch Erfolge in Feldern so verschieden gezeigt wie Technik, Kunst, Biologie, Volkswirtschaft, Marketing, Genetik, Operationsforschung, Robotertechnik, Sozialwissenschaften, Physik, Politik und Chemie.

Techniken von auf das Modellieren der biologischen Evolution angewandten Entwicklungsalgorithmen werden allgemein auf Erforschungen von Mikroentwicklungsprozessen, jedoch einigen Computersimulationen, wie Tierra und Avida beschränkt, versuchen, Makroentwicklungsdynamik zu modellieren.

In den meisten echten Anwendungen von EAs ist rechenbetonte Kompliziertheit ein Verbieten-Faktor. Tatsächlich ist diese rechenbetonte Kompliziertheit wegen der Fitnessfunktionseinschätzung. Fitnessannäherung ist eine der Lösungen, diese Schwierigkeit zu überwinden. Jedoch kann anscheinend einfacher EA häufig komplizierte Probleme beheben; deshalb kann es keine direkte Verbindung zwischen der Algorithmus-Kompliziertheit und Problem-Kompliziertheit geben.

Eine andere mögliche Beschränkung von vielen Entwicklungsalgorithmen ist ihr Mangel an einer klaren Unterscheidung des Genotyp-Phänotyps. In der Natur erlebt die fruchtbar gemachte Eizelle einen komplizierten Prozess bekannt als embryogenesis, um ein reifer Phänotyp zu werden. Wie man glaubt, macht diese indirekte Verschlüsselung die genetische Suche robuster (d. h. reduziert die Wahrscheinlichkeit von tödlichen Veränderungen), und kann auch den evolvability des Organismus verbessern. Solche indirekten (auch bekannt als generativ oder Entwicklungs-) encodings ermöglichen auch Evolution, die Regelmäßigkeit in der Umgebung auszunutzen. Die neue Arbeit im Feld von künstlichem embryogeny oder künstlichen Entwicklungssystemen, bemüht sich, diese Sorgen zu richten. Und Genausdruck, der erfolgreich programmiert, erforscht ein System des Genotyp-Phänotyps, wo der Genotyp aus geradlinigen multigenic Chromosomen der festen Länge besteht und der Phänotyp aus vielfachen Ausdruck-Bäumen oder Computerprogrammen verschiedener Größen und Gestalten besteht.

Durchführung von biologischen Prozessen

Gewöhnlich, eine anfängliche Bevölkerung zufällig erzeugter Kandidat-Lösungen umfassen die erste Generation. Die Fitnessfunktion wird auf die Kandidat-Lösungen und jede nachfolgende Nachkommenschaft angewandt.

In der Auswahl werden Eltern für die folgende Generation mit einer Neigung zur höheren Fitness gewählt. Die Eltern bringen eine oder zwei Nachkommenschaft (neue Kandidaten) wieder hervor, indem sie ihre Gene mit zwei möglichen Änderungen kopieren: Überkreuzung verbindet die elterlichen Gene wieder, und Veränderung verändert den Genotypen einer Person auf eine zufällige Weise. Diese neuen Kandidaten bewerben sich mit alten Kandidaten für ihren Platz in der folgenden Generation (Überleben des passendsten).

Dieser Prozess kann wiederholt werden, bis ein Kandidat mit der genügend Qualität (eine Lösung) gefunden wird oder eine vorher definierte rechenbetonte Grenze erreicht wird.

Entwicklungsalgorithmus-Techniken

Ähnliche Techniken unterscheiden sich in den Durchführungsdetails und der Natur des besonderen angewandten Problems.

  • Genetischer Algorithmus - Das ist der populärste Typ von EA. Man sucht die Lösung eines Problems in der Form von Reihen von Zahlen (traditionell binär, obwohl die besten Darstellungen gewöhnlich diejenigen sind, die etwas über das Problem widerspiegeln, das wird löst), durch die Verwendung von Maschinenbedienern wie Wiederkombination und Veränderung (manchmal ein, manchmal beide). Dieser Typ von EA wird häufig in Optimierungsproblemen verwendet.
  • Genetische Programmierung - Hier sind die Lösungen in der Form von Computerprogrammen, und ihre Fitness wird durch ihre Fähigkeit bestimmt, ein rechenbetontes Problem zu beheben.
  • Entwicklungsprogrammierung - Ähnlich der genetischen Programmierung, aber der Struktur des Programms wird befestigt, und seinen numerischen Rahmen wird erlaubt sich zu entwickeln.
  • Genausdruck-Programmierung - Wie genetische Programmierung entwickelt GEP auch Computerprogramme, aber es erforscht ein System des Genotyp-Phänotyps, wo Computerprogramme verschiedener Größen in geradlinigen Chromosomen der festen Länge verschlüsselt werden.
  • Evolutionsstrategie - Arbeiten mit Vektoren von reellen Zahlen als Darstellungen von Lösungen, und verwenden normalerweise selbstanpassungsfähige Veränderungsraten.
  • Differenzialevolution - Basiert auf Vektor-Unterschieden und wird deshalb in erster Linie für numerische Optimierungsprobleme angepasst.
  • Neuroevolution - Ähnlich der genetischen Programmierung, aber den Genomen vertreten künstliche Nervennetze durch das Beschreiben der Struktur und Verbindungsgewichte. Die Genom-Verschlüsselung kann direkt oder indirekt sein.
  • Das Lernen classifier System

Zusammenhängende Techniken

Schwarm-Algorithmen, einschließlich:

  • Ameise-Kolonie-Optimierung - Basiert auf den Ideen von der Ameise foraging durch die pheromone Kommunikation, um Pfade zu bilden. In erster Linie angepasst für die kombinatorische Optimierung und Graph-Probleme.
  • Biene-Algorithmus basiert auf dem foraging Verhalten von Honigbienen. Es ist in vielen Anwendungen wie Routenplanung und Terminplanung angewandt worden.
  • Blöde Suche wird durch den Brütenparasitismus von einigen blöden Arten begeistert. Es verwendet auch Flüge von Lévy, und so passt es für globale Optimierungsprobleme.
  • Partikel-Schwarm-Optimierung - Basiert auf den Ideen vom Tier, das Verhalten strömt. Auch in erster Linie angepasst für numerische Optimierungsprobleme.

Andere bevölkerungsbasierte metaheuristic Methoden:

  • Leuchtkäfer-Algorithmus wird durch das Verhalten von Leuchtkäfern begeistert, einander durch die Verwahrung des Lichtes anziehend. Das ist für die mehrmodale Optimierung besonders nützlich.
  • Angreifender Unkraut-Optimierungsalgorithmus - Basiert auf den Ideen vom Unkraut-Kolonie-Verhalten in der Suche und Entdeckung eines passenden Platzes für das Wachstum und die Fortpflanzung.
  • Harmonie-Suche - Basiert auf den Ideen vom Verhalten von Musikern im Suchen nach besseren Harmonien. Dieser Algorithmus ist für die kombinatorische Optimierung sowie Parameter-Optimierung passend.
  • Anpassung von Gaussian - Basiert auf der Informationstheorie. Verwendet für die Maximierung, Ertrag zu verfertigen, haben Sie Fitness oder durchschnittliche Information vor. Sieh zum Beispiel Wärmegewicht in der Thermodynamik und Informationstheorie.

Siehe auch

Bibliografie

  • Ashlock, D. (2006), Entwicklungsberechnung für das Modellieren und die Optimierung, den Springer, die internationale Standardbuchnummer 0-387-22196-4.
  • Bäck, T. (1996), Entwicklungsalgorithmen in der Theorie und Praxis: Evolutionsstrategien, Entwicklungsprogrammierung, genetische Algorithmen, Oxford Univ. Drücken.
  • Bäck, T., Fogel, D., Michalewicz, Z. (1997), Handbuch der Entwicklungsberechnung, Oxford Univ. Drücken.
  • Eiben, A.E. Schmied, J.E. (2003), Einführung in die Entwicklungscomputerwissenschaft, Springer.
  • Holland, J. H. (1975), Anpassung in natürlichen und künstlichen Systemen, der Universität der Michiganer Presse, Laube von Ann
  • Ingo Rechenberg (1971): Evolutionsstrategie - Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (Doktorarbeit). Nachgedruckt durch Fromman-Holzboog (1973).
  • Hans-Paul Schwefel (1974): Numerische Optimierung von Computer-Modellen (Doktorarbeit). Nachgedruckt von Birkhäuser (1977).
  • Michalewicz Z., Fogel D.B. (2004). Wie man es löst: Moderne Heuristik, Springer.
  • Preis, K., Storn, R.M. Lampinen, J.A. (2005). "Differenzialevolution: Eine praktische Annäherung an die globale Optimierung", Springer.
  • Yang X.-S. (2010), "Natur-inspirierte Metaheuristic Algorithmen", 2. Ausgabe, Luniver Presse.

Links


Coevolution / William Wotton
Impressum & Datenschutz