infer-actively/pymdp

Design sensible defaults for sophisticated inference planning parameters

Open

#342 opened on Jan 22, 2026

 (1 comment) (0 reactions) (0 assignees)Python (134 forks)auto 404
enhancementhelp wanted

Repository metrics

Stars
 (720 stars)
PR merge metrics
 (PR metrics pending)

Description

Follow up issue from discussion in review of #341

Right now in sophisticated inference (see si_policy_search in pymdp/planning/si.py), the default parameters are as follows:

def si_policy_search(
    horizon=5,
    max_nodes=5000,
    max_branching=10,
    policy_prune_threshold=1 / 16,
    observation_prune_threshold=1 / 16,
    entropy_stop_threshold=0.5,
    efe_stop_threshold=1e10,
    kl_threshold=-1,
    prune_penalty=512,
    gamma=1,
    topk_obsspace=10000,
):

My intuition is that these parameters are incredibly model specific, and should depend on a combination of the A/B matrix parameters (which parameterizes the expected uncertainty associated with both observation and hidden state distributions), the planning horizon, and action space, to set them. One idea for this is to actual compute defaults from a given model, rather than set them as fixed numbers manually.

Contributor guide