4

私は現在、エージェントがボックスを元の位置から特定の目標位置まで押したり引いたりする必要がある人工知能プロジェクトに取り組んでいます。その後、プロジェクトは複数のエージェントを含むように拡張されるため、「高レベル」の目標の作成を担当するスーパーバイザーがあり、エージェントが実際の実装を担当します。

実際には、当面は監督者がボックスをゴール位置に配置する順序を決定する必要があります。実際、ボックスをゴール位置に置くと、別のゴールへの道が妨げられる可能性があります。

この問題を解決するための最初のアプローチは、「カット位置」を検討することです。歩行可能な空間を 2 つのサブセットに分割する場合、特定の位置はカット位置です。そのうちの 1 つにはエージェントがあり、もう 1 つには 1 つ以上のゴールがあります。たとえば、「x」がエージェント、「A」と「B」がボックス、「a」と「b」がそれぞれの目標位置である次のレベルを考えてみましょう。

+++++++++++++++++++++++++++++++++++++++++
x                        a             b+
+++++   +++++++++++++++++++++++++++++++++
    +AB +
    +++++ 

この場合、ゴール「a」の位置はカット位置です。そこにボックスを配置すると、エージェントはゴール「b」に到達できなくなるからです。

カット位置を計算するための高速なアルゴリズムを提案できますか?それは、各カット位置がブロックしているゴールの数を返す可能性がありますか?

4

2 に答える 2

1

領域を無向グラフに入れることができます。この場合、各ノードはマップの位置であり、位置が互いに隣接している場合は 2 つのノードが接続されます。次に、グラフ上でそれらの「カット位置」をマークし、カット位置のボックスによってブロックされるすべてのパスを確認できます。

于 2013-04-17T16:31:30.193 に答える