@Article{deKleer84b, author = "J. de Kleer", title = "{How Circuits Work}", journal = "Artificial Intelligence", volume = "24", pages = "205--280", year = "1984", }
It does qualitative reasoning, and makes the following contributions:
We use causal and teleological reasoning because they are most basic to reasoning about artifacts. Causal analysis is not tractable for a person using quantitative analysis.[p221] Teleology is the exterman point of view established by the designer on the circuit. But causal reasoning is important too as the circuit may not behave as designed. (p208)
Causality arises out of a view of components as information processors.
The quiescent value refers to the value of a component in the normal state. Incremental value is the deviation from that.
"The essential intuition behind causal analysis is that each component acts as an individual information processor which only performs an action when a signal reaches it from one of its neighbors. Then it passes along the signal to its neighbors acfording to its component model." (p215)
Causal analysis proceeds by propogating an input disturbance through this information topology.
EQUAL is implemented by having a structure of cells, each corresponding to a component and each having a value. Rules of value change propogation are noted. When one cell changes, it may affect other cells. If two values are found for the same cell, either the component models are faulty, the circuit cannot exist, or the inputs are impossible. Propogation proceeds breadth first as to catch contradictions are early as possible. (p219)
The system uses three causal heuristics which are domain independent. (p222)
The system can discover feedback in a system. What is interesting about this is that you can't tell that a system has feedback simply by doing a quantitative analysis. A more abstract description is needed. Another example: [p249] Two circuits may have radically diffrent schematics, but at a given level of abstraction they may both be series-regulated power supplies.
The system creates a mechanism graph which is a simple diagram describing the inputs and outputs of a circuit. This graph is later parsed into higher level descriptions.
(p237) There is ambiguity in a circuit. Each component can play a number of roles depending on the purpose of the circuit. These roles are called configurations.
No function in structure principle: The laws of the parts of a component may not presume the functioning of the whole. (p239) (originally from an earlier de Kleer paper)
(p242) Mechanism graphs are parsed into higher level fragment graphs. Each component functioning in a particular configuration characterizes a subgraph of connected edges and vertices in the mechanism graph. These are the primitive teleological fragments.
(p245) The purpose of a gragment is given buy the role it plays in the more abstract fragments in which it participates. (p247) The hierarchical description generated provides a detailed desctiption of the role of each component in the circuit. e.g. Q1 is the BASIC-AMPLIFIER of FEEDBACK.
Ambiguity: When EQUAL finds more than one qualitative value for a cell or more than one causal argument then both possibilities simultaneously are considered. (p249) The only mechanism for disambiguation is contradiction detection.
(p252) An interpretation is a global point of view for circuit behavior which selects a single value for every cell, a coherent overall framework for circuit behavior, and a single mechanism graph.
(p257) Causal analysis does not separate out which values belong to which causal argument or global behavior. This is the role of causal interpretations. Choosing the correct interpretation are made by the teleological reasoning (p259).
teleological reasoning: These criteria all assume that the circuit is well designed. If a designer put in a component so that it would look like a house, these might not work.
Summary author's notes: