{'fraction_non_alphanumeric': 0.015583019881783988, 'fraction_numerical': 0.0, 'mean_word_length': 5.510489510489511, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Construction and use of a causal model for diagnosis

Causal models have recently become popular in artificial intelligence. Accompanying this popularity is an extensive use of the term in many different contexts, representing varying techniques in different domains. the aim of this article is threefold. First, to define the term causal model and to give an overview of causal reasoning in AI, in its many guises; second, to illustrate the advantages and limitations of causal model based reasoning by comparing it with the more traditional rule‐based reasoning in knowledgebased diagnosis; and finally, to present work I have done in constructing a causal model of a problem‐solving system and using it to reason about the system behavior. This discussion will focus on the modeling formalism used to represent the system structure and behavior, the types of reasoning possible using this formalism, and some principles for construction of causal models for software. the modeling formalism uses a state transition network to represent the states the system undergoes and their causal relationships. Each state in the net is attached to an object which represents some object or data structure in the modeled system. the objects' attributes in the uninstantiated model contain constraint expressions representing each attribute's relationship to the attributes of the neighboring objects. the basic reasoning mechanism is bi‐directional value propagation through these constraint expressions. This mechanism supports several types of reasoning that make possible the complex diagnosis required to understand the behavior of a problem‐solving system. These include backward causal tracing, simulation, comparative reasoning to understand the differences between the behavior of several objects, and reasoning about classes of objects and events in the system.