150 likes | 163 Views
Explore how constructive problem solving in expert systems involves selecting, assembling solution elements, and evaluating solutions. Understand task areas like analysis, synthesis, diagnosis, and planning. Delve into the Constructive PS methodology using solutions, constraints, and evaluation functions to solve complex problems efficiently.
E N D
COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba Constructive Problem Solving
COMP 4200: Expert Systems Constructive Problem Solving I cf. Jackson, Chapter 14 Constructive Problem Solving II cf. Jackson, Chapter 15 Constructive Problem Solving
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 Constructive Problem Solving
Constructive 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. acomputer, 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 Constructive Problem Solving
Constructive PS and Task Areas Planning solution elements = actions solutions = sequence of actions constraints = e.g. physical or logical constraints Design solution elements = components solutions= combination of components constraints = e.g. physical or logical constraints Diagnosis of multiple disorders solution elements = disorders solutions= sets of disorders to explain the symptoms ; determine'best' set according to evaluation Constructive Problem Solving
Constructive 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) • ... Constructive Problem Solving
Constructive 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: IFdevice requires battery THEN select battery for device IF select battery for device THEN pick battery WITH voltage(battery) = voltage(device) IF device requires battery AND device = watch THEN select micro-battery Constructive Problem Solving
Constructive 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 Constructive Problem Solving
R1/XCON – Sample Component Jackson, p. 262, Figure 14.1 Constructive Problem Solving
R1/XCON – Types of Rules Rule types related to tasks in PS: • Operator Rules create and extend partial configurations • Sequencing Rules determine order of processing (contexts, modules) • Information-Gathering Rules access database of components; perform various computations Constructive Problem Solving
R1/XCON – Sample RuleJackson, p. 262, Figure 14.2 Constructive Problem Solving
R1/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. Constructive Problem Solving
R1/XCON – Sub-Tasks • Check and complete order. • Configure CPU. • Configure unibus modules, prepare cabinets with modules. • Configure paneling; assign panels to unibus modules and devices. • Generate floor plan. Device arrangement. • Cabling. Constructive Problem Solving
R1/XCON – Problem Solving Propose-and-Apply(Bachant 1988): • Initialize Goal(for current task) • Propose Operator(plausible next steps) • Prune Operator(according to global criteria) • Eliminate Operator(pairwise comparison) • Select one Operator(based on 2-4) • Apply Operator(extend configuration) • Evaluate Goal(okay? or not?) Constructive Problem Solving
R1/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) Constructive Problem Solving