Frage

habe ich ein wenig GP (Anmerkung: sehr wenig) Arbeit in der Schule und wurde mit ihm vor kurzem herumgespielt. Meine Frage ist, in Bezug auf die anfänglichen Laufeinstellungen (Populationsgröße, die Anzahl der Generationen, min / max Tiefe von Bäumen, min / max Tiefe von Anfang Bäumen, Prozentsatz auf der Verwendung für verschiedene Wiedergabeoperationen, etc.). Was ist die normale Praxis, diese Parameter zur Einstellung? Welche Papiere / sites verwenden Menschen als eine gute Führung?

War es hilfreich?

Lösung

Sie werden feststellen, dass diese auf Ihrem Problembereich hängen sehr stark -. Insbesondere die Art der Fitness-Funktion, Ihre Implementierung DSL usw.

Einige persönliche Erfahrung:

  • Große Populationsgrößen scheinen Arbeit besser, wenn Sie haben eine laute Fitness Funktion, ich denke, das ist, weil das Wachstum ist von Untergruppen der Bevölkerung über aufeinanderfolgende Generationen wirken gibt weitere Probenahme von die Fitness-Funktion. Ich in der Regel verwenden 100 für weniger laute / deterministische Funktionen, 1000+ für laut.
  • Für Anzahl von Generationen ist es am besten zu messen Verbesserungen in der Fitness-Funktion und stoppen, wenn es erfüllt Ihre Zielkriterien. Ich normalerweise ein paar hundert Generationen laufen und sehen, welche Art von Antworten kommen aus, wenn es keine Verbesserung zeigt dann werden Sie wahrscheinlich an anderer Stelle ein Problem haben.
  • Baum Tiefe Anforderungen sind wirklich abhängig von Ihrer DSL. Ich versuche manchmal ein zu tun Implementierung ohne explizite Grenzen aber penalize oder beseitigen Programme, die zu lange laufen (was wahrscheinlich ist, was Sie kümmern sich um wirklich ....). Ich habe auch Gesamtknotenzahlen von ~ 1000 als sehr nützlich harten Grenzen gefunden.
  • Die Prozentsätze für unterschiedliche Mutation / Rekombinationsoperatoren scheinen nicht Alles, was viel wichtig. So lange wie Sie haben eine umfassende Reihe von Mutationen, jeder halbwegs ausgewogen Verteilung wird in der Regel arbeiten. Ich glaube, der Grund dafür ist, dass Sie im Grunde eine Suche nach günstigen Verbesserungen sind dabei das Hauptziel nur ist sicher, dass die Studie Verbesserungen einigermaßen gut über alle Möglichkeiten verteilt zu machen.

Andere Tipps

Warum versuchen Sie nicht einen genetischen Algorithmus unter Verwendung dieser Parameter für Sie zu optimieren? :)

kann kein Problem in der Informatik sein gelöst, mit einer weiteren Schicht aus indirection (außer zu viele Schichten Indirektionsebene.)

-David J. Wheeler

Als ich begann, mich in Genetic Algorithms ich die gleiche Frage hatte.

Ich wollte, um Daten variating Parameter auf ein sehr einfaches Problem und Link gegeben Operatoren und Parameter-Werten (wie Mutationsraten, etc.) zu Ergebnissen, die in Abhängigkeit von der Bevölkerungsgröße etc.

Sobald ich immer in GA begann ich ein bisschen mehr dann realisiert, dass die enorme Anzahl von Variablen gegeben dies eine große Aufgabe ist, und Verallgemeinerung ist extrem schwierig.

spricht von meiner (begrenzten) Erfahrung, wenn Sie sich entscheiden, um das Problem zu vereinfachen und verwenden, um einen festen Weg-Crossover zu implementieren, die Auswahl und spielen nur mit Populationsgröße und Mutationsrate (in einer bestimmten Art und Weise implementiert) versuchen, mit zu kommen allgemeine Ergebnisse werden Sie schnell erkennen, dass zu viele Variablen, denn am Ende des Tages die Anzahl der Generationen noch ins Spiel sind, nach dem statistisch man ein anständiges Ergebnis erhalten wird (wie auch immer Sie definieren Wanna anständig ) offensichtlich immer noch in erster Linie auf das Problem, das Sie lösen abhängig und damit auch auf die Genom Größe (die das gleiche Problem auf unterschiedliche Weise wird natürlich zu unterschiedlichen Ergebnissen in Bezug auf die Wirkung von bestimmten GA-Parameter führen!).

Es ist sicherlich möglich, eine Reihe von Richtlinien zu entwerfen - wie die (seltene, aber gut) Literatur beweist - aber Sie werden in der Lage, die Ergebnisse effektiv statistisch zu verallgemeinern nur, wenn das Problem bei der Hand kann in den exakt gleichen codiert werden Art und Weise und die Fitness in eine irgendwie äquivalenten Weise ausgewertet (die mehr als oft nicht bedeutet, dass Sie mit einem sehr ähnlichen Problem ealing).

Werfen Sie einen Blick auf Koza umfangreiche Folianten zu diesen Themen.

Es gibt sehr unterschiedliche Denkschulen auch in der GP-Gemeinschaft - Einige Bezug Populationen in der (niedrig) Tausende als ausreichend, während Koza und andere oft halten nicht, ob verdient einen GP Lauf mit weniger als eine Million Menschen in der GP-Bevölkerung zu beginnen; -)

Wie bereits erwähnt, bevor es auf Ihrem persönlichen Geschmack und Erfahrungen abhängig, Ressourcen und wahrscheinlich das GP-System verwendet!

Cheers, Jan

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top