/** * Agentic QE v3 - Neural Topology Optimizer * ADR-034: RL-based swarm topology optimization * * Implements reinforcement learning-based topology optimization: * - Q-learning with value network for state evaluation * - Experience replay for stable training * - Epsilon-greedy exploration * - Multi-objective reward (min-cut, efficiency, load balance) */ import type { SwarmTopology, TopologyOptimizerConfig, OptimizationResult, OptimizationStats, ExportedModel } from './types'; /** * Neural Topology Optimizer using reinforcement learning * * Uses a value network to estimate state values and learns to select * topology modifications that improve overall swarm performance. */ export declare class NeuralTopologyOptimizer { /** Primary value network */ private valueNetwork; /** Target network for stable learning */ private targetNetwork; /** Experience replay buffer */ private replayBuffer; /** Optimizer configuration */ private config; /** Reference to topology being optimized */ private topology; /** Previous state for learning */ private prevState; /** Previous min-cut estimate */ private prevMinCut; /** Current exploration rate */ private epsilon; /** Simulation time */ private time; /** Total optimization steps */ private totalSteps; /** Episode count */ private episodes; /** Cumulative reward */ private cumulativeReward; /** Action counts */ private actionCounts; /** Min-cut history */ private minCutHistory; /** Reward history */ private rewardHistory; /** Last action taken (for feedback) */ private lastAction; constructor(topology: SwarmTopology, config?: Partial); /** * Run one optimization step */ optimizeStep(): OptimizationResult; /** * Run multiple optimization steps */ optimize(steps: number): OptimizationResult[]; /** * Provide external feedback (e.g., from task completion) */ provideFeedback(reward: number): void; /** * Get skip regions (low activity areas) */ getSkipRegions(): string[]; /** * Get optimization statistics */ getStats(): OptimizationStats; /** * Reset optimizer state */ reset(): void; /** * Hard reset (clear learning) */ hardReset(): void; /** * Export learned model */ exportModel(): ExportedModel; /** * Import learned model */ importModel(model: ExportedModel): void; /** * Extract features from topology for state representation */ private extractFeatures; /** * Select action using epsilon-greedy policy */ private selectAction; /** * Convert index to action */ private indexToAction; /** * Generate random action */ private randomAction; /** * Simulate action effect on state (for lookahead) */ private simulateAction; /** * Apply action to topology */ private applyAction; /** * Calculate multi-objective reward */ private calculateReward; /** * Train from replay buffer */ private trainFromReplay; private estimateMinCut; private hasConnection; private getDensity; private getAverageDegree; private getMinDegree; private getAverageWeight; private getWeightVariance; private getAverageLatency; private measureCommunicationEfficiency; private getClusteringCoefficient; private getNeighbors; private getLoadStats; } /** * Create a neural topology optimizer */ export declare function createNeuralTopologyOptimizer(topology: SwarmTopology, config?: Partial): NeuralTopologyOptimizer; //# sourceMappingURL=topology-optimizer.d.ts.map