| Introduction | p. 1 |
| What Are Problem-Solving Methods | |
| Making Assumptions for Efficiency Reasons | p. 7 |
| A Definition of a Task | p. 10 |
| A Non-efficient Problem Solver | p. 11 |
| An Efficient Problem Solver | p. 13 |
| Summary of the Case Study | p. 17 |
| The Twofold Role of Assumptions | p. 19 |
| How Deal Other Approaches with Assumptions and Efficiency | p. 22 |
| An Empirical Survey of Assumptions | p. 26 |
| Assumptions Necessary to Define the Task | p. 27 |
| Identifying Abnormalities | p. 27 |
| Identifying Causes | p. 27 |
| Defining Hypotheses | p. 29 |
| Defining Diagnoses | p. 29 |
| Summary | p. 30 |
| Assumptions Necessary to Define an Efficient Problem Solver | p. 33 |
| Reducing the Worst-Case Complexity | p. 34 |
| Reducing the Average-Case Behavior | p. 35 |
| Search Guidance | p. 36 |
| Summary | p. 37 |
| Assumptions in System-Environment Interaction | p. 38 |
| Summary | p. 39 |
| How to Describe Problem-Solving Methods | |
| A Four Component Architecture for Knowledge-Based Systems | p. 43 |
| The Entire Framework | p. 44 |
| The Main Elements of a Specification | p. 44 |
| The Main Proof Obligations | p. 48 |
| Task | p. 49 |
| Problem-Solving Method | p. 50 |
| The Black Box Description: Competence and Requirements | p. 51 |
| The Operational Specification | p. 51 |
| Domain Model | p. 54 |
| Adapters | p. 56 |
| Connecting Task and Problem-Solving Method | p. 57 |
| Connecting with the Domain Model | p. 58 |
| Related Work | p. 58 |
| Logics for Knowledge-Based Systems: MLPM and MCL | p. 61 |
| Specification Languages for Knowledge-Based Systems | p. 62 |
| (ML)2 | p. 62 |
| KARL | p. 66 |
| Design Rationales for a Logic of Dynamics | p. 67 |
| Logics for the Dynamics of Knowledge-Based Systems | p. 71 |
| Modal Logic of Predicate Modification (MLPM) | p. 71 |
| Modal Change Logic (MCL) | p. 73 |
| Modeling MLPM with MCL | p. 73 |
| Formalizing Other Approaches | p. 74 |
| Formalizing KADS Languages | p. 74 |
| Using MCL to Formalize Abstract State Machines | p. 75 |
| Approaches Using Different Paradigms | p. 76 |
| A Verification Framework for Knowledge-Based Systems | p. 78 |
| The Architecture in KIV | p. 79 |
| Formalizing a Task | p. 79 |
| Formalizing a Problem-Solving Method | p. 81 |
| Proving Total Correctness of the Problem-Solving Method | p. 84 |
| Adapter: Connecting Task and Problem-Solving Method | p. 87 |
| A Specific Pattern in Specifying Architectures of Knowledge-Based Systems | p. 88 |
| Future Work | p. 90 |
| How to Develop and Reuse Problem-Solving Methods | |
| Methods for Context Explication and Adaptation | p. 95 |
| Inverse Verification of Problem-Solving Methods | p. 98 |
| First Example: A Local Search Method | p. 100 |
| Second Example: Finding an Abductive Explanation | p. 103 |
| Heuristic Assumptions | p. 105 |
| Related Work | p. 108 |
| Stepwise Adaptation of Problem-Solving Methods | p. 109 |
| Local Search | p. 110 |
| Hill-Climbing | p. 110 |
| Set-Minimizer | p. 111 |
| Abductive Diagnosis | p. 113 |
| Generalization and Limitation of Refinement with Adapters | p. 114 |
| Organizing a Library of Problem-Solving Methods | p. 116 |
| The Three Dimensions in Method Organization | p. 117 |
| Deriving Task-Specific Problem-Solving Methods | p. 119 |
| Problem Type Design | p. 121 |
| Local Search | p. 121 |
| Local Search as Design Problem Solving | p. 122 |
| Problem Type Parametric Design | p. 122 |
| Local Search as Parametric Design Problem Solving | p. 123 |
| Variating the Problem-Solving Paradigm | p. 123 |
| Derive Successor Candidates | p. 124 |
| Select the Design Model that Is to Be Expanded Next | p. 126 |
| Update the Set of Future Candidates | p. 126 |
| Conclusions | p. 127 |
| Conclusions and Future Work | p. 129 |
| References | p. 133 |
| Table of Contents provided by Publisher. All Rights Reserved. |