© C. Kemke Constructive Problem Solving 1 COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba
Apr 01, 2015
© C. Kemke
Constructive Problem Solving 1
COMP 4200: Expert SystemsCOMP 4200:
Expert Systems
Dr. Christel Kemke
Department of Computer Science
University of Manitoba
© C. Kemke
Constructive Problem Solving 2
COMP 4200: Expert Systems COMP 4200: Expert Systems
Constructive Problem Solving I cf. Jackson, Chapter 14
Constructive Problem Solving II cf. Jackson, Chapter 15
© C. Kemke
Constructive Problem Solving 3
Task Areas of Expert Systems
Task Areas of Expert Systems
System-Based View of XPS Task Analysis Tasks (Interpretation of System)
Diagnosis Classification
Synthesis Tasks (Construction of System) Construction Configuration Design Planning
© C. Kemke
Constructive Problem Solving 4
Constructive Problem SolvingConstructive Problem Solving
Solution constructed by choosing and assembling solution elements.
Examples: develop a plan for a robot to bring a cup of coffee from IQ; construct a system, e.g. a computer, by assembling a set of components, like HD, CPU etc.
Solution elements are described as components (maybe with parameters); assembly is subject to constraints (robot cannot go to IQ if it cannot take the elevator; certain CPUs need certain power supply); solution might be subject to evaluation function
© C. Kemke
Constructive Problem Solving 5
Constructive PS and Task AreasConstructive PS and Task Areas
Planningsolution elements = actionssolutions = sequence of actionsconstraints = e.g. physical or logical constraints
Designsolution elements = componentssolutions = combination of componentsconstraints = e.g. physical or logical constraints
Diagnosis of multiple disorderssolution elements = disorderssolutions = sets of disorders to explain the symptoms ;
determine 'best' set according to evaluation
© C. Kemke
Constructive Problem Solving 6
Constructive PS ApproachConstructive PS Approach
Choose combination of solution elements set sequence complex arrangement
Combined according to constraints order (sequence of steps; arrangement of components) time (sequence of actions in time; limit of time) spatial arrangement (layout in space, e.g. floor plan) features and their agreements (e.g. matching voltage for
electrical components, matching colors for cloths) ...
© C. Kemke
Constructive Problem Solving 7
Constructive PS as SearchConstructive PS as Search
Search Space: all combinations of solution elements
Search Space can be huge!
Restrict search by selecting solution elements based on known constraints; selection of new components is restricted through constraints.
Constraints can be formulated in rules:IF device requires battery THEN select battery for deviceIF select battery for device THEN pick battery WITH voltage(battery) = voltage(device)IF device requires battery AND device = watch THEN select micro-battery
© C. Kemke
Constructive Problem Solving 8
Constructive PS - R1/XCONConstructive PS - R1/XCON
R1/XCON developed to design DEC VAX computer systems (early 1980ies)
R1 uses a database of computer components a rule base specifying design rules and constraints a working memory (WM) to store interim structures, in
particular the partial computer configuration generated so far
© C. Kemke
Constructive Problem Solving 9
R1/XCON – Sample Component Jackson, p. 262, Figure 14.1
R1/XCON – Sample Component Jackson, p. 262, Figure 14.1
© C. Kemke
Constructive Problem Solving 10
R1/XCON – Types of RulesR1/XCON – Types of Rules
Rule types related to tasks in PS:
1. Operator Rulescreate and extend partial configurations
2. Sequencing Rulesdetermine order of processing (contexts, modules)
3. Information-Gathering Rulesaccess database of components; perform various computations
© C. Kemke
Constructive Problem Solving 11
R1/XCON – Sample RuleJackson, p. 262, Figure 14.2
R1/XCON – Sample RuleJackson, p. 262, Figure 14.2
© C. Kemke
Constructive Problem Solving 12
R1/XCON – Basic PrinciplesR1/XCON – Basic Principles
R1 selects component from DB; entered as ‘token’ (instance) into Working Memory (WM).
Rules specify configuration patterns (conditions, constraints) and actions for extending partial configurations (consequences).
Rule set divided into "contexts" (modules) according to sub-tasks.
Strategy Finish a sub-task before starting a new one.
Implementation Add contexts to condition part of rules. Switch to new context in the action part.
© C. Kemke
Constructive Problem Solving 13
R1/XCON – Sub-TasksR1/XCON – Sub-Tasks
1. Check and complete order.2. Configure CPU.3. Configure unibus modules, prepare cabinets
with modules.4. Configure paneling; assign panels to unibus
modules and devices.5. Generate floor plan. Device arrangement.6. Cabling.
© C. Kemke
Constructive Problem Solving 14
R1/XCON – Problem SolvingR1/XCON – Problem Solving
Propose-and-Apply (Bachant 1988):
1. Initialize Goal (for current task)
2. Propose Operator (plausible next steps)
3. Prune Operator (according to global criteria)
4. Eliminate Operator (pairwise comparison)
5. Select one Operator (based on 2-4)
6. Apply Operator (extend configuration)
7. Evaluate Goal (okay? or not?)
© C. Kemke
Constructive Problem Solving 15
R1/XCON - ConclusionR1/XCON - Conclusion
DB of components constraints and actions in rules about 10.000 rules defined and used integrate various experts' knowledge heavily based on "what-to-do-next" follows always one line of reasoning control through contexts (modules)