quantrs2_device/ml_optimization/
mod.rs

1//! ML-Driven Circuit Optimization and Hardware Prediction with SciRS2
2//!
3//! This module provides comprehensive machine learning-driven circuit optimization
4//! and hardware performance prediction using SciRS2's advanced ML capabilities,
5//! statistical analysis, and optimization algorithms for intelligent quantum computing.
6
7use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
8use std::f64::consts::PI;
9use std::sync::{Arc, Mutex, RwLock};
10use std::time::{Duration, Instant};
11
12use quantrs2_circuit::prelude::*;
13use quantrs2_core::{
14    error::{QuantRS2Error, QuantRS2Result},
15    gate::GateOp,
16    qubit::QubitId,
17};
18
19// SciRS2 dependencies are conditionally re-exported through fallback_scirs2
20
21// Fallback implementations when SciRS2 is not available
22pub mod fallback_scirs2;
23pub use fallback_scirs2::*;
24
25use scirs2_core::ndarray::{s, Array1, Array2, Array3, Array4, ArrayView1, ArrayView2, Axis};
26use scirs2_core::random::prelude::*;
27use scirs2_core::Complex64;
28use tokio::sync::{broadcast, mpsc};
29
30use crate::{
31    adaptive_compilation::AdaptiveCompilationConfig,
32    backend_traits::{query_backend_capabilities, BackendCapabilities},
33    calibration::{CalibrationManager, DeviceCalibration},
34    integrated_device_manager::IntegratedQuantumDeviceManager,
35    noise_model::CalibrationNoiseModel,
36    topology::HardwareTopology,
37    CircuitResult, DeviceError, DeviceResult,
38};
39
40// Module declarations
41pub mod config;
42pub mod ensemble;
43pub mod features;
44pub mod hardware;
45pub mod monitoring;
46pub mod online_learning;
47pub mod optimization;
48pub mod training;
49pub mod transfer_learning;
50pub mod validation;
51
52#[cfg(not(feature = "scirs2"))]
53pub mod fallback;
54
55// Re-exports for public API
56pub use config::*;
57pub use ensemble::*;
58pub use features::*;
59pub use hardware::*;
60pub use monitoring::*;
61pub use online_learning::*;
62pub use optimization::*;
63pub use training::*;
64pub use transfer_learning::*;
65pub use validation::*;
66
67#[cfg(not(feature = "scirs2"))]
68pub use fallback::*;
69
70// TODO: Add implementation functions and types that were in the original file
71// This would include the MLOptimizer struct and its implementation
72// For now, this refactoring focuses on organizing the configuration types