text: (cid:5) 
  
  We can now input the above arguments into init_aif and create an AIF object. This allows 
  us to present it with observations and let it choose actions. The following displays a few 
  functions in the order they are usually used, first inferring environmental states, then 
  updating matrices and then selecting a new action. First, we make inferences about the 
  environment with infer_states!, which returns the updated posterior belief q(s) about 
  environmental states given an observation. The observation is presented as a vector with 
  an entry for each observation modality: 
  (cid:7)  (cid:4) 
  
  observation = [1] # Define an observation for each observation modality 
  qs = infer_states !( aif , observation ) # Produce a posterior belief about states 
  (cid:6)  (cid:5) 
  
  We can now also update the Dirichlet beliefs about the various parameters with the 
  update_parameters! function.**A**is updated based on the last observation and the posterior 
  belief about the state that generated it.**B**is updated based on the posteriors about the 
  previous state transition given the previous action.**D**is updated based on the posterior 
  over states at the first time step. 
  (cid:7)  (cid:4) 
  
  # Update parameters based on provided priors , pA , pB , and pD . 
  update_parameters !( aif ) 
  (cid:6)  (cid:5) 