pub struct QuantumReasoningConfig {
pub logical_reasoning: bool,
pub causal_reasoning: bool,
pub analogical_reasoning: bool,
pub reasoning_steps: usize,
pub circuit_depth: usize,
pub entanglement_strength: f64,
}Expand description
Quantum reasoning configuration
Fields§
§logical_reasoning: boolEnable quantum logical reasoning
causal_reasoning: boolEnable quantum causal reasoning
analogical_reasoning: boolEnable quantum analogical reasoning
reasoning_steps: usizeNumber of reasoning steps
circuit_depth: usizeReasoning circuit depth
entanglement_strength: f64Quantum entanglement strength for reasoning
Implementations§
Source§impl QuantumReasoningConfig
impl QuantumReasoningConfig
Sourcepub fn default() -> Self
pub fn default() -> Self
Default reasoning configuration
Examples found in repository?
examples/quantum_llm.rs (line 218)
214fn quantum_reasoning_demo() -> Result<()> {
215 println!(" Testing quantum reasoning modules...");
216
217 let reasoning_configs = vec![
218 ("Basic Logical", QuantumReasoningConfig::default()),
219 ("Enhanced Causal", QuantumReasoningConfig::enhanced()),
220 ("Advanced Analogical", QuantumReasoningConfig::advanced()),
221 ];
222
223 for (name, config) in reasoning_configs {
224 println!("\n --- {name} Reasoning ---");
225
226 let mut reasoning_module = QuantumReasoningModule::new(config.clone())?;
227
228 println!(" Reasoning capabilities:");
229 println!(" - Logical reasoning: {}", config.logical_reasoning);
230 println!(" - Causal reasoning: {}", config.causal_reasoning);
231 println!(" - Analogical reasoning: {}", config.analogical_reasoning);
232 println!(" - Reasoning steps: {}", config.reasoning_steps);
233 println!(" - Circuit depth: {}", config.circuit_depth);
234 println!(
235 " - Entanglement strength: {:.2}",
236 config.entanglement_strength
237 );
238
239 // Test reasoning on sample hidden states
240 let hidden_states = Array3::from_shape_fn((2, 8, 256), |(b, s, d)| {
241 // Create patterns that require reasoning
242 let logical_pattern = if s % 2 == 0 { 0.8 } else { 0.2 };
243 let causal_pattern = s as f64 * 0.1;
244 let base_value = logical_pattern + causal_pattern;
245
246 0.05f64.mul_add((d as f64).mul_add(0.001, b as f64), base_value)
247 });
248
249 println!(" Input hidden states shape: {:?}", hidden_states.dim());
250
251 // Apply quantum reasoning
252 let reasoned_output = reasoning_module.apply_reasoning(&hidden_states)?;
253 println!(" Reasoned output shape: {:?}", reasoned_output.dim());
254
255 // Analyze reasoning effects
256 let reasoning_enhancement =
257 analyze_reasoning_enhancement(&hidden_states, &reasoned_output)?;
258 println!(" Reasoning enhancement metrics:");
259 println!(
260 " - Pattern amplification: {:.3}",
261 reasoning_enhancement.pattern_amplification
262 );
263 println!(
264 " - Logical consistency: {:.3}",
265 reasoning_enhancement.logical_consistency
266 );
267 println!(
268 " - Causal coherence: {:.3}",
269 reasoning_enhancement.causal_coherence
270 );
271
272 // Test quantum coherence during reasoning
273 let coherence = reasoning_module.measure_coherence()?;
274 println!(" Quantum coherence: {coherence:.3}");
275
276 // Test token selection enhancement
277 let sample_logits = Array1::from_shape_fn(1000, |i| {
278 0.01f64.mul_add((i as f64 * 0.1).sin(), 0.001 * fastrand::f64())
279 });
280
281 let enhanced_logits = reasoning_module.enhance_token_selection(&sample_logits)?;
282 let enhancement_effect = (&enhanced_logits - &sample_logits)
283 .mapv(f64::abs)
284 .mean()
285 .unwrap_or(0.0);
286 println!(" Token selection enhancement: {enhancement_effect:.4}");
287 }
288
289 Ok(())
290}Sourcepub fn enhanced() -> Self
pub fn enhanced() -> Self
Enhanced reasoning configuration
Examples found in repository?
examples/quantum_llm.rs (line 219)
214fn quantum_reasoning_demo() -> Result<()> {
215 println!(" Testing quantum reasoning modules...");
216
217 let reasoning_configs = vec![
218 ("Basic Logical", QuantumReasoningConfig::default()),
219 ("Enhanced Causal", QuantumReasoningConfig::enhanced()),
220 ("Advanced Analogical", QuantumReasoningConfig::advanced()),
221 ];
222
223 for (name, config) in reasoning_configs {
224 println!("\n --- {name} Reasoning ---");
225
226 let mut reasoning_module = QuantumReasoningModule::new(config.clone())?;
227
228 println!(" Reasoning capabilities:");
229 println!(" - Logical reasoning: {}", config.logical_reasoning);
230 println!(" - Causal reasoning: {}", config.causal_reasoning);
231 println!(" - Analogical reasoning: {}", config.analogical_reasoning);
232 println!(" - Reasoning steps: {}", config.reasoning_steps);
233 println!(" - Circuit depth: {}", config.circuit_depth);
234 println!(
235 " - Entanglement strength: {:.2}",
236 config.entanglement_strength
237 );
238
239 // Test reasoning on sample hidden states
240 let hidden_states = Array3::from_shape_fn((2, 8, 256), |(b, s, d)| {
241 // Create patterns that require reasoning
242 let logical_pattern = if s % 2 == 0 { 0.8 } else { 0.2 };
243 let causal_pattern = s as f64 * 0.1;
244 let base_value = logical_pattern + causal_pattern;
245
246 0.05f64.mul_add((d as f64).mul_add(0.001, b as f64), base_value)
247 });
248
249 println!(" Input hidden states shape: {:?}", hidden_states.dim());
250
251 // Apply quantum reasoning
252 let reasoned_output = reasoning_module.apply_reasoning(&hidden_states)?;
253 println!(" Reasoned output shape: {:?}", reasoned_output.dim());
254
255 // Analyze reasoning effects
256 let reasoning_enhancement =
257 analyze_reasoning_enhancement(&hidden_states, &reasoned_output)?;
258 println!(" Reasoning enhancement metrics:");
259 println!(
260 " - Pattern amplification: {:.3}",
261 reasoning_enhancement.pattern_amplification
262 );
263 println!(
264 " - Logical consistency: {:.3}",
265 reasoning_enhancement.logical_consistency
266 );
267 println!(
268 " - Causal coherence: {:.3}",
269 reasoning_enhancement.causal_coherence
270 );
271
272 // Test quantum coherence during reasoning
273 let coherence = reasoning_module.measure_coherence()?;
274 println!(" Quantum coherence: {coherence:.3}");
275
276 // Test token selection enhancement
277 let sample_logits = Array1::from_shape_fn(1000, |i| {
278 0.01f64.mul_add((i as f64 * 0.1).sin(), 0.001 * fastrand::f64())
279 });
280
281 let enhanced_logits = reasoning_module.enhance_token_selection(&sample_logits)?;
282 let enhancement_effect = (&enhanced_logits - &sample_logits)
283 .mapv(f64::abs)
284 .mean()
285 .unwrap_or(0.0);
286 println!(" Token selection enhancement: {enhancement_effect:.4}");
287 }
288
289 Ok(())
290}Sourcepub fn advanced() -> Self
pub fn advanced() -> Self
Advanced reasoning configuration
Examples found in repository?
examples/quantum_llm.rs (line 220)
214fn quantum_reasoning_demo() -> Result<()> {
215 println!(" Testing quantum reasoning modules...");
216
217 let reasoning_configs = vec![
218 ("Basic Logical", QuantumReasoningConfig::default()),
219 ("Enhanced Causal", QuantumReasoningConfig::enhanced()),
220 ("Advanced Analogical", QuantumReasoningConfig::advanced()),
221 ];
222
223 for (name, config) in reasoning_configs {
224 println!("\n --- {name} Reasoning ---");
225
226 let mut reasoning_module = QuantumReasoningModule::new(config.clone())?;
227
228 println!(" Reasoning capabilities:");
229 println!(" - Logical reasoning: {}", config.logical_reasoning);
230 println!(" - Causal reasoning: {}", config.causal_reasoning);
231 println!(" - Analogical reasoning: {}", config.analogical_reasoning);
232 println!(" - Reasoning steps: {}", config.reasoning_steps);
233 println!(" - Circuit depth: {}", config.circuit_depth);
234 println!(
235 " - Entanglement strength: {:.2}",
236 config.entanglement_strength
237 );
238
239 // Test reasoning on sample hidden states
240 let hidden_states = Array3::from_shape_fn((2, 8, 256), |(b, s, d)| {
241 // Create patterns that require reasoning
242 let logical_pattern = if s % 2 == 0 { 0.8 } else { 0.2 };
243 let causal_pattern = s as f64 * 0.1;
244 let base_value = logical_pattern + causal_pattern;
245
246 0.05f64.mul_add((d as f64).mul_add(0.001, b as f64), base_value)
247 });
248
249 println!(" Input hidden states shape: {:?}", hidden_states.dim());
250
251 // Apply quantum reasoning
252 let reasoned_output = reasoning_module.apply_reasoning(&hidden_states)?;
253 println!(" Reasoned output shape: {:?}", reasoned_output.dim());
254
255 // Analyze reasoning effects
256 let reasoning_enhancement =
257 analyze_reasoning_enhancement(&hidden_states, &reasoned_output)?;
258 println!(" Reasoning enhancement metrics:");
259 println!(
260 " - Pattern amplification: {:.3}",
261 reasoning_enhancement.pattern_amplification
262 );
263 println!(
264 " - Logical consistency: {:.3}",
265 reasoning_enhancement.logical_consistency
266 );
267 println!(
268 " - Causal coherence: {:.3}",
269 reasoning_enhancement.causal_coherence
270 );
271
272 // Test quantum coherence during reasoning
273 let coherence = reasoning_module.measure_coherence()?;
274 println!(" Quantum coherence: {coherence:.3}");
275
276 // Test token selection enhancement
277 let sample_logits = Array1::from_shape_fn(1000, |i| {
278 0.01f64.mul_add((i as f64 * 0.1).sin(), 0.001 * fastrand::f64())
279 });
280
281 let enhanced_logits = reasoning_module.enhance_token_selection(&sample_logits)?;
282 let enhancement_effect = (&enhanced_logits - &sample_logits)
283 .mapv(f64::abs)
284 .mean()
285 .unwrap_or(0.0);
286 println!(" Token selection enhancement: {enhancement_effect:.4}");
287 }
288
289 Ok(())
290}Trait Implementations§
Source§impl Clone for QuantumReasoningConfig
impl Clone for QuantumReasoningConfig
Source§fn clone(&self) -> QuantumReasoningConfig
fn clone(&self) -> QuantumReasoningConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for QuantumReasoningConfig
impl RefUnwindSafe for QuantumReasoningConfig
impl Send for QuantumReasoningConfig
impl Sync for QuantumReasoningConfig
impl Unpin for QuantumReasoningConfig
impl UnwindSafe for QuantumReasoningConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.