fullseye

homotopy_shortest_paths — DRIVE braidpath op

使い方

格子(True = 走れる、4 近傍)の上で、start から goal へのホモトピー類の違う最短経路を短い順に k 本。

状態 = (マス, 組紐の Dynnikov 座標)。障害物の点を動かない紐として、1 手ごとに交差の文字を足して座標を更新する (座標は類の完全な不変量なので、同じ (マス, 座標) は 1 回しか開かない)。Dijkstra がこの「類で持ち上げた」格子を 費用の順に開くので、goal に新しい座標で着いた順が、類ごとの最短経路の短い順になる。

Parameters

obstacles : 穴の代表の点 (M, 2)。省略すると :func:grid_hole_points(外周に触れない塞がりの成分ごとに 1 点)。 max_states / max_cost : 開く状態の数・費用の上限(類は無限にある —— 穴のまわりを何周でも回れる)。

Returns: dict paths(各類の (L, 2) の (row, col) の列、短い順)、costs、words(障害物と合わせた組紐語)、 keys、obstacles、states(開いた状態の数)、complete(k 本そろったか)。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

同カテゴリ(braidpath)

braid_from_trajectories · braid_reduce · braid_artin_images · dynnikov_coordinates · dynnikov_act · braid_equivalent · homotopy_class_compare · pairwise_winding


Provenance: braidpath.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.