Representing Expertise

Expert Systems

Difficulty in characterizing

How do we know which problems
are tackle-able?

Raised expectations due
to word "expert"

Why is Payroll Prog
not an Expert System?

Mathematical Models
Are they Expert Systems?

Discuss: symbolic reasoning
representation, control

Terms: heuristics, knowledge acquisition, learning

Two key words

Early History
General Problem Solving Issues

Difficult Problems in Specific Domains
(Dendral, etc.)

AI and Search

Problem Solving as Search in Some State Space

Complexity of Search
Very High for Problems People Generally Do Well

Idea of Heuristic Knowledge to Control Search

HPP Project
Heuristic Programming Project
Stanford 1972

Often Domain Knowledge was expressed as Actions to take when Conditions were met

Rule-based approach -

<possible features of decision> --> <partial decision>

Hypothesize and match as the basic P.S. activity

(forward and backward chaining are variants of this)

No constructs for other knowledge structures
(goal structures, plans, etc.)

Example: Mycin is, of course, doing classification, but where? Not explicit.

Task specific classification control is implicit.

Modeling expert should have expert problem-solving

Claims of Rule Systems:

Logic's Knowledge Level terms exhausted by:

and control regimes which are variants of

Frame system's Knowledge Level Primitives are

All of these systems provide computation-universality to enable higher level processes to be written.

Comments below apply equally to Rules, Logic, Frames

All of them are computation-universal so it is hard to tell what they've actually contributed once the system is successfully designed.

Task-specific control structure "encrypted" and hidden at the control structure that comes with one of these languages

Because of the abstraction level, real task-level problems are ignored as "Knowledge Engineering" and artifacts are elevated as theoretical problems.

Example: Conflict resolution in rule systems,

syntactic clause selection strategies in resolution ...

In human reasoning task-specific organization resolves conflicts

Paucity of "knowledge-level" primitives for both

knowledge representation and control regime specification.

What we need is a Language of Mind - "Mentalese"

kinds of primitives that the mind uses to encode classification knowledge control

Claim:
There is a problem of Level in analyzing expert systems

Confusion between the information-processing level and the mechanism/implementation language level.

Failure to distinguish between what is computed and how it is computed.

The architecture of a sytem language should be on tap not on top

Matching Techniques to Tasks

Generic Tasks

Intuition: e.g., "Design" and "Diagnosis" have different families of knowledge types and control regimes across domains

Ideally, we would like to represent knowledge in task with appropriate vocabulary

Diagnosis:

Design:

Fact: Early expert system languages do not explicitly encode these distinctions. Success becomes a matter of programming.

Result:

There is a need for understanding the Generic information-processing tasks that underlie knowledge-based reasoning:

Dialectic of Progress:

What does Mycin do?

What does Dendral do?

What does R1 do?

What does Prospector do?

What does MDX do?

How do questions differ now?

Rather than discussion on procrustrean bed techniques, one talks about techniques for the task.

(Note: generic task work readily falls into intelligent agent ideas - achievement of a module that performs a task is an agent that is intellegent in this area)

Is there a set of generic tasks?
What are they?
What are the issues in this task?

Example arguments:
primitives

eg. is "analogy" a task or method?

is "consultation" (MYCIN) a category?

Interpretation vs. Diagnosis
      (difference in problem-type?)
Interpretation vs. Perception
Diagnosis and Classification

- explicit properties (due to the problems representation) vs. emergent properties (due to implicit aspects of an agent's strategy)
       * significance - explanatory power

Explanation of Control and Level of Abstraction

Knowledge-Level (or information-processing level) vs Symbol Level

e.g., In rule-based systems, we can distinguish two kinds of control.

  1. At the Symbol level (rule level)

    backward and forward chaining

    • can be used as a goal stack

    • why questions can be answered by unstacking the goal stack

  2. At the Knowledge Level: Control at the task level

    e.g., Pruning the problem-space, setting up context hierarchy, etc.

Clancey in Guidon (Mycin tutorial) felt the need to attach Knowledge-level control information to the Symbol-level objects (rules) to produce more useful explanations
      * Separates explanation from problem-solving

Moral: Good explanations require abstraction at a much higher level than available at the symbol level (rules, logical formulae, etc.)

We need one step further
      Integrate Problem-solving and explanation by identifying tasks and matching these to strategies at the knowledge level

READ:

Chandrasekaran paper: Matching Techniques to Task

Chandra & Keuneke: Classification Problem Solving