ruvector-mincut 2.0.6

World's first subpolynomial dynamic min-cut: self-healing networks, AI optimization, real-time graph analysis
Documentation
# Architecture: Bounded-Range Dynamic Minimum Cut

## Overview

This crate implements the first deterministic exact fully-dynamic minimum cut
algorithm with subpolynomial update time, based on arxiv:2512.13105 (December 2024).

## System Architecture

```
┌─────────────────────────────────────────────────────────────────┐
│                        MinCutWrapper                             │
│  ┌─────────────────────────────────────────────────────────────┐ │
│  │           O(log n) Bounded-Range Instances                   │ │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────┐      ┌─────────┐       │ │
│  │  │ [1,1]   │ │ [1,1]   │ │ [2,2]   │ ... │ [λ,1.2λ]│       │ │
│  │  └────┬────┘ └────┬────┘ └────┬────┘      └────┬────┘       │ │
│  │       │           │           │                │             │ │
│  │       ▼           ▼           ▼                ▼             │ │
│  │  ┌──────────────────────────────────────────────────────┐   │ │
│  │  │              ProperCutInstance Trait                  │   │ │
│  │  │   - apply_inserts(edges)                             │   │ │
│  │  │   - apply_deletes(edges)                             │   │ │
│  │  │   - query() -> ValueInRange | AboveRange             │   │ │
│  │  └──────────────────────────────────────────────────────┘   │ │
│  └─────────────────────────────────────────────────────────────┘ │
│                              │                                    │
│  ┌───────────────────────────┴───────────────────────────────┐   │
│  │              DynamicConnectivity                           │   │
│  │   (Union-Find with rebuild on delete)                      │   │
│  └───────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                    Supporting Components                         │
├─────────────────────────────────────────────────────────────────┤
│  LocalKCutOracle          │  DeterministicLocalKCut             │
│  - search(graph, query)   │  - BFS exploration                  │
│  - deterministic          │  - Early termination                │
├───────────────────────────┼─────────────────────────────────────┤
│  ClusterHierarchy         │  FragmentingAlgorithm               │
│  - O(log n) levels        │  - Connected components             │
│  - Recursive decomposition│  - Merge/split handling             │
├───────────────────────────┼─────────────────────────────────────┤
│  CutCertificate           │  AuditLogger                        │
│  - Witness tracking       │  - Provenance logging               │
│  - JSON export            │  - Thread-safe                      │
└───────────────────────────┴─────────────────────────────────────┘
```

## Component Responsibilities

### MinCutWrapper
- Manages O(log n) bounded-range instances
- Geometric ranges with factor 1.2
- Lazy instantiation
- Order invariant: inserts before deletes

### ProperCutInstance
- Abstract interface for cut maintenance
- Implementations: StubInstance, BoundedInstance

### DeterministicLocalKCut
- BFS-based local minimum cut search
- Fully deterministic (no randomness)
- Configurable radius and budget

### ClusterHierarchy
- Multi-level vertex clustering
- Fast boundary updates on edge changes

### FragmentingAlgorithm
- Handles graph disconnection
- Tracks connected components

## Data Flow

1. **Update arrives** (insert/delete edge)
2. **Wrapper buffers** the update with timestamp
3. **On query**:
   a. Check connectivity (fast path for disconnected)
   b. Process instances in order
   c. Apply buffered updates (inserts then deletes)
   d. Query each instance
   e. Stop at first ValueInRange or end
4. **Return result** with witness

## Invariants

1. **Range invariant**: Instance never sees λ < λ_min during update
2. **Order invariant**: Inserts applied before deletes
3. **Certificate invariant**: Every answer can be verified
4. **Determinism invariant**: Same sequence → same output

## Complexity

- **Update**: O(n^{o(1)}) amortized
- **Query**: O(log n) instances × O(n^{o(1)}) per instance
- **Space**: O(n + m) per instance