160 likes | 395 Views
Expert Systems. Constructive Problem Solving. S. H. Davarpanah Davarpanah@usc.ac.ir. Computer Group Engineering Department University of Science and Culture. Expert Systems . Constructive Problem Solving I cf. Jackson, Chapter 14 Constructive Problem Solving II
E N D
Expert Systems Constructive Problem Solving S. H. Davarpanah Davarpanah@usc.ac.ir Computer Group Engineering Department University of Science and Culture
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(pair-wise 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