SCENARIOS / SC-013 / TIGER POMDP
SC-013 RL / POMDP

Tiger POMDP

The canonical POMDP — a hidden tiger, noisy growls, a finite-memory policy.

Async Tick Observations FSM
HIDDEN STATE s ∈ S s0 s1 s2 NOISY OBS o ~ O(s) b(s)
Tiger POMDP schematic
SC-013 / SCHEMATICRL / POMDP
Clock 60 Hz tick
Update Asynchronous
Hidden state tiger_position
Obs accuracy ~0.85
Observability Partial
OVERVIEW

A textbook partially-observable Markov decision process. The tiger sits behind the left or right door — a hidden taxonomy value the agent's policy never reads. The contestant listens, drawing a growl that points the right way ~85% of the time, and accumulates observations in a bounded two-slot history. It opens a door only after two consecutive agreeing growls; otherwise it listens again, paying a small cost each time.

Demonstrates principled handling of hidden state: the emission probabilities are encoded as condition-masked distributions, and the belief is approximated by a finite window of past observations rather than a real probability vector. A compact, reproducible benchmark for agents that must act under uncertainty and information-gathering cost.

TRAITS
Async
Independent, event-driven timelines
Tick
Discrete fixed-step time
Observations
Emits structured agent observations
FSM
Entities are finite-state machines
SCHEMA

Linked tables with guaranteed referential integrity.

TABLECOLUMNSDESCRIPTION
contestant ID, Age, tiger_position, obs, obs@h0, obs@h1, HistoryHead, listens, total_reward, current_state One row per contestant: the hidden tiger position, the latest observation, the two-slot observation history, listen count and cumulative reward.
LIVE API

Generated REST endpoints. Also exposed as MCP tools.

POST /scenarios/tiger-pomdp/experiments Seed a new episode set
POST /scenarios/tiger-pomdp/experiments/{eid}/run Advance N turns, or request listen/open
GET /scenarios/tiger-pomdp/experiments/{eid}/entities/contestant Read contestant beliefs and rewards
GET /scenarios/tiger-pomdp/experiments/{eid}/events Append-only event log
GET /scenarios/tiger-pomdp/experiments/{eid}/dataset Download the exported dataset
SEMANTIC LAYER

OSI-compatible definition, emitted with the dataset.

# tiger-pomdp.osi.yaml — emitted automatically
semantic_model:
  name: "tiger-pomdp"
  source: "duckdb://tiger-pomdp.db"
  entities:
    - name: contestant
      primary_key: id
  dimensions:
    - name: state
      type: categorical
    - name: t
      type: time
  measures:
    - name: row_count
      agg: count
    - name: active
      agg: sum
      filter: "state = 'ACTIVE'"