Download A Model for Design of Societies of Cooperative Agents

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

Human–computer interaction wikipedia , lookup

AI winter wikipedia , lookup

Ecological interface design wikipedia , lookup

Soar (cognitive architecture) wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

Personal knowledge base wikipedia , lookup

Incomplete Nature wikipedia , lookup

Agent-based model in biology wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Agent-based model wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Cognitive model wikipedia , lookup

Agent (The Matrix) wikipedia , lookup

Transcript
Building Knowledge Based Systems from a model for
distributed reasoning.
Héctor Rodríguez Figueredo, MSc.
Daniel Galvez Lío, Ph.D.
Artificial Intelligence Research Group
Centre for Studies in Computer Science
Central University of Las Villas
Sta. Clara. Villa Clara. CUBA
ZipCode: 54830
FAX: (53)-(422)-81608
Phone: (53)-(422)-81515
E-mail: [email protected] [email protected]
Abstract
A framework that allows the building of a Knowledge Based System (KBS) using the techniques of
Distributed Artificial Intelligence (DAI) and particularly the techniques of the Cooperative Solution
of Distributed Problems (CSDP) is shown. This framework is made of three different tools. The
KBS resultant implements a model in which knowledge sources of different nature can interact to
solve a distributed problem. Agents in the resultant MultiAgent System (MAS) have different
knowledge representation forms and different problem solving method. A model for the society of
agent, agents itself and the facilitator, is presented. Finally several MAS built with this frameworks
are shown.
Keywords: Knowledge Based Systems,
Cooperative Solution, Multiagent Systems.
Cooperation,
Distributed
Artificial
Intelligence,
Introduction
The term “agent'' is difficult to define. Agents are often described as entities with attributes
considered useful in a particular domain. This is the case with intelligent agents, where agents are
seen as entities that emulate mental processes or simulate rational behaviour; personal assistant
agents, where agents are entities that help users perform a task; mobile agents, where entities
that are able to roam networking environments to fulfils their goals; information agents, where
agents filter and coherently organise unrelated and scattered data; and autonomous agents,
where agents are able to accomplish unsupervised actions
The systems of CSDP, also known as systems for distributed reasoning, can be defined as
systems composed by a set of separate modules and by a set of communication paths among
them. These modules are frequently called agents, because it is supposed that each module acts
like an entity able to solve some problems by it. There is a wide spectrum under the concept that
includes from systems narrowly parallels, in which the control mechanism is completely
centralized and the basis of knowledge is shared, to those in which control and knowledge are
completely distributed.
The main problem in development of this kind of systems starts in establishing a methodology for
the formulation, description, decomposition and the assignment of problems among a group of
agents. The other important problem is the synthesis of the results given by this group of agents
and the attainment of a coherent interaction for decision making. In a way that software for
cooperative work will be a set of tools that supports the cooperation among a group of agents able
to solve different kinds of problems.
These systems of cooperative reasoning have certain important advantages in most of the
applications compared with the great monolithic systems (traditional expert systems), such as:
Modularity of system. It is easier to create and to maintain a set of independent modules
rather than a big one.
Efficiency. Not all the knowledge is used in all tasks at the time. Modulating it you can focus
the efforts of the problem solving system through more adequate paths.
Fast computational architectures. In the same way the problem solving systems become
more complex, they also need more complex cycles. Though computers turn to be faster
every day, the true increases of speed start to be, not because a simple processor with a wide
associated memory, but a group of processors of smaller size each having their own memory.
The distributed systems are better prepared to use such architectures.
Heterogeneous reasoning. The techniques or Methods for Solving Problem and the
formalities for Knowledge Representation Forms that could be more adequate to work with a
part of the problem could not be adequate to work with another part of it.
Multiple perspective. The knowledge required to solve a problem is obtained taking into
account the opinion of several persons and it is quite difficult to make these persons create a
unique base of coherent knowledge and, sometimes, it is even impossible since their models
of the domain are, indeed, not consistent.
Distributed problems. Some problems are naturally distributed; i.e. there can be different
information available on each of them, in different physical locations.
Reliability. If a problem is distributed through agents of different systems, the solution of the
problem can go on even if one of the systems failed.
According to the previously stated elements, architectures for distributed reasoning should
provide:
A mechanism to ensure that the activities of the different agents of the system are
coordinated, in such a way that the global system of problem solving reaches its objectives. It
is the main problem we should face when dealing with the design of every system of
distributed reasoning.
A communication structure able to allow the information to go both ways among the
agents. The architectures of communication that have been proposed to support the
distributed reasoning regarding the communication structure, are divided into two main
groups:
Blackboard systems in which communication occurs through a shared knowledge
structure known as blackboard. The modules can show messages on the blackboard and
can also read and act over the messages shown by other modules.
Systems for message sending in which a reasoning module sends messages (either to
request for services and information or to answer requests like these).
Distributed versions of the needed reasoning techniques. These mechanisms should
differ from their monolithic duplicates since it is supposed that they should work with a set of
bases of local knowledge and not with a global knowledge which is hoped to have certain
global characteristics (like consistency).
Proposed model for one society of agents.
The problem is to create a tool able to guide a set of agents towards the solution of a given
problem. This software will be called facilitator [CUE 92] and the set of agents will be called
society.
The facilitator needs a formal definition of the society. This definition will be given according to:
Agents that is made up of.
Objectives that these agents should fulfil.
Needs of each of the agents.
To guide the society towards a solution it is not necessary to know the nature or kind of the agents
that is made up of; who is it, which are its objectives and what does it need to work is all you have
to know of each of the agents. This is an important detail because it allows us to create societies
of agents with different PSM and KRF (which are both characteristic of an agent), in such a way
that each agent can be created according to the characteristics and nature of its domain.
All the ideas previously stated can be taken for granted if in the definition of the module for the
fact that the external image of the agents is unique (apart from its nature) is taken into
consideration. There can even exist an agent being at the same time a society of other agents.
Model for an Agent
Several researchers have attempted to provide a meaningful classification of the attributes that
agents might have. A list of common agent attributes is shown below [BRA 97].
• Adaptivity: the ability to learn and improve with experience.
• Autonomy: goal-directness, proactive and self-starting behaviour.
• Collaborative behaviour: the ability to work with other agents to achieve a common goal.
• Inferential capability: the ability to act on abstract task specifications.
• “Knowledge-level” communication ability: the ability to communicate with other agents
with language more resembling human-like ``speech acts'' than typical symbol-level
program-to-program protocols.
• Mobility: the ability to migrate in a self-directed way from one host platform to another.
• Personality: the ability to manifest attributes of a ``believable'' human character.
• Reactivity: the ability to selectively sense and act.
• Temporal continuity: persistence of identity and state over long periods of time.
According to the previous assertions it is proposed a structure in which an agent can have its
particular PSM and KRF but it keeps a unique external image that allows us to make the facilitator
able to interact with agents of different nature.
Three kinds of agents are taken into consideration in the current realisation of the model:
♦ Frame-based agent. It uses a PSM and a KRF similar to the ones used by the Intelligent
System to Help Design known as SIAD, developed by our research group some years ago
[BEL 93][BEL 94]. To incorporate it formalities developed for the SIAD in our model were
taken as base its KRF (a mixture of frames and production rules design oriented) and its PSM
(forward-chaining lead by data and able to recalculate).
♦ Rule-based agent. It uses a KRF (production rules) and a PSM (backward-chaining) similar
to the ones used by the systems based on traditional production rules [BEL 94].
♦ Case-based agent. It uses a case-based reasoning module without adaptation, which give us
the possibility of completing the information of a situation from a partial description and a set
of previous situations (case base). An index system is used to guarantee the efficiency of the
recuperation module [MAR 96].
Besides this, in the developed model the further inclusion of other reasoning structures is allowed.
The following aspects (see Figure 1) give the description of an agent taken in to account by the
society.
Identification of Agent.
Goals. A set of attributes that are known and used for more than one agent of the society and
which are the responsibility of some agent make up the GOALS of an agent. That agent will
be called when it is necessary to evaluate or to re-evaluate one of these attributes. The goals
of each agent are set on the database facilitator from the description of the society.
Needs. Attributes whose knowledge is vital to develop tasks of the agent and are parts of the
conditions to activate it make up the NEEDS of an agent. These are set on the description of
the society that is driven by the facilitator.
Restrictions. These are a set of logical relations between the attributes known by the agent
that should be fulfilled in order to get a consistent acting of the agent on each activation.
Finally each agent has got an interface with the facilitator and a state memory.
Interface with the facilitator
Knowledge
Solution Method
State Memory
Fig. 1 Agent structure
The interface is made up of a set of messages that the agent is able to answer and by means of
which the facilitator activates the agent and exchanges information with it. The state memory is
made up of the values that the attributes of agent have got on each step and that form its
conscience.
It must be clear that in our model the agents have communication only with the facilitator and they
do not know the other members of the society. Agents not even have the idea that they
themselves are part of a society. Each agent acts according with the goals it was created and with
a message exchange with the caller, it acquires the information needed to answer the task that it
has been asked. In this sense, i.e., the agent could be asking for information that in traditional
expert systems will be asked to the user but in a system with this kind of structure the facilitator
determines if this information can be inferred by another agent or if to ask the user. This kind of
structure also allows the agents to work in parallel and distributed way.
Model for the facilitator
The facilitator (see Figure 2) is make up of the following modules:
Cooperation strategy. This is the most important point of the model, it should be able to
value the current state of the solution according to the objectives that had been set and which
of the agents is able to work on this situation. It should also identify a final state that can be
either of solution or of impossibility. They must take into account the cases in which it is
necessary to reevaluate situations or to go backwards (1 or more steps) in the activation of
the agents asking them to offer a new criterion under the same circumstances. All these must
be done taken into consideration the parallelism in the work of the agent.
Database of the Facilitator. It is a relation of all those attributes that are used for the whole
society (common use) and what agents need it for their work. This relation of attributes is the
common memory and the society conscience.
Description of the society. It contains all the information about the structure of the society.
This structure is given by the description offered by each of the agents that are members of it.
Interface with the agents. It is the way the facilitator has to interact with each and every one
of the agents. For agents you have got a reference that allows the activation of them and the
information exchange with it.
User Interface
Society
Description
Database of
Facilitator
Cooperation strategy
Fig. 2 Facilitator structure
In the current realisation the co-operation strategy is able to identify every contradiction between
the partial outcomes given by the agents. In this case you will have to apply a backward strategy
aiming at identifying the agent that provokes the contradiction and makes him change his
evaluation. Finally it is checked a possible solution state (thus the state objective has been
reached). Each agent checks his internal restrictions aiming at verifying the validity of the possible
solution.
Nowadays, the strategy is based on an algorithm that goes all the way through the database of the
facilitator trying to evaluate the, so far, unknown attributes. For each unknown attributes, it is
activated the agent responsible for its evaluation. To do all its needs are previously met, and this
can generate the activation of any other agent or the occurrence of a question to the user in case
that unknown attribute, responsibility of no agent, appears.
Conclusions
The definition of a model and a framework was obtained for the description of societies of
co-operative agents which pane the way for the realisation of knowledge based systems using the
techniques of co-operative solution of distributed problems. These models are the outcome of the
analysis of application of the artificial intelligence techniques previously described to different
problems like:
The elaboration of the project of sugar cane varieties,
The scheduling for banana plantations, and
The design of construction elements.
Based on this model, a shell that allows the development of this kind of systems was built. From
an object oriented design of the models we are working in the implementation for Microsoft
Windows NT, to take advantages of the possibilities this operating system offer for the systems
implementation which require multiprocessing and distribution of tasks among all the machines of
a network.
BIBLIOGRAPHY
[BEL 93] R. Bello, D. Gálvez, G. Sánchez y otros, "Herramientas para el desarrollo de sistemas
th
CAD basados en el conocimiento". In Proceedings of the 6 International Symposium
on Artificial Intelligence, Monterrey, Mexico, 1993.
[BEL 94] R. Bello, D. Gálvez, G. Sánchez y otros, "Knowledge representation form in mechanical
engineering". Knowledge Based Systems, Vol. 7, No 3, Sept. 1994, Oxford, U.K., 1994
[BRA 97] Bradshaw, J.M. An Introduction to Software Agents. In:
http://www.amazon.com/exec/obidos/ISBN=0262522349/acmcrossroadsst. Software
Agents, J.M. Bradshaw (Ed.), Menlo Park, Calif., AAAI Press, 1997, pages 3-46.
[CAR 93] H. Carvajal, F. López, M.G. López, "Sistemas Cooperativos, un marco de referencia" In
[MEM 93], 1993
[CHI 98] M. Chia, D. Neiman, V. Lesser, Coordinating asynchronous agent activities in a
distributed scheduling system. In Proceedings of the Second International Conference
on Autonomous Agents (Agents98), pp. 436-440, 1998.
[CUE 92] J. Cuena y A. García, "Sistemas Basados en el Conocimiento para coordinación de
trabajo cooperativo". In [MEM 92], pp. 321-335, 1992
[DIL 98] W. Dilger. A Society of Self Organizing agent in the intelligent home. Technical report.
Technical Report SS-98-02 Standford, California, Menlo Park, March 1998.
[JEN 98] N. R. Jennings, K. Sycara, M. Wooldridge. A roadmap of agent research and
development. Autonomous Agents and Multi-Agent Systems, 1(1): 8-38, 1998.
[LEM 93] C. Lemaître, V.G. Sánchez, C. B. Excelente y L. Zamora, "Red de Cooperación para
Sistemas Expertos", In [MEM 93], 1993
[LEM 94] C. Lemaître y L. Zamora, "Control de la Cooperación de una Red de Agentes", In [MEM
94], 1994
[LES 98] V. Lesser, M. Atighetchi, B. Benyo, A Multi-Agent System for Intelligent Environment
Control. Technical Report. UMass Computer Science Technical Report 94-66.
Massachusetts, USA. (1998)
[LES 99] V. Lesser, Cooperative Multiagent Systems: A Personal View of the State of the Art.
(Unpublished handwritten) 1999
[LES 99] V. Lesser, An Overview of DAI: Viewing Distributed AI as Distributed Search.
(Unpublished handwritten).
[LIÑ 92] E. Liñan y L. Castillo, "Medio Ambiente para la generación de Organizaciones de
Agentes Cooperativos". In [MEM 92], pp. 337-347, 1992
[MAR 96] M. García, R. Bello. “A model and its different applications to case-based reasoning”.
Knowledge-Based Systems 9 (1996) 465-473, Oxford, U.K, 1996
rd
[MEM 92] Memories from “3 Latin American Congress of Artificial Intelligence”, IBERAMIA'92.
Havana, Cuba, Feb. 1992
th
[MEM 93] Memories from “10
1993.
National meeting of Artificial Intelligence", Mexico, D.F. Sept.
th
[MEM 94] Memories from “11 National meeting of Artificial Intelligence", Guadalajara, Mexico,
Sept. 1994.
[RIB 91] A. Ribeiro, "Inteligencia Artificial Distribuida Agentes Benevolos". In Mundo Electrónico,
Spain, Feb. 1991.
[STE 93] D. M. Steier, R. L. Lewis, J. F. Lehman, "Combining Multiple Knowledge Sources in an
Integrated Intelligent System". In IEEE Expert, Jun. 1993, pp. 35-43, 1993
[WEI 92] M. Weiss, F. Stetter, "A Hierarchical Blackboard Architecture for Distributed AI
Systems". In Proceedings of International Conference on Software Engineering and
Knowledge Engineering, Jul. 1990.