use ipfrs_core::Cid;
use serde::{Deserialize, Deserializer, Serializer};
pub mod kernel_registry;
pub use kernel_registry::{
KernelDescriptor, KernelPrecision, KernelQuery, KernelRegistryStats, KernelTarget,
TensorKernelRegistry,
};
pub mod allocation_optimizer;
pub mod arrow;
pub mod audit_log;
pub mod cache;
pub mod checkpoint_manager;
pub mod checkpoint_v2;
pub mod codec_registry;
pub mod computation_graph;
pub mod consensus;
pub mod constraint_solver;
pub mod datalog;
pub mod device;
pub mod distributed_backward_chainer;
pub mod feed_forward;
pub mod ffi_profiler;
pub mod gpu;
pub mod gradient;
pub mod gradient_accumulator;
pub mod gradient_clipper;
pub mod gradient_noise;
pub mod gradient_sparsify;
pub mod graph_partitioner;
pub mod inference_cache;
pub mod inference_trace;
pub mod ipld_codec;
pub mod ipld_path;
pub mod ir;
pub mod kb_federation;
pub mod kg_traversal;
pub mod memory_profiler;
pub mod memory_tracker;
pub mod multi_hop;
pub mod op_scheduler;
pub mod optimizer;
pub mod privacy_budget;
pub mod proof_cache;
pub mod proof_explanation;
pub mod proof_serializer;
pub mod proof_storage;
pub mod proof_tree;
pub mod proof_tree_export;
pub mod proof_tree_streaming;
pub mod proof_verifier;
pub mod provenance;
pub mod pytorch_checkpoint;
pub mod quantization;
pub mod reasoning;
pub mod recursive_reasoning;
pub mod remote_reasoning;
pub mod rule_conflict_v2;
pub mod rule_dependency;
pub mod rule_profiler;
pub mod rule_versioning;
pub mod safetensors_support;
pub mod session_manager;
pub mod session_replay;
pub mod shared_memory;
pub mod storage;
pub mod tensor_arena;
pub mod tensor_diff;
pub mod tensor_pool;
pub mod term_index;
pub mod utils;
pub mod version_control;
pub mod versioned_cache;
pub mod visualization;
pub use constraint_solver::{
Assignment as CspAssignment, Constraint as CspConstraint, ConstraintSolver, CspError, CspStats,
CspVarId, CspVariable, Domain as CspDomain, SolverConfig as CspSolverConfig,
SolverResult as CspSolverResult,
};
pub mod budget_manager;
pub mod early_stopping;
pub mod rule_migrator;
pub mod slice_manager;
pub mod tensor_checksum;
pub mod tensor_gc;
pub use early_stopping::{
EarlyStoppingConfig, EarlyStoppingMonitor, EarlyStoppingStats, EpochMetrics, StopCriterion,
StopDecision,
};
pub mod dependency_graph;
pub mod event_bus_v2;
pub mod feature_extractor;
pub mod flow_controller;
pub mod inference_scheduler;
pub mod memory_layout;
pub mod memory_pool;
pub mod ml_feature_extractor;
pub mod op_dispatcher;
pub mod op_fusion;
pub mod query_optimizer;
pub mod rule_index;
pub mod rule_validator;
pub use memory_layout::{
LayoutDescriptor, LayoutOrder, LayoutStats, MemoryLayoutShape, TensorMemoryLayout,
TensorShape as MemoryTensorShape,
};
pub use feature_extractor::{
ExtractedFeature, ExtractionResult, ExtractorConfig, ExtractorStats, FeatureKind,
TensorFeatureExtractor,
};
pub use ml_feature_extractor::{
fit_minmax_scaler, fit_onehot, fit_standard_scaler, ExtractedFeatures, FePipelineStats,
FeatureError, FeatureExtractor, FeatureSpec, FeatureTransform, FeatureValue,
};
pub use op_dispatcher::{
BackendKind, BackendRegistration, BackendStats, DispatchOp, DispatchResult, DispatcherStats,
TensorOpDispatcher,
};
pub use op_fusion::{FusedOp, FusionPlan, FusionStats, TensorOp as FusionTensorOp, TensorOpFusion};
pub use memory_pool::{MemoryPoolStats, PoolSlot, SizeClass, TensorMemoryPool};
pub use memory_pool::{BlockPoolStats, BlockStatus, MemoryBlock, PoolConfig, TensorBlockPool};
pub use rule_index::{IndexedRule, RuleArity, RuleIndexStats, RuleQuery, TensorRuleIndex};
pub use inference_scheduler::{
InferenceJob, JobStatus, SchedulerConfig, SchedulerStats, TensorInferenceScheduler,
};
pub use query_optimizer::{
estimated_cost, OptimizationResult, OptimizationRule, OptimizerStats, QueryNode,
TensorQueryOptimizer,
};
pub use flow_controller::{
FlowControllerConfig, FlowItem, FlowPriority, FlowState, FlowStats, TensorFlowController,
};
pub use rule_validator::{
RuleSpec, TensorRuleValidator, ValidationError, ValidationResult, ValidatorConfig,
};
pub use dependency_graph::{
DependencyEdge, DependencyKind, DirtySet, GraphStats, TensorDependencyGraph,
};
pub use checkpoint_manager::{
crc32, CheckpointPruner, CheckpointRecord, CheckpointValidator, RetentionPolicy,
ValidationError as CheckpointValidationError,
};
pub use distributed_backward_chainer::{Binding, DistributedBackwardChainer};
pub use multi_hop::{
HopRecord, HopTrace, MultiHopConfig, MultiHopResolver, MultiHopResult, VisitedSet,
};
pub use proof_tree::{ProofNode, ProofTree};
pub use proof_tree_streaming::{
ProofTreeStreamSummary, ProofTreeStreamer, ProofTreeUpdate, ProofTreeUpdateSink,
};
pub use allocation_optimizer::{
AdaptiveBuffer, AllocationError, BufferPool, PooledBuffer, StackBuffer, TypedBufferPool,
TypedPooledBuffer, ZeroCopyConverter,
};
pub use tensor_pool::{
bucket_for, PooledBuffer as TensorPoolBuffer, TensorPool, TensorPoolConfig, TensorPoolSnapshot,
TensorPoolStats, NUM_BUCKETS,
};
pub use arrow::{ArrowTensor, ArrowTensorStore, TensorDtype, TensorMetadata, ZeroCopyAccessor};
pub use cache::{
CacheManager, CacheStats, CacheStatsSnapshot, CombinedCacheStats, QueryCache, QueryKey,
RemoteFactCache,
};
pub use computation_graph::{
BatchScheduler, ComputationGraph, DistributedExecutor, ExecutionBatch, GraphError, GraphNode,
GraphOptimizer, GraphPartition, LazyCache, NodeAssignment, ParallelExecutor, StreamChunk,
StreamingExecutor, TensorOp,
};
pub use datalog::{parse_fact, parse_query, parse_rule, DatalogParser, ParseError, Statement};
pub use device::{
AdaptiveBatchSizer, CpuInfo, DeviceArch, DeviceCapabilities, DeviceError,
DevicePerformanceTier, DeviceProfiler, DeviceType, MemoryInfo,
};
pub use ffi_profiler::{
global_profiler, FfiCallGuard, FfiCallStats, FfiProfiler, OverheadSummary, ProfilingReport,
};
pub use feed_forward::{
FFLayer, FFStats, FeedForwardActivation, FeedForwardConfig, FeedForwardNetwork,
};
pub use gpu::{
GpuBackend, GpuBuffer, GpuDevice, GpuError, GpuExecutor, GpuKernel, GpuMemoryManager,
};
pub use gradient::{
clip_gradient_norm, federated_average, load_gradient_from_arrow, store_gradient_as_arrow,
AggregationMethod, BackwardPassConfig, BackwardPassCoordinator, BackwardPassStats,
BackwardPassStep, BackwardStepStatus, ClientInfo, ClientState, ComputationGraphError,
ComputationGraphStore, ComputationNode, ConvergenceDetector, DPMechanism, DifferentialPrivacy,
DistributedGradientAccumulator, FederatedRound, GradientAggregator, GradientCheckpoint,
GradientCompressor, GradientDelta, GradientError, GradientVerifier, LayerGradient,
ModelSyncProtocol, PrivacyBudget as GradientPrivacyBudget, QuantizedGradient,
SecureAggregation, SparseGradient,
};
pub use ir::{Constant, KnowledgeBase, KnowledgeBaseStats, Predicate, Rule, Term, TermRef};
pub use memory_profiler::{
MemoryProfiler, MemoryProfilingReport, MemoryStats, MemoryTrackingGuard,
};
pub use optimizer::{
OptimizationRecommendation, PlanNode, PredicateStats, QueryOptimizer, QueryPlan,
};
pub use reasoning::{
apply_subst_predicate, rename_rule_vars, unify_predicates, CycleDetector, DistributedReasoner,
GoalDecomposition, InferenceEngine, MemoizedInferenceEngine, Proof, ProofRule, Substitution,
};
pub use recursive_reasoning::{
FixpointEngine, StratificationAnalyzer, StratificationResult, TableStats, TabledInferenceEngine,
};
pub use remote_reasoning::{
DistributedGoalResolver, DistributedInferenceSession, DistributedProofAssembler,
DistributedReasonerConfig, DistributedReasonerV2, FactDiscoveryRequest, FactDiscoveryResponse,
GoalResolutionRequest, GoalResolutionResponse, IncrementalLoadRequest, IncrementalLoadResponse,
InferenceRequest, InferenceResponse, InferenceResultStream, MockRemoteKnowledgeProvider,
PartialResult, QueryRequest, QueryResponse, ReasoningError, RemoteKnowledgeProvider,
RemoteReasoningError, RemoteResult, SessionMetrics, SessionStats,
};
pub use proof_storage::{
ProofAssembler, ProofFragment, ProofFragmentRef, ProofFragmentStore, ProofMetadata, RuleRef,
};
pub use proof_explanation::{
ExplanationConfig, ExplanationStyle, FragmentProofExplainer, ProofExplainer,
ProofExplanationBuilder,
};
pub use provenance::{
Attribution, DatasetProvenance, Hyperparameters, License, LineageTrace, ProvenanceError,
ProvenanceGraph, TrainingProvenance,
};
pub use pytorch_checkpoint::{
CheckpointMetadata, OptimizerState, ParamState, PyTorchCheckpoint, StateDict, TensorData,
};
pub use quantization::{
CalibrationMethod, DynamicQuantizer, QuantizationConfig, QuantizationError,
QuantizationGranularity, QuantizationParams, QuantizationScheme, QuantizedTensor,
};
pub use safetensors_support::{
ChunkedModelStorage, ModelSummary, SafetensorError, SafetensorsReader, SafetensorsWriter,
TensorInfo,
};
pub use shared_memory::{
SharedMemoryError, SharedMemoryPool, SharedTensorBuffer, SharedTensorBufferReadOnly,
SharedTensorInfo,
};
pub use ipld_codec::{
block_to_fact, block_to_kb, block_to_rule, fact_cid, fact_ipld_to_predicate, fact_to_block,
kb_to_block, predicate_to_fact_ipld, predicate_to_term_ipld, rule_cid, rule_ipld_to_rule,
rule_to_block, rule_to_rule_ipld, term_ipld_to_predicate, FactIpld, KnowledgeBaseIpld,
RuleIpld, TermIpld,
};
pub use ipld_path::{IpldPathResolver, IpldPathValue, PathError};
pub use storage::{
FactSnapshot, KnowledgeBaseSnapshot, RuleSnapshot, TensorLogicError,
TensorLogicPersistenceConfig, TensorLogicStore, TensorLogicStoreStats,
};
pub use inference_cache::{
hash_goal as inference_hash_goal, CacheStats as InferenceCacheStats, CachedResult,
InferenceCache, InferenceCacheKey,
};
pub use versioned_cache::{
CacheEntry, CacheError, CacheKey, CacheStatsSnapshot as VersionedCacheStatsSnapshot,
VersionedInferenceCache,
};
pub use kb_federation::{
export_kb_as_cid, import_remote_kb, merge_knowledge_bases, KbConflict, KbMergeDiff,
};
pub use utils::{KnowledgeBaseUtils, PredicateBuilder, QueryUtils, RuleBuilder, TermUtils};
pub use version_control::{
Branch, LayerDiff, ModelCommit, ModelDiff, ModelDiffer, ModelRepository, VersionControlError,
};
pub use rule_versioning::{
ConflictResolver, ConflictStrategy, ResolvedRuleSet, RuleSetDiff, RuleSetVersion,
VersionedRuleSet,
};
pub use session_manager::{
DistributedSessionManager, PeerId as SessionPeerId, SessionError, SessionId,
SessionMetrics as SessionManagerMetrics, SessionMetricsSnapshot, SessionStatus,
MAX_CONCURRENT_SESSIONS,
};
pub use visualization::{GraphVisualizer, ProofVisualizer};
pub use privacy_budget::{
BudgetError, BudgetSnapshot, PerRoundBudget, PrivacyBudget as DpPrivacyBudget, RenyiAccountant,
RoundGuard,
};
pub use kg_traversal::{
EdgeType, KgEdge, KgError, KgNode, KnowledgeGraph, KnowledgeGraphTraverser, NodeType,
};
pub use consensus::{
ConsensusError, ConsensusStats, ConsensusStatsSnapshot, PeerVote, QuorumPolicy, QuorumResult,
RoundConsensusTracker, RoundId, RoundStatus, Vote,
};
pub use codec_registry::{
CodecDescriptor, CodecError, CodecId, CodecNegotiationRecord, CodecRegistry, SpeedClass,
};
pub use audit_log::{
AuditEntry, AuditError, AuditEvent, AuditStats, AuditStatsSnapshot, InferenceAuditLog,
};
pub use rule_dependency::{
DepError, DependencyType, EvaluationSchedule, RuleDependency, RuleDependencyGraph, RuleId,
};
pub use gradient_sparsify::{
DeltaEncoder, DeltaStats, GradientDelta as GradientDeltaV2, GradientSparsifier,
SparseGradient as SparseGradientV2, SparsifierStats, SparsityConfig,
};
pub use gradient_noise::{
GradientNoiseConfig, GradientNoiseInjector, NoiseSample, NoiseStats, NoiseType,
};
pub use gradient_clipper::{
ClipperStats, ClippingResult, ClippingStrategy, GradientTensor, TensorGradientClipper,
};
pub use proof_serializer::{
ProofNodeInput, ProofNodeRecord, ProofSerError, ProofSerializer, ProofSerializerStats,
ProofSerializerStatsSnapshot, ProofTreeInput, SerializedProof,
};
pub use tensor_arena::{ArenaError, ArenaRegion, ArenaSlice, ArenaStats, TensorArena};
pub use proof_cache::{
fnv1a_hash, CachedProof, ProofCacheConfig, ProofCacheKey, ProofCacheStats, ProofCachingLayer,
};
pub mod state_snapshot;
pub use state_snapshot::{
fnv1a_u64, FieldData, SnapshotDelta, SnapshotField, StateSnapshot, StateSnapshotStats,
TensorStateSnapshot,
};
pub mod provenance_tracker;
pub use provenance_tracker::{
ProvenanceChain, ProvenanceKind, ProvenanceRecord, ProvenanceStats, TensorProvenanceTracker,
};
pub mod execution_tracer;
pub mod optimization_history;
pub use execution_tracer::{
TensorExecutionTracer, TraceEvent, TraceEventKind, TraceSummary, TracerConfig, TracerStats,
};
pub use optimization_history::{
ConvergenceStatus, HistoryStats, OptimizationHistoryConfig, OptimizationStep,
TensorOptimizationHistory,
};
pub mod checkpoint_scheduler;
pub use checkpoint_scheduler::{
CheckpointRecord as SchedulerCheckpointRecord, CheckpointTrigger,
SchedulerConfig as CheckpointSchedulerConfig, SchedulerStats as CheckpointSchedulerStats,
TensorCheckpointScheduler,
};
pub mod grad_accumulator;
pub use grad_accumulator::{
AccumulationMode, AccumulatorConfig as GradAccumulatorConfig,
AccumulatorStats as GradAccumulatorStats, GradBuffer, TensorGradAccumulator,
};
pub mod autograd;
pub use autograd::{AutogradGraph, AutogradNode, AutogradOp, NodeId};
pub mod slice_view;
pub use slice_view::{BroadcastShape, SliceRange, SliceViewStats, TensorSliceView, ViewDescriptor};
pub mod batch_norm;
pub use batch_norm::{BatchNormConfig, BatchNormStats, NormMode, TensorBatchNorm};
pub mod quantizer;
pub use quantizer::{QuantBits, QuantMode, QuantParams, QuantizerStats, TensorQuantizer};
pub mod tensor_quantizer;
pub use tensor_quantizer::{
percentile as tq_percentile, DequantizedTensor as TqDequantizedTensor, QuantizationMode,
QuantizedTensor as TqQuantizedTensor, QuantizerConfig, QuantizerError,
QuantizerStats as TqQuantizerStats, TensorQuantizer as MultiPrecisionQuantizer,
};
pub mod checkpointer;
pub use checkpointer::{Checkpoint, CheckpointConfig, CheckpointerStats, TensorCheckpointer};
pub mod profiler;
pub use profiler::{OpProfile, ProfileEntry, ProfilerStats as TensorProfilerStats, TensorProfiler};
pub mod data_loader;
pub use data_loader::{DataBatch, DataLoaderConfig, DataLoaderStats, TensorDataLoader};
pub mod shape_inference;
pub use shape_inference::{
InferenceRule, ShapeInferenceStats, ShapeOp, TensorShape as InferenceTensorShape,
TensorShapeInference,
};
pub mod loss_function;
pub use loss_function::{LossConfig, LossFunctionStats, LossType, Reduction, TensorLossFunction};
pub mod activation;
pub use activation::{ActivationConfig, ActivationStats, ActivationType, TensorActivation};
pub mod activation_function;
pub use activation_function::ActivationConfig as AfActivationConfig;
pub use activation_function::ActivationFunction;
pub use activation_function::ActivationStats as AfActivationStats;
pub use activation_function::ActivationType as AfActivationType;
pub mod regularizer;
pub use regularizer::{RegularizerConfig, RegularizerStats, RegularizerType, TensorRegularizer};
pub mod loss_scaler;
pub use loss_scaler::{LossScaler, LossScalerConfig, ScaleUpdatePolicy, ScalerStats};
pub mod lr_scheduler;
pub use lr_scheduler::{
LRSchedulerConfig,
LRSchedulerStats,
LearningRateScheduler,
LrHistory,
LrSchedulerState,
LrStats,
ScheduleType,
SchedulerStrategy,
TensorLRScheduler,
};
pub mod weight_initializer;
pub use weight_initializer::{
FanMode, InitDistribution, InitStats, InitStrategy, TensorShape as InitTensorShape,
WeightInitConfig, WeightInitializer,
};
pub mod sgd_optimizer;
pub use sgd_optimizer::{
OptimizerType, ParameterState, SGDConfig, SGDOptimizer, SGDOptimizerStats,
};
pub mod model_pruner;
pub use model_pruner::{
LayerWeights, ModelPruner, PrunerConfig, PrunerStats, PruningResult, PruningStrategy,
};
pub mod attention_mechanism;
pub use attention_mechanism::{
causal_mask,
matmul as attn_matmul,
scaled_dot_product_attention,
softmax_1d,
transpose as attn_transpose,
AttentionConfig,
AttentionHead,
AttentionMatrix,
AttentionMechanism,
AttentionOutput,
AttnError,
AttnStats,
PositionalEncoding,
SimpleAttentionConfig,
SimpleAttentionMechanism,
SimpleAttentionOutput,
SimpleAttentionStats,
};
pub mod gradient_checkpointer;
pub use gradient_checkpointer::{
fnv1a_f64_slice, CheckpointId, CheckpointerConfig, GcAccumulationMode, GcCheckpointerStats,
GcGradientCheckpoint, GcGradientTensor, GradientCheckpointer, GradientCheckpointerError,
};
pub mod model_ensemble;
pub use model_ensemble::{
EnsembleConfig, EnsembleError, EnsembleResult, EnsembleStats, EnsembleStrategy, ModelEnsemble,
ModelMember, ModelPrediction,
};
pub mod online_learner;
pub use online_learner::{
LearnerError, OlLossFunction, OnlineAlgorithm, OnlineLearner, OnlineLearnerStats,
TrainingSample,
};
pub mod adaptive_optimizer;
pub use adaptive_optimizer::{
AdaptiveOptimizer, OptimizerAlgorithm, OptimizerError, OptimizerState as AoOptimizerState,
OptimizerStats as AoOptimizerStats, ParameterGroup,
};
pub mod neural_arch_search;
pub use neural_arch_search::{
fnv1a_nas, NasArchitecture, NasConfig, NasEvaluationResult, NasLayerType, NasSearchStrategy,
NasStats, NeuralArchitectureSearch,
};
pub mod hyperparameter_tuner;
pub use hyperparameter_tuner::{
HpConfig, HpSpec, HpTunerError, HpType, HpValue, HyperparameterTuner, TunerConfig, TunerStats,
TuningResult, TuningStrategy,
};
pub mod meta_learner;
pub use meta_learner::{
MetaError, MetaLearner, MetaLearnerConfig, MetaLearnerStats, MetaParameters, MetaTask,
TaskAdaptation, TaskExample, TaskId, TaskType,
};
pub mod reinforcement_learner;
pub use reinforcement_learner::{
ActionId, Experience, Policy, ReinforcementLearner, RlAlgorithm, RlError, RlStats, StateId,
};
pub mod causal_inference;
pub use causal_inference::{
CausalEdge, CausalEdgeType, CausalError, CausalGraph, CausalInferenceEngine, CausalNode,
CausalNodeId, CausalStats, CounterfactualQuery, InferenceResult, Intervention,
};
pub mod bayesian_updater;
pub use bayesian_updater::{
BayesError, BayesianUpdateEngine, CredibleInterval, Observation as BayesObservation,
Posterior as BayesPosterior, Prior as BayesPrior,
};
pub mod distributed_optimizer;
pub use distributed_optimizer::{
AggregatedGradient, AggregationStrategy, DistOptimizerStats, DistributedOptimizer,
GradientUpdate as DoGradientUpdate, OptimizerDistError, WorkerId as DoWorkerId,
WorkerState as DoWorkerState,
};
pub mod graph_neural_network;
pub use graph_neural_network::{
xorshift64 as gnn_xorshift64, GnnActivation, GnnAggregation, GnnConfig, GnnEdge, GnnError,
GnnLayer, GnnNodeId, GnnStats, GraphNeuralNetwork, NodeFeatures,
};
pub mod differential_privacy;
pub use differential_privacy::{
BudgetTracker as DpBudgetTracker, DifferentialPrivacyEngine, DpError, DpQuery, DpResult,
NoiseScale, PrivacyMechanism, PrivacyParameters as DpPrivacyParameters,
};
pub mod fuzzy_logic;
pub use fuzzy_logic::{
DefuzzMethod, FuzzyError, FuzzyLogicEngine, FuzzyProposition, FuzzyRule, FuzzySet, FuzzyStats,
FuzzyVariable, InferenceMethod, MembershipFunction,
};
pub mod fuzzy_logic_engine;
pub use fuzzy_logic_engine::{
DefuzzMethod as FleDefuzzMethod, EngineConfig, EngineStats, FuzzyError as FleFuzzyError,
FuzzyExpr, FuzzyLogicEngine as FleFuzzyLogicEngine, FuzzyRule as FleFuzzyRule,
FuzzySet as FleFuzzySet, FuzzyVariable as FleFuzzyVariable,
InferenceResult as FleInferenceResult, MembershipFunction as FleMembershipFunction,
};
pub mod temporal_reasoning;
pub use temporal_reasoning::{
AllenRelation, ConstraintViolation, TemporalConstraint, TemporalError, TemporalEvent,
TemporalReasoningEngine, TemporalStats, TimeInterval, TimePoint,
};
pub mod markov_decision_process;
pub use markov_decision_process::{
xorshift64 as mdp_xorshift64, xorshift_f64 as mdp_xorshift_f64, MarkovDecisionProcess,
MdpActionId, MdpError, MdpPolicy, MdpState, MdpStateId, MdpStats,
SolverConfig as MdpSolverConfig, SolverResult as MdpSolverResult, SolverType as MdpSolverType,
Transition as MdpTransition, ValueFunction as MdpValueFunction,
};
pub mod neural_symbolic;
pub use neural_symbolic::{
InferenceMode, IntegratorConfig, LogicalRule, NeuralSymbolicIntegrator, NsError, NsQuery,
NsResult, NsStats, RuleType, Symbol, SymbolId,
};
pub mod epistemic_logic;
pub use epistemic_logic::{
AccessibilityRelation, AgentId, EpistemicError, EpistemicFormula, EpistemicLogicReasoner,
EpistemicStats, KripkeModel, PossibleWorld, WorldId,
};
pub mod symbolic_neural_optimizer;
pub use symbolic_neural_optimizer::{
parse_constraint_bound, xorshift64 as sno_xorshift64, ConstraintBound, OptimizationObjective,
ParameterVector, SnoOptimizationResult, SnoOptimizationStep, SnoOptimizerConfig,
SymbolicConstraint, SymbolicNeuralOptimizer,
};
pub mod temporal_pattern_matcher;
pub use temporal_pattern_matcher::{
xorshift64 as tpm_xorshift64, EventLabel, MatchResult as TpmMatchResult, MatcherConfig,
MatcherError, MatcherStats, NfaState, PatternStep, RepeatSpec,
TemporalConstraint as TpmTemporalConstraint, TemporalPattern, TemporalPatternMatcher,
TimedEvent,
};
pub mod causal_chain_tracer;
pub use causal_chain_tracer::{
xorshift64 as cct_xorshift64, CausalChain, CausalChainTracer, CausalEdge as CctCausalEdge,
CausalNode as CctCausalNode, CausalRelation, TraceQuery, TracerConfig as CctTracerConfig,
TracerError, TracerStats as CctTracerStats,
};
pub mod rule_conflict_resolver;
pub use rule_conflict_resolver::{
xorshift64 as rcr_xorshift64, ConflictRecord, ConflictType, LogicRule, ResolutionStrategy,
ResolverConfig, ResolverError, ResolverStats, RuleConflictResolver,
};
pub mod belief_revision_engine;
pub use belief_revision_engine::{
xorshift64 as bre_xorshift64, Belief, BeliefRevisionEngine, BeliefSet, ConsistencyCheck,
RetentionFunction, RevisionConfig, RevisionError, RevisionOp, RevisionStats,
};
pub mod probabilistic_logic_network;
pub use probabilistic_logic_network::{
AtomType, LinkType, PlnAtom, PlnConfig, PlnError, PlnInferenceResult, PlnInferenceRule,
PlnLink, PlnStats, ProbabilisticLogicNetwork, TruthValue,
};
pub mod hypothesis_test_engine;
pub use hypothesis_test_engine::{
chi2_p_value, normal_cdf, sample_stats, t_cdf_approx, xorshift64, xorshift_normal,
EngineConfig as HteEngineConfig, Hypothesis, HypothesisTestEngine, SampleData, TestError,
TestResult, TestStatistic, TestStats, TestType,
};
pub mod reinforcement_learning_agent;
pub use reinforcement_learning_agent::{
xorshift64 as rla_xorshift64, xorshift_f64 as rla_xorshift_f64, AgentConfig, AgentPolicy,
AgentStats, AlgorithmType, EpisodeStats, ExperienceReplay, ReinforcementLearningAgent,
RlAction, RlAgentError, RlState, Transition as RlaTransition,
};
pub mod bayesian_network_inference;
pub use bayesian_network_inference::{
bni_xorshift64, BayesianNetwork, BayesianNetworkInference, BniConfig, BniError, BniStats,
ConditionalProbabilityTable, EliminationOrder, Evidence, Factor, InferenceAlgorithm,
InferenceQuery, QueryResult, RandomVariable,
};
pub mod meta_learning_optimizer;
pub use meta_learning_optimizer::{
AdaptationStep, MetaAlgorithm, MetaError as MloMetaError, MetaLearningOptimizer, MetaStats,
MetaTask as MloMetaTask, ModelParams, OptimizerConfig, TaskExample as MloTaskExample,
TaskId as MloTaskId,
};
pub mod temporal_knowledge_graph;
pub use temporal_knowledge_graph::{
EdgeId as TkgEdgeId, NodeId as TkgNodeId, TemporalKnowledgeGraph, TkgEdge, TkgError, TkgEvent,
TkgGraphStats, TkgMergePolicy, TkgNode, TkgQuery, TkgQueryResult, TkgSnapshot,
};
pub mod probabilistic_program_engine;
pub use probabilistic_program_engine::{
PpeEngineConfig, PpePrior, PpeSampleResult, PpeSamplingMethod, PpeSamplingStats,
ProbabilisticProgramEngine,
};
pub mod constraint_propagation_engine;
pub use constraint_propagation_engine::{
ConstraintPropagationEngine, CpeConstraint, CpeDomain, CpeEngineConfig, CpePropagationResult,
CpePropagationStats, CpeVariable,
};
pub mod symbolic_expression_simplifier;
pub use symbolic_expression_simplifier::{
SesExpr, SesRewriteRule, SesSimplifierConfig, SesSimplifierStats, SymbolicExpressionSimplifier,
};
pub mod decision_tree_learner;
pub use decision_tree_learner::{
DecisionTreeLearner, DtlCriterion, DtlLearnerConfig, DtlLearnerStats, DtlNode, DtlPrediction,
DtlSample,
};
pub mod abductive_reasoning_engine;
pub use abductive_reasoning_engine::{
abr_xorshift64, fnv1a_64 as abr_fnv1a_64, set_fingerprint as abr_set_fingerprint,
AbductiveReasoningEngine, AbrAbductiveReasoningEngine, AbrCostFunction, AbrEngineConfig,
AbrExplanation, AbrExplanationRecord, AbrHypothesis, AbrReasoningStats, AbrRule, AbrTerm,
};
pub mod ensemble_learner;
pub use ensemble_learner::{
ElBaseModel, ElEnsembleLearner, ElError, ElLearnerConfig, ElLearnerStats, ElMethod,
ElPrediction, ElSample, ElTrainingRecord, EnsembleLearner,
};
pub(crate) fn serialize_cid<S>(cid: &Cid, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serializer.serialize_str(&cid.to_string())
}
pub(crate) fn deserialize_cid<'de, D>(deserializer: D) -> Result<Cid, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
s.parse().map_err(serde::de::Error::custom)
}