Wofür ist die "Hallo Welt!" der genetischen Algorithmen gut?

8

Ich fand das sehr coole C ++ - Beispiel , wörtlich "Hallo Welt!" von genetischen Algorithmen.

Ich habe also beschlossen, das Ganze in C # und dies ist das Ergebnis.

Nun frage ich mich: Gibt es irgendeine praktische Anwendung in der Art, wie man einen Zielstring erzeugt, ausgehend von einer Population zufälliger Strings?

BEARBEITEN : Mein Freund auf Twitter hat gerade getwittert, dass "nützlich ist für Transkriptionen wie Übersetzung. Muss nicht Monkey's sein" . Ich wünschte ich hätte eine Ahnung.

    
JohnIdol 29.03.2009, 00:45
quelle

5 Antworten

13
  

Gibt es eine praktische Anwendung in der Art, wie man einen Zielstring erzeugt, ausgehend von einer Population zufälliger Strings?

Sicher. Stellen Sie sich ein beliebiges Szenario vor, in dem Sie wissen, wie man die Fitness einer bestimmten Saite bewertet und in welcher Weise die Auswahl auf irgendeine Weise diskret und eingeschränkt ist:

  • Auswählen aussprechbarer Namen ("Xhjkxc" hat eine geringe Fitness; "Artekzo" hat eine hohe Fitness)
  • Eine Reihe von Schachzügen ausprobieren
  • Erraten Sie die Kombination zu einem Safe, vorausgesetzt, Sie können sehen, wie nahe Sie jedem Entriegelungsglas sind
  • Auswählen von Telefonnummern, die Wörter auswerten (z. B. "843-2378" hat eine hohe Fitness, weil sie "THE-BEST" buchstabiert)
John Feminella 29.03.2009, 00:51
quelle
2

Nein. Jedes Mal, wenn Sie die GA ausführen, geben Sie die Antwort ab. Das ist großartig, um zu zeigen, wie ein GA funktioniert und um zu zeigen, wie mächtig es sein kann, aber es hat keinen anderen Zweck als das.

    
Kevin Crowell 29.03.2009 00:52
quelle
1

Sie könnten einen EA schreiben, der Code in einer dynamischen Sprache wie IronPython schreibt, mit dem Ziel, Code zu erstellen, der a) ohne Absturz ausführt und b) den Aktienmarkt analysiert und Aktien intelligent kauft und verkauft.

Das ist ein sehr vereinfachender Ansatz für das, was notwendig wäre, aber es ist möglich. Sie benötigen einen Host, der eine Vielzahl von Methoden für den IronPython-Code (technische Indikatoren usw.) und eine Datenbank mit Ticks bereitstellt.

Es wäre auch schlau, nicht nur irgendeinen alten Zufallscode zu generieren, damit Sie nicht Ihre eigene Festplatte formatieren. Sie benötigen eine Sandbox, und Sie müssen die Namespaces beschränken, auf die zugegriffen werden kann, und Sie müssen ein Zeitlimit angeben, um Endlosschleifen zu vermeiden. Sie können auch symbolische Richtlinien angeben, die es ermöglichen, geeignete, genehmigte Schlüsselwörter zu wählen, anstatt nur zufällige Buchstaben zusammenzufassen - dies würde die Entwicklung erheblich beschleunigen.

Also war ich an einem Projekt beteiligt, das alles außer dem EA gemacht hat. Wir hatten eine Satellitenschüssel, die Echtzeit-Aktientickets von der NASDAQ, einem Service für den Handel, der eine API hatte, und einem primitiven Entscheidungsfindungs ​​"Gehirn" hatte, das Entscheidungen traf, als die Ticks hereinkamen.

Leider ist einer der Partner ausgeflippt, hat seinen Job gekündigt, hat das Projekt abgezweigt (hat sein eigenes Gericht usw.) und hat mit der Logik angefangen, die noch nicht fertig war. Er hat eine Menge Geld verloren. Es stellt sich heraus, dass diese Art von Projekt für einige Leute nur einen Schritt vom üblichen Glücksspiel entfernt ist. Aber irgendwie ist das Projekt danach verpufft. Die Entwicklung des Logikteils ist jedoch der fehlende Link. Und ich weiß, dass da draußen Leute sind, die solche Sachen machen.

    
Brian MacKay 08.09.2009 18:36
quelle
0

Ich habe GA in zwei realen Forschungsproblemen benutzt.

Eins war ein Energieoptimierungsproblem (maximiere die Anzahl der aktivierten Geräte, erfülle die verfügbare Energiebeschränkung und die Service-Garantie für jedes Gerät)

Ein anderer war für die Optimierung des Funknetzwerks, wobei der Versorgungsbereich bei einem festen Ausrüstungsbudget maximiert wurde

    
Midhat 30.03.2009 07:46
quelle
0

GA hat einen Hauptnachteil, es arbeitet normalerweise mit der genetischen Geschwindigkeit, also ist es ziemlich riskant, es in einigen ernsten zeitabhängigen Projekten zu verwenden.

    
beermann 09.09.2009 21:14
quelle

Tags und Links