* Add temporal graph evolution & RuVector integration research GOAP Agent 8 output: 1,528-line SOTA research document covering temporal graph models (TGN, JODIE, DyRep), RuVector graph memory design, mincut trajectory tracking with Kalman filtering, event detection pipelines, compressed temporal storage, cross-room transition graphs, and a 5-phase integration roadmap. Part of RF Topological Sensing research swarm (10 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add transformer architectures for graph sensing research GOAP Agent 4 output: 896-line SOTA document covering Graph Transformers (Graphormer, SAN, GPS, TokenGT), Temporal Graph Transformers (TGN, TGAT, DyRep), ViT for RF spectrograms, transformer-based mincut prediction, positional encoding for RF graphs, foundation models for RF sensing, and efficient edge deployment with INT8 quantization. Part of RF Topological Sensing research swarm (10 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add attention mechanisms for RF sensing research GOAP Agent 3 output: 1,110-line document covering GAT for RF graphs, self-attention for CSI sequences, cross-attention multi-link fusion, attention-weighted differentiable mincut, spatial node attention, antenna-level subcarrier attention, and efficient attention variants (linear, sparse, LSH, S4/Mamba). 8 ASCII architecture diagrams. Part of RF Topological Sensing research swarm (10 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add sublinear mincut algorithms research GOAP Agent 5 output: 698-line document covering classical mincut complexity, sublinear approximation (sampling, sparsifiers), dynamic mincut with lazy recomputation hybrid, streaming sketch algorithms, Benczur-Karger sparsification, local partitioning (PageRank-guided cuts), randomized methods reliability analysis, and Rust implementation with const-generic RfGraph, zero-alloc Stoer-Wagner, SIMD batch updates. Part of RF Topological Sensing research swarm (10 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add CSI edge weight computation research GOAP Agent 2 output: ~700-line document covering CSI feature extraction, coherence metrics (cross-correlation, mutual information, phasor coherence), multipath stability scoring (MUSIC, ESPRIT, ISTA), temporal windowing (EMA, Welford, Kalman), noise robustness (phase noise, AGC, clock drift), edge weight normalization, and implementation architecture showing 32KB memory for 120 edges within ESP32-S3 capability. Part of RF Topological Sensing research swarm (10 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add contrastive learning for RF coherence research GOAP Agent 7 output: 1,226-line document covering SimCLR/MoCo/BYOL for CSI, AETHER-Topo dual-head extension, coherence boundary detection with multi-scale analysis, delta-driven updates (2-12x efficiency), self-supervised pre-training protocol, triplet networks for 5-state edge classification, and MERIDIAN cross-environment transfer with EWC continual learning. Part of RF Topological Sensing research swarm (12 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add resolution and spatial granularity analysis research GOAP Agent 9 output: 1,383-line document covering Fresnel zone analysis, node density vs resolution (16-node/5m room → 30-60cm), Cramer-Rao lower bounds with Fisher Information Matrix, graph cut resolution theory, multi-frequency enhancement (6cm coherent dual-band limit), RF tomography comparison, experimental validation protocols, and resolution scaling laws (8.8cm theoretical limit). Part of RF Topological Sensing research swarm (12 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add RF graph theory and minimum cut foundations research GOAP Agent 1 output: Graph-theoretic foundations covering max-flow/min-cut for RF (Ford-Fulkerson, Stoer-Wagner, Karger), RF as dynamic graph with CSI coherence weights, topological change detection via Fiedler vector and Cheeger inequality, dynamic graph algorithms, comparison to classical RF sensing, formal mathematical framework, and 9 open research questions. Part of RF Topological Sensing research swarm (12 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add ESP32 mesh hardware constraints research GOAP Agent 6 output: ESP32 CSI capabilities (52/114 subcarriers), 16-node mesh topology with 120 edges, TDM synchronized sensing (3ms slots), computational budget (Stoer-Wagner uses 0.07% of one core), channel hopping, power analysis (0.44W/node), dual-core firmware architecture, and edge vs server computing with 100x data reduction on-device. Part of RF Topological Sensing research swarm (12 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add system architecture and prototype design research GOAP Agent 10 output: End-to-end architecture with pipeline diagrams, existing crate integration mapping, new rf_topology module design (DDD aggregate roots), 100ms latency budget breakdown, 3-phase prototype plan (4-node POC → 16-node room → 72-node multi-room), benchmark design with 8 metrics, ADR-044 draft, and Rust trait definitions (EdgeWeightComputer, TopologyGraph, MinCutSolver, BoundaryInterpolator). Part of RF Topological Sensing research swarm (12 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add quantum sensing and quantum biomedical research documents Agent 11: Quantum-level sensors (729 lines) — NV centers, SQUIDs, Rydberg atoms, quantum illumination, quantum graph theory (walks, spectral, QAOA), hybrid classical-quantum architecture, quantum ML (VQC, kernels, reservoir computing), NISQ applications (D-Wave, VQE), hardware roadmap. Agent 12: Quantum biomedical sensing (827 lines) — whole body biomagnetic mapping, neural field imaging without electrodes, circulation sensing, cellular EM signaling, non-contact diagnostics, coherence-based diagnostics (disease as coherence breakdown), neural interfaces, multimodal observatory, room-scale ambient health monitoring, graph-based biomedical analysis. Part of RF Topological Sensing research swarm (12 agents). https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add research index synthesizing all 12 documents (14,322 lines) Master index for RF Topological Sensing research compendium covering: graph theory foundations, CSI edge weights, attention mechanisms, transformers, sublinear algorithms, ESP32 hardware, contrastive learning, temporal graphs, resolution analysis, system architecture, quantum sensors, and quantum biomedical sensing. Includes key findings, proposed ADRs (044, 045), and 5-phase implementation roadmap. https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add SOTA neural decoding landscape and 10 application domains research - Doc 21: Comprehensive SOTA map (2023-2026) of brain sensors, decoders, and visualization systems with RuVector/mincut positioning analysis - Doc 22: Ten application domains for brain state observatory including disease detection, BCI, cognitive monitoring, mental health diagnostics, neurofeedback, dream reconstruction, cognitive research, HCI, wearables, and brain network digital twins with strategic roadmap https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add NV diamond neural magnetometry research document (13/22) Comprehensive 600+ line document covering NV center physics, neural magnetic field sources, sensor architecture, SQUID comparison, signal processing pipeline, RuVector integration, and development roadmap. https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add ruv-neural workspace Cargo.toml with 12 crate definitions Workspace structure for the rUv Neural brain topology analysis system. 12 mix-and-match crates with shared dependencies including RuVector integration, petgraph, rustfft, and WASM/ESP32 support. https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add ruv-neural crate ecosystem — 12 mix-and-match crates (WIP) Initial implementation of the rUv Neural brain topology analysis system: - ruv-neural-core: Core types, traits, errors, RVF format (compiles) - ruv-neural-sensor: NV diamond, OPM, EEG sensor interfaces (in progress) - ruv-neural-signal: DSP, filtering, spectral, connectivity (in progress) - ruv-neural-graph: Brain connectivity graph construction (in progress) - ruv-neural-mincut: Dynamic minimum cut topology analysis (in progress) - ruv-neural-embed: RuVector graph embeddings (in progress) - ruv-neural-memory: Persistent neural state memory + HNSW (compiles) - ruv-neural-decoder: Cognitive state classification + BCI (in progress) - ruv-neural-esp32: ESP32 edge sensor integration (compiles) - ruv-neural-wasm: WebAssembly browser bindings (in progress) - ruv-neural-viz: Visualization + ASCII rendering (in progress) - ruv-neural-cli: CLI tool (in progress) Agents still writing remaining modules. Next: fix compilation, tests, push. https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Fix ruv-neural crate compilation: all 12 crates build and 1200+ tests pass - Fix node2vec.rs type inference error (Vec<_> → Vec<Vec<f64>>) - Fix artifact.rs with full filter-based detection implementations - Fix signal crate ConnectivityMetric re-export and trait method names - Fix embed crate EmbeddingGenerator trait implementations - Complete spectral, topology, and node2vec embedders with tests - Complete preprocessing pipeline with sequential stage processing - All workspace crates compile cleanly, 0 test failures https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * Add ruv-neural-cli README https://claude.ai/code/session_01DGUAowNScGVp88bK2eiuRv * fix: convert desktop icons from RGB to RGBA for Tauri build Tauri's generate_context!() macro requires RGBA PNG icons. All 5 icon files (32x32.png, 128x128.png, 128x128@2x.png, icon.icns, icon.ico) were RGB-only, causing a proc macro panic on Linux builds. Fixes #200 Co-Authored-By: claude-flow <ruv@ruv.net> * Add Subcarrier Manifold and Vitals Oracle modules for 3D visualizations - Implemented Subcarrier Manifold to visualize amplitude data as a 3D surface with height and age attributes. - Created Vitals Oracle to represent vital signs using toroidal rings and particle trails, incorporating breathing and heart rate dynamics. - Both modules utilize Three.js for rendering and include custom shaders for visual effects. * feat: complete ruv-neural implementation — physics models, security, witness verification Replace all stubs/mocks with production physics-based signal models: - NV Diamond: ODMR Lorentzian dip, 1/f pink noise (Voss-McCartney), brain oscillations - OPM: SERF-mode, 50/60Hz powerline harmonics, full cross-talk compensation via Gaussian elimination with partial pivoting - EEG: 5 frequency bands, eye blink artifacts (Fp1/Fp2), muscle artifacts, impedance-based thermal noise floor - ESP32 ADC: ring-buffer reader with calibration signal generator, i16 clamp Security hardening (SEC-001 through SEC-005): - RVF bounded allocation (16MB metadata, 256MB payload) - sample_rate validation (>0, finite) - Signal NaN/Inf rejection - ADC resolution_bits overflow clamp - HNSW HashSet visited tracking + bounds checks Performance optimizations (PERF-001 through PERF-005): - 67x fewer FFTs via pre-computed analytic signals - VecDeque O(1) eviction in memory store - Thread-local FFT planner caching - BrainGraph::validate() for edge/weight integrity - Eigenvalue convergence early termination Ed25519 witness verification system: - 41 capability attestations across all 12 crates - SHA-256 digest + Ed25519 signature - CLI commands: `witness --output` and `witness --verify` README: ethics warning, hardware parts list (AliExpress), assembly instructions Co-Authored-By: claude-flow <ruv@ruv.net> * docs: add crates.io badges and install instructions to ruv-neural README Add version badges linking to each published crate on crates.io, cargo add instructions, and crate search link in the Crate Map table. Co-Authored-By: claude-flow <ruv@ruv.net> --------- Co-authored-by: Claude <noreply@anthropic.com>
41 KiB
Graph-Theoretic Foundations for RF Topological Sensing Using Minimum Cut
Research Document RD-001 Date: 2026-03-08 Status: Draft Authors: RuView Research Team Related ADRs: ADR-029 (RuvSense Multistatic Sensing), ADR-017 (RuVector Signal Integration)
Abstract
This document establishes the mathematical and algorithmic foundations for a graph-theoretic approach to RF sensing using minimum cut decomposition. We model a mesh of 16 ESP32 WiFi nodes as a weighted graph where edges represent TX-RX link pairs and edge weights encode CSI (Channel State Information) coherence. When physical objects or people perturb the RF field, edge weights destabilize non-uniformly, and minimum cut algorithms reveal the topological boundary of the perturbation. This approach — which we term RF topological sensing — differs fundamentally from classical RF localization techniques (RSSI triangulation, fingerprinting, CSI-based positioning) in that it detects coherence boundaries rather than estimating positions. We develop the formal mathematical framework, survey relevant algorithms from combinatorial optimization and spectral graph theory, and identify open research questions for this largely unexplored domain.
Table of Contents
- Introduction
- Mathematical Framework
- Max-Flow/Min-Cut Theorem for RF Networks
- RF Mesh as Dynamic Weighted Graph
- Topological Change Detection via Spectral Methods
- Dynamic Graph Algorithms for Real-Time RF Sensing
- Comparison to Classical RF Sensing
- Open Research Questions
- Conclusion
- References
1. Introduction
Consider 16 ESP32 nodes deployed in a room, each capable of transmitting and receiving WiFi CSI frames. Every ordered TX-RX pair yields a channel measurement — amplitude and phase across OFDM subcarriers. In the absence of perturbation, these measurements exhibit stable coherence patterns determined by room geometry, multipath structure, and hardware characteristics.
When a person enters the room, they scatter, absorb, and reflect RF energy along certain propagation paths. The key insight is that this perturbation is spatially localized: only links whose Fresnel zones intersect the person's body experience significant coherence degradation. The affected links form a connected subgraph whose boundary — the set of edges connecting "disturbed" and "undisturbed" regions of the link graph — constitutes a topological signature of the perturbation.
We propose that minimum cut algorithms are the natural computational tool for extracting this boundary. The minimum cut of a graph partitions its vertices into two sets such that the total weight of edges crossing the partition is minimized. When edge weights encode coherence (high weight = stable link), the minimum cut passes through the destabilized edges, precisely identifying the perturbation boundary.
This document develops this idea rigorously across three axes:
- Algorithmic: Which min-cut algorithms are suitable for real-time RF sensing?
- Spectral: How do eigenvalue methods complement combinatorial min-cut?
- Comparative: Why is topological sensing fundamentally different from position estimation?
1.1 Notation Conventions
Throughout this document we use the following conventions:
| Symbol | Meaning |
|---|---|
G = (V, E, w) |
Weighted undirected graph |
n = |V| |
Number of vertices (nodes), here n = 16 |
m = |E| |
Number of edges (TX-RX links), here m <= n(n-1)/2 = 120 |
w: E -> R+ |
Edge weight function (CSI coherence) |
L |
Graph Laplacian matrix |
D |
Degree matrix |
A |
Adjacency (weight) matrix |
lambda_k |
k-th smallest eigenvalue of L |
v_k |
Eigenvector corresponding to lambda_k (Fiedler vector when k=2) |
C(S, V\S) |
Cut capacity: sum of weights crossing partition (S, V\S) |
2. Mathematical Framework
2.1 Graph Definition
We define the RF sensing graph as:
G = (V, E, w)
where:
-
V = {v_1, v_2, ..., v_n} is the set of ESP32 nodes. In our deployment, n = 16.
-
E ⊆ V × V is the set of edges. Each edge e = (v_i, v_j) represents a bidirectional TX-RX link between nodes i and j. For a fully connected mesh of 16 nodes, |E| = C(16,2) = 120 edges.
-
w: E → R≥0 is the edge weight function. We define w(e) as the CSI coherence metric for edge e, detailed in Section 2.3.
2.2 Adjacency and Laplacian Matrices
The weighted adjacency matrix A ∈ R^{n×n} is defined as:
A[i,j] = w(v_i, v_j) if (v_i, v_j) ∈ E
A[i,j] = 0 otherwise
The degree matrix D ∈ R^{n×n} is diagonal with:
D[i,i] = Σ_j A[i,j]
The graph Laplacian L is:
L = D - A
The Laplacian has the fundamental property that for any vector x ∈ R^n:
x^T L x = Σ_{(i,j) ∈ E} w(i,j) * (x_i - x_j)^2
This quadratic form measures the "smoothness" of x with respect to the graph structure. Functions that vary slowly across heavily-weighted edges have small Laplacian quadratic form.
The normalized Laplacian is:
L_norm = D^{-1/2} L D^{-1/2} = I - D^{-1/2} A D^{-1/2}
Its eigenvalues lie in [0, 2], making spectral comparisons across different graph sizes more meaningful.
2.3 CSI Coherence as Edge Weight
For each TX-RX pair (v_i, v_j), we observe a CSI vector h_{ij}(t) ∈ C^K at time t, where K is the number of OFDM subcarriers (typically K = 52 for 802.11n on ESP32).
We define the temporal coherence over a sliding window of T frames as:
γ_{ij}(t) = | (1/T) Σ_{τ=0}^{T-1} h_{ij}(t-τ) / |h_{ij}(t-τ)| |
This is the magnitude of the average normalized CSI phasor. When the channel is static, phase vectors align and γ → 1. When the channel fluctuates (due to movement in the Fresnel zone), phases decorrelate and γ → 0.
The subcarrier coherence provides a frequency-domain view:
ρ_{ij}(t) = |corr(|h_{ij}(t)|, |h_{ij}(t-1)|)|
where corr denotes the Pearson correlation across subcarrier amplitudes.
The composite edge weight is:
w(v_i, v_j) = α * γ_{ij}(t) + (1 - α) * ρ_{ij}(t)
where α ∈ [0,1] is a mixing parameter (empirically α ≈ 0.6 works well).
Key property: High w means a stable, unperturbed link. Low w means the link's Fresnel zone is occupied by a scatterer.
2.4 Cut Definitions
A cut of G is a partition of V into two non-empty disjoint sets S and S̄ = V \ S. The capacity (or weight) of the cut is:
C(S, S̄) = Σ_{(u,v) ∈ E : u ∈ S, v ∈ S̄} w(u, v)
The global minimum cut (or simply mincut) is:
mincut(G) = min_{∅ ⊂ S ⊂ V} C(S, S̄)
For a source-sink pair (s, t), the minimum s-t cut is:
mincut(s, t) = min_{S : s ∈ S, t ∈ S̄} C(S, S̄)
The normalized cut (Shi-Malik, 2000) penalizes imbalanced partitions:
Ncut(S, S̄) = C(S, S̄) / vol(S) + C(S, S̄) / vol(S̄)
where vol(S) = Σ_{v ∈ S} d(v) is the volume (total degree) of S.
2.5 Multi-way Cuts and k-Partitioning
For detecting multiple simultaneous perturbations (e.g., two people in different parts of the room), we generalize to k-way cuts:
kcut(G) = min partition V into S_1, ..., S_k of Σ_{i<j} C(S_i, S_j)
The k-way minimum cut problem is NP-hard for general k, but spectral relaxation provides practical approximate solutions via the first k eigenvectors of L.
3. Max-Flow/Min-Cut Theorem for RF Networks
3.1 The Max-Flow/Min-Cut Theorem
The Max-Flow/Min-Cut Theorem (Ford and Fulkerson, 1956) is one of the foundational results in combinatorial optimization:
Theorem: In a flow network with source s and sink t, the maximum flow from s to t equals the capacity of the minimum s-t cut.
max_flow(s, t) = mincut(s, t)
This duality is profound for RF sensing: the minimum cut capacity tells us the "bottleneck" of information flow between two regions of the sensor mesh. When a person bisects the mesh, they reduce this bottleneck by degrading the links they occlude.
3.2 Ford-Fulkerson and Augmenting Paths
The Ford-Fulkerson method (1956) computes max-flow (and hence min-cut) by repeatedly finding augmenting paths from s to t and pushing flow along them.
Algorithm sketch:
1. Initialize flow f = 0 on all edges
2. While there exists an augmenting path P from s to t in the residual graph:
a. Find bottleneck capacity: δ = min_{e ∈ P} (capacity(e) - f(e))
b. Augment: for each e ∈ P, f(e) += δ
3. Return f (max flow) and the reachable set from s in residual graph (min cut)
Complexity: O(m * max_flow) for integer capacities. For real-valued coherence weights, this must be combined with Edmonds-Karp (BFS-based path selection) for O(nm^2) worst case, or Dinic's algorithm for O(n^2 * m).
RF application: Ford-Fulkerson is useful when we want the minimum s-t cut between a specific pair of node groups — for example, asking "what is the weakest coherence boundary separating the north wall sensors from the south wall sensors?"
3.3 Stoer-Wagner Algorithm for Global Minimum Cut
For RF topological sensing, we typically want the global minimum cut — the weakest boundary in the entire mesh — without pre-specifying source and sink. The Stoer-Wagner algorithm (1997) computes this efficiently.
Algorithm:
STOER-WAGNER(G = (V, E, w)):
best_cut = ∞
while |V| > 1:
(s, t, cut_weight) = MINIMUM_CUT_PHASE(G)
if cut_weight < best_cut:
best_cut = cut_weight
best_partition = ({t}, V \ {t}) // record the cut
G = CONTRACT(G, s, t) // merge s and t into a single vertex
return best_cut, best_partition
MINIMUM_CUT_PHASE(G):
A = {arbitrary start vertex}
while A ≠ V:
add to A the vertex v ∈ V \ A most tightly connected to A
// i.e., v = argmax_{u ∈ V\A} Σ_{a ∈ A} w(u, a)
s = second-to-last vertex added
t = last vertex added
return (s, t, w(t)) // w(t) = Σ_{a ∈ A\{t}} w(t, a)
Complexity: O(nm + n^2 log n) using a Fibonacci heap, or O(nm log n) with a binary heap. For our n = 16, m = 120 mesh, this is trivially fast — roughly 16 phases of 16 vertex additions = 256 operations.
Why Stoer-Wagner is ideal for RF sensing:
- No source/sink required: The algorithm finds the global minimum cut, which corresponds to the weakest coherence boundary in the mesh.
- Deterministic: Produces the exact minimum cut, not an approximation.
- Efficient for small dense graphs: With n = 16, Stoer-Wagner runs in microseconds, well within real-time constraints.
- Returns the partition: We get both the cut weight and the vertex partition, directly telling us which nodes are on each side of the perturbation boundary.
3.4 Karger's Randomized Algorithm
Karger's contraction algorithm (1993) provides a probabilistic approach:
Algorithm:
KARGER(G = (V, E, w)):
while |V| > 2:
select edge e = (u, v) with probability proportional to w(e)
CONTRACT(G, u, v)
return the cut defined by the two remaining super-vertices
A single run returns the minimum cut with probability >= 2/n^2. Repeating O(n^2 log n) times and taking the minimum achieves high probability of correctness.
Complexity: O(n^2 m) per run, O(n^4 m log n) total. Karger-Stein improves this to O(n^2 log^3 n).
RF application: Karger's algorithm has an interesting property for RF sensing: by running it multiple times, we obtain not just the minimum cut but a distribution over near-minimum cuts. This distribution reveals:
- The "rigidity" of the topological boundary: if most runs return the same cut, the boundary is well-defined.
- Alternative boundaries: near-minimum cuts may correspond to secondary perturbation regions.
- Confidence intervals: the fraction of runs returning a given cut estimates the probability that it is the true minimum.
3.5 Gomory-Hu Trees for All-Pairs Min-Cut
The Gomory-Hu tree (1961) is a weighted tree T on the same vertex set V such that for every pair (s, t), the minimum s-t cut in G equals the minimum weight edge on the unique s-t path in T.
Construction: Requires n-1 max-flow computations.
RF application: Pre-computing the Gomory-Hu tree for the 16-node mesh (requiring 15 max-flow computations) gives us instant access to the minimum cut between any pair of nodes. This supports queries like:
- "Which node pair has the weakest mutual coherence?"
- "If I place a transmitter at node 3, which node is most 'separated' from it by the perturbation?"
With n = 16, the Gomory-Hu tree has 15 edges and can be computed once per sensing frame (approximately every 100ms).
4. RF Mesh as Dynamic Weighted Graph
4.1 Physical Deployment Geometry
The 16 ESP32 nodes are deployed to maximize spatial coverage and link diversity. Consider a rectangular room of dimensions L × W. A natural deployment uses:
Node placement (4×4 grid):
v1 ------- v2 ------- v3 ------- v4
| \ / | \ / | \ / |
| \ / | \ / | \ / |
| \ / | \ / | \ / |
v5 ------- v6 ------- v7 ------- v8
| / \ | / \ | / \ |
| / \ | / \ | / \ |
| / \ | / \ | / \ |
v9 ------- v10 ------ v11 ------ v12
| \ / | \ / | \ / |
| \ / | \ / | \ / |
| \ / | \ / | \ / |
v13 ------ v14 ------ v15 ------ v16
Every pair of nodes forms a potential link, giving a complete graph K_16 with 120 edges. However, not all links carry equal geometric information:
- Short links (adjacent nodes): High SNR, sensitive to nearby perturbations, narrow Fresnel zones.
- Long links (diagonal/cross-room): Lower SNR, sensitive to perturbations anywhere along the path, wide Fresnel zones.
- Parallel links: Correlated sensitivity — a perturbation affecting one likely affects the other.
- Crossing links: Complementary sensitivity — their Fresnel zone intersection localizes perturbations.
4.2 Fresnel Zone Geometry and Edge Semantics
The first Fresnel zone for a link of length d at wavelength λ is an ellipsoid with semi-minor axis:
r_F = sqrt(λ * d / 4)
At 2.4 GHz (λ ≈ 0.125 m), a 5-meter link has r_F ≈ 0.40 m. A 10-meter link has r_F ≈ 0.56 m.
A human body (roughly 0.4 m wide, 0.3 m deep) fully occupies the Fresnel zone of a short link but only partially occludes a long link. This creates a natural spatial resolution determined by the mesh geometry.
Edge semantics: An edge (v_i, v_j) in the graph represents not just a communication link but a spatial sensing region — the Fresnel ellipsoid between v_i and v_j. The edge weight w(v_i, v_j) encodes whether this sensing region is perturbed.
4.3 Temporal Dynamics
The graph G(t) evolves over time as edge weights change. We sample CSI at rate f_s (typically 10-100 Hz per link). At each time step:
G(t) = (V, E, w_t)
where w_t is the coherence vector at time t. The vertex set V and edge set E remain constant (all 16 nodes, all 120 links), but the weight function changes.
Key temporal patterns:
-
Static environment: All weights stable near 1.0. Minimum cut has high capacity (the graph is "uniformly strong").
-
Single person entering: A cluster of edges experience weight drops. The minimum cut capacity decreases, and the cut partition reveals which side of the perturbation each node lies on.
-
Person moving: The weight depression region migrates across the graph. The minimum cut tracks this migration, producing a time series of partitions.
-
Multiple people: Multiple weight depression regions create a more complex landscape. Multi-way cuts or hierarchical decomposition may be needed.
4.4 Graph Sparsification for Scalability
While n = 16 yields a manageable 120 edges, larger deployments require sparsification. Two approaches:
Geometric sparsification: Only include edges shorter than a threshold d_max, where d_max is chosen to ensure graph connectivity. For uniformly deployed nodes, this produces O(n) edges.
Spectral sparsification (Spielman-Teng, 2011): Construct a sparse graph H with O(n log n / ε^2) edges such that for all cuts:
(1-ε) * C_G(S, S̄) <= C_H(S, S̄) <= (1+ε) * C_G(S, S̄)
This preserves all cut values within (1 ± ε) while dramatically reducing edge count for large meshes.
4.5 Weighted Graph Properties Specific to RF
RF coherence graphs have distinctive properties that affect algorithm choice:
-
Non-negative weights: Coherence is always in [0, 1], satisfying the non-negativity requirement of most min-cut algorithms.
-
Smoothness: Edge weights change continuously (no abrupt jumps in coherence), meaning G(t) and G(t+1) differ by small perturbations.
-
Spatial correlation: Nearby edges (links with overlapping Fresnel zones) tend to have correlated weights.
-
Dense but structured: K_16 is dense (120 edges), but the weight structure is determined by physical geometry, making it far from a random weighted graph.
-
Symmetry: w(v_i, v_j) ≈ w(v_j, v_i) due to channel reciprocity (same frequency, same environment), so the graph is effectively undirected.
5. Topological Change Detection via Spectral Methods
5.1 Spectral Graph Theory Foundations
The eigenvalues of the graph Laplacian L encode fundamental structural properties. Let 0 = λ_1 <= λ_2 <= ... <= λ_n be the eigenvalues of L with corresponding eigenvectors v_1, v_2, ..., v_n.
Key spectral properties:
- λ_1 = 0 always, with v_1 = (1, 1, ..., 1) / sqrt(n).
- λ_2 > 0 iff G is connected. λ_2 is called the algebraic connectivity or Fiedler value.
- Multiplicity of 0: The number of zero eigenvalues equals the number of connected components.
- λ_2 is a measure of graph robustness: Higher λ_2 means the graph is harder to disconnect (all cuts have high capacity).
5.2 The Fiedler Vector and Spectral Bisection
The eigenvector v_2 corresponding to λ_2 is the Fiedler vector. It provides the optimal continuous relaxation of the minimum bisection problem:
min_{x ∈ R^n} x^T L x subject to x ⊥ 1, ||x|| = 1
The solution is x = v_2, and the optimal value is λ_2.
Spectral bisection: Partition V into S = {v : v_2[i] <= 0} and S̄ = {v : v_2[i] > 0}. This provides an approximate minimum bisection (balanced cut) of the graph.
RF interpretation: The Fiedler vector assigns each node a real value that represents its position along the "weakest axis" of the graph. Nodes on opposite sides of a perturbation boundary receive opposite-sign values. The magnitude |v_2[i]| indicates how strongly node i is associated with its side of the partition — nodes near the boundary have small |v_2[i]|.
5.3 Cheeger Inequality
The Cheeger constant h(G) relates the combinatorial minimum cut to spectral properties:
h(G) = min_{S ⊂ V, vol(S) <= vol(V)/2} C(S, S̄) / vol(S)
The Cheeger inequality bounds h(G) using λ_2:
λ_2 / 2 <= h(G) <= sqrt(2 * λ_2)
This is powerful for RF sensing because:
-
Lower bound (λ_2 / 2 <= h(G)): A small Fiedler value guarantees the existence of a sparse cut — i.e., a coherence boundary.
-
Upper bound (h(G) <= sqrt(2 * λ_2)): Spectral bisection produces a cut whose normalized capacity is within a sqrt(λ_2) factor of optimal.
-
Monitoring λ_2 over time: A dropping Fiedler value signals that the graph's connectivity is weakening — someone is entering the room or moving to a position that bisects the mesh.
5.4 Higher Eigenvectors and Multi-Way Partitioning
For k-way partitioning (detecting multiple perturbation regions), we use the first k eigenvectors V_k = [v_1, v_2, ..., v_k] ∈ R^{n×k}. Each node v_i gets an embedding in R^k:
f(v_i) = (v_1[i], v_2[i], ..., v_k[i])
Running k-means clustering on these embeddings yields a spectral k-way partition.
The higher-order Cheeger inequality (Lee, Oveis Gharan, Trevisan, 2014) generalizes:
λ_k / 2 <= ρ_k(G) <= O(k^2) * sqrt(λ_k)
where ρ_k(G) is the k-way expansion constant.
RF interpretation: If the first three eigenvalues are 0, 0.05, 0.08, and then λ_4 jumps to 0.6, this indicates two natural clusters in the coherence graph (two perturbation regions), with the spectral gap between λ_3 and λ_4 confirming a 3-way partition is natural.
5.5 Spectral Change Detection
Rather than computing min-cuts from scratch each frame, we can monitor spectral changes efficiently.
Eigenvalue tracking: Let λ_2(t) be the Fiedler value at time t. Define the spectral instability signal:
Δ_λ(t) = |λ_2(t) - λ_2(t-1)| / λ_2(t-1)
A spike in Δ_λ(t) indicates a topological change — a new perturbation or a significant movement event.
Eigenvector tracking: For smooth graph evolution, we can use eigenvalue perturbation theory. If edge (i,j) changes weight by δw, the first-order change in λ_2 is:
δλ_2 ≈ δw * (v_2[i] - v_2[j])^2
This means edges with large (v_2[i] - v_2[j])^2 — edges that cross the Fiedler cut — have the most impact on algebraic connectivity. These are precisely the boundary edges we care about.
5.6 Normalized Spectral Clustering (Shi-Malik)
The normalized cut objective:
Ncut(S, S̄) = C(S, S̄) / vol(S) + C(S, S̄) / vol(S̄)
is relaxed to:
min_{x} x^T L x / x^T D x subject to x ⊥ D * 1
The solution is the generalized eigenvector problem Lx = λDx, i.e., the eigenvectors of the normalized Laplacian L_norm = D^{-1/2} L D^{-1/2}.
Why normalized cut matters for RF: In a mesh with heterogeneous link densities (e.g., corner nodes with fewer strong links), the unnormalized minimum cut may trivially separate a low-degree node. The normalized cut penalizes this, preferring balanced partitions that correspond to genuine physical boundaries rather than geometric artifacts of node placement.
6. Dynamic Graph Algorithms for Real-Time RF Sensing
6.1 The Real-Time Constraint
RF sensing requires processing at the CSI frame rate. For 16 nodes transmitting round-robin at 10 Hz each, we get 16 frames per 100 ms cycle, yielding an update rate of 10 Hz for the full graph. Each update changes up to 15 edge weights (all links from the transmitting node).
Latency budget: To support real-time applications (gesture recognition, intrusion detection), we need total processing time under 10 ms per update cycle. On a modern processor, this is generous — but motivates efficient algorithms for future scaling to larger meshes.
6.2 Incremental Min-Cut Algorithms
When only a few edge weights change between frames, recomputing the global min-cut from scratch is wasteful. Incremental algorithms maintain the min-cut under edge updates.
Weight increase (edge strengthening): If an edge weight increases, the minimum cut can only increase or stay the same. If the modified edge does not cross the current min-cut, the cut is unchanged. If it does cross the cut, the new min-cut value is at least the old value — we need to verify whether the current partition is still optimal, potentially by running a single max-flow computation in the residual graph.
Weight decrease (edge weakening): If an edge weight decreases and it crosses the current min-cut, the cut capacity decreases by the weight change — no recomputation needed. If the edge is internal to one side of the cut, the cut is unchanged. However, a new lower-capacity cut may have emerged, requiring recomputation.
6.3 Decremental Min-Cut Maintenance
The critical case for RF sensing is edge weight decreases (a link becoming less coherent due to a new perturbation). This is the "decremental" case, which is harder than incremental.
Approach 1: Lazy recomputation with certificate
Maintain the Gomory-Hu tree T. When edge (u, v) in G decreases weight by δ:
- If (u, v) is not on any minimum-weight path in T, the tree is unchanged.
- If (u, v) is in the Gomory-Hu tree or affects a bottleneck path, recompute only the affected subtree.
For our n = 16 graph, full Gomory-Hu tree recomputation (15 max-flow instances) is fast enough that lazy strategies provide limited benefit. But for larger meshes (64+ nodes), this becomes important.
Approach 2: Threshold-triggered recomputation
Only recompute when the total weight change since last computation exceeds a threshold θ:
Σ_{e ∈ E} |w_t(e) - w_{t_last}(e)| > θ
This trades accuracy for computational savings, appropriate when small weight fluctuations (thermal noise) should not trigger topology updates.
6.4 Sliding Window Algorithms
Rather than tracking instantaneous coherence, we maintain a sliding window of T frames and compute the average coherence graph:
w̄(e, t) = (1/T) Σ_{τ=0}^{T-1} w(e, t-τ)
This provides temporal smoothing but introduces latency. The exponential moving average is a better alternative:
w̄(e, t) = α * w(e, t) + (1-α) * w̄(e, t-1)
with α ∈ (0, 1) controlling the memory. For RF sensing, α ≈ 0.3 balances responsiveness with noise rejection.
6.5 Batched Updates for Round-Robin TDM
In the TDM (Time Division Multiplexing) protocol, each ESP32 node transmits in turn. After node v_k transmits, we receive updated CSI for all 15 links incident to v_k. This suggests a batched update model:
At time step k (mod 16):
Update edges: {(v_k, v_j) : j ≠ k} (15 edges)
Recompute min-cut if significant changes detected
This batched structure can be exploited: the 15 updated edges all share a common endpoint v_k, constraining where the min-cut can change.
Lemma: If v_k is entirely on one side of the current min-cut (say v_k ∈ S), then changes to edges (v_k, v_j) where v_j ∈ S cannot affect the cut capacity. Only edges crossing the cut — (v_k, v_j) where v_j ∈ S̄ — matter.
In a balanced bisection of 16 nodes, at most 8 of the 15 updated edges cross the cut, reducing the effective update size.
6.6 Perturbation Theory for Eigenvalue Updates
For spectral methods, rank-1 perturbation theory provides efficient eigenvalue updates. When a single edge (i, j) changes weight by δ, the Laplacian changes by:
δL = δ * (e_i - e_j)(e_i - e_j)^T
which is a rank-1 update. The eigenvalues of the perturbed Laplacian satisfy the secular equation:
1 + δ * Σ_k (v_k[i] - v_k[j])^2 / (λ_k - μ) = 0
where μ is the perturbed eigenvalue. For the Fiedler value specifically:
λ_2' ≈ λ_2 + δ * (v_2[i] - v_2[j])^2
This O(1) update is vastly cheaper than O(n^3) full eigendecomposition and provides an excellent approximation when |δ| is small relative to the spectral gap λ_3 - λ_2.
For batched updates (15 edges from one TDM slot), the perturbation has rank at most 15, and iterative refinement methods (Lanczos, LOBPCG) converge in a few iterations when warm-started from the previous eigenvectors.
7. Comparison to Classical RF Sensing
7.1 Taxonomy of RF Sensing Approaches
| Approach | Signal | Method | Output | Model |
|---|---|---|---|---|
| RSSI Triangulation | Received power | Path loss + trilateration | (x, y) position | Distance estimation |
| RSSI Fingerprinting | Received power | Database matching | Room-level location | Pattern matching |
| CSI Localization | Channel matrix | AoA/ToF estimation | (x, y, z) position | Propagation model |
| CSI Activity Recognition | Channel matrix | ML classification | Activity label | Learned patterns |
| RF Topological Sensing | CSI coherence | Graph min-cut | Boundary partition | Graph structure |
7.2 Fundamental Differences
Position estimation (classical approaches) asks: "Where is the target?"
It requires:
- A propagation model (path loss exponent, multipath model)
- Calibration (fingerprint database, anchor positions)
- Sufficient geometric diversity (non-degenerate anchor geometry)
- Explicit coordinate system
Topological sensing (our approach) asks: "What has changed in the RF field structure?"
It requires:
- A baseline coherence graph (self-calibrating from static measurements)
- Graph algorithms (min-cut, spectral decomposition)
- Sufficient link density for topological resolution
It does NOT require:
- A propagation model
- Knowledge of node positions (only connectivity matters)
- An external coordinate system
- Fingerprint databases
7.3 Advantages of Topological Sensing
1. Model-free operation
RSSI triangulation requires knowing the path loss exponent n in:
RSSI(d) = RSSI(d_0) - 10n * log_10(d/d_0)
This exponent varies from 1.6 (free space) to 4+ (cluttered indoor) and changes with environment, humidity, and furniture rearrangement. Topological sensing uses only coherence ratios relative to baseline, avoiding this model dependency.
2. Self-calibrating
The baseline graph G_0 is learned from the static (unoccupied) environment. When the environment changes (furniture moved), the baseline updates automatically. There is no need for war-driving or fingerprint collection.
3. Graceful degradation
Position estimation fails catastrophically when the geometric model is wrong (e.g., NLOS bias in RSSI causing meters of error). Topological sensing degrades gracefully: fewer functional links reduce spatial resolution but do not produce false localizations.
4. Privacy-preserving
Topological sensing reports that a boundary exists and which nodes it separates, not where a person is standing. This is a qualitative, structural output that inherently preserves privacy while still enabling applications like occupancy detection and room segmentation.
5. Inherent multi-target support
Position estimation for multiple targets requires data association (which measurements correspond to which target). Topological sensing naturally handles multiple targets: each creates a separate coherence depression, and k-way min-cut or hierarchical decomposition reveals all boundaries simultaneously.
7.4 Limitations of Topological Sensing
1. Coarse spatial resolution
With 16 nodes, the topological resolution is limited to distinguishing regions separated by at least one link. Fine-grained positioning (sub-meter accuracy) is not achievable through topology alone — though it can be augmented with classical methods.
2. Ambiguity in cut interpretation
A minimum cut identifies a boundary but does not directly indicate which side contains the perturbation source. Additional heuristics (e.g., comparing cut side volumes, using temporal ordering) are needed.
3. Sensitivity to graph density
Sparse graphs may have trivial minimum cuts unrelated to physical perturbations. The mesh must be sufficiently dense that the "natural" minimum cut (without perturbation) has high capacity, making perturbation-induced cuts stand out.
7.5 Hybrid Approaches
Topological sensing and classical methods are complementary. A practical system might:
- Use topological sensing (min-cut) for coarse boundary detection and multi-target segmentation.
- Use CSI-based methods (AoA, ToF, or learned models) within each topological region for fine-grained localization.
- Use the topological boundary to constrain the localization search space, reducing computational cost and improving accuracy.
This hierarchical approach mirrors how the human sensory system works: first detect that something is present (topological change), then resolve its precise location (focused attention).
8. Open Research Questions
8.1 Optimal Node Placement for Topological Resolution
Question: Given a room geometry and n nodes, what placement maximizes topological resolution — the ability to distinguish different perturbation locations via distinct min-cut partitions?
This is related to sensor placement optimization but with a graph-theoretic objective function (e.g., maximize the number of distinct minimum cut partitions achievable) rather than a geometric one (minimize DOP).
Conjecture: Regular polygon placements are suboptimal. The optimal placement should maximize the Fiedler value of the baseline graph while ensuring that different perturbation locations yield distinct spectral signatures.
8.2 Spectral Fingerprinting of Perturbations
Question: Can the Laplacian spectrum λ_1, ..., λ_n serve as a "fingerprint" for different types of perturbations (standing person vs. walking person vs. furniture vs. door opening)?
The full spectrum encodes more information than just the Fiedler value. Different perturbation types may create characteristic spectral signatures:
- A person standing still: primarily affects λ_2 (weakens one cut).
- A person walking: creates a time-varying spectral signature with characteristic dynamics.
- A door opening: affects a specific subset of eigenvalues corresponding to edges near the door.
8.3 Information-Theoretic Limits
Question: What is the maximum number of distinguishable perturbation states for a given mesh topology?
Information theory provides bounds: with n nodes and m = O(n^2) edges, each edge providing b bits of coherence information, the total information is O(n^2 * b) bits per frame. The number of distinguishable topological states is at most 2^{O(n^2 * b)}, but the actual number is constrained by the physical correlation structure (nearby edges provide redundant information).
8.4 Dynamic Min-Cut Under Adversarial Perturbations
Question: How robust is min-cut based sensing to adversarial manipulation?
An adversary who knows the node positions could potentially create RF perturbations that manipulate the min-cut to produce a desired (false) topology. Understanding the attack surface requires analysis of which edge weight modifications change the min-cut partition — the "critical edges" of the graph.
Connection to the adversarial.rs module in RuvSense: physically impossible
signal patterns (e.g., coherence dropping on a link whose Fresnel zone is
geometrically blocked from the detected perturbation region) may indicate
adversarial manipulation.
8.5 Temporal Graph Sequences and Trajectory Reconstruction
Question: Can a time series of min-cut partitions {(S(t), S̄(t))} be inverted to reconstruct a continuous trajectory?
As a person moves through the mesh, the min-cut partition evolves. The sequence of partitions defines a trajectory in the "partition space" of the graph. Whether this trajectory can be projected back to physical space (even approximately) remains open. The key challenge is that different physical positions can produce the same partition (topological aliasing).
8.6 Multi-Resolution Topological Decomposition
Question: Can hierarchical min-cut decomposition (Gomory-Hu tree) provide multi-resolution sensing — coarse room segmentation at the top level, fine-grained boundary detection at lower levels?
The Gomory-Hu tree naturally provides a hierarchy: the minimum weight edge in the tree gives the global min-cut (coarsest partition), removing it and finding the minimum in each subtree gives a 3-way partition, and so on. This hierarchical decomposition might correspond to spatial resolution levels.
8.7 Graph Neural Networks for Learned Topological Features
Question: Can GNNs operating on the coherence graph learn richer topological features than hand-crafted min-cut/spectral methods?
Graph convolutional networks (GCNs) and graph attention networks (GATs) can learn node embeddings from graph structure. Training a GNN on labeled coherence graphs (with known perturbation locations) might produce features that outperform spectral methods, especially for complex multi-person scenarios.
This connects to the wifi-densepose-nn crate and the broader neural network
inference pipeline.
8.8 Non-Euclidean RF Topology
Question: When the RF propagation environment is strongly non-line-of-sight (e.g., multi-room deployment with walls), the coherence graph may have a fundamentally non-Euclidean structure. How do graph-theoretic methods perform when the graph does not embed naturally in R^2?
In multi-room settings, the effective topology might be better modeled as a graph with a non-trivial genus or as a hyperbolic graph. Spectral methods on such graphs have different convergence properties, and the Cheeger constant may relate differently to physical boundaries.
8.9 Minimum Cut Stability and Phase Transitions
Question: Is there a phase transition in min-cut behavior as a perturbation grows in strength?
In percolation theory, random graphs exhibit sharp phase transitions in connectivity. Similarly, as an RF perturbation intensifies (edge weights in the affected region approach zero), the min-cut may undergo a sudden transition from a "diffuse" cut (spread across many edges) to a "concentrated" cut (few edges with very low weight). Understanding this transition would inform threshold selection for detection algorithms.
9. Conclusion
This document has established that graph-theoretic methods — particularly minimum cut algorithms and spectral decomposition — provide a rigorous mathematical foundation for RF topological sensing. The key contributions are:
-
Formal framework: Modeling the ESP32 mesh as a weighted graph G = (V, E, w) with CSI coherence as edge weights, and defining perturbation detection as a minimum cut problem.
-
Algorithm selection: Stoer-Wagner for global min-cut (deterministic, efficient for n = 16), Karger for probabilistic analysis of cut stability, and Gomory-Hu trees for all-pairs queries.
-
Spectral characterization: The Fiedler value as a real-time indicator of topological change, with the Cheeger inequality providing theoretical guarantees on cut quality.
-
Dynamic algorithms: Incremental/decremental strategies, perturbation theory for eigenvalue updates, and batched processing aligned with TDM scheduling.
-
Fundamental distinction: Topological sensing (boundary detection via graph structure) is categorically different from position estimation (RSSI, CSI localization), offering model-free, self-calibrating, privacy-preserving sensing at the cost of coarser spatial resolution.
-
Open questions: Nine research directions spanning optimal placement, spectral fingerprinting, information-theoretic limits, adversarial robustness, trajectory reconstruction, multi-resolution decomposition, GNN integration, non-Euclidean topology, and phase transitions.
The practical implementation of these foundations is underway in the
wifi-densepose-signal crate (RuvSense modules) and wifi-densepose-ruvector
crate (cross-viewpoint fusion), with the ruvector-mincut crate providing the
core graph algorithms.
10. References
Graph Theory and Algorithms
-
Ford, L.R. and Fulkerson, D.R. (1956). "Maximal Flow through a Network." Canadian Journal of Mathematics, 8, 399-404.
-
Stoer, M. and Wagner, F. (1997). "A Simple Min-Cut Algorithm." Journal of the ACM, 44(4), 585-591.
-
Karger, D.R. (1993). "Global Min-cuts in RNC, and Other Ramifications of a Simple Min-cut Algorithm." Proceedings of SODA, 21-30.
-
Gomory, R.E. and Hu, T.C. (1961). "Multi-terminal Network Flows." Journal of the Society for Industrial and Applied Mathematics, 9(4), 551-570.
-
Karger, D.R. and Stein, C. (1996). "A New Approach to the Minimum Cut Problem." Journal of the ACM, 43(4), 601-640.
Spectral Graph Theory
-
Fiedler, M. (1973). "Algebraic Connectivity of Graphs." Czechoslovak Mathematical Journal, 23(98), 298-305.
-
Cheeger, J. (1970). "A Lower Bound for the Smallest Eigenvalue of the Laplacian." Problems in Analysis, Princeton University Press, 195-199.
-
Shi, J. and Malik, J. (2000). "Normalized Cuts and Image Segmentation." IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(8), 888-905.
-
Lee, J.R., Oveis Gharan, S., and Trevisan, L. (2014). "Multiway Spectral Partitioning and Higher-Order Cheeger Inequalities." Journal of the ACM, 61(6), Article 37.
-
Spielman, D.A. and Teng, S.-H. (2011). "Spectral Sparsification of Graphs." SIAM Journal on Computing, 40(4), 981-1025.
RF Sensing and CSI
-
Wang, W., Liu, A.X., Shahzad, M., Ling, K., and Lu, S. (2015). "Understanding and Modeling of WiFi Signal Based Human Activity Recognition." Proceedings of MobiCom, 65-76.
-
Ma, Y., Zhou, G., and Wang, S. (2019). "WiFi Sensing with Channel State Information: A Survey." ACM Computing Surveys, 52(3), Article 46.
-
Yang, Z., Zhou, Z., and Liu, Y. (2013). "From RSSI to CSI: Indoor Localization via Channel Response." ACM Computing Surveys, 46(2), Article 25.
Network Flow and Dynamic Graphs
-
Goldberg, A.V. and Rao, S. (1998). "Beyond the Flow Decomposition Barrier." Journal of the ACM, 45(5), 783-797.
-
Thorup, M. (2007). "Minimum k-way Cuts via Deterministic Greedy Tree Packing." Proceedings of STOC, 159-166.
-
Goranci, G., Henzinger, M., and Thorup, M. (2018). "Incremental Exact Min-Cut in Polylogarithmic Amortized Update Time." ACM Transactions on Algorithms, 14(2), Article 17.
This research document is part of the RuView project. It provides theoretical foundations for the RF topological sensing approach implemented in the wifi-densepose-signal and wifi-densepose-ruvector crates.