
function; α
a
i
be the set of all feature-value pairs of
overall case α that can be evaluated within the view-
point of a
i
, i.e., the values of features in the agent’s
local case structure; and g
a
i
be a distance function
defined over distributed cases of agent a
i
. An eval-
uation function should be fast and simple because it
will be used after each merge on the overall case.
Distance functions are percentage functions defined
via the ratio between the values of features of a dis-
tributed case; they are simple and fast.
Satisfied constraints have the value 1, and unsatis-
fied constraints have the value 0. The semantics of
this heuristic function are used in constructing over-
all cases. The overall value shows the relevancy of
an overall case to the problem. The overall value of a
case is the evaluation of the following points within
the viewpoint of the system: 1) the solution qual-
ity within the viewpoint of each agent (value of in-
formation); 2) the percentage of the change of the
originating distributed case by the sequence of merge
operations (value of consistency); 3) the set of sat-
isfied/unsatisfied constraints. The overall evaluation
function of the agent working on the problem is trans-
mitted to other agents as expressions. This way,
agents share the overall evaluation function in order
to evaluate overall cases.
Each agent uses its limited viewpoint to retrieve
from its case-base the most promising local cases to
be used as initial seeds in initiating the merge of dis-
tributed cases. When all the distributed cases are not
used as initial seeds, the combination of initial seeds
with the distributed cases may not lead to the best
overall cases. However, initiating all cases will signif-
icantly decrease the response time of the application
when the number of cases is very high.
Retrieved initial seeds are inserted into the over-
all case base. The value of the information features
of the overall case are requested from the relevant
agents. The request is only possible when more than
one agent share the same case-structure. Since each
agent is capable of solving the problem individu-
ally, they manipulate the constraints available in their
viewpoints for checking. So, the satisfied/unsatisfied
constraints of the initial seeds are set by the agent re-
trieving the initial seeds.
Each agent selects some local cases per overall case
using its selection function. Selection is a unification
of the set of intersecting features of an overall case
and the agent’s local case as well as differing fea-
tures of agent’s problem and the overall case. When
distributed cases are noisy or have missing parts, the
merge operation results in inconsistent cases.
Each possible result of merge, called temporary
overall case, is stored in the agent’s temporary over-
all case table, denoted temp-OC. Constraints of the
temporary overall cases are checked by the agent per-
forming the merge. Then each relevant agent is in-
formed about the changes of the temporary overall
case for the evaluation of the value of information and
value of consistency. Selecting the temporary overall
case with the highest evaluation value for the result
of the merge makes the search climbs through hills
to some local minima. The selected merge result is
only inserted in the overall case-base when the overall
evaluation value of the selected overall case is higher
than the overall evaluation value of the unmerged
overall case (merge if promising principle). There-
fore, merge of overall cases and distributed cases may
not lead to complete cases.
The revision of cooperative retrieval can be accom-
plished by the revision done in the retrieval of initial
seeds and the selection of distributed cases for merge.
One of the possible ways of accomplishing the revi-
sion is restarting the cooperative retrieval by remov-
ing the distributed components of the overall cases
which are used by selected distributed cases for merge
and by retrieved distributed cases as initial seeds.
The overall case-base is implemented using OCB-
interface module, which is instantiated by the agent
that presents the problem. An overall case-base is
generated per active problem using the OCB-interface
by the agent to whom the problem has been submit-
ted. It has communication capabilities with the agents
and has own control over the overall cases in order to
provide safe computations on them.
An agent holds the problem it is working on, a list
of registered agents, a message queue for storing mes-
sages, retrieved cases used for initiating merge opera-
tions, a temp-OC table for holding temporary results
of merge operations it is currently working on, and
selected cases for the possible merges of an overall
case with distributed case-base. Since more than one
problem is to be solved by the system, the problems
are distinguished with a unique label referring to the
agent to whom the problem is presented. The list of
registered agents enables the communication with the
other agents, and each agent needs to register itself
in order to communicate using messages. The mes-
sage queue provides asynchronous computations of
the agents, such that they can continue their execution
after placing their messages into the queue.
Except announcing the problem and the overall
evaluation function, most of the time agents commu-
nicate with each other in order to request information
or as a response to a request. The information trans-
mitted between agents is the value of information and
value of coherency of the overall cases. If a change
on the features that are related with agents occurs af-
ter the merge operation, agents request the value of
information and value of coherency through transmit-
ting relevant distributed components. Agents check
constraints using their available information, since all
distributed components of an overall case are checked
for satisfaction by the relevant agents. These pro-
ICEIS 2004 - ARTIFICIAL INTELLIGENCE AND DECISION SUPPORT SYSTEMS
516