實例推理在澳門之研究 黃志文, 李怡平, 王百鍵, 麥炳源, 韋孟宇 澳門大學 科技學院 摘要 實例推理(Case-Based Reasoning, CBR) 是人工智能的其中一種方法。實例是 指由電腦所儲存的某種物件或狀況。實例推理的推理方法有賴於儲存在實例庫 中的實例,通過比對的方法,由實例庫中取出與用戶輸入的問題狀況配合的過 往成功實例,再加上預先定義好的自調知識 (Adaptation knowledge),以使調 出實例符合目前的情況。本文描述實例推理的基本概念,推理週期,多種主要 的自調方法,並對實例這種技術作一簡介。此外,本人亦描述實例推理在澳門 的多種應用領域。 1 Research of Case-based Reasoning in Macau Vong Chi-man, Li Yi-ping, Wong Pak-kin, Mak Peng-un, Vai Mang-I Faculty of Science and Technology University of Macau, Macau Abstract Case-based reasoning (CBR) is a methodology in Artificial Intelligence (AI). A case is a situation, episode, etc. remembered (stored) by a computer, and the attempt to reuse it is the subject of case-based reasoning [3,4,5]. CBR reasons by means of past cases stored in its case library, by retrieving similar cases in the past matched against the user input problem situation, and then using pre-defined adaptation knowledge to reuse the retrieved case to fit current situation. This paper presents the basic concepts of CBR, its reasoning cycle, the major classes of adaptation methods used in CBR and a brief introduction of case-based adaptation (CBA). In addition, several applications of CBR in Macau are presented in the paper. 1. Introduction 1.1 What is Case-based Reasoning? At its most simple, CBR is based on the observation that, when we solve a problem, we often base our solution on one that worked successfully for a similar problem in the past. An example of CBR would be someone driving to work in the morning. That person doesn’t explicitly plan his route, he just takes the route he usually takes. If that person meets a traffic jam, he may remember how he avoided that jam in the past. If that person tries a new route to avoid the traffic jam and he is successful, he will remember it and perhaps use it in the future. Another example would be a student doing a statistics assignment. When he sees a new problem, he will try to see if there is any similarity between the current problem and the ones he learned in the class. If there exists one past problem whose solution traces fit onto the current one, the 2 student would apply the same past method to solve the current problem. These examples show the major two steps in the process of CBR –– retrieval and adaptation, which will be discussed further. A more formal definition for CBR: CBR is a simple problem-solving paradigm that involves matching a current problem against problems that were successfully solved in the past. The process can be augmented by adapting solutions so that they more closely match the current problem. 1.2 The advantages of Case-based Reasoning CBR suggests a model of reasoning that incorporates problem solving, understanding, and learning and integrates all with memory processes [3]. The advantages of CBR are briefly discussed below: Reusing old cases is advantageous in dealing with situations that always recur. With reference to old cases, complexities of solving novel situations can be reduced. Traditional reasoning processes cannot recall a relevant case unless it understands the new situation it is in. This suggests that understanding or interpreting a situation is a necessary part of the reasoning cycle and both a prerequisite to problem solving and a co-requisite during problem solving. But the need for problem understanding is not specific to CBR. CBR does not require exact description of problem to proceed the reasoning process while traditional reasoning (rule-based reasoning) cannot work with incomplete problem description. CBR emphasizes the use of concrete instances over abstract operators because they can provide more guidance and operational knowledge in solving a new problem than can abstract operators. Furthermore, they can show application and use of knowledge that abstract operators do not supply. CBR emphasizes manipulation of cases over composition, decomposition, and recomposition processes. Though sometimes composition tasks still occur in reasoning, reasoning using concrete cases will come at first and then composition of operators next. 3 It is usually necessary to adapt an old solution to fit a new situation because no old case is ever exactly the same as a new one. Adaptation compensates for the differences between an old situation and a new one, while most parts of the old case can still be reused. Learning of CBR occurs as a natural consequence of reasoning by accumulating new cases. Successful past cases can provide information or procedure to solve current problem while unsuccessful past cases can warn that certain undesired results, happened in the past, should be avoided in current situation. Evaluation of cases can be based on feedback and follow-up procedures to judge whether the cases are useful and give contribution to learning. If cases are learnt (stored) without any follow-up analysis and evaluation, the reasoning using past cases will be unreliable. 1.3 Methodology in Case-based Reasoning As it was mentioned above, CBR consists of two main parts –– retrieval and adaptation. But in fact and in detail, CBR is constituted with four RE’s [5]: 1. retrieve –– retrieve similar past case matched against current problem 2. reuse –– reuse to solve current problem based on solution of past case 3. revise –– revise the past solution if any contradiction occurs when applied to current problem 4. retain –– retain the final solution along with the problem as a case if the case is useful in the future Fig.1 illustrates the whole process of CBR. When user inputs a problem, the problem is interpreted and converted as a new case into the specific format of the reasoning system. Then the converted new case enters the stage of RETRIEVAL where the new case is matched against the previous cases in the case library of the reasoning system. The retrieved case and the new case are both passed to next stage REUSE where the solution part of the retrieved case is applied to the new case, with the guidance of adaptation knowledge. The application of old solution involves substitution of solution features, structural modification of the solution and/or derivational replay of solution. These methods will be discussed at next section. After this stage, now the new case is along with the adapted solution based on the old one. This adapted solution is considered as a suggested solution, which is still incomplete because it is 4 adapted according to the requirement of new case and this solution may have inconsistency among its solution parts. To ensure the adapted solution is consistent, it will be passed to next stage REVISE, where the adapted solution will be further adapted based on the user feedback and additional meta-adaptation knowledge called repair. This final adapted solution is then returned as a confirmed solution to the new case but this does not come to an end. It was discussed that CBR learns by accumulating new cases. However, should any newly derived case be accumulated in the case library ? The answer is no. CBR should only store the cases that can contribute to future reasoning of solutions, which could not be done only by the cases in current case library. In other words, if the cases in a case library are capable enough to cover the newly adapted solution, this new solution should not be stored in order to avoid redundancy and inconsistency. Otherwise, it should be stored for future use. This leads to the final stage of CBR – RETAIN. The case considered as being able to contribute in the future is named “Learned case” and stored in the case library. 2. Adaptation Methods in Case-based Reasoning In past, most of the research and development concentrate on the stage of retrieval and similarity of problem pairs, so many different and efficient for evaluating similarity of cases were developed. However very few effort has been done on the complicated and more important part of CBR –– adaptation [4,7,10,11,12,17,18]. Adaptation of CBR can be done by three different methods, according to the complexity of the problem domain. The methods are substitutional adaptation, transformational adaptation and derivational replay. 2.1 Substitutional Adaptation Substitution is the process of choosing and installing a replacement for some part of an old solution [3]. Substitution is usually done by reinstantiation and parameter adjustment. Reinstantiation is the process to find another object of the same class to replace the old object [3]. It is used when the frameworks of an old and new problem are obviously the same but roles in the new case are filled differently than roles in the old 5 one. In traveling planning, we want to traveling from Macau to Shanghai. We define that “traveling way” is a class of the way to traveling, which simply consists of Problem New Case Learned Cases RETRIEVE RETAIN Retrieved Case Previous Cases Tested or Repaired Case New Case Adaptation Knowledge REUSE REVISE New Case Confirmed Solution Suggested Solution Figure 1. The case-based reasoning cycle 6 “Airplane”, “Ship”, “Train” and “Vehicle”. A previous case may record that the traveling was by train. However, new case requires a limited time constraint so that “Train” will be replaced / reinstantiated by “Airplane” to fulfill this constraint. Parameter adjustment is a technique for interpreting values in a new solution based on those from an old one [3]. In parameter adjustment, changes in parameters in an old solution are made in response to differences between problem specifications in an old and a new case. It is a two-step process. First, the old and new problem descriptions are compared and their differences extracted. Then adaptation knowledge, usually in the form of rules, are selected based on requirement and applied to the old solution to create a new one that satisfies the requirement of the new problem. Using the above traveling example, if time constraint is specified in a new problem, then traveling way will be substituted by “Airplane”. Furthermore, the parameter of the new solution “cost of traveling” will be adjusted because the ticket fee for airplane is more expensive than the fee for ship. This is adjusted by multiplying a certain ratio to the initial ticket fee to get a consistent new solution. 2.2 Transformational Adaptation Substitution is appropriate if there already exists an item or concept that can be substituted for some inappropriate value. But it cannot be used if the item required does not yet exist. Nor can it be used for insertions or deletions of extra items in an old solution. [3] To compensate the inability of adding to or removing items from an existing solution to become a new solution, another kind adaptation method, transformational adaptation, is proposed. Under this objective, this method mainly deals with the reconstruction of solution structure, augmented with substitutional techniques to adapt a solution. Using the traveling example, if a traveling by train was adapted to fit the limited time constraint specified in the current problem, then the “way of traveling” will be filled in by “Airplane”. At this time, another field “Airport Tax” should be inserted as a part of solution in the record to specify the amount of tax to pay, which does not need to specify if traveling way is by ship, train or vehicle. Inversely, if an airplane traveling 7 was adapted to a ship, train or vehicle traveling, the field “Airport Tax” in the old solution should be removed to maintain the consistency of the new solution. 2.3 Derivational replay Derivational replay[13,19,20] is the process of using the method of deriving an old solution or solution piece to derive a solution in the new situation. Rather than storing and directly reusing a solution itself, CBR can store a trace of how that solution was generated and replay it in the new situation. A trace is a sequence of reasoning steps with justification, similar to the operators in traditional rule-based reasoning. So it can also be considered as a chaining of operators. When the solution is replayed to solve future problems, the replay process can directly take into account differences between the old and new situations. Since every step in the solution trace is along with explanation why this step is taken, memory organization of case structure becomes very complex. So, this method is not recommended for simple and easy task domain. In complex task domains such as route planning, design and synthesis tasks, this adaptation method seems to be most appropriate so far. Example: In a previous traveling case by train from Macau to Shanghai, it records the following: From To By Reason Justification Macau Zhuhai Vehicle (vehicle to GuongZhou) Always necessary Zhuhai GuongZhou Vehicle (train to Shanghai) if by train or vehicle Train (Goal) if by train GuongZhou Shanghai Old case organized for derivational replay Then the current problem is to find a traveling path by train from Macau to Beijing. The CBR process will consider the first solution step. Because the fist step is always necessary according to the justification, no matter which traveling way is to take, the new solution will consist of first step from the old solution. Then, the second step is taken into consideration whether it should be included, now the traveling is by train. So, we need to go to GuongZhou take a train and hence the second step is also 8 included in the new solution. For the third step, it is also included because it is the action to travel to Beijing but simple substitution is needed to modify the destination from Shanghai to Beijing and the new solution will become: From To By Reason Justification Macau Zhuhai Vehicle (vehicle to GuongZhou) Always necessary Zhuhai GuongZhou Vehicle (train to Shanghai) if by train or vehicle Train (Goal) if by train GuongZhou Beijing New case generated by applying derivational replay This example is simple and it seems to be more or less the same as done in substitutional adaptation. However, it involves synthesis of solution pieces by considering the solution pieces one by one to determine whether they should constitute the new solution (transformational adaptation), plus necessary value substitution (substitutional adaptation). 3. Case-based Adaptation Adaptation is an important process in CBR as discussed above. Usually adaptation knowledge are in the form of rules specifying, under a certain situation, how the value of a feature is modified, or some feature should be inserted or removed to generate a solution for new problem. At this time, know-how adaptation knowledge can be applied because the problem domain is simple and well understood so that features to adapt can be easily allocated by comparing differences between the new problem and its past similar case. However, in many real world problem domains, especially planning and design, there are no universal rules for adapting a feature, or the rules are too abstract to use. Then know-how adaptation knowledge can only be applied based on expert experience. The selection of which rule from a set of adaptation rules for a feature may change under different situations. Then another source of adaptation knowledge is necessary to guide the selection of suitable rule from a set adaptation rules applied to a feature. Because the selection is based on expert experience, another level of CBR could be established to support the selection 9 of adaptation rules. This method of integrating two levels of CBR is called case-based adaptation (CBA) [11,16,17,18]. In case-based adaptation, guidance for adaptation, both what to adapt and how, is given by a previous case [3]. The case supplying these adaptation information is called adaptation case. When potential problems with solutions are identified, it is not always clear exactly what should be fixed to alleviate the problem. If blindly applying adaptation rules in a planning or design domain, the newly generated solution may not be idiosyncratic although it satisfies the entire specification requirement from user. However, previous cases to guide adaptation can promote novel adaptations leading to creative solution. Domain expert’s domain knowledge of how adaptation is performed, including which features to adapt and which adaptation rules are used, etc., is captured into the adaptation cases, presumably provides adaptation cases. After initial installation of adaptation case library, as time passes by, the adaptation case library will be filled with more and more adaptation cases by repeatedly using of the CBR system by users. This provides another way to acquire expert knowledge that is not easy to capture via communication into production rules. Of course, the main objective of case-based adaptation is to provide a more convenient and consistent method to perform case adaptation in some complex planning or design domains. 4. Methodologies for building CBR systems Full acceptance of CBR by industry depends on establishing software development methodologies for CBR, to define how to organize and develop CBR projects. Lessons from CBR applications form a foundation for defining such methodologies [9]. One fundamental principle revealed by many experiences is the value of an iterative development process. Since CBR systems can provide useful results even with a partial case library, systems can be set up with a set of seed cases that is augmented as gaps are revealed during use. Basically the process for developing a CBR application follows three phases: Case-base design: a general representation for cases is developed using sources at hand (e.g., documentation, database records, and written accounts by experts). This is 10 accomplished by a coordinated effort involving users, managers, and the developers of the system. A lexicon of terms used to describe problem features, the selection of appropriate features for case indexing and the specification of database schemas used to store cases are defined at this stage. Initial case-base development: a small case base is initially developed to provide a base for the application. The initial case base is then extensively reviewed both by developers and users and is repeatedly refined until a valid case structure and case base covering a large portion of the application area is complete. Ongoing development and maintenance: The case base is managed in a traditional manner by a database administrator. Statistical quality control techniques may be used to monitor case accuracy and utility. Current research of maintenance of case library focuses on the RETAIN stage of CBR process which skip the storing of a case if the case is not covering any novel situation. 5. Application examples of CBR in Macau CBR can be applied in a variety of different task contexts, including retrieval-only, classification, diagnosis, planning, design and decision-support. The following are some of applications of CBR in Macau. 5.1 Case-based Reasoning in Airport Terminal Area Planning During the daily operations of an airport terminal, many decisions have to be made on how to allocate facilities during a certain time in order to avoid passenger congestion. This job falls in the category of airport planning[1,2]. Airport planners and managers are frequently confronted with two problems: How to determine the number of various major functional elements of an airport terminal building that are needed to handle a given passenger throughput, and, conversely. 11 How to determine the passenger throughput capability of existing airport terminal facilities. Figure 3. depicts the passenger flows for arrival and departure and the major functional facilities1 considered in this project. To solve these frequent problems, CBR is used to aid in the decision making process of an airport planner. The system helps the planner in deciding the number of facilities to allocate at certain times of the day given the number of peak hour passengers, number of available facilities, etc. The idea for applying CBR to this process came from a project developed in 1995 in the University of Macau. The project, ATA-Sim, is a simulator of airport operations that helps predicting future requirements of airport terminals in terms of facilities. This system is very robust but it is a simulation, it is more appropriate to be used in medium to long term planning. When the day-to-day operations of an airport are at stake, a system with a faster response time and a larger experience in the field of airport planning is needed; this system fills that gap very well. 5.2 Prediction of radio signal propagation for GSM networks Another application area of CBR is in the prediction of radio signal propagation in mobile phone networks [1,2]. A mobile phone network is constituted of transmission elements distributed around a certain area. Each element has a certain transmission range determined by the location, height, signal strength, and type of transmission station and constrained by the obstacles that are in the path of the radio waves, atmospheric conditions, etc. Predicting future requirements for this kind of network is very important since the growth of a city is inevitable, new obstacles will prevent radio waves from propagating to certain areas, old obstacles may be removed, making stations in other areas unnecessary. 1 These are only a subset of all terminal facilities since the this system is to be used to support the airport planner in his/her decision making process of how to allocate facilities on a day -today basis. 12 Aircraft Arrival Passport Control Baggage Claim Arrival Cus toms Gate Terminal Building Entrance/Exit Doors Security Check Departure Passport Control Check-in Des ks Figure 3. Passenger flow in an airport terminal The addition of a new transmission station in a certain area may arise after verification that the signal strength in that area is no longer above a certain threshold value for acceptable communication. If, in the past, a similar situation occurred where the area had similar characteristics to the area in the current problem, past experience in solving such a problem can be applied in the solution of the current problem. CBR systems use prior episodes to solve new problems, thus, this class of system can be applied to this problem. 13 A transmitting station with 360 degrees beamwidth A transmitting station with 60 degrees beamwidth The transmission area of the station The transmission area of the station The transmission distance of the station The transmission distance of the station Figure 3. A portion of a mobile phone network The primary focus of the CBR system in this application will be to advise on the height of the transmission station, the downtilt2 of the antenna and the transmitting power of the station. These values will be features of cases in the system’s case library. This case library will contain a series of previous experiences, each in the form of a case, including all of the stations that are in operation. A problem case is posed to the system by entering the beamwidth, the distance covered by the transmitting station and the average height of buildings in the area. The system will search its case library and return a case with the most similar situation. The structure of a case will be divided into three different parts, a first part will contain fields that will be entered and given to the system to start its search, it is the problem description part. The recommendation, or solution, part will contain the fields that provide necessary information to establish a station in the new area. Finally the third part will contain estimates and measures of signal strength in the area of influence of the new station. The proposed case structure for the CBR system is listed in the table 1. 2 Downtilt is the downwards inclination angle of the antenna. 14 Field Field’s class3 Explanation Average height of buildings Problem in the area Used to narrow the search procedure of CBR and limit it to cases whose areas have similar characteristics to the problem area. It would not be of much interest if the system recommended the height of the antenna to be 100 meters when the maximum height of a building in the area was 50 meters. Beamwidth Problem The transmitting beamwidth of the antenna. Distance covered Problem The maximum distance a mobile phone unit can be from the station. Station height Solution The height the station is from the ground. Antenna downtilt Solution The downwards angle of the antenna. Transmitting power Solution The power the station transmits the signal. Estimated signal strength Estimation The estimated strength of the signal within the station’s area of influence. Measured signal strength Measurement The measured data indicating the signal strength in the area. Table 1. Proposed case structure for GSM networks case-based reasoner Note: Even though in the table above each field is classified under problem, solution, estimation, and measurement, all the fields are necessary to characterize a case. The class of each field will only be used as reference when the case-based reasoner if being consulted. 5.3 Case-based Adaptation applied to Hydraulic Circuit Design4 Hydraulic circuit design (HCD) is an industrial application domain from Electromechanical Engineering that supports drawing design of circuit used in oil hydraulic machines. A circuit design process involves sketching a possible circuit layout, selecting potential components and calculating component sizes or circuit limits. On completion of a circuit design, building prototypes and testing and 3 The field’s class is for reference regarding whether the field is a problem, solution or just an field containing estimated of measured signal strength. 4 This is an undergoing project in Faculty of Science and Technology, University of Macau. 15 evaluating the candidate system performance are carried out [14,15]. Selecting appropriate components and sketching the design layout both are based on the experience of designer and most of the time, the selected layout and components are very similar the ones used in past circuit designs. In order to save effort of doing redundant and tedious task, HCD system is proposed to provide knowledge-based support to guide designer for the completion of circuit design. Traditional HCD systems used rule-based reasoning technique to check the consistence of components in the circuit design. However, solving problem by analogy even fits into the current design domain. With the help of emerging CBR methodology, most of the problems mentioned above could be augmented at a certain level. For example, a similar layout could be retrieved and ready for user modification. Circuit design with little difference in parameter specification could be adapted automatically by the system, in just substituting the parameter values or even replacing certain components to fit the parameter specification. With CBR and CBA, the circuit design system could learn by accumulating new cases and repetitive training from expert users to refine its adaptability to new problem cases. Figure 4 briefly illustrates the structure of the program and interaction with users. 6. Conclusions CBR is an emerging methodology in Artificial Intelligence. Its main purpose is to retrieve and reuse analogical past experience to solve current problem. In many domains, the rules of the domain have not yet been formalized or the formalization is so abstract that it is hard to use because there is so much variation in the way abstract concepts show themselves. CBR allows problem solving in such domains by basing reasoning on experience in the domain rather than on formal models, because cases capture associations between situations, solutions, and outcomes, capturing an informal understanding of the domain at a concrete level. For some tasks, CBR complements model-based or rule-based reasoning because cases can easily suggest previous solutions that are hard to retrieve under ill-defined concepts. When similar problem statements call for similar solutions, CBR has shown itself efficient and accurate when asked to solve problems similar to those it has been before. Since CBR provides a commonsense, intuitive model of problem solving, knowledge acquisition 16 becomes easier than traditional reasoning paradigms. In planning and design domains, problems always recur. Much effort was wasted in repeating redundant jobs to find out a new solution while planning and design [4,8]. To save the effort from repeating redundancy, CBR could be employed to reuse past successful cases to derive a new solution for new problem. Furthermore, CBR is useful in aiding decision-making [6] when large amount of constraints have to be considered as discussed in the application example of Airport Planning. Then previous successful cases could be retrieved to present to users as reference, while previous failed cases as warning, which works exactly as the natural and intuitive human reasoning process. From these advantages over traditional reasoning paradigms, CBR systems is easier to build and also efficient in solving similar problems, especially in complex domains such as planning and design. Users Design Result Design Specification Component Library Modified Case Description Case Specification Expert Adaptation Knowledge Revised Case Description CBR Module Dynamic Learning Module (CBA) Case Library Adaptation Knowledge Adaptation Knowledge Component Icons Drawing Program Retrieved Case Description Cases Design Drawing User Modification Graphical User Interface Adaptation Knowledge Library Figure 4. Program structure for Hydraulic Circuit Design applied with case-based adaptation 17 References [1] P. Galvão and C.M. Vong, A step closer to modelling human reasoning CaseBased Reasoning, Macau Engineering Bulletin, p54-56, No.3 December 1996, The Macau Institute of Engineers. [2] C.M. Vong, Case-Based Reasoning, Project report submitted as partial fulfillment of BSc. in Software Engineering [3] J. Kolodner, Case-based Reasoning. Morgan Kaufman Publ., San mateo, CA, U.S.A., 1993 [4] F. Gebhardt, A. Vo, W. Grthäer and B. Schmit-Belz, Reasoning with Complex Cases, Kluwer Academic Publishers, 1997. [5] I. Watson and F. Marir, Case-based Reasoning: A Review. The Knowledge Engineering Review Vol.9, No.4, 1994. [6] M. Lenz, E. Auriol and M. Manago, Diagnosis and Decision Support, in CaseBased Reasoning Technology : From Foundations to Applications, Springer, 1998. [7] W. Wilke, B. Smyth and P. Cunningham, Using Configuration Techniques for Adaptation, in Case-Based Reasoning Technology : From Foundations to Applications, Springer, 1998. [8] K. Börner, CBR for Design, in Case-Based Reasoning Technology : From Foundations to Applications, Springer, 1998. [9] R. Bergmann, and K. Althoff, Methodology for Building CBR Applications, in Case-Based Reasoning Technology : From Foundations to Applications, Springer, 1998. [10] K. Hanney and M. Kean, The Adaptation Knowledge Bottleneck: Howe to Ease it by Learning from Cases, in Case-Based Reasoning: Research and Development (ICCBR 97), Springer, 1997 [11] D. Leake, A. Kinely and D. Wilson, A Case Study of Case-Based CBR, in CaseBased Reasoning: Research and Development (ICCBR 97), Springer, 1997 [12] L. Purvis and S. Athalye, Towards Improving Case Adaptability with a Genetic Algorithm, in Case-Based Reasoning: Research and Development (ICCBR 97), Springer, 1997 [13] S. Bhatta and A. Goel, An Analogical Theory of Creativity in Design, in CaseBased Reasoning: Research and Development (ICCBR 97), Springer, 1997 [14] K.K. Chan, Implementation of an Object-oriented ICAD system for Hydraulic Circuit, M.Sc Dissertation for the Department of Engineering, The University of Warwick, 1996. [15] P.K. Wong, T.P. Leung, C.W. Cheun and W.H. Chan, Object-oriented CAD for electro-pneumatic sequential circuit design in low cost automation, Proceeding of SEIKEN/IEEE symposium on emerging technologies & factory automation, Japan, p278-284, Nov 1994. [16] B. Smyth and M. Keane, Experiments on adaptation-guided retrieval in casebased design, in Case-Based Reasoning: Research and Development (ICCBR 95), Springer, 1995 [17] D. Leake, A. Kinley and D. Wilson, Case-Based Similarity Assessment: Estimating Adaptability from Experience, Proceedings of the Fourteenth National Conference on Artificial Intelligence, AAAI Press, Menlo Park, CA, 1997. [18] D. Leake, Combining Rules and Cases to Learn Case Adaptation, Proceedings of the Seventeenth Annual Conference of the Cognitive Science Society, 1995 18 [19] M. Veloso, Flexible Strategy Learning: Analogical Replay of problem Solving Episodes, In Proceedings of AAAI-94, p595-600. [20] P. Cunningham, D. Finn and S. Slattery, Knowledge Engineering Requirements in Derivational Analogy, in Topics in Case-Based Reasoning (EWCBR 93), Springer, 1993. 19