Ich habe einen einfachen genetischen Algorithmus implementiert, um Kurzgeschichten basierend auf Aesop Fabeln zu generieren. Hier sind die Parameter, die ich verwende:Genetischer Algorithmus - neue Generationen werden schlechter
Mutation: Single-Word-Swap-Mutation mit getesteten Rate mit 0,01.
Crossover: Tauschen Sie die Geschichte Sätze an einem bestimmten Punkt. Rate - 0,7
Auswahl: Roulette-Rad Auswahl - https://stackoverflow.com/a/5315710/536474
Fitness-Funktion: 3 verschiedene Funktion. die höchste Punktzahl ist 1,0. Der höchste Fitnesswert ist 3,0.
Populationsgröße: Da bin ich mit 86 Fabeln Aesop, testete ich Populationsgröße 50.
Anfangspopulation: Alle 86 Fabel Satz Aufträge gemischt werden, um einen vollständigen Unsinn zu machen. Und mein Ziel ist es, aus diesen strukturverlorenen Fabeln etwas Sinnvolles zu generieren (zumindest auf einer bestimmten Ebene).
Stoppbedingung: 3000 Generationen. Und die Ergebnisse sind unten:
Dies ist jedoch nach wie vor ein günstiges Ergebnis nicht produzierten. Ich habe die Handlung erwartet, die über die Generationen hinweg geht. Irgendwelche Ideen, warum meine GA schlechtere Ergebnisse erzielt?
Update: Wie Sie alle vorgeschlagen, habe ich Elitismus von 10% der aktuellen Generation auf die nächste Generation kopiert. Ergebnis bleibt gleich:
Wahrscheinlich sollte ich Turnierauswahl verwenden.
Warum erwarten Sie, dass genetische Algorithmen an diesem Problem arbeiten? Sind Ihre Auswahl an Fitnessfunktionen und Mutationen/Crossover kompatibel? –
Die Art, wie ich die Geschichte erzeuge, ist, dass es ein Suchproblem sein kann, das gleichzeitig nach dem besten Inhalt und der besten Struktur des Dokuments sucht, das es produziert. Und GA scheint für diese Aufgabe gut geeignet zu sein. Was meinst du mit kompatibel? – KevinOelen
Wie ich es sehe, haben Frequenzweichen eine extrem geringe Chance, einen Sinn zu ergeben, und Sie brauchen möglicherweise eine außergewöhnlich große Population, um die maximale Fitness durch Anhäufungen von schädlichen Mutationen/Crossovers nicht zu verringern. Es ist viel einfacher, Artikel darüber zu schreiben, wie wunderbar genetische Algorithmen funktionieren würden, wenn sie arbeiten würden, anstatt sie dazu zu bringen, an nichttrivialen Problemen zu arbeiten. Haben Sie Ihr Projekt auf einem früheren Erfolg genetischer Algorithmen oder optimistischen Spekulationen basiert? –