強化学習がパスファインディングでめったに使用されないのはなぜですか?


12

由緒ある最短経路グラフ理論アルゴリズムA *およびその後の改善(たとえば、階層注釈付きA *)は、明らかに、ゲーム開発における経路探索に最適な手法です。

代わりに、RLはゲーム空間内でキャラクターを動かすためのより自然なパラダイムであるように思えます。

それでも、強化学習ベースの経路探索エンジンを実装しているゲーム開発者は1人もいません。(これから、パスファインディングにおけるRLの適用が0であるとは推測しません。A*や友人に比べて非常に小さいというだけです。)

理由が何であれ、これらの開発者がRLを認識していないからではありません。RLはゲームエンジンの他の場所で頻繁に使用されるという事実からも明らかです。

この質問は、経路探索においてRLについて意見を述べる口実ではありません。実際、私はA * et al。の暗黙の選好を仮定しています。RLよりも正しいですが、その好みは私には明らかではなく、その理由、特にパスファインディングにRLを使用しようとした人には非常に興味があります。


1
「これらの開発者がRLを知らないからではありません」確かですか?それは大きな仮定のようです。
テトラッド

経路探索でRLに関するリンクまたは論文を共有することをお考えですか?
ファルストロ

3
A *(および関連するアルゴリズム)のさまざまな最適性/境界証明を考えると、RLは経路探索のためにテーブルに何をもたらすと思いますか?

1
関連(これは別の質問にあります):ai-blog.net/archives/000178.html
Tetrad

回答:


14

おもちゃの問題以外からポリシーの有用な一般化を得ることはできず、報酬関数はA *ヒューリスティックのように疑わしく見えるため、RLを使用する見込みは本当にせいぜいA *の結果と同じ結果を得るための、過剰に構築された非効率的な方法ですが、おそらくそれほど良くないでしょう。

これはRLにとって不公平かもしれません。もしそうなら、私はその理由を聞くことに興味がありますが、それを示すものは実際には見ていません。

私たちの多くは、A *が広く採用される前にゲームで経路探索がどのようなものであったかを覚えており、プレイヤーに当時に似たものを与えたり、そうすることによる市場の結果に苦しんだりしません。


1
報酬機能に関する声明に対して+1。そして、いや、それは公正な特性評価だと思います。RLは、その機能に優れている場合がありますが、厳密な経路探索がそのセットに含まれることは期待できません。(この議論からモーションプランニングを意図的に除外していることに注意してください。RLはこの種の問題にうまく適用されています)。
スローバック1986

5

RLについてあまり知らなくても、他の質問であなたの質問に答えようとします。

RLを使用して、ポイントBからポイントAに到達できるかどうかを判断できますか?

RLは、再現性のある一貫したテスト可能なナビゲーション動作を保証できますか?

メモリとCPUのランタイム要件は、A *とどのように比較されますか?同様に、たとえば、ナビゲーションメッシュと比較して、どれだけ事前計算できますか?

動的衝突のある環境でRLはどのように公平になりますか?

RLを正しく理解して実装することと、たとえばステアリング動作をどのくらい難しくするのでしょうか?

RL用の優れたミドルウェアプロバイダーはありますか?

たぶん、これらの質問はあなたの答えに役立つでしょう。


一見すると、A *はRLよりも実装が安く、処理が速く、メモリの消費量が少なく、予測可能性が高いなどのようです。ただし、RLはより現実的な結果を生成する場合があります。
ヤリコンパ

4
それどころか、RLエージェントは最初の学習段階で陽気に非現実的な結果を生成する傾向があります。いくつかの小さなステアリング動作を持つA *は、はるかに自然に見えます。

さて、最終的にはより現実的な結果=)
ジャリコンパ

RLは、本質的に完全な経路探索動作を事前に計算します。A *よりも高速でシンプルですが、より多くのメモリを必要とします。メモリ要件を引き下げようとすると、複雑になったり一貫性が失われたりします。
ドン・レバ

5

私は、RLが「より自然なパラダイム」であるという提案に戸惑っています。強化学習は、グラフ検索のようにクリーンまたは正確に近い場所で問題領域にどのようにマップされるかわかりません。通常、エージェントに学習させたくない-あなたは彼らがすでにルートを知っていると仮定した。代わりに、利用可能な最も直接的なルートを選択して使用し、グラフ検索によりほぼ最適な方法でそれを促進します。RLオフラインを使用して、特定の宛先の特定のノードでとる最適な方向を計算する場合、かなり多くのメモリ*を必要とし、開発者がトレーニング中にすべてのノードが適切に探索されたことを確認してください。そして、そのトレーニングは、グラフがユークリッドの距離の規則に従うことを事前に知っているため、ピタゴラスの方程式で既に非常によく近似できる値を生成します。(もちろん、これはグラフ検索や強化学習が採用されるすべての状況に当てはまるわけではありません。)

(メモリの問題に関して:マップ上に1000個の量子化された位置がある場合、1000個のノードと1000 * M個のエッジ(Mは他のノードから到達可能なノードの平均数です)。少なくとも私が考えているように、強化学習が機能するためには、これらの1000 * Mのエッジごとに1000エントリも必要であり、1000のいずれかのエッジに続くことの報酬値を獲得します。それは大量のデータであり、ループ、迂回、行き止まりを避けるために、そのすべてのビットが合理的に正確でなければなりません。


3

経路探索は比較的「解決された」問題ですが、RLはそうではありません。

A *を使用すると、開発者はヒューリスティックをすばやく作成し、時間の経過とともに改善できます。RL(ここでRLを指すときはQ-Learningについて話します)は、最良の学習率と割引率(ゲームの他の側面に費やす価値のある時間)を計算するのに時間がかかります。


1

それは本当にゲームの種類に依存します。ゲーム内のすべてが静的である場合、A *検索を使用する方が効率的です。ただし、同じエリアで他の人間のプレイヤーが移動している場合、A *検索は失敗が保証されます。A *検索では、他のプレイヤーがどこに向かっているのかわかりません。一方、RLは他のプレイヤーの行動をモデル化し、他のプレイヤーの動きを考慮したより良いパスを見つけることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.