flow opmatrix → tableimport 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"))Shortest path by the slime mould’s tube dynamics (Tero et al. 2010) on a weighted graph.
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).
py -3.11 examples/poc_physarum_maze.pytable を入力に取れる)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.