graph_physarum_path — GRAPH flow op

• Datenarten: matrix → table

• Aufruf: 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) (die Implementierung direkt: 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); aus dem Register: opsgraph.get("graph_physarum_path"))

Verwendung

> Für diesen Operator gibt es noch keine Übersetzung. Es folgt der Originaltext unverändert.

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

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_physarum_maze — py -3.11 examples/poc_physarum_maze.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl · tree_run_length

Gleiche Kategorie (flow)

physarum_route · graph_physarum_transport · physarum_transport_image


*Provenance: physarum_search.py — GRAPH Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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