Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
Agents and Multiagent Systems
Chapter 6Dr Ahmed Rafea
Transition from AI to IA
• There are many alternative artificial intelligence techniques for knowledge representation , reasoning and learning.
• The specific functions and requirements of an intelligent agent are the prime determinant of which AI technique should be used.
Knowledge representation
• Knowledge representation is a crucial issue.
• What our agent is expected to do and in what domain, will have a significant impact on the type of knowledge representation we should use.
Reasoning
• The amount of intelligence required by an agent , in terms of the size of the knowledge base and sophistication of the reasoning algorithms , is significantly impacted by the degree of autonomy and mobility the agent has .
• Mobile agents place special requirements on the security of the knowledge base it travels through the network.
Learning
• Whether learning is a desirable function depends on the domain the intelligent agent will work in , as well as the environment.
• Learning is most useful when an agent is used in complex environments to perform repetitive tasks , or when the agent must adapt to unknown situations.
Autonomous Intelligent Agents
Requirements for Autonomous Intelligent Agents include:
• Perception• Taking Action
Perception
• In order for a software agent to take some intelligent action , it first has to be able to perceive what is going on around it.
• An intelligent agent uses its sensors as a source of information.
• A fundamental part of perception is the ability to recognize and filter out the expected events and attend to the unexpected ones.
Taking Action
• Intelligent Agents use effectors to take actions either by sending messages to other agents or by calling application programming interfaces or system services directly.
• If our agent takes an action directly under its control, we can probably consider it done.However, when we are dealing with intermediaries , whether other agent or unknown systems, then some extra precautions and checking are probably in order.
Multiagent Systems
• Multiagent systems are applications in which many autonomous software agents are combined together to solve large problems.
• The RoboCup challenge is an example of the current state-of-the-art of multivalent systems , in which teams of autonomous agents compete in a simulated soccer tournament.
Blackboards
• Blackboard is the oldest multiagent system architecture used as a problem-solving technique.
• The Blackboard is a data structure that is used as the general communication mechanism for the multiple knowledge sources and is managed and arbitrated by a controller.
Blackboards
• As each agent works on its part of the problem, it looks to the blackboard to pick up new information posted by other agents , and it, in turn, posts its results to the Blackboard.
• Blackboard systems are used as a communication mechanism when building single large applications and want to modularize the knowledge bases.
Communication
• An environment where agents with very different structures and with no knowledge of a centralized background can work together, the agents will need to communicate with each other.
• Communication can be :• Directly to each other• Through an interpreter or facilitator.
Communication
• To be able to communicate, a language is needed.
• There is a level of basic language which is the syntax and format of the messages and there is a deeper level, the meaning or semantics.
• For the semantics to be easily understood , a shared vocabulary of words and their meanings is needed. This shared vocabulary is called an ontology.
• The most widely used agent communication language (ACL) is Knowledge Query and Manipulation Language (KQML).
Knowledge Query and Manipulation Language
• Knowledge Query and Manipulation Language (KQML) provides a framework for a set of independent agents to communicate and cooperate on a problem using messages called per formatives.
– Directives: commands or requests– Representatives: facts or beliefs– Commissives: promises or threats
• KQML uses ontologies to ensure that two agents are communicating in the same language
• KQML messages encode information at three different architectural levels: content, message and communication. An example of a KQML messagefrom agent joe asking about the price of a share of SUN stock might be encoded as:
(ask-one:sender joe --comm. level:content (real price = sun.price()) --content level:receiver stock-server --comm. level:reply-with sun-stock --comm. level:language java --message level:ontology NYSE-TICKS) --message level
Agent Standards
• Standards are becoming more important as agents become a large part of the electronic commerce infrastructure.
• Two major efforts of standardization are:– The Foundation for Intelligent physical Agents
(FIPA) that is focused primarily on agent-level issues.
– The Object Management Group (OMG) that is focused on object-level interoperability and management
FIPA & OMG
• FIPA is dominated by computer and telecommunications companies and is focused primarily on agent-level issues.
• OMG is the standards body that created the Common Object Request Broker Architecture (CORBA) distributed object protocol and tends to focus on object-level interoperability and management.
Co-operating Agents
• Co-operation among agents allows a community of specialized agents to pool their capabilities to solve large problems but with the additional cost of communication overhead.
• Distributed systems management, electronic commerce and multi agent design systems are three application areas in which co-operating agents have been applied.
• It is likely that a combination using the team structure and roles to limit communications , along with distributed planning techniques , will provide the best solution to building multiagent teams.
Competing Agents
• Competition between agents will occur as soon as intelligent agents are deployed by individuals or companies with different agendas and those agents interact in the e-commerce environment
• Intelligent agents will be used to provide advantages for individuals and businesses.
• Negotiation protocols, such as Contract Net , auctions and bargaining, are used to allow agents to compete for business.
Agent Software Engineering Issues
• Designing multiagent systems is similar to object-oriented but requires some additional analysis and modeling techniques.
• A common approach for designing agents and multiagent systems is to define roles for team members.
• While agent applications are becoming increasingly popular, there have not been many proposals for agent-oriented methodologies for analysis, design, and software development.
Designing Agents
Two Popular methods are:• The agent modeling technique for systems of
agents. This approach looks to the problem from two perspectives: an external and internal one.– External: The agents themselves (agent Model) and
their interactions (interaction model)– Internal: Relationship with other agents, a goal, and a
plan to achieve the goal
• CoMoMas extension to the CommonKADS knowledge engineering methodology.
Multi Agent Interaction Models
• Model 1:
RequestingAgent Facilitator
ServiceAgent
1-Request 2-Request
3-Response4-Response
Multi Agent Interaction Models
• Model 2
RequestingAgent Facilitator
ServiceAgent
1-Request 2-Request
3-Response
Multi Agent Interaction Models
• Model 3
RequestingAgent Facilitator
ServiceAgent
1-Request
2- Address of service Agent
3-Request
4-Response