ICU Delirium as a Failure of Predictive Synchronization: A Two-Agent Active Inference Model.
The 39 matches
- [1] § 3. The Predictive Synchronization Hypothesis › 3.5. Results › 3.5.1. Statistical Approach ↔ DELIRIUM/pomdp_delirium/analysis/reviewer_response.py, lines 1–51 · score 0.92 · sustained joint threshold, genuine binary outcome, logistic regression, report Spearman, cluster, linear
- [2] § 3. The Predictive Synchronization Hypothesis › 3.6. Model Comparison: Ablation Study ↔ DELIRIUM/pomdp_delirium/inference/causal_feedback.py, lines 1–47 · score 0.86 · Persistent de synchronization, active inference sense, causal feedback, prior belief distribution, precision rigidity, confused
- [3] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.7. Desynchronization Pressure ↔ DELIRIUM/pomdp_delirium/inference/causal_feedback.py, lines 1–47 · score 0.81 · increasingly peaked, causal feedback, prior belief distribution, Precision rigidity, degrade, confidence
- [4] § 3. The Predictive Synchronization Hypothesis › 3.5. Results › 3.5.2. Result 1: Phenotypic Gradient in Delirium Rate ↔ DELIRIUM/pomdp_delirium/analysis/reviewer_response.py, lines 1–51 · score 0.81 · Logistic regression, linear relationship, binary outcome, monotonicity, discriminating, genuine
- [5] § 3. The Predictive Synchronization Hypothesis › 3.6. Model Comparison: Ablation Study ↔ DELIRIUM/pomdp_delirium/simulation/loop.py, lines 198–243 · score 0.77 · implementing precision rigidity, causal feedback, prior sharpening, Full model, prior belief, M3
- [6] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.7. Desynchronization Pressure ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 46–168 · score 0.75 · high probability states, probability mass, belief update, power, peaked, propagates
- [7] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.3. Patients’ Transition Matrix and Preference Vector ↔ DELIRIUM/pomdp_delirium/world/generative_models.py, lines 399–414 · score 0.73 · bright_blue, dim_warm, log preferences, nature, alarm, sound
- [8] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.7. Desynchronization Pressure ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 46–168 · score 0.73 · increasingly peaked, MAP state, Precision rigidity, prior belief, sharpens, causal
- [9] § 3. The Predictive Synchronization Hypothesis › 3.5. Results ↔ DELIRIUM/pomdp_delirium/simulation/loop.py, lines 245–279 · score 0.72 · symmetric metric, patient surprisal, room surprisal, room observations, Predictive synchronization, SI
- [10] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.6. Room’s Transition Matrix ↔ DELIRIUM/pomdp_delirium/inference/hierarchical.py, lines 1–35 · score 0.70 · latent patient parameters, cognitive plasticity, emotional reactivity, room agent, dynamics, transition
- [11] § 3. The Predictive Synchronization Hypothesis › 3.8. Robustness and Sensitivity of the Simulation Results › 3.8.2. Sensitivity of Causal Feedback Parameters ↔ DELIRIUM/pomdp_delirium/inference/causal_feedback.py, lines 99–124 · score 0.70 · history window, sharpening strength, prior sharpening, nats, Feedback, threshold
- [12] § 3. The Predictive Synchronization Hypothesis › 3.5. Results › 3.5.1. Statistical Approach ↔ DELIRIUM/pomdp_delirium/analysis/reviewer_response.py, lines 102–156 · score 0.69 · logistic regression, higher delirium, binary outcome, classes, curve, discriminates
- [13] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.6. Room’s Transition Matrix ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 179–202 · score 0.69 · latent patient parameters, cognitive plasticity, emotional reactivity, room agent, transition, cycle
- [14] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.4. Level-2 Belief Update ( Inference) ↔ DELIRIUM/pomdp_delirium/inference/hierarchical.py, lines 163–268 · score 0.69 · reliability weight, log space, Bayesian update, Inference, Belief
- [15] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 1–18 · score 0.68 · policy selection, expected free energy, active inference, computable, variational, synchronization
- [16] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.5. Level-3 Action Selection ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 327–354 · score 0.66 · adaptive temperature, early cycles, exploitation, uncertainty, exploration, personalized
- [17] § 3. The Predictive Synchronization Hypothesis › 3.5. Results › 3.5.5. Result 4: Is the Primary Informative Metric ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 241–264 · score 0.65 · negative log probabilities, patient surprisal, belief distribution, commensurable, nats, room
- [18] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.2. Level-1 Belief Update (State Inference) ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 25–60 · score 0.63 · log prior, log likelihood, VMP, softmax, discrete, posterior
- [19] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.3. Patients’ Transition Matrix and Preference Vector ↔ DELIRIUM/pomdp_delirium/world/spaces.py, lines 92–98 · score 0.62 · bright_blue, dim_warm, nature, alarm, sound, patient
- [20] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation ↔ DELIRIUM/pomdp_delirium/simulation/loop.py, lines 198–243 · score 0.61 · incoming observations, causal feedback, prior beliefs, loop, pressure, sharpens
- [21] § 3. The Predictive Synchronization Hypothesis › 3.6. Model Comparison: Ablation Study ↔ DELIRIUM/pomdp_delirium/simulation/cohort.py, lines 135–211 · score 0.59 · room acts randomly, delirium rates, M0, M1, variant, seeds
- [22] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.3. Patients’ Transition Matrix and Preference Vector ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 1–39 · score 0.58 · micro actions, patient agent, hidden state, orienting, passive, startling
- [23] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.4. The ICU Room ↔ DELIRIUM/pomdp_delirium/inference/hierarchical.py, lines 55–141 · score 0.57 · cognitive plasticity, emotional reactivity, threatening, infers, inference, room
- [24] § 3. The Predictive Synchronization Hypothesis › 3.1. Delirium as a Failure of Predictive Synchronization ↔ DELIRIUM/pomdp_delirium/main.py, lines 1–31 · score 0.57 · early warning signal, de synchronization, generative model, hypothesis, Failure, agent
- [25] § 3. The Predictive Synchronization Hypothesis › 3.2. Synchronization Is Operationalized as Surprisal ↔ DELIRIUM/pomdp_delirium/world/observations.py, lines 25–74 · score 0.57 · likelihood matrix, internal states, room actions, hidden state, probability, patient
- [26] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.1. The Patient ↔ DELIRIUM/pomdp_delirium/world/spaces.py, lines 48–50 · score 0.57 · emotional precision, amygdala, HPA, moderate, minimal, spiked
- [27] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.1. Variational Free Energy (VFE) ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 88–115 · score 0.57 · posterior belief, prior beliefs, variational, VFE, Energy, inference
- [28] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.1. Variational Free Energy (VFE) ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 1–18 · score 0.56 · variational free energy, Active inference, minimize, VFE, agents
- [29] § 3. The Predictive Synchronization Hypothesis › 3.2. Synchronization Is Operationalized as Surprisal ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 241–264 · score 0.56 · negative log probabilities, belief distribution, hidden state, commensurable, surprise, room
- [30] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.1. The Patient ↔ DELIRIUM/pomdp_delirium/world/generative_models.py, lines 67–145 · score 0.56 · active inference, sharply, generative model, threat, weighted, likelihood
- [31] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.3. Patients’ Transition Matrix and Preference Vector ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 118–174 · score 0.56 · preference vector, transition matrix, hidden state, agent
- [32] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.2. Level-1 Belief Update (State Inference) ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 25–60 · score 0.56 · variational message passing, VMP, beliefs, Inference
- [33] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture ↔ DELIRIUM/pomdp_delirium/main.py, lines 1–31 · score 0.55 · bidirectionally coupled POMDP, preference, ICU, agents, cycle, model
- [34] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.4. The ICU Room ↔ DELIRIUM/pomdp_delirium/world/spaces.py, lines 1–37 · score 0.55 · dimensional space, room maintains, hidden state, ICU, patient
- [35] § 3. The Predictive Synchronization Hypothesis › 3.4. Mathematical Structure of the Simulation › 3.4.2. Level-1 Belief Update (State Inference) ↔ DELIRIUM/pomdp_delirium/inference/hierarchical.py, lines 163–268 · score 0.55 · log likelihood, state inference, numerically, posterior, cycle, Belief
- [36] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.4. The ICU Room ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 179–202 · score 0.54 · cognitive plasticity, emotional reactivity, inference, ICU, room, patient
- [37] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture ↔ DELIRIUM/pomdp_delirium/inference/core.py, lines 118–174 · score 0.51 · preference vector, transition matrix, likelihood, agents
- [38] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.1. The Patient ↔ DELIRIUM/pomdp_delirium/world/generative_models.py, lines 67–145 · score 0.50 · emotional precision, threat, spiked, modulated, elevated, weight
- [39] § 3. The Predictive Synchronization Hypothesis › 3.3. Agent Architecture › 3.3.4. The ICU Room ↔ DELIRIUM/pomdp_delirium/agents/agents.py, lines 1–39 · score 0.50 · room configuration, room agent, hidden state, monitoring, sensors, sound
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 295 lines · 9.6 KB · MIT · 9 matches
- """
- inference/core.py
- =================
- Core active inference computations for both agents.
- Functions:
- belief_update -- VFE minimization via softmax (variational inference)
- compute_vfe -- Variational Free Energy F = -accuracy + complexity
- compute_efe -- Expected Free Energy G for policy selection
- select_action -- Softmax policy selection from EFE values
- kl_divergence -- KL(Q_P || Q_R) synchronization metric
- mutual_information -- MI between two belief distributions
- """
- import numpy as np
- from typing import List, Optional
- EPS = 1e-16
- # ---------------------------------------------------------------------------
- # Belief updating (VFE minimization)
- # ---------------------------------------------------------------------------
- def belief_update(obs: int,
- A: np.ndarray,
- qs_prior: np.ndarray,
- n_iter: int = 16) -> np.ndarray:
- """
- Update belief Q(s) given observation obs and prior Q(s).
- Implements variational message passing: iteratively updates Q(s)
- to minimise VFE = -E_Q[ln P(o|s)] + KL[Q(s)||prior].
- This is the standard active inference belief update, equivalent to
- a softmax on log-likelihood + log-prior (single-step approximation).
- Args:
- obs: observed index (integer)
- A: likelihood matrix P(o|s), shape (n_obs, n_states)
- qs_prior: prior belief Q(s), shape (n_states,)
- n_iter: VMP iterations (16 is sufficient for these matrix sizes)
- Returns:
- qs_post: posterior belief Q(s), shape (n_states,)
- """
- # Log-likelihood of observation under each state
- ln_likelihood = np.log(A[obs] + EPS) # shape (n_states,)
- ln_prior = np.log(qs_prior + EPS) # shape (n_states,)
- # Iterative VMP (converges fast for discrete POMDP)
- qs = qs_prior.copy()
- for _ in range(n_iter):
- ln_qs = ln_likelihood + ln_prior
- # Softmax normalization
- ln_qs -= ln_qs.max()
- qs = np.exp(ln_qs)
- qs /= qs.sum()
- return qs
- def predict_next_state(qs: np.ndarray,
- B: np.ndarray,
- action: int) -> np.ndarray:
- """
- Predictive prior for next time step:
- Q(s') = sum_s B(s'|s,a) Q(s)
- Args:
- qs: current belief, shape (n_states,)
- B: transition matrix, shape (n_states, n_states, n_actions)
- action: chosen action index
- Returns:
- qs_pred: predicted belief at t+1, shape (n_states,)
- """
- qs_pred = B[:, :, action] @ qs
- qs_pred = np.clip(qs_pred, EPS, None)
- qs_pred /= qs_pred.sum()
- return qs_pred
- # ---------------------------------------------------------------------------
- # Free energy quantities
- # ---------------------------------------------------------------------------
- def compute_vfe(obs: int,
- qs: np.ndarray,
- A: np.ndarray,
- qs_prior: np.ndarray) -> float:
- """
- Variational Free Energy:
- F = -E_Q[ln P(o|s)] (negative accuracy)
- + KL[Q(s) || Q_prior] (complexity)
- Lower F = better fit between model and observation.
- High F = the agent is surprised — cannot explain the observation.
- Args:
- obs: observed index
- qs: posterior belief Q(s)
- A: likelihood P(o|s)
- qs_prior: prior belief
- Returns:
- F: scalar free energy
- """
- # Accuracy: expected log-likelihood
- accuracy = float(qs @ np.log(A[obs] + EPS))
- # Complexity: KL divergence Q(s) || prior
- complexity = float(np.sum(qs * (np.log(qs + EPS) - np.log(qs_prior + EPS))))
- return -accuracy + complexity
- def compute_efe(A: np.ndarray,
- B: np.ndarray,
- qs: np.ndarray,
- C: np.ndarray,
- action: int,
- use_epistemic: bool = True) -> float:
- """
- Expected Free Energy for a single action:
- G(a) = -E[ln P(o)] - MI(o; s | a) [pragmatic + epistemic]
- Decomposes into:
- Pragmatic value: E_Q(s')[E_Q(o|s')[C(o)]] (preference satisfaction)
- Epistemic value: E_Q(s')[H[P(o|s')]] - H[E_Q(s')[P(o|s')]]
- (expected information gain about hidden states)
- Lower G = better action (more likely to be selected).
- Args:
- A: likelihood P(o|s), shape (n_obs, n_states)
- B: transition matrix, shape (n_states, n_states, n_actions)
- qs: current belief Q(s), shape (n_states,)
- C: log-preference vector, shape (n_obs,) or (n_states,)
- action: action index to evaluate
- use_epistemic: if True, include epistemic (information gain) term
- Returns:
- G: scalar EFE (lower = preferred)
- """
- # Predicted state at next step under this action
- qs_next = predict_next_state(qs, B, action) # shape (n_states,)
- # Predicted observation distribution: P(o) = sum_s A(o|s) Q(s')
- po = A @ qs_next # shape (n_obs,)
- po = np.clip(po, EPS, None)
- po /= po.sum()
- # Pragmatic value: expected preference satisfaction
- if C.shape[0] == A.shape[0]: # C over observations
- pragmatic = float(po @ C)
- else: # C over states (room agent)
- pragmatic = float(qs_next @ C)
- # Epistemic value: expected information gain (Bayesian surprise reduction)
- epistemic = 0.0
- if use_epistemic:
- # H[P(o)] — entropy of predicted observation distribution
- H_po = -float(np.sum(po * np.log(po + EPS)))
- # E_Q(s')[H[P(o|s')]] — expected entropy of likelihood columns
- H_Aos = -np.sum(A * np.log(A + EPS), axis=0) # shape (n_states,)
- E_H_Aos = float(qs_next @ H_Aos)
- # MI = H[P(o)] - E[H[P(o|s')]]
- epistemic = H_po - E_H_Aos
- # G = -(pragmatic + epistemic): lower is better
- return -(pragmatic + epistemic)
- def select_action(A: np.ndarray,
- B: np.ndarray,
- qs: np.ndarray,
- C: np.ndarray,
- n_actions: int,
- temperature: float = 1.0,
- use_epistemic: bool = True,
- rng: Optional[np.random.Generator] = None) -> int:
- """
- Select action by computing EFE for all actions and sampling
- from softmax distribution (stochastic policy).
- Args:
- temperature: controls exploration (higher = more uniform)
- rng: random generator (if None, uses argmin — greedy)
- Returns:
- chosen action index
- """
- G = np.array([
- compute_efe(A, B, qs, C, a, use_epistemic=use_epistemic)
- for a in range(n_actions)
- ])
- if rng is None:
- return int(np.argmin(G))
- # Softmax policy: pi(a) ∝ exp(-G(a) / temperature)
- log_pi = -G / temperature
- log_pi -= log_pi.max()
- pi = np.exp(log_pi)
- pi /= pi.sum()
- return int(rng.choice(n_actions, p=pi))
- # ---------------------------------------------------------------------------
- # Synchronization metrics
- # ---------------------------------------------------------------------------
- def sync_room_to_patient(Q_R: np.ndarray, true_state: int) -> float:
- """
- Synchronization of room toward patient:
- S_{R->P} = -ln Q_R(true_state)
- Measures how well the room predicts the patient's true hidden state.
- Low surprisal = good prediction = room is synchronized with patient.
- High surprisal = room model has diverged from patient's true state.
- """
- p = float(np.clip(Q_R[true_state], EPS, None))
- return -np.log(p)
- def sync_patient_to_room(vfe_p: float) -> float:
- """
- Synchronization of patient toward room (PROXY):
- S_{P->R} = VFE_P
- DEPRECATED proxy: conflates accuracy and complexity terms.
- Use sync_patient_to_room_true() for the commensurable version.
- """
- return vfe_p
- def sync_patient_to_room_true(Q_P: np.ndarray,
- A_R: np.ndarray,
- obs_r: int) -> float:
- """
- True symmetric S_{P->R}: patient surprisal at room observation.
- S_{P->R}^{true} = -ln P(o_R | Q_P)
- = -ln sum_s Q_P(s) * A_R[o_R, s]
- Commensurable with S_{R->P} = -ln Q_R(s*):
- Both are negative log-probabilities of an observation
- under a belief distribution.
- Args:
- Q_P: patient belief over hidden states (n_states,)
- A_R: room likelihood matrix P(o_R|s), shape (n_obs_room, n_states)
- obs_r: room observation index at this cycle
- Returns:
- S_{P->R}^{true} in nats (>= 0)
- """
- p_obs = float(np.dot(Q_P, A_R[obs_r]))
- p_obs = max(p_obs, EPS)
- return -np.log(p_obs)
- def synchronization_index(s_r2p: float, s_p2r: float,
- s_r2p_max: float = 6.0,
- s_p2r_max: float = 6.0) -> float:
- """
- Composite synchronization index in [0, 1].
- Synchronization is defined as the capacity of each agent to predict
- the states of the other:
- - Room predicts patient: S_{R->P} = -ln Q_R(true_state)
- - Patient predicts room: S_{P->R} = VFE_P
- Both terms are surprisal measures: lower = better prediction = more sync.
- The index inverts and normalizes both so that 1.0 = perfect sync.
- SI = 0.5 * (1 - S_{R->P}/max) + 0.5 * (1 - S_{P->R}/max)
- """
- r2p_norm = 1.0 - min(s_r2p / s_r2p_max, 1.0)
- p2r_norm = 1.0 - min(s_p2r / s_p2r_max, 1.0)
- return 0.5 * r2p_norm + 0.5 * p2r_norm
- def bidirectional_desync(s_r2p: float, s_p2r: float) -> float:
- """
- Raw bidirectional de-synchronization score (lower = more synchronized):
- D = S_{R->P} + S_{P->R}
- Used as primary delirium criterion input.
- """
- return s_r2p + s_p2r
core.py at commit a000de7, under MIT · at the source
Overview
Abstract
This paper presents a computational model of delirium in the Intensive Care Unit (ICU), in which delirium is defined as the endpoint of a self-reinforcing cycle of predictive failure between two bidirectionally coupled agents: the patient and the ICU room environment. Drawing on the active inference framework and the free energy principle, the paper proposes that delirium is not a property of the patient in isolation but a relational phenomenon that emerges when the environment persistently fails to predict the patient’s internal state. This failure triggers a causal feedback mechanism in which desynchronization pressure progressively sharpens the patient’s prior beliefs—implementing precision rigidity in the correct active inference sense: not a brain overwhelmed by noise but a brain locked into a state that incoming observations can no longer update. The model is implemented as a two-agent POMDP in which both agents maintain generative models and continuously attempt to predict each other’s states. The room agent (R)—understood as the environment-side sensing–inference–actuat
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 39 matches between paragraphs and lines of code.
DesignAInf/DELIRIUM-AND-SYNCHRONIZATION
a000de7edfd8ca377dca975a659e6a02010dcd19, 9 June 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
20 files
- DELIRIUM/
pomdp_delirium/ , Python, 1 line__init__.py - DELIRIUM/
pomdp_delirium/ , Python, 1 lineagents/ __init__.py - DELIRIUM/
pomdp_delirium/ , Python, 394 lines, 7 matchesagents/ agents.py - DELIRIUM/
pomdp_delirium/ , Python, 1 lineanalysis/ __init__.py - DELIRIUM/
pomdp_delirium/ , Python, 360 linesanalysis/ plots.py - DELIRIUM/
pomdp_delirium/ , Python, 337 lines, 3 matchesanalysis/ reviewer_response.py - DELIRIUM/
pomdp_delirium/ , Python, 1 lineinference/ __init__.py - DELIRIUM/
pomdp_delirium/ , Python, 124 lines, 3 matchesinference/ causal_feedback.py - DELIRIUM/
pomdp_delirium/ , Python, 295 lines, 9 matchesinference/ core.py - DELIRIUM/
pomdp_delirium/ , Python, 268 lines, 4 matchesinference/ hierarchical.py - DELIRIUM/
pomdp_delirium/ , Python, 220 lines, 2 matchesmain.py - DELIRIUM/
pomdp_delirium/ , Python, 29 linessetup.py - DELIRIUM/
pomdp_delirium/ , Python, 1 linesimulation/ __init__.py - DELIRIUM/
pomdp_delirium/ , Python, 211 lines, 1 matchsimulation/ cohort.py - DELIRIUM/
pomdp_delirium/ , Python, 370 lines, 3 matchessimulation/ loop.py - DELIRIUM/
pomdp_delirium/ , Python, 1 lineworld/ __init__.py - DELIRIUM/
pomdp_delirium/ , Python, 461 lines, 3 matchesworld/ generative_models.py - DELIRIUM/
pomdp_delirium/ , Python, 145 lines, 1 matchworld/ observations.py - DELIRIUM/
pomdp_delirium/ , Python, 264 lines, 3 matchesworld/ spaces.py - README.md, Text, 197 lines
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 19 scripts, each with its path and the digest of its content;
- 39 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data Availability Statement
Data is contained within the article.
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 1 author, 5 keywords, 31 references.
Cite
This paper
Possati, L. M. (2026). ICU Delirium as a Failure of Predictive Synchronization: A Two-Agent Active Inference Model. Entropy (Basel, Switzerland), 28(6), 702. https://
BibTeX
@article{possati2026icu,
author = {Possati, Luca M},
title = {{ICU Delirium as a Failure of Predictive Synchronization: A Two-Agent Active Inference Model}},
journal = {Entropy (Basel, Switzerland)},
year = {2026},
month = jun,
volume = {28},
number = {6},
pages = {702},
publisher = {Multidisciplinary Digital Publishing Institute (MDPI)},
issn = {1099-4300},
doi = {10.3390/
url = {https://
pmid = {42352212},
pmcid = {PMC13298327}
}
RIS
TY - JOUR
AU - Possati, Luca M
TI - ICU Delirium as a Failure of Predictive Synchronization: A Two-Agent Active Inference Model
T2 - Entropy (Basel, Switzerland)
J2 - Entropy (Basel)
PY - 2026
DA - 2026/
VL - 28
IS - 6
SP - 702
SN - 1099-4300
PB - Multidisciplinary Digital Publishing Institute (MDPI)
DO - 10.3390/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.3390/
"type": "article-journal",
"title": "ICU Delirium as a Failure of Predictive Synchronization: A Two-Agent Active Inference Model",
"container-title": "Entropy (Basel, Switzerland)",
"author": [
{
"family": "Possati",
"given": "Luca M"
}
],
"container-title-short":
"volume": "28",
"issue": "6",
"page": "702",
"DOI": "10.3390/
"PMID": "42352212",
"PMCID": "PMC13298327",
"ISSN": "1099-4300",
"publisher": "Multidisciplinary Digital Publishing Institute (MDPI)",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
17
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41467-026-74358-5 [code]
- Brain-inspired spatial intelligence for embodied agents.Journal: Nature communicationsIn common: scikit-learn, SciPy, Matplotlib, 1 other tool, 2 references
- [2] doi:10.1038/s41467-026-76841-5 [code]
- Stable clique membership in male mouse societies requires oxytocin-enabled social sensory states.Journal: Nature communicationsIn common: statsmodels, scikit-learn, SciPy, 2 other tools, 1 reference
- [3] doi:10.1038/s41467-026-74824-0 [code]
- Learning regularities in noise engages both neural predictive activity and representational changes.Journal: Nature communicationsIn common: statsmodels, scikit-learn, SciPy, 2 other tools, 1 reference
- [4] doi:10.1038/s41467-026-74357-6 [code]
- Hippocampo-neocortical interaction as compressive retrieval-augmented generation.Journal: Nature communicationsIn common: statsmodels, scikit-learn, SciPy, 2 other tools, 1 reference
- [5] doi:10.1038/s41598-026-53525-0 [code]
- Timing-induced illusory percepts of pitch.Journal: Scientific reportsIn common: SciPy, Matplotlib, NumPy, 2 references
- [6] doi:10.1371/journal.pcbi.1014340 [code]
- pyhgf: A neural network library for predictive coding.Journal: PLoS computational biologyIn common: scikit-learn, SciPy, Matplotlib, 1 other tool, 1 reference
- [7] doi:10.1038/s41467-026-73994-1 [code]
- Prediction error correlates in the striosome-dopamine circuit emerge from information gain.Journal: Nature communicationsIn common: statsmodels, SciPy, Matplotlib, 1 other tool, 1 reference
- [8] doi:10.1016/j.ibneur.2026.05.013 [code]
- Anticipatory slow potentials before auditory feedback show posterior predominance but limited condition effects in speech-in-noise.Journal: IBRO neuroscience reportsIn common: statsmodels, SciPy, Matplotlib, 1 other tool, 1 reference
- [9] doi:10.3390/e28070738 [code]
- Probabilistic Forecasting and Information-Theoretic Analysis of Multivariate fMRI Dynamics.Journal: Entropy (Basel, Switzerland)In common: statsmodels, scikit-learn, Matplotlib, 1 other tool, 1 reference
- [10] doi:10.1016/j.neuroimage.2026.122171 [code]
- A conserved node degree-based backbone and flexible hub organization of brain connectome during naturalistic movie watching.Journal: NeuroImageIn common: scikit-learn, SciPy, Matplotlib, 1 other tool, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 19 scripts, and 39 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:ddc4c0f1596e1406…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
