3 Stimmen

Wie verwendet man genetische Algorithmen für tatsächliche KI?

Ich habe mich mit genetischen Algorithmen beschäftigt. Mein Ziel ist es, eine einfache Simulation zu entwickeln, bei der der Spieler (nicht von externen menschlichen Spielern gesteuert) Hindernissen ausweicht und sich zu den Belohnungen bewegt.

Ich verstehe, dass genetische Algorithmen in die Evolutionäre Algorithmen fallen, was für dieses Szenario großartig ist, weil ich dann keine Trainingsdaten bereitstellen muss. Es wird von selbst lernen.

In den Einführungen, die ich gelesen habe, geht es um Populationen, die als binäre Zeichenfolgen codiert sind (denke ich), ich sehe nicht, wie Populationen und die Verfeinerung von Populationen zur Erzeugung neuer Generationen mit diesem Problemfeld zusammenhängen.

Kann mir bitte jemand erklären

4voto

PureW Punkte 4258

Einfach ausgedrückt verwenden Sie Ihren genetischen Algorithmus, um die Regeln zu generieren, die das Verhalten der KI bestimmen. Genau wie diese Regeln codiert und interpretiert werden, hängt davon ab, was Sie erreichen möchten.

Vielleicht möchten Sie, dass der genetische Algorithmus Gewichte für die Verbindungen eines neuronalen Netzwerks generiert, das wiederum das Verhalten des Spielers steuert. In diesem Fall kodieren Sie die Gewichte als binären String.

Ein weiteres Beispiel wäre, den binären String als Entscheidungsbaum zu interpretieren.

Wenn Sie Ihre Darstellung codiert haben, wird Ihr genetischer Algorithmus Individuen mit unterschiedlichen Genen oder binären Strings generieren. Diese Individuen werden dann einen Fitnesswert zugewiesen bekommen, je nachdem wie gut sie abschneiden, und der GA wird hoffentlich im Laufe der Zeit eine gute KI finden (gemäß Ihrer Fitnessfunktion und Repräsentation).

BEARBEITEN: Angenommen, Sie haben das untenstehende Netzwerk mit drei Verbindungen und haben sich dafür entschieden, jedes Gewicht mit vier Bits zu codieren. Dann könnte Ihr binärer String, in seiner einfachsten Codierung, diese 3 Gewichte verkettet sein.

Bildbeschreibung hier eingeben

0voto

Chad Brewbaker Punkte 2465

Schauen Sie sich Dan Ashlocks Tartarus Papiere an.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X