IT用語集 › プログラミング › Theta*

Theta*

プログラミング Svenska → 更新: 2026-10-25

経路をグリッドの8方向に縛らず、任意の角度の線分で結べるようにしたA*の派生アルゴリズム。

グリッド上の素のA*は45度刻みでしか進めない。そのため、中途半端な角度の目標への最短経路は階段状のジグザグになり、あとから平滑化が必要になる。Theta*は探索の最中にこれを解決する。ノードを展開するたびに、そのノードの祖父母から隣接ノードまで遮るものなく見通せるかを調べ、見通せれば中間の一歩を省くのである。得られる経路は短くまっすぐで、人間が実際に歩くような線になる。

Kenny Daniel、Alex Nash、Sven Koenig、Ariel Felnerが導入した(JAIR、2010年)。代償は視線判定で、A*の単純な隣接ノード参照に比べてノードあたりの負荷が重い。Lazy Theta*は、ノードがオープンリストから実際に取り出されるまでその判定を遅らせ、大半を省く。

← 用語集に戻る