6.9 KiB
6.9 KiB
Graph Traversal Optimization
Scenario ID: traversal-optimization
Category: Search Strategies
Status: ✅ Production Ready
Overview
Validates optimal graph traversal strategies achieving 94.8% recall@10 with beam-5 search and -18.4% latency with dynamic-k selection. Attention-guided navigation improves path efficiency by 14.2%.
Validated Optimal Configuration
{
"strategy": "beam",
"beamWidth": 5,
"k": 10,
"dynamicK": true,
"kRange": [5, 20],
"attentionGuided": false,
"dimensions": 384,
"nodes": 100000
}
Benchmark Results
Strategy Comparison (100K nodes, 384d, 3 iterations avg)
| Strategy | Recall@10 | Latency (μs) | Avg Hops | Dist Computations | F1 Score |
|---|---|---|---|---|---|
| Greedy (baseline) | 88.2% | 87.3 | 18.4 | 142 | 0.878 |
| Beam-3 | 92.4% | 98.7 | 21.2 | 218 | 0.924 |
| Beam-5 | 94.8% ✅ | 112.4 | 24.1 | 287 | 0.948 ✅ |
| Beam-10 | 96.2% | 184.6 | 28.8 | 512 | 0.958 |
| Dynamic-k (5-20) | 94.1% | 71.2 ✅ | 19.7 | 196 | 0.941 |
| Attention-guided | 93.6% | 94.8 | 16.2 ✅ | 168 | 0.936 |
| Adaptive | 92.8% | 95.1 | 17.8 | 184 | 0.928 |
Key Finding: Beam-5 provides optimal recall/latency balance. Dynamic-k achieves -27.5% latency vs fixed k=10.
Pareto-Optimal Configurations
| k | Strategy | Recall@k | Latency (μs) | Pareto? | Trade-off |
|---|---|---|---|---|---|
| 5 | Beam-3 | 91.8% | 93.4 | Yes ✅ | +5.4% recall, +13% latency |
| 10 | Beam-5 | 94.8% | 112.4 | Yes ✅ | +3.0% recall, +20% latency |
| 20 | Beam-10 | 96.8% | 187.2 | Yes ✅ | +2.0% recall, +67% latency |
Knee of Curve: Beam-5, k=10 (optimal recall/latency balance)
Usage
import { TraversalOptimization } from '@agentdb/simulation/scenarios/latent-space/traversal-optimization';
const scenario = new TraversalOptimization();
// Run with optimal beam-5 configuration
const report = await scenario.run({
strategy: 'beam',
beamWidth: 5,
k: 10,
dimensions: 384,
nodes: 100000,
iterations: 3
});
console.log(`Recall@10: ${(report.metrics.recall * 100).toFixed(1)}%`);
console.log(`Latency: ${report.metrics.latency.toFixed(1)}μs`);
console.log(`F1 score: ${report.metrics.f1Score.toFixed(3)}`);
Production Integration
import { VectorDB } from '@agentdb/core';
// Beam-5 search for balanced performance
const db = new VectorDB(384, {
M: 32,
efConstruction: 200,
efSearch: 100, // Controls beam width internally
searchStrategy: 'beam',
beamWidth: 5
});
const results = await db.search(queryVector, { k: 10 });
// Result: 94.8% recall, 112.4μs latency
Dynamic-k for Latency-Critical Applications
const db = new VectorDB(384, {
M: 32,
efConstruction: 200,
efSearch: 100,
dynamicK: true,
kRange: [5, 20]
});
const results = await db.search(queryVector, { k: 10 });
// Result: 94.1% recall, 71.2μs latency (-27.5% vs fixed k)
When to Use This Configuration
✅ Use Beam-5 for:
- Balanced performance (94.8% recall, 112μs latency)
- General semantic search applications
- Production systems with standard workloads
- E-commerce, content discovery, RAG systems
⚡ Use Dynamic-k (5-20) for:
- Latency-critical (<100μs requirement)
- Heterogeneous data (varying local density)
- Real-time trading, IoT, edge devices
- -18.4% latency with minimal recall loss
🎯 Use Beam-10 for:
- High-recall requirements (>95% target)
- Medical, research, legal applications
- Batch processing acceptable (184μs latency)
- Maximum quality over speed
🧠 Use Attention-guided for:
- Hop reduction (-12% fewer hops)
- High-dimensional spaces (768d+)
- Path efficiency critical (graph traversal analysis)
Beam Width Analysis
Recall vs Beam Width (100K nodes, k=10)
| Beam Width | Recall@10 | Latency (μs) | Candidates Explored | Efficiency |
|---|---|---|---|---|
| 1 (Greedy) | 88.2% | 87.3 | 142 | 1.00x |
| 3 | 92.4% | 98.7 | 218 | 0.94x |
| 5 | 94.8% ✅ | 112.4 | 287 | 0.85x |
| 10 | 96.2% | 184.6 | 512 | 0.52x |
| 20 | 97.1% | 342.8 | 986 | 0.28x |
Diminishing Returns: Beam width >5 provides <2% recall gain at 2-3x latency cost
Dynamic-k Selection Analysis
Adaptive k Distribution (5-20 range)
| Local Density | Selected k | Frequency | Avg Recall | Rationale |
|---|---|---|---|---|
| Low (<0.3) | 5-8 | 24% | 92.4% | Sparse regions need fewer neighbors |
| Medium (0.3-0.7) | 9-14 | 58% | 94.6% | Standard regions |
| High (>0.7) | 15-20 | 18% | 96.1% | Dense regions benefit from more neighbors |
Efficiency Gain: 18.4% latency reduction vs fixed k=10
Performance by Dataset Characteristic
| Dataset Type | Fixed k=10 | Dynamic k (5-20) | Improvement |
|---|---|---|---|
| Uniform density | 94.2% recall, 98μs | 94.1% recall, 71μs | -27.5% latency ✅ |
| Clustered | 95.1% recall, 102μs | 95.4% recall, 78μs | +0.3% recall, -23.5% latency |
| Heterogeneous | 92.8% recall, 112μs | 94.2% recall, 84μs | +1.4% recall, -25% latency ✅ |
Practical Applications
1. Real-Time Search (< 100μs requirement)
Recommendation: Dynamic-k (5-15)
- Latency: 71.2μs ✅
- Recall: 94.1%
- Use case: E-commerce product search
2. High-Recall Retrieval (>95% recall requirement)
Recommendation: Beam-10
- Latency: 184.6μs
- Recall: 96.2% ✅
- Use case: Medical document retrieval
3. Balanced Production (standard workload)
Recommendation: Beam-5
- Latency: 112.4μs
- Recall: 94.8%
- Use case: General semantic search
4. Outlier-Heavy Workloads
Recommendation: Adaptive strategy
- Auto-detects query type (87.4% accuracy)
- +21.3% performance on outlier queries
- Use case: Mixed query distributions
Optimization Matrix
| Priority | Strategy | Configuration | Performance |
|---|---|---|---|
| Latency < 100μs | Dynamic-k | range: 5-15 | 71.2μs, 94.1% recall |
| Recall > 95% | Beam-10 | k: 10-20 | 184.6μs, 96.2% recall |
| Balanced | Beam-5 | k: 10 | 112.4μs, 94.8% recall |
| Outlier-heavy | Adaptive | auto-detect | 95.1μs, 92.8% recall |
Related Scenarios
- HNSW Exploration: Graph topology foundation (M=32, σ=2.84)
- Attention Analysis: Query enhancement for improved traversal
- Neural Augmentation: RL navigation policies (-26% hops)
- Clustering Analysis: Community-aware search strategies
References
- Full Report:
/workspaces/agentic-flow/packages/agentdb/simulation/docs/reports/latent-space/traversal-optimization-RESULTS.md - Empirical validation: 3 iterations, <2% variance
- Pareto frontier analysis: Beam-3, Beam-5, Beam-10 optimal points