зеркало из
https://github.com/docxology/cognitive.git
synced 2025-10-30 04:36:05 +02:00
7.8 KiB
7.8 KiB
API Reference Documentation
title: API Reference Documentation type: reference status: stable created: 2024-02-06 tags:
- api
- reference
- documentation semantic_relations:
- type: implements links: api_documentation
- type: documents links:
- type: relates links:
Core API Components
Active Inference Framework
See knowledge_base/cognitive/active_inference for theoretical background.
ActiveInferenceAgent
class ActiveInferenceAgent:
"""
Main agent implementation for Active Inference.
Theory: [[knowledge_base/cognitive/active_inference|Active Inference]]
Examples: [[active_inference_example]]
"""
def __init__(self,
observation_space: Space,
action_space: Space,
precision: float = 1.0):
"""
Initialize agent with observation and action spaces.
Theory: [[knowledge_base/cognitive/free_energy_principle|Free Energy Principle]]
Args:
observation_space (Space): Observation space definition
action_space (Space): Action space definition
precision (float): Action precision parameter
"""
def update_beliefs(self,
observation: np.ndarray) -> np.ndarray:
"""
Update beliefs using [[knowledge_base/cognitive/predictive_processing|Predictive Processing]].
Implementation: [[belief_updating]]
Args:
observation (np.ndarray): Current observation
Returns:
np.ndarray: Updated belief state
"""
def select_action(self) -> np.ndarray:
"""
Select action using Active Inference principles.
Theory: [[knowledge_base/cognitive/active_inference#action-selection|Action Selection]]
Implementation: [[action_selection]]
Returns:
np.ndarray: Selected action
"""
Belief Updating System
See knowledge_base/cognitive/predictive_processing for theoretical foundation.
BeliefUpdater
class BeliefUpdater:
"""
Belief updating implementation.
Theory: [[knowledge_base/cognitive/predictive_processing|Predictive Processing]]
Examples: [[belief_updating_example]]
"""
def __init__(self,
model: GenerativeModel,
inference_method: str = "variational"):
"""
Initialize belief updater.
Theory: [[knowledge_base/cognitive/free_energy_principle#variational-inference|Variational Inference]]
Args:
model (GenerativeModel): Generative model
inference_method (str): Inference method
"""
def update(self,
prior: np.ndarray,
likelihood: np.ndarray) -> np.ndarray:
"""
Update beliefs using predictive processing.
Theory: [[knowledge_base/cognitive/predictive_processing#belief-updating|Belief Updating]]
Implementation: [[belief_updating]]
Args:
prior (np.ndarray): Prior beliefs
likelihood (np.ndarray): Likelihood distribution
Returns:
np.ndarray: Posterior beliefs
"""
Policy Selection
See action_selection for algorithm details.
PolicySelector
class PolicySelector:
"""
Policy selection implementation.
See [[action_selection_example]] for usage.
"""
def __init__(self,
policy_space: PolicySpace,
precision: float = 1.0):
"""
Initialize policy selector.
Args:
policy_space (PolicySpace): Available policies
precision (float): Selection precision
"""
def select_policy(self,
beliefs: np.ndarray,
preferences: np.ndarray) -> Policy:
"""
Select policy using expected free energy.
Args:
beliefs (np.ndarray): Current beliefs
preferences (np.ndarray): Goal preferences
Returns:
Policy: Selected policy
"""
Utility Functions
Matrix Operations
def compute_free_energy(beliefs: np.ndarray,
observations: np.ndarray) -> float:
"""
Compute variational free energy.
See [[free_energy_principle]] for theory.
Args:
beliefs (np.ndarray): Current beliefs
observations (np.ndarray): Observed data
Returns:
float: Free energy value
"""
def compute_expected_free_energy(policy: Policy,
beliefs: np.ndarray) -> float:
"""
Compute expected free energy for policy.
See [[active_inference]] for details.
Args:
policy (Policy): Candidate policy
beliefs (np.ndarray): Current beliefs
Returns:
float: Expected free energy
"""
Visualization Tools
See visualization_tools for complete documentation.
def plot_belief_state(beliefs: np.ndarray,
title: str = "Belief State") -> None:
"""
Plot current belief state distribution.
Args:
beliefs (np.ndarray): Belief distribution
title (str): Plot title
"""
def plot_action_selection(policies: List[Policy],
values: np.ndarray) -> None:
"""
Plot policy selection process.
Args:
policies (List[Policy]): Available policies
values (np.ndarray): Policy values
"""
Data Structures
State Spaces
class BeliefState:
"""
Belief state representation.
See [[belief_updating]] for usage.
"""
def __init__(self,
dimensions: Tuple[int, ...],
dtype: np.dtype = np.float32):
"""
Initialize belief state.
Args:
dimensions (Tuple[int, ...]): State dimensions
dtype (np.dtype): Data type
"""
class PolicySpace:
"""
Policy space representation.
See [[action_selection]] for usage.
"""
def __init__(self,
action_space: Space,
horizon: int):
"""
Initialize policy space.
Args:
action_space (Space): Action space
horizon (int): Planning horizon
"""
Integration Examples
Basic Usage
# Create agent
agent = ActiveInferenceAgent(
observation_space=obs_space,
action_space=action_space
)
# Update beliefs
observation = environment.observe()
beliefs = agent.update_beliefs(observation)
# Select action
action = agent.select_action()
See integration_examples for more examples.
Error Handling
Common Exceptions
class DimensionError(Exception):
"""Raised when dimensions don't match."""
pass
class ValidationError(Exception):
"""Raised when validation fails."""
pass
See error_handling for details.
Performance Considerations
Optimization Guidelines
- Use vectorized operations
- Implement caching where appropriate
- Consider parallel processing for large models
See performance_optimization for details.