Download Survey of Applications Integrating Constraint Satisfaction and Case

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Hard problem of consciousness wikipedia , lookup

Time series wikipedia , lookup

Neuromancer wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

Mathematical model wikipedia , lookup

Constraint logic programming wikipedia , lookup

Genetic algorithm wikipedia , lookup

Incomplete Nature wikipedia , lookup

Multi-armed bandit wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Ecological interface design wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Complexity of constraint satisfaction wikipedia , lookup

Transcript
Survey of Applications Integrating Constraint Satisfaction
and Case-Based Reasoning ♦
Mohammed H. Sqalli
University of New Hampshire
Lisa Purvis
Xerox Corporation
Eugene C. Freuder
University of New Hampshire
Dept. of Computer Science
800 Phillips Road, 207-01Z
Dept. of Computer Science
Durham, NH 03824
Webster, NY 14580
Durham, NH 03824
[email protected]
[email protected]
[email protected]
Abstract
In recent years, there has been a growing focus on research and applications that integrate several reasoning
techniques. The general motivation for integrating several reasoning modes is to achieve a synergy which
produces results that could not be obtained if each mode were operating individually. One such integration that
has begun to see its application in many different problem domains is the integration of Constraint Satisfaction
Problems (CSP) with Case-Based Reasoning (CBR). In this paper, we survey the various applications that have
combined CSP and CBR. This exploration provides insight into how CSP can be enhanced by combining it with
CBR, thereby enabling its usage in an even broader spectrum of applications.
1. INTRODUCTION
In recent years, there has been a growing focus on research and applications that integrate several
reasoning techniques [29,30]. The general motivation for integrating several reasoning modes is to
achieve a synergy which produces results that could not be obtained if each mode were operating
individually. One such integration that has begun to see its application in many different problem
domains is the integration of Constraint Satisfaction Problems (CSP) with Case-Based Reasoning (CBR)
[2,4,12,13,14,18,21,34,37,39,41]. The various applications that combine CSP and CBR provide tangible
results on the benefits that such an integration can provide to an application, examples of how these two
paradigms can be integrated to achieve various goals, and what types of applications are best suited for
such an integrated approach.
In this paper, we survey the various applications that have combined CSP and CBR. We describe the
motivations for an integrated CSP/CBR approach, the applications themselves and how they
accomplished the integration, and the results and lessons learned from the integrated approach. As such,
this paper serves as an exploration into how CSP can be included in various architectures, and how CSP
can be enhanced by combining it with CBR, thereby finding its usage in an even broader spectrum of
applications.
♦
♦
PACLP99: The First International Conference and Exhibition on the Practical Application of Constraint Technologies and
Logic Programming.
This material is based in part upon work supported by the National Science Foundation under Grant No. IRI-9504316 and
by the InterOperability Lab of the University of New Hampshire.
2. OVERVIEW OF CONSTRAINT SATISFACTION PROBLEMS
2.1 Definition
Constraint satisfaction is a powerful and extensively used artificial intelligence paradigm [8]. It is a
natural way of representing problems because the user needs only to state the constraints of the system to
be modeled. In addition, it can be applied to many different domains because of its simple but rich
representation. Constraint Satisfaction Problems (CSPs) involve finding values for variables subject to
restrictions on which combinations of values are acceptable. A constraint graph is a representation of
the CSP where the vertices are variables of the problem, and the edges are constraints between variables.
Each variable has labels which are the potential values it can be assigned. CSPs are solved using search
(e.g. backtrack) and inference (e.g. arc consistency) methods. CSP representations and methods can be
used for modeling and solving many problems.
2.2 Example
One example that shows how CSP works is the coloring problem. A map coloring problem can be
stated as follows: ‘Given a map with N regions bordering each other and M colors that can be used to
color each region. The problem is whether there is an assignment of one of the colors to each region such
that no two neighbors (i.e. regions that share at least one border) have the same color.’ Figure 1 shows a
map coloring problem.
X
Z
Y
Figure 1. Map Coloring Problem
This problem can be stated as a Constraint Satisfaction Problem. The variables of this problem represent
the regions (X, Y and Z), the values are the different colors (red, blue and green), and the constraints are
that no neighboring regions have the same color (i.e. no two variables connected by a ‘not equal’ edge
can be assigned the same value).
X
Y
red
green
blue
red
green
blue
red
green
blue
Z
Figure 2. Constraint Graph
Figure 2 shows the constraint graph of this map coloring problem. The nodes represent the different
regions, the labels for each node are the different colors a region can have, and the existence of an edge
2
between two nodes indicates that the two corresponding regions can not have the same color (i.e. there is
a constraint of ‘not equal’ between these two nodes). One solution of this problem is to assign red to X,
blue to Y and green to Z.
2.3 Concept
The advantage of CSP is that it is a reasoning mode that provides both modeling and solving of a
problem within the same framework. CSP provides a very simple and convenient way of representing
problems since it is a natural and declarative approach to modeling. CSP is also domain independent,
because it can hide many domain specific issues and be used at a more abstract level. When a system is
represented as a CSP, it can be solved independently of the initial context or domain of application. The
CSP methods are applied to the CSP representation of the problem which hides the context used.
CSP provides many advanced algorithms to deal with hard problems. Constraint reasoning takes
advantage of many mathematical methods and algorithms that were improved to deal with CSPs. Many
toy problems such as the Queens problem can also be represented and solved using CSP, and these
problems have helped in developing methods and tools that are used in real world applications. Many
real world applications have used CSP for problem representation and modeling as well as for problem
solving. These applications have also improved the CSP paradigm and made it more widely used.
Variables
Problem
Statement
CSP
Algorithm
Values
Solution
Constraints
CSP Representation
Figure 3. CSP for Problem Representation and Problem Solving
When we have the CSP representation of a problem, we can use different methods to solve it
independently of the context of the application. The main two solving techniques are: Search and
Inference. There are many algorithms that use Search exclusively such as backtracking. Backtracking
search may have to explore the entire tree of possibilities to find a solution. Other algorithms make use
of inference such as Arc Consistency (AC). AC checks whether the values of two variables are
consistent with each other, and deletes a value from the domain of the first variable if it has no support
from any value of the second variable. i.e. there is no value in the second variable that is consistent with
the value from the first variable. This value is deleted because it can not participate in any solution. The
drawback of search is that the time of exploring all the possibilities grows exponentially with the number
of variables. The drawback of inference is that lower consistency checking such as AC can not be
enough to solve the entire problem in most cases. For solving entirely the problem using only inference,
one needs to perform higher consistency checking that includes many variables, but that leads again to
the same problem as with search.
3
Research and experience have shown that the most successful techniques for solving CSPs are the ones
that combine both search and inference. The question is then how and when do we combine these two to
get the best results. That depends on the domain of application and the available resources (e.g.
memory, processing time, etc.)
The CSP has a solution if there is an assignment of values to variables such that all the constraints are
satisfied. A solution in CSP can mean different things depending on the context and the goal to be
achieved. The goal can be to find any solution, an optimal solution, a solution with specific
characteristics, to find whether there is a solution, or how many solutions the problem has.
2.4 CSP and its Application to Real -World Problems
Many real world applications have used CSP. The domains of these applications include design and
configuration, diagnosis, debugging, verification, graphics, decision support, scheduling, planning, and
resource allocation, timetabling and routing.
Constraint Programming is being used by many large corporations such as: Xerox, Chrysler Corporation,
Mitsubishi, Michelin, Procter & Gamble, SNCF (French Railways), Port of Singapore Authority, British
Airways, Dassault Aviation, Lufthansa, and Toshiba. More example applications can be found at the
web sites of companies involved in commercializing constraint technology (e.g. ILOG
(http://www.ilog.com) and COSYTEC (http://www.cosytec.com))
Extensions to the CSP paradigm may facilitate its application. Some extensions, e.g. Partial CSP [9],
can be used to solve over-constrained problems by allowing the violation of some constraints and the
expression of preferences. Dynamic CSP [26] can be applied in domains where the set of constraints
and variables involved in the problem evolves with time. In a Composite CSP [35] a value may itself be
a CSP.
3. OVERVIEW OF CASE-BASED REASONING
3.1 Definition
The reliance on past experience that is such an integral part of human problem solving has motivated the
use of case-based reasoning (CBR) techniques. A CBR system stores its past problem solving episodes
as cases which later can be retrieved and used to help solve a new problem. Case-Based Reasoning is
based on two observations about the nature of the world: that the world is regular, and therefore similar
problems have similar solutions, and that the types of problems encountered tend to recur [17]. When
these two observations hold true, it is worthwhile to solve new problems by reusing prior reasoning.
The process by which a case-based reasoner operates has been described by Aamodt & Plaza [1] as a
cyclical process comprised of the four REs: RETRIEVE the most similar case(s), REUSE the case(s) to
solve the problem, REVISE the proposed solution if necessary, and RETAIN the new solution as a new
case. The application of this CBR cycle to real problems raises a common set of issues, regardless of the
domain of application. These issues include case representation, indexing, storage, retrieval method, and
adaptation method. We can abstract the CBR process as one of recalling an old similar problem, and
adapting that problem to fit the new situation requirements, as shown in Figure 4 below, taken from [20].
4
New Problem
Recall
Index
Case
Base
Retrieve
Select
Adapt
New Solution
Modify
Evaluate
Figure 4. Case-Based Reasoning Process
Case representation focuses on what information is contained in a case. A case can be thought of as a
story or lesson to be learned, as the context and solution of a problem, or even as a process by which a
problem is solved [16]. The general purpose of a case is to enable future solving of a new problem that
is similar in nature but different in context.
The context of a case is described by a case’s indexes, which describe under what circumstances it is
appropriate to retrieve a case. Determining a case indexing scheme involves assigning indices to cases
to enable their accurate and efficient retrieval. Several guidelines for indexing have been proposed, such
as: indices should be predictive, address the purpose that the case will be used for, be abstract enough to
enable future expansion of the use of the case base, and be concrete enough to be recognized in the
future [10]. Both manual and automated methods can be used to select indices.
Case storage centers around the organization of the case base. The case base must be organized such
that efficient search and retrieval methods are possible. As in database search, retrieving cases from a
case library amounts to a search problem. CBR is different than database search, however, since no case
in the case library can be expected to provide an exact match with the new problem. Partial match is
expensive, and thus the case library must be organized somehow so that full partial matching only needs
to be done on a small number of cases. Algorithms for searching a case library are each associated with
a different organizational structure.
Retrieval methods provide means by which to extract those cases from the case base that most closely
match the description of the new problem. Retrieval algorithms rely on the case indices and the case
storage organization to direct them efficiently towards potentially useful cases.
Adaptation is the method by which cases are changed into something that is useful to solve the new
problem. Three well known adaptation methods are derivational analogy, substitution, and
transformation. In derivational analogy, a new solution is computed using the same method by which
5
the old solution was computed. Substitution methods choose and install a replacement for some part of
an old solution that does not fit the current situation requirements. Transformation methods use
heuristics to replace, delete, or add components to an old solution in order to make the old solution work
in the new situation.
3.2 CBR and its Application to Real -World Problems
Case-based reasoning is seeing its application to more and more real-world problems. The reasons that
CBR has real-world usefulness and application are many. The main benefits that CBR can provide as a
reasoning technique include: easing knowledge acquisition, easing knowledge maintenance, increasing
problem solving efficiency, increasing quality of solutions, and increasing user acceptance [17].
Knowledge acquisition is a difficult problem for most knowledge-based systems. The difficulty is in
capturing the rules from which the system can reason. Rule acquisition can be a time consuming and
unreliable process. CBR makes it unnecessary to formulate experiences into rules. Some problem
domains in particular naturally provide cases as part of the standard problem-solving process. Other
domains, however, still may require a significant case engineering effort, when cases are unavailable or
in a hard to use format. Even if the initial case acquisition process requires effort, CBR can still provide
overall benefits due to the simplification of later case base maintenance.
Knowledge maintenance is another typical difficulty in traditional knowledge-based systems, since a
large body of rules or models must be constantly monitored and updated. With CBR systems, the user
can add missing cases to the case library as new information becomes available. Furthermore, the CBR
system itself learns incrementally as it encounters more problem experiences, so that the initial case base
can be small, growing as more problems are encountered.
Increasing problem solving efficiency is one of CBR’s main motivations. A case-based reasoning
system builds on prior reasoning rather than repeating prior effort. It can also save failed solutions as
warnings of problems to avoid. Solving a problem from scratch each time it is encountered is time
consuming, and many times impossible for complex domains with strict efficiency requirements. In
these situations, CBR provides a way to generate solutions efficiently when previous similar situations
have been encountered. CBR is also useful to those who know little about a task or domain, since they
can draw on the experiences from the case base to help them under circumstances they have never
encountered before themselves. Furthermore, since CBR systems retrieve complete solutions, they offer
the possibility to support an ‘anytime’ algorithm: find the first solution quickly, and then refine it as time
allows.
Increased quality of solutions is another often stated motivation for using CBR in applications. That is,
when the principles of a problem domain are ill-defined, or not well understood, rules and models will
be imperfect. Under these circumstances, the solutions suggested by cases can be more accurate than
chains of rules, since cases reflect actual circumstances and the actions taken under those circumstances.
CBR is also useful when knowledge is incomplete or sparse, as a case-based reasoner can make
assumptions to fill in incomplete or missing knowledge based on what its experience tells it. Cases can
6
also help a reasoner focus its reasoning on important parts of a problem by pointing out what features of
a problem are the important ones.
User acceptance is another often difficult problem for knowledge-based systems. Users can be reluctant
to trust the results from an automated computer system. Such reluctant users must be convinced that
results are derived in a reasonable way. Cases provide a means for showing how situations were handled
in actual prior experiences, and thus provide credible support for a system’s conclusions.
Of course, there are also open issues and difficulties with applying the case-based reasoning paradigm.
The process of adaptation is often considered to be one of the most difficult problems for case-based
reasoners. Adaptation methodologies are often domain dependent, and therefore limited in use. Case
base maintenance is another area that is increasingly noted as being in need of advances: questions such
as how to tell when a case base properly ‘covers’ a problem domain, what to do about redundant cases,
how to efficiently sort and organize growing case-bases are all current issues. Another important area
that is still open for research is in case indexing. Indexing methodologies are needed that are flexible
and extensible, such that applying and discovering indices for large case bases can be more easily
accomplished. Each of these currently open areas provides motivation for integrating CBR with other
approaches in order to alleviate some of their implementation difficulty. The applications we describe in
section 6 all have integrated CSP in order to enhance the operation of the CBR system beyond what it
could accomplish on its own.
4. MOTIVATION FOR INTEGRATING CBR AND CSP
Every reasoning paradigm has both strengths and weaknesses. Integrations often are developed in order
to minimize the weaknesses of one methodology with the strengths of another, or to enhance one
methodology by integrating the strengths of another to produce results otherwise not possible. The
applications surveyed in this paper follow the same pattern.
From the CBR perspective, constraint techniques are integrated in order to: formalize the ill-defined
process of adaptation, to enhance and make more rigorous case representation, to develop a more
systematic and/or efficient retrieval mechanism, to provide a domain independent way of representing a
CBR task (e.g. retrieval, adaptation), to make the solution space easier to explore, to help manage
complexity via constraint propagation, to represent context during retrieval, and to help manage design
preferences.
From the CSP perspective, integrating CBR techniques enables: increased constraint solving efficiency,
the ability to complete models when domain knowledge is sparse, or when a constraint model is
incomplete, reusing prior experience for knowledge transfer and for consistency of approach, reusing
solutions for dynamic CSPs, and adding a learning component to the CSP process.
Each application surveyed has its own motivation for developing an integration of CSP and CBR.
However, the common thread among all applications that integrate the two reasoning modes is to extend
or enhance one mode with techniques from the other. In this way, the resulting application can provide
more functionality and flexibility than it would have if the application had used just one reasoning mode.
7
5. TAXONOMY
The CSP/CBR integration has been used in many domains including Design, Configuration, Planning
and Diagnosis. And, there are many applications that successfully integrated CSP and CBR: CADSYN
[21], CADRE [13], CBAR [14], CHARADE [2], COMPOSER [32], IDIOM [37], JULIA [12]. But, is it
possible to find a taxonomy that would allow us to determine when the integration of CSP and CBR is
appropriate and advantageous for a certain application/domain?
In the AAAI-1998 Spring Symposium on Multimodal Reasoning [30], Karl Branting presented a
continuum showing that for some domains such as social systems and law it is more appropriate to work
with exemplars. In other domains such as physics, models are more appropriate to use since we already
have them. For other domains, an integration of a model and exemplars may give a better representation
of the actual system. (Figure 5)
Empirical (exemplars)
social system
behavior
Analytic (models)
law
natural system
behavior
artifact
behavior
physics
Figure 5. Branting’s continuum
In [37], another categorization was given that takes into consideration the complexity and the
completeness of the domains. Depending on these two parameters, some reasoning methods would be
more appropriate than others. In Table 1, the horizontal axis represents the categorization of knowledge
completeness, and the vertical axis represents the modeling complexity.
Complex Systems Modeling
(Methods)
Simple Systems Modeling
(Methods)
Complete Knowledge
Planning, Scheduling
Advanced models (CSP)
Elec. Circuits, Physical Systems
Precise models (MBR)
Incomplete Knowledge
Natural Systems (biological,…)
CBR, RBR
InterOperability Testing
CBR, MBR, CSP, RBR
MBR: Model-Based Reasoning
RBR: Rule-Based Reasoning
Table 1. Problem Modeling Categorization
However, more contribution and more research on different domains of application is needed to be able
to know more about this taxonomy. The following are some thoughts on things learned in previous
CBR/CSP integrations, that may shed light on when to integrate these two modes of reasoning:
•
CSP provides a domain-independent way of representing a task (e.g. adaptation in CBR). So, some
applications may benefit from being less domain-specific.
8
•
•
CBR is useful when the domain is difficult to fully specify (e.g. incomplete information, complete
model not practical to specify).
CSP can provide a rich representation of a task, (e.g. context for retrieval via constraints). This can
translate to enhancements for this task that otherwise wouldn’t be possible (e.g. weighted constraints
to make a more selective and context-sensitive match, case combination without extra
representational requirements (via CSP repair algorithm)).
6. APPLICATIONS
6.1 Two Detailed Case-Studies of a CBR/CSP Integration
6.1.1 InterOperability Testing of Networking Protocols
In [38], a research prototype is presented where Constraint-Based and Case-Based Reasoning are
integrated to diagnose interoperability problems, and to compensate for incompleteness and
incorrectness of CSP models.
Protocol
Specification
Monitored
Observations
Test Suites
Decoded
Observations
CSP Models
Result
?
OK
Update
Store
Next Step
CBR + Expert
Report
Yes
No
Result
Figure 6. Integration of CSP Model and CBR for InterOperability Testing
The domain used is InterOperability Testing of protocols in ATM (Asynchronous Transfer Mode)
networks. InterOperability Testing allows the detection of problems that arise when two or more devices
supporting the same protocol are connected. Test suites are written from the protocol specification
documents. A test suite is a set of tests that allow testing of a particular phase of the protocol. Each
InterOperability test in the test suite describes what and how events should be sent between two
interacting devices.
Each InterOperability test is first modeled as a CSP. The traffic between the two devices tested is
captured using monitors. The monitored data is called Observations. The CSP model is used to check
whether these Observations are consistent with what is expected in the test specification. Because the
CSP model can be incomplete or incorrect, the answer it provides may not be a correct one. In this case,
CBR is used to compensate for what is missing in the CSP model.
CSP model can be incomplete or incorrect either because the interactions with the external world are
unknown, or because people who model the system may miss or interpret incorrectly some information.
9
Inconsistency between statements in the same protocol specification or incorrect interpretation of
statements when developing a test suite can also be a source of incompleteness or incorrectness in the
model.
CBR supports the process of learning by supplying the case-base with new cases that can be used to
solve future similar problems. CBR is also used to correct and update the CSP model. Cases provide
information for updating the CSP model that may change some of its components such as adding new
constraints. This increases the effectiveness of the model and makes it more robust for solving more
problems.
There are many advantages to this integration:
• CSP modeling can reduce the number of cases used. If the CSP model is not used, then there is a
need for many cases to represent a problem. When this problem is modeled using CSP, then only few
cases may be needed to capture what is missing in the model.
• CBR is only used when CSP fails. The CSP model is easier to use at first because of its
generalization.
• CSP is enhanced by the CBR results. The effectiveness of the CSP model increases as more
problems are solved, because the model gets updated as needed.
•
Cases are represented using CSP. This assures uniformity of representation.
• The system is open to new expertise and easily updated. The expert can add cases as needed by the
system.
• One case can be used for updating different parts of the model. This ensures that the expert is only
consulted when CBR fails.
6.1.2 COMPOSER
COMPOSER [32] is a research prototype system aimed at exploring the use of CBR and CSP as applied
to engineering design. As such, the system was applied to both Assembly Sequence Generation and
Configuration Design domains. In COMPOSER, the case-based reasoner was augmented with
constraint satisfaction techniques in order to achieve a more systematic adaptation process. In order to
achieve this integration, each case was formulated as a constraint satisfaction problem (described with
variables, values, and constraints, as shown in Figure 7).
Case2
Case1
red
red
green
green
blue
blue
red
Figure 7. Each case Represented as a CSP
When the Case-Based Reasoner is then presented with a new problem, similar cases are retrieved, and a
CSP repair algorithm (the minimum conflicts algorithm [25]) is used to achieve adaptation, as shown in
Figure 8.
10
New
Problem
Case1
1. Retrieve
similar cases and
initialize solution
for new problem
red
green
Case2
red
blue
green
blue
red
2. Repair conflicts between
solutions using minimum
conflicts CSP algorithm
Figure 8. Cases retrieved and adapted
The original motivation for combining CBR with CSP was to achieve a more formalized, systematic,
and domain independent adaptation process for CBR. These advantages for CBR were realized, along
with additional advantages that were at first not anticipated. Furthermore, unexpected advantages for
CSP were also found. The advantages for CBR were found to be:
•
The adaptation process was formalized, so that any problem that can be described as a CSP
can be solved using this approach.
•
The systematic CSP approach to adaptation guarantees convergence of the adaptation
process on a solution.
•
The CSP approach for adaptation enables the combination of cases to fit naturally into the
CBR framework.
•
The CSP approach for adaptation eliminates the need for domain-dependent adaptation rules.
•
Furthermore, the formalism enabled by modeling each case as a CSP produced the ability to
define adaptability criteria on how easy or difficult it would be to adapt a retrieved set of
cases: a topic that has thus far been elusive in CBR.
The advantages for CSP were found to be:
•
Starting with cases from the case base enabled more efficient constraint solving.
•
The integration enabled exploration into how to enhance dynamic CSP by storing old
solutions to use as the CSP changes.
•
Numerous product benefits were found from the integrated approach, such as consistency of
operation and system scalability [33].
A lesson learned during the integration was that the integrated approach did not enable more efficient
constraint solving for CSP under all conditions. There were situations when starting with an initial
solution from the case base did not result in faster solving of the CSP. However, because of the richness
of the CSP representation, this information was useful even so from the CBR perspective, as it provided
a means by which to measure the adaptability of the retrieved cases.
11
Thus, COMPOSER showed results on how CSP and CBR can complement one another when CSP is
used as a means by which to achieve case adaptation. It also showed that an integration may not make
sense under all circumstances, and that a rich representation such as the one provided by CSP enables
detection of those circumstances under which the integration does not produce the expected benefits.
6.2 Overview of Other Applications that have Combined CSP and CBR
6.2.1 JULIA
JULIA [12] is a case-based designer that works in the domain of meal planning. The problems are
described in terms of constraints that must be satisfied, and solutions describe the structure of the artifact
that fulfills as many of the constraints as possible. As in many design problems, it is not enough to find
just one existing case that covers the new problem description. Rather, many existing cases contribute
portions of a solution. Thus, it is important to have a mechanism by which to keep track of the
relationships between the component parts making up the new solution. In JULIA, this is done by
combining case-based reasoning with constraint posting and propagation.
Constraints in JULIA describe both general knowledge about meals (e.g. meals should be nutritionally
balanced), and specific requirements imposed by the client during reasoning (e.g. dish must be easy to
make) [16]. Once JULIA finds a case similar to the new problem, it uses this case as the framework for
the new solution. This framework is then checked to see how well it meets the constraints of the new
situation. The constraints of the new problem are imposed and propagated through the established
framework. If conflicts are found, JULIA adapts the framework to fit the new situation. If this
adaptation does not resolve the conflicts, then some constraints are relaxed, and the solution is checked
again for conflicts. Thus, constraint propagation and relaxation are techniques that help JULIA to
achieve adaptation in the complex design domain.
6.2.2 CHARADE
CHARADE is an application that aids in decision-making for environmental emergencies such as forest
fires [2]. Case-based reasoning and constraint satisfaction are combined in CHARADE to achieve
adaptation. Case-based reasoning supports CHARADE’s goals of providing a quick assessment of the
emergency situation, and the constraint solving process enables the system to determine the best
exploitation of available resources for solving the emergency. The environmental emergency domain is
one of incomplete and uncertain information, such as unpredictable evolution of a fire situation, and thus
CBR is a natural fit for this domain. The problem solving process in CHARADE involves retrieving
intervention plans from the case base, the user updating the current plan by adding or deleting actions
and constraints to reflect the changing problem situation, and the constraint reasoner checking and
propagating changes due to the user interaction. The constraint reasoning techniques support
composition of plans, and enable a systematic synthesis of a consistent solution, even in this dynamic,
uncertain domain.
6.2.3 CBR AND CSP FOR CONFIGURATION
In Weigel’s research prototype system [41], constraint satisfaction is used to adapt a selected case to a
new situation. The work focuses on applications such as configuration where a complete constraint
12
model is available. The key motivator for incorporating CBR was that even though the domain allows
for the development of a complete constraint model, the customer often cannot completely describe the
product they want due to their incomplete knowledge about the product, or due to the complexity of the
problem. Thus, the task addressed by Weigel’s system [41] is to propose a solution which is ‘close to’
the customer’s wish, and then modify it to meet all of the customer’s requirements. This is generally
easier than constructing a complete solution from scratch.
CSP contributes to this application by providing a means by which to apply modifications to a retrieved
solution. The technique is based on the interchangeability of CSP problem values. The constraint
problem is pre-compiled to compute interchangeable values, and these interchangeable values are then
used during case adaptation in order to reconfigure a product. Thus, in this application, the formalism
and richness of the constraint representation again enables a systematic method for achieving case
adaptation.
6.2.4 CADSYN
The CADSYN project [21,22] is a constraint satisfaction approach to case-based reasoning in the
domain of structural design of buildings. The main focus of this project is on case adaptation. A case is
represented using attribute-value pairs, and a recalled case can be adapted automatically to fit a new
context. The adaptation of a case is performed using a constraint-satisfaction algorithm. A previous
design is transformed to fit the new requirements after conflicts are detected, and new designs are
generated using CBR.
CADSYN uses constraint satisfaction to achieve design case adaptation. The design adaptation process
developed for CADSYN uses a propose-verify-modify cycle where the retrieved case is modified to
match the new specifications - forming a proposed design solution. The verify-modify part of the cycle
is modeled as a constraint satisfaction problem. The constraints in CADSYN are represented as a set of
attribute-value pairs that identify an invalid design. This helps detect exactly where the problems lie in a
proposed complete design description, and show the aspects of a design that need to be altered to satisfy
the design specifications and achieve a certain goal.
The constraints provide the knowledge needed to check constraints, find invalid systems, and select a
feasible combination of values assigned to the design attributes. A feasible combination is selected as
the combination that violates the least number of constraints [19].
6.2.5 CADRE
CADRE [7,13] is a case-based reasoner for floor plan design where constraints represent numerical
relationships among dimension variables. It works together with designers and uses case-based spatial
reasoning for the design of buildings. Architectural and structural constraints are used to reduce the
adaptation space.
CADRE is a prototype system that formulates cases as instances of particular buildings along with a set
of constraints which restrict the possible modifications which can be made to them. Two forms of
adaptation are used:
• Dimensional adaptation, where only dimensions of the case are changed
• Topological adaptation, where the arrangement and number of spaces and walls are also modified
13
First, the constraints expressing the admissible modifications are solved to obtain a constraint system
which is as simple as possible. Then, the complexity of adaptation becomes manageable so that it can be
carried out by the user in an interactive manner. CADRE has also been tested on examples of realistic
complexity.
6.2.6 CBAR
The CBAR system (Case-Based Advanced Reservation System) [14] is a tour reservation system. The
motivation of this application is to use case-based reasoning to deal with large constraint satisfaction
problems associated with the assembly of holiday packages. The system aims to reduce the amount of
consistency checking in term of database queries.
It has four information sources: a set of holiday exemplars contained in the case base, holiday stocks and
packaging rules contained in the database which are the major source of constraints, the logical model
which is a set of static constraint formulae, and a set of dynamic constraints representing the customer
requirements.
CBR is used for reducing the search space and therefore enhancing the CSP solving in problems
characterized by large cardinality and heavy searches. Solutions may be achieved more efficiently by
adapting exemplars in the case base rather than working from scratch to build a solution. Experimental
results showed that combining the case-based and CSP techniques can offer improved performance
through a significant reduction in the number of database queries.
6.2.7 IDIOM
The IDIOM project (Interactive Design using Intelligent Objects and Models) [36,37] is a system for
composing layouts using cases. The motivation for the IDIOM project was to make the solution space
easier to explore by designers. IDIOM supports designers through reducing constraint complexity and
through managing design preferences, thereby restraining proposed solutions and further adaptation
within globally feasible design spaces. The designers choose the best solution through considering what
is not already modeled.
The aim was to develop a prototype of a design tool that shows the usefulness and convenience of the
paradigm of case-based design together with constraints, preferences and models in architectural design.
Designs are incrementally parameterized as they evolve and therefore, case adaptation, user
interpretation and model activation can occur at any stage.
IDIOM has produced prototype software for spatial configuration using cases from previous designs. It
performs run-time parameterization of design objects without requiring users to learn constraint-based
programming languages.
6.2.8 Engineering Design
CSP has also been used for case retrieval in engineering design [4]. This technique allows the
specification of context via constraints, and retrieval based on context and satisfaction of constraints.
The application is the design of complex artifacts for the aerospace industry where design is
requirements driven. It is initiated with a “high level” set of requirements, i.e., goals, functional
14
requirements and constraints, that trigger the retrieval of one or more “high level” design cases. These
cases are used by engineers to guide their construction of an abstract design that in turn provides a set of
requirements for the next design level. Design is therefore a process of successive refinement, where
each level iterates between requirements specification/analysis, design case retrieval and design
decision-making.
The main focus of this project is on similarity based retrieval in the engineering design domain when the
context is given as a set of constraints. The system formalizes the retrieval process on the basis of
constraints in which the constraints, goals, and their appropriate weights are made as an explicit part of
the query rather than part of the knowledge-base. This results in a flexible way of retrieving and
selecting design cases. The problematic concept of context is taken up front by making it an explicit part
of the query.
6.2.9 FASTrak-APT: Project Planning Expert System
In FASTrak-APT project [18] developed by Hyundai and KAIST, Constraint-Based Adaptation is used
to compensate incomplete cases. In this application, a case and constraint based project planning expert
system for the apartment domain was developed. This large scale, case-based and mixed initiative
planning system integrated with intensive constraint-based adaptation utilizes semantic level metaconstraints and human decisions for compensating incomplete cases embedding specific planning
knowledge. The case and constraint based architecture inherently supports cross-checking cases with
constraints during the system development and maintenance.
7. DRAWBACKS OF INTEGRATING CSP AND CBR
Some of the drawbacks that a CSP/CBR integration may have are:
1) The overhead of integrating the two reasoning methods may represent a problem. Many components
may have to be added to accommodate both modes in the same system.
2) Any limitation of one mode may be inherited in the integration of the two modes:
• The CSP/CBR integration tends to be domain oriented and may be applied to a limited domain
theory: CBR adaptation techniques in general tend to be domain specific, so including such a
domain-specific reasoning technique into a CSP reasoner would introduce this domain dependence
into the integration. So, it can be argued that this limitation is inherited from the CBR paradigm, and
is not as a result of the CBR/CSP integration.
• Some important open research areas for CBR are maintaining case bases (e.g. detecting redundant
and inconsistent cases, defining ‘metrics’ on quality of a case), and support for case acquisition (so
that case elicitation is easy). These can be seen as current limitations of CBR: the case base
sometimes grows to become unmanageable, and case acquisition isn'
t always as easy as it is made
out to be. These are all factors that should be considered when evaluating an integration with CBR.
• In addition, there are the time and space limitations of each reasoning mode. CBR may add more
space requirements for storing cases, and more time requirements to perform retrieval and matching.
CSP may add more complexity because of the NP-completeness of constraint solving.
3) Overhead of switching from one method to another.
15
4) Updating models may not be appropriate for all domains. In some domains, updating a model may
add inconsistencies to it, and the updated model may fail to solve problems it solved previously.
It is hard to find in the literature the applications that were not successful since published papers usually
include the successes and not the failures. However, there is one example showing that CSP/CBR
integration may not be the best alternative. In nutritional menus, the CSP/CBR integration may not
provide diversity in menus because of the monotony of the CSP solutions. In [23], A CBR/RBR (CaseBased Reasoning/Rule-Based Reasoning) system was built to design a daily menu for an individual that
satisfies multiple numeric energy and nutrient constraints as well as personal preference goals and
aesthetic criteria.
Some trade-offs that one should consider when integrating CSP and CBR are:
• Overhead of using two modes of reasoning vs. limitations of each mode.
• The Integration of CBR and CSP may, depending on certain parameters, either be advantageous or
add more work. In [31], an adaptability criterion was proposed as a way to decide when to integrate
and when to use just one method.
• Space and time limitations of CSP and CBR.
8. RELATED WORK
In the literature, there are integrations and ideas that CSP/CBR integration can benefit from. In
particular, we present the different integrations involving CBR and MBR (Model-Based Reasoning).
In CARMA[5], the notion of Approximate Model-Based Adaptation is presented. Cases compensate for
incompleteness in the model, and models compensate for insufficient case coverage.
In [15], it is shown that the integration of CBR and MBR (Model-Based Reasoning) enhances CBR by
the addition of a model that aids the processes of matching, and adaptation; and it enhances MBR by the
CBR capacity to contribute new links into the causality model.
In [27], there is a presentation of integration trade-off, and that the best scenario might be a model with a
small number of cases. In [28], it is stated that approaches combining MBR and CBR can be roughly
classified into two categories: approaches considering CBR as a speed-up and/or heuristic component for
MBR, and approaches viewing CBR as a way to recall past experience in order to account for potential
errors in the device model. Their proposal was in the first category by means of the development of
ADAPtER, a diagnostic system integrating the model-based inference engine to AID (a pure modelbased diagnostic system), with a case-based component intended to provide a guide to the abductive
reasoning performed by AID. In ADAPtER, they present a model in which CBR accounts for errors.
In [40], CBR is used as a form of “caching” solved problems to speedup later problem solving. The
approach taken is to construct a “cost model” of a system that can be used to predict the effect of
changes to the system. The CBR-MBR architecture presented is essentially the one adopted in
ADAPtER. They state that in general model-based diagnosis is very expensive from a computational
point of view since the search space is very large.
In [11], a technique is described that integrates CBR and MBR to predict the behavior of biological
systems characterized both by incomplete models and insufficient empirical data for accurate induction.
16
They suggest the exploitation of multiple, individually incomplete, knowledge sources to get an accurate
prediction of the behavior of such systems. They state that precise models exist for the behavior of many
simple physical systems. However, models of biological, ecological, and other natural systems are often
incomplete, either because a complete state description for such systems cannot be determined or
because the number and type of interactions between system elements are poorly understood. In this
paper, MBR is mainly used to determine values for variables in cases, and compute new values from old
cases’ values. MBR is used for the adaptation of cases (MBR is used within the CBR formalism).
In [3], a way to bridge CBR and MBR by using SBR (Schema-Based Reasoning) is presented. A case is
enhanced by adding to it generic knowledge (rules and constraints).
In [24], Model Checking is used for verifying hardware designs, security protocols, etc. By modeling
circuits or protocols as finite-state machines, and examining all possible execution traces, model
checking is used to find errors in real world designs.
In [6], it is stated that the notion of unifying two modes by using a voting process can be better than just
combining these modes.
9. SUMMARY AND CONCLUSION
In this paper, we described two AI paradigms that are currently seeing wide use in real applications: CSP
and CBR. When integrated into one application, the two methodologies complement one another in
various ways. We described the various motivations for such an integrated approach, gave details on
some of the applications that integrate CSP and CBR, and described the lessons learned from these
applications. The applications surveyed lead us to the following observations about the CSP and CBR
problem-solving paradigms:
•
CSP provides a domain-independent representation of a task (e.g. adaptation in CBR).
•
CBR is useful for incomplete domains, when the model is either difficult or impossible to get.
•
CSP provides a rich representation of a task which may allow a better formulation of the problem
that otherwise would not be possible.
•
CSP provides many advanced algorithms to deal with hard problems.
•
CBR provides a very useful learning component for CSP.
The many applications surveyed here provide examples of the benefits that can be gained when CSP is
integrated with CBR:
•
•
•
•
•
CSP can help to formalize and make domain-independent the CBR processes of adaptation, retrieval,
matching, etc.
CBR can help CSP when models are incomplete or domain knowledge is sparse.
CBR can add a learning component to CSP.
CSP can help manage problem complexity via constraint propagation, weighted constraints, etc. (e.g.
to help manage design preferences, to make the solution space easier to explore, etc.)
CSP can help make a rich case representation that can be processed by various CSP algorithms,
regardless of the context of the application.
17
•
CBR can help increase CSP efficiency by reusing past experience, which also aids in knowledge
transfer and consistency of approach.
These applications also showed how CSP can be applied in different architectures and how the
combination of CSP with CBR can extend the usage of both paradigms to a broad spectrum of
applications.
10. ACKNOWLEDGMENTS
This material is based in part upon work supported by the National Science Foundation under Grant No.
IRI-9504316 and by the InterOperability Laboratory (IOL) of the University of New Hampshire. Special
thanks to David Aha from the Naval Research Laboratory for his ideas. This work has benefited from
discussions in the AAAI-98 Workshop on CBR Integrations, and from the reviewers’ comments.
11. REFERENCES
[1] Aamodt, A. and Plaza, E. “Case-Based Reasoning: Foundational Issues, Methodological Variations,
and System Approaches”, AI Communications 7(i), pp. 39-59.
[2] Avesani, P., Perini, A., Ricci F., “Combining CBR and Constraint Reasoning in Planning Forest
Fire Fighting”, In Proceedings of the 1st European Workshop on Case-Based Reasoning,
Kaiserslautern, 1993.
[3] Bartsch-Sporl, B., “Towards the Integration of Case-Based, Schema-Based and Model-Based
Reasoning for Supporting Complex Design Tasks”, In Veloso, M., and Aamodt, A., (eds.) Topics in
Case Based Reasoning, Proceedings of the First International Conference on Case Based Reasoning,
LNAI Series, Springer Verlag, 1995, pp. 145-156.
[4] Bilgic, T. and Fox, M., “Constraint-Based Retrieval of Engineering Design Cases: Context as
Constraints”, In J. Gero and F. Sudweeks (eds.) Artificial Intelligence in Design ’96, Kluwer
Academic Publishers, pp. 269-288.
[5] Branting, L. K., “Integrating Cases and Models Through Approximate-Model-Based Adaptation”,
1998, pp. 1-5.
[6] Domingos, P., “Multimodal Inductive Reasoning: Combining Rule-Based and Case-Based
Learning”, Technical Report SS-98-04, AAAI Spring Symposium on Multimodal Reasoning,
Stanford University, 1998, pp. 135-140.
[7] Faltings, B.; Hua, K.; Schmitt, G.; and Shih, S., “Case-Based Representation of Architectural
Design Knowledge”, DARPA Workshop on Case-Based Reasoning, San Mateo, CA: Morgan
Kaufmann, 1991, pp. 307-316.
[8] Freuder, E., and Mackworth, A., Constraint-Based Reasoning, Special Volume, Artificial
Intelligence 58, 1992.
[9] Freuder, E., and Wallace, R., Partial Constraint Satisfaction, Artificial Intelligence 58:21-70, 1992.
[10]Hammond, K.J. “On Functionally Motivated Vocabularies: An Apologia”, In Proceedings
International Joint Conferences on Artificial Intelligence, IJCAI-87, August, Milan, Italy.
[11]Hastings, J. D.; Branting, L. K.; and Lockwood, J. A. “Case Adaptation Using an Incomplete
Causal Model”, In Veloso, M., and Aamodt, A., (eds.) Topics in Case Based Reasoning,
Proceedings of the First International Conference on Case Based Reasoning, LNAI Series, Springer
Verlag, 1995, pp. 181-192.
18
[12]Hinrichs, T.R. Problem Solving in Open Worlds, Lawrence Erlbaum Associates, 1992.
[13]Hua, K., and Faltings, B., “Exploring Case-based Building Design – CADRE”, AI in Engineering
Design, Analysis and Manufacturing (AI EDAM). Special issue on case-based design 7(2): 135-143,
1993.
[14]Huang, Y., and Miles, R., “Using Case-Based Techniques to Enhance Constraint Satisfaction
Problem Solving”, Applied Artificial Intelligence, an International Journal 10(4): 307—328, 1996.
[15]Karamouzis, S. T., and Feyock, S., “An Integration of Case-Based and Model-Based Reasoning and
its Application to Physical System Faults”, In Belli, F., and (Eds.), F. R., (eds.) Industrial and
Engineering Applications of Artificial Intelligence and Expert Systems, Lecture Notes in Artificial
Intelligence 604, Springer-Verlag, 1992.
[16]Kolodner, J. Case-Based Reasoning, Morgan Kaufmann, 1993.
[17]Leake, D., Case-Based Reasoning: Experiences, Lessons, and Future Directions, AAAI Press, 1996.
[18]Lee, K.J. et al., “Case and Constraint Based Apartment Construction Project Planning System:
FASTrak-APT”, Proceedings of the Innovative Applications of Artificial Intelligence Conference,
1997.
[19]Maher, M., and Gomez de Silva Garza, A., “Developing Case-Based Reasoning for Structural
Design”, IEEE Expert 11(3), 1996.
[20]Maher, M.L., Balachandran, M.B., Zhang, D.M., Case-Based Reasoning In Design, Lawrence
Erlbaum, 1995.
[21]Maher, M., and Zhang, D., “CADSYN: A Case-Based Design Process Model”, Artificial
Intelligence in Engineering, Design, and Manufacturing, 1993.
[22]Maher, M., and Zhang, D., “CADSYN: Case and Decomposition Knowledge for Design Synthesis”,
Artificial Intelligence in Design, 1991.
[23]Marling, C., Petot, G., and Sterling, L., “A CBR/RBR Hybrid for Designing Nutritional Menus”,
AAAI Technical Report SS-98-04, AAAI Spring Symposium on Multimodal Reasoning, Stanford
University, March 1998, pp. 152-156.
[24]Marrero, W., Clarke, E., and Jha, S., “Model Checking for Security Protocols”, Technical Report
CMU-CS-97-139, Carnegie Mellon University, School of Computer Science, Pittsburgh, PA 15213,
1997.
[25]Minton, S., Johnston, M., Phillips, A., Laird,P., “Minimizing Conflicts: A Heuristic Repair Method
for Constraint Satisfaction and Scheduling Problems”, Artificial Intelligence, Vol. 58, pp. 161-205,
1992.
[26]Mittal, S., and Falkenhainer, B., “Dynamic Constraint Satisfaction Problems”, In AAAI90, 1990,
pp. 25-32.
[27]Portinale, L., and Torasso, P., “Performance Issues in ADAPtER: a Combined CBR-MBR
Diagnostic Architecture”,
[28]Portinale, L., and Torasso, P., “ADAPtER: An Integrated Diagnostic System Combining Case-Based
and Abductive Reasoning”, In Veloso, M., and Aamodt, A., (eds.) Topics in Case Based Reasoning,
Proceedings of the First International Conference on Case Based Reasoning, LNAI Series, Springer
Verlag, 1995, pp. 277-288.
[29]Proceedings of the AAAI’98 Workshop on Case-Based Reasoning Integrations, AAAI Technical
Report WS-98-15, July 1998.
19
[30]Proceedings of the AAAI’98 Spring Symposium on Multimodal Reasoning, AAAI Technical Report
SS-98-04, March 1998.
[31]Purvis, L., “Synergy and Commonality in Case-Based and Constraint-Based Reasoning”, AAAI
Technical Report SS-98-04, AAAI Spring Symposium on Multimodal Reasoning, Stanford University,
March 1998, pp. 80-84.
[32]Purvis, L. “Intelligent Design Problem Solving Using Case-Based and Constraint-Based
Techniques”, Ph.D. Thesis, University of Connecticut, 1995.
[33] Purvis, L. “A Case-Based Reasoning Integration from Inception to Productization”, In AAAI’98
Workshop on Case-Based Reasoning Integrations, AAAI Technical Report WS-98-15, July 1998.
[34]Purvis, L. and Pu, P., “Adaptation Using Constraint Satisfaction Techniques”, In Veloso, M., and
Aamodt, A. (eds.) Topics in Case-Based Reasoning, Proceedings of the 1st International Conference
on Case-Based Reasoning, LNAI Series 1010, Springer Verlag, 1995, pp. 289-300.
[35]Sabin, D., and Freuder, E., “Configuration as Composite Constraint Satisfaction”, In Proceedings
of the AI and Manufacturing Research Workshop, 1996.
[36]Smith, I.; Stalker, R.; and Lottaz, C., “Creating design objects from cases for interactive spatial
composition”, In Artificial Intelligence in Design ’96, John S. Gero, Fay Sudweeks (eds), 1996, pp.
97-116.
[37]Smith, I.; Lottaz, C.; and Faltings, B., “Spatial composition using cases: IDIOM”, In Veloso, M.,
and Aamodt, A., (eds.) Topics in Case Based Reasoning, Proceedings of the First International
Conference on Case Based Reasoning, LNAI Series, Springer Verlag, 1995, pp. 88-97.
[38]Sqalli, M., and Freuder, E., “Diagnosing InterOperability Problems by Enhancing Constraint
Satisfaction with Case-Based Reasoning”, In Working Papers of the Ninth International Workshop
on Principles of Diagnosis (DX-98), 1998, pp. 266-273.
[39]Sqalli, M and Freuder, E.C., “Integration of CSP and CBR to Compensate for Incompleteness and
Incorrectness of Models”, AAAI Technical Report SS-98-04, AAAI Spring Symposium on
Multimodal Reasoning, Stanford University, March 1998, pp. 74-79.
[40]Van Someren, M., Surma, J., and Torasso, P., “A Utility-based Approach to Learning in a Mixed
Case-Based and Model-Based Architecture”, In Proceedings of the Second International Conference
on Case Based Reasoning, 1997.
[41]Weigel, R. and Faltings, B., “Interchangeability for Case Adaptation in Configuration Problems”,
In Proceedings of the AAAI’98 Spring Symposium on Multimodal Reasoning, pp.69-73, 1998.
20