Handlungsorientierte KI: Ausweichalgorithmus braucht viel Zeit


9

Ausweichen, der Prozess des Ausweichens, ist das Gegenteil von Jagen. Anstatt zu versuchen, die Entfernung zum Ziel zu verringern, versuchen wir, sie zu maximieren.

Das gleichzeitige Ausweichen mehrerer Objekte nimmt viel Zeit in Anspruch. Ich benutze hier BFS. Welche Algorithmen sollte ich verwenden, um es schneller zu machen?


2
Ich denke du meinst "Ausweichen"
BigStuuu

@ BigStuuu, ja, "Ausweichen"
Md Mahbubur Rahman

Antworten:


12

Ich schlage vor, Sie verwenden Lenkverhalten , um diese Verhaltensweisen zu simulieren. Auf dieser Seite finden Sie ein Beispiel für ein auf diese Weise implementiertes Ausweichverhalten.

Die Grundidee ist, dass Sie nur einfache Eigenschaften wie die Positions- und Geschwindigkeitsvektoren Ihrer Beute und Raubtiere berücksichtigen, um die gewünschte Änderung dieser Eigenschaften in linearer Zeit zu berechnen. Dies führt zu einem reaktionsschnellen und dennoch realistischen Verhalten.

Dies geht jedoch zu Lasten, wenn andere Faktoren nicht berücksichtigt werden, wie z. B. übergeordnete Ziele (z. B. die Position von Power-Ups) oder die Position statischer Hindernisse, wie Sie dies bei der Wegfindung tun würden. Diese können berücksichtigt werden, indem der Ansatz des Lenkverhaltens beispielsweise mit potenziellen Feldern (siehe Verwenden potenzieller Felder in einem Echtzeit-Strategiespielszenario (Lernprogramm) ) oder mit der Pfadfindung (z. B. Korridorkartenmethode ) kombiniert wird . Im letzteren Fall möchten Sie die Aktualisierungshäufigkeit verringern (und darauf vertrauen, dass das Lenkverhalten etwaige Fehler kompensiert) oder eine teilweise Neuplanung durchführen, möglicherweise kombiniert mit einem hierarchischeren Ansatz (z. B. nahezu optimale hierarchische Pfadfindung) (HPA *) .

Wenn Sie eine genauere Antwort wünschen, verbessern Sie Ihre Frage mit weiteren Details zu Ihrem Problem. Beschreiben Sie beispielsweise, worum es in Ihrem Spiel geht und wie viele NPCs wir sprechen.


Sie können auch die konkurrierende Zielentwicklung mit Fuzzy-Logik behandeln. Wenn die Beute also vor dem Raubtier flieht, kann sie sich auch in Richtung einer Höhle bewegen (oder sich einschalten oder was auch immer). Dies kann zu interessanten Situationen führen, in denen das Raubtier zwischen der Höhle und der Beute steht und die Beute zögert, hin und her zu fliehen Wenn der Raubtier einer anderen Beute nachgeht, bewegt er sich in einem weiten Bogen um den Raubtier, um die Höhle zu erreichen. Alles mit begrenzten zusätzlichen Kosten. (Unterhöhle für etwas Mobiles, wie einen Sanitäter auf einem Schlachtfeld, um zu sehen, warum potenzielle Felder hier keine gute Lösung sind.)
DampeS8N
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.