flow op• データ種: matrix → table
• 呼び出し: import fullseye as fs; fs.ledger.graph_physarum_path(lengths, source=0, sink=None, dt=0.1, max_iters=5000, tol=1e-06, frac=0.5) (実装を直接呼ぶなら import physarum_search; physarum_search.graph_physarum_path(lengths, source=0, sink=None, dt=0.1, max_iters=5000, tol=1e-06, frac=0.5)、台帳から引くなら opsgraph.get("graph_physarum_path"))
粘菌(Tero 2010)の管の力学で重み付きグラフの最短路を解く: 単位流量を流し、各管の導電度を |流量| へ寄せる。最短路が一意なら導電度はその指示関数に収束する(Bonifaci 2012)。導電度・流量の行列、道、道の長さ、流れの長さを返す。
> 以下の詳細説明は原文のままです —— 要約と見出しは訳出済み。
lengths is a symmetric (n, n) matrix of tube lengths (0 = no tube, diagonal 0). A unit flow is pushed from source to sink (default n - 1) through tubes of conductance D_e; the pressures solve the weighted Laplacian (Kirchhoff), the flow in a tube is Q_e = D_e (p_u - p_v) / L_e, and each tube adapts dD_e/dt = |Q_e| - D_e (explicit Euler, step dt). Bonifaci, Mehlhorn and Varma (2012) prove that with a unique shortest path the conductances converge to its indicator: D_e -> 1 on it, 0 off it. The path is read by following, from the source, the tube that carries the most flow out of each node (a potential flow has no cycle); it must be at least frac of the thickest tube all along, else the run is refused as not converged.
Returns conductance and flow ((n, n) matrices, flow antisymmetric), path (node indices source → sink), path_length (sum of the tube lengths along it), flow_length = sum |Q_e| L_e (the length of the unit flow; it is >= path_length for every unit flow and equal only when all flow rides shortest paths), iters, converged (max |dD| fell below tol), history (max |dD| per iteration).
Raises ValueError: matrix not square / symmetric / finite / non-negative, self-loops; bad node indices or source == sink; sink unreachable; dt outside (0, 1]; no path survived the threshold (not converged).
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_physarum_maze — py -3.11 examples/poc_physarum_maze.py
table を入力に取れる)graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl · tree_run_length
flow)physarum_route · graph_physarum_transport · physarum_transport_image
*Provenance: physarum_search.py — GRAPH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.