Complex systems such as multi-agent and cyber-physical systems exhibit emergent behaviors that are hard to understand and explain. Causal models offer a principled framework for this, but building one for a complex system is already difficult: the relevant scope, abstraction scale, and variables are not given in advance. Moreover, such models capture general causation, i.e., which factors influence a class of outcomes, whereas a user asking “why did this happen?” needs an actual cause: the specific facts responsible for a specific event. Actual causation is conceptually and computationally demanding; finding actual causes is intractable in general, and not all causes are equally informative. Producing a useful explanation therefore requires three steps: modeling the system causally, identifying its actual causes, and filtering them for relevance. This model-identify-filter pipeline forms the backbone of the thesis. This thesis first reviews the challenges of causal modeling in complex adaptive systems and examines the choice of abstraction scale through causal emergence, showing that emergence detection depends heavily on the sampling distribution used. It then addresses the identification of actual causes, proposing a data-based method for Markovian multivariate systems and approximate search algorithms with adjustable precision that recover the full set of actual causes in general SCMs, released as an open-source Python module. Finally, it presents a general, tunable method for selecting relevant causes according to user and context, and develops a normality criterion to produce more relevant explanations. Overall, the thesis connects formal causal models, scalable computation, and human-centred explanation into a coherent framework for context-aware explanation in complex systems.

Updated: