graph_physarum_path — GRAPH 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"))

사용법

> 이 연산자의 설명은 아직 번역이 없습니다. 원문을 그대로 싣습니다.

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).

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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