The core issue in this paper is ``explanation''. What does that term mean?
In this section we offer several definitions, all of which have a similar theme: explanation means
{\em throwing things away}. The open issue with explanation, as we shall see below, is that the ``best''
things to throw away can change depending on who is the audience and the task at hand.
This raises problems when building explanation facilities since any algorithm we develop for one
audience/task may differ for another.

In order to justify our statement that ``abduction means throwing things away'', we need
a formal defition of explaination. The literature on {\em abductive inference} offers
such  a formal definition.
Descriptions of abduction date back to the "fourth-figure" of Aristotle~\cite{wang93}. In the 
modern era, abduction was described by Charles Sanders Pierce in the 1800s as 
follows: ``The surprising  fact C is observed. But if A were true, C would be a matter of 
course. Hence, there is reason to suspect that A is true'' (from the forward of~\cite{orourke90}). 
Intuitively, this example is often summarized
abduction is ``inference to the best explanation''.  Note that:
\bi
\item This intuitive definition is 
vague on the definition of ``inference'', ``best'' and ``explanation''. 
Definitions for these terms will be 
discussed below. 
\item In
previous work, we have found abduction to be a useful meta-framework for unifying
numerous supposedly different processes. For example, in the following, we will
offer abductive interpreations of explanation, tutoring, diagnosis, planning, and
data mining.
\ei

After Poole~\cite{poole89}, we say that abdctive explanations
have two properities: (a) explanations must be useful and (b) explanations cannot cause problems:
\begin{equation}\label{eq:one}
\begin{array}{cc}
a) &T \sqcup A \vdash G\\
b)& T \sqcup A \not\vdash \perp
\end{array}
\end{equation}
That is,
assuptions $A$ combine with a theory $T$ to lead to some goal
$G$. Also those assumptions should not cause contradictions.

The $\sqcup$ operator controls how the assumptions are applied to the theory. 
For example,
the assumptions could be assertions about the inputs to the theory. In a more complicated case,
$\sqcup$ represents a data miner trying to improve a theory.
For example, $\sqcup$ could be a decision tree
learner where the assumptions are branches to add or prune to the tree;

For another example of explanation-as-data-mining, 
consider explaination-based-generalization (EBG)~\cite{vabu88}.
EBG takes a working theory and traces across that theory. The traces map out common pathways
inside the theory and EBG compresses the theory such that the smaller theory still supports
the pre-conditions and post-conditions of segments of the traces. For example, in the SOAR
rule-programming language, authors provide hundreds to thousands of rules and may not
understand all the connections between them. SOAR's chunking mechansism is an EBG tools that
find sequences of rules that can be replaced with a single rule that optimizes
the inference~\cite{rosen93a}.  In our abductive framework, we would implement chunking/EBG
by solving \eq{one} multiple times and look for sections of the assumptions 
repeated in all solutions.

For many systems, it us not possible or desireable to use all the theory to reach all of the goals.
For example, some parts of the theory may be corrupted (by noise) or may be
too expensive to exercise. Also, 
some goals are contraidtictory such
as (e.g.) descreasing the time to build
low defect software using cheaper programmers.
Hence, \eq{one} must be altered:
\begin{equation}\label{eq:two}
\begin{array}{c}
T' \subseteq T\\
G' \subseteq G\\
T' \cup A \vdash G'\\
T' \cup A \not\vdash \perp
\end{array}
\end{equation}
We  call $S={T',A,G'}$  the {\em solution} set $S$ to the abductive constraints of \eq{two}.
Once we allow subset exploration of the theory and goals to generate $T'$ and $G'$, then there
are many candidate solutions  (given $N$ items in $T$ and $G$
goals then there are up to $2^{N +G}$  solutions). 
Trivial solutions
can be pruned by demanding solutions that are maximal w.r.t. size
(so no solution can be  a subset of another) but more machinery is required to select the {\em best} solution.

In practice, there is no best {\em best} since different domain
constraints will select for different {\em best}s.  Suppose we can
represent the beliefs of the audience as $\{P^+,P^-\}$; i.e. the
concepts that the audience has previously $\{accepted,rejected\}$
(respectively).
With this domain information in hand, the explanation task becomes
three goals: reaching most of the goads (maximixing $|G'|$) while
avoiding the concepts the audience does not understand or appraove
(minimizing  $|G' \cup P^-|$) which favoring concepts familar and
acceptable to the audience (maximize $|G' \cup P^+|$).

When the audience understands few concepts in the theory, then the
above explanation algorithm can reach too few goals.  In this case,
we need to switch tasks from {\em pure  explanation} to {\em
tutoring}. In tutoring, we seek the least  change to the audience's
beliefts that most increase the number of reachable goals.  Solutions
to this tutoring problem can be cast in terms of \eq{two} by defining
a {\em cost predicate} for our solutions. This cost predicate
penalizes the use of $P^+$ and rewards the use of $P^-$. In this
framework, tutoring then becomes the generation of an abductive
solution to \eq{two} that minimize {\em value} while maximizing
goal coverage ($|G'|$).

Theoretically, many tasks can be mapped into \eq{two}. We have
discussed above data mining, pure explanation and tutoring, Also,
diagnosis is simply the search for assumptions that explain goals
that represent undesirable behaviours. Further, least cost planning
is just the tutoring problem described above where the cost predicate
is extended to include the traversal cost of the theory. In this
planning-as-abduction framework, a solution tries to maximize goals
while minimzing the cost of using $T'$.

Note that all our examples can be mapped to the following:
\bi
\item Given $S$ possible ``solutions' to \eq{two};
\item And 
some {\em best} operator selects the subset that satisfies some criteria;i.e.
\[
\left(acceptable=best(\cup_i S_i)\right) \subseteq S
\]
\item  That is, when making inference to the best explanation, we only return a subset of the 
possible inferences. That is, explanation means throwing some things away \ding{110}.
\ei
In practice, \eq{two} is best view as a high-level inference pattern rather than the description of the  low-level implementation details.
Formally, abduction is NP-hard. General abductive inference engines exhibit runtimes exponential on problem sizes (though see
\cite{by91,me98} for restricted cases that run much faster than $O(2^N)$. 
For this reason, data miners using heuristic methods to prune their search space

\section{Case Study1}
\fig{coceffects} offers some support for this bias.
This figure shows the known relative productivity effects
of changing project features.
According to this figure,
the benefits of automatic tools (ranked number nine in the list) can be equaled or bettered
via other means (e.g. any item 1 to 8 {\em or}  any {\em pair} of items 
10 to 22).

\begin{figure}[!b]
\scriptsize
\begin{center}
\begin{tabular}{l@{}|l@{~}r@{~}l}
%& & relative\\
id & features  & relative weight\\\hline
1&Personnel/team capability  & 3.53	&\rule{17mm}{2mm}\\
2&  Product complexity & 2.38&	\rule{12mm}{2mm}\\
3& Time constraint & 1.63&	\rule{8mm}{2mm}\\
4&    Required software reliability & 1.54&	\rule{8mm}{2mm}\\
5&    Multi-site development   &	1.53&	\rule{7mm}{2mm}\\
6&       Doc. match to life cycle  & 	1.52	&\rule{7mm}{2mm}\\
7&  Personnel continuity  &	1.51&	\rule{7mm}{2mm}\\
8&  Applications experience & 1.51	&\rule{7mm}{2mm}\\
9& Use of software tools & 1.50	&\rule{7mm}{2mm}\\
10& Platform volatility & 1.49&	\rule{7mm}{2mm}\\
11& Storage constraint & 1.46&	\rule{7mm}{2mm}\\
12& Process maturity  &	1.43	&\rule{7mm}{2mm}\\
13&    Language \& tools experience  &	1.43	&\rule{7mm}{2mm}\\
14&     Required dev. schedule & 1.43	&\rule{7mm}{2mm}\\
15&Data base size & 1.42&	\rule{7mm}{2mm}\\
16&  Platform experience & 1.40&	\rule{7mm}{2mm}\\
17&     Arch. \& risk resolution  &	1.39&	\rule{7mm}{2mm}\\
18&  Precedentedness  &	1.33&	\rule{6mm}{2mm}\\
19&  Developed for reuse  	&1.31	&\rule{6mm}{2mm}\\
20& Team cohesion  &	1.29&	\rule{6mm}{2mm}\\
21&    Development mode   &	1.32	&\rule{6mm}{2mm}\\
22& Development flexibility &	1.26	&\rule{6mm}{2mm}\\
\end{tabular}
\end{center}
\caption{Relative effects  on development effort.
Data from
a regression analysis of 161 projects~\protect\cite{boehm00a}.  
}\label{fig:coceffects}
\end{figure}


