Autonomous Agent and Multi Agent
ARI-60202
Lecture-1: Introduction
Al-Baha University
Faculty of Computing and Information
Department of Computer Science
Dr. Fahad AlGhamdi
Outline of Lecture 1
• Why Intelligent Agents?
• Agents briefly
• Multi-Agent Systems
• Key properties of Intelligent Agent
• Agents vs. Objects
• Types of Agent Systems
Why Intelligent Agents?
1992: computers everywhere
- lots of computerised data
- computer driven manufacturing, production planning, diagnostics
Why Intelligent Agents?
1992: computers everywhere
- lots of computerised data
- computer driven manufacturing, production planning, diagnostics
– AI: expert systems, automated planning, machine learning
Why Intelligent Agents?
1992: computers everywhere
Y2K: internet everywhere
• data provisioning via internet, search (Google from 1998, in 2001 3B of documents)
• an explosion of internet shopping (Amazon from 1995, Ebay from 1996)
Why Intelligent Agents?
1992: computers everywhere
Y2K: internet everywhere
data provisioning via internet, search (Google from 1998, in 2001 3B of documents)
an explosion of internet shopping (Amazon from 1995, Ebay from 1996)
parallel computing (map-reduce)
statistical data analysis and machine learning
networking, servers
Why Intelligent Agents?
1992: computers everywhere
Y2K: internet everywhere
NOW: internet of everything
• mobile computing
• cloud computing
• wireless enabled devices
Why Intelligent Agents?
1992: computers everywhere
Y2K: internet everywhere
NOW: internet of everything
• mobile computing
• cloud computing
• wireless enabled devices
• Intelligent Agents and Multiagent system
Why Intelligent Agents?
Ubiquity: Cost of processing power decreases
dramatically (e.g. Moore’s Law), computers used
1992: computers everywhere everywhere
Interconnection: Formerly only user computer
Latest trends in computing
interaction, nowadays distributed/networked
Y2K: internet everywhere machine-to machine interactions (e.g. Web APIs)
Complexity: Elaboration of tasks carried out by
NOW: internet of everything computers has grown
• mobile computing
• cloud computing Delegation: Giving control to computers even in
safety-critical tasks (e.g. aircraft or nuclear plant
• wireless enabled devices control)
Human-orientation: Increasing use of metaphors
that better reflect human intuition from everyday life
• Intelligent Agents and Multiagent system (e.g. GUIs, speech recognition, object orientation)
Agent: A First Definition
• An agent is a computer system that is capable of independent
(autonomous) action on behalf of its user or owner
• I.e. figuring out what needs to be done to satisfy design objectives,
rather than constantly being told.
Multi-Agent Systems: A First Definition
• A multiagent system is one that consists of a number of agents, which
interact with one another.
• In the most general case, agents will be acting on behalf of users with
different goals and motivations.
• To successfully interact, they will require the ability to cooperate, coordinate,
and negotiate with each other, much as people do.
A Vision: Autonomous Space Probes
• When a space probe makes its long flight from Earth to the outer
planets, a ground crew is usually required to continually track its
progress, and decide how to deal with unexpected eventualities.
• This is costly and, if decisions are required quickly, it is simply not practicable
• For these reasons, organizations like NASA are seriously
investigating the possibility of making probes more autonomous
• giving them richer decision making capabilities and
responsibilities
• This is not fiction: NASA’s DS1 did it 20 years ago in 1998!
A Vision: Internet Agents
• Searching the Internet for the answer to a specific query can be a
long and tedious process.
• So, why not allow a computer program — an agent — do
searches for us?
• The agent would typically be given a query that would require
synthesising pieces of information from various different
Internet information sources
• Failure would occur when a particular resource was unavailable,
(perhaps due to network failure), or where results could not be
obtained
Agents briefly
multi-agent system is a decentralized multi-actor (software) system, often geographically distributed whose
behavior is defined and implemented by means of complex, peer-to-peer interaction among autonomous,
rational and deliberative entities.
autonomous agent is a special kind of a intelligent software program that is capable of highly autonomous
rational action, aimed at achieving the private objective of the agent – can exists on its own but often is a
component of a multi-agent system – agent is autonomous, reactive, proactive and social
agent researchers study problems of integration, communication, reasoning and knowledge representation,
competition (games) and cooperation (robotics), agent oriented software engineering, …
Agents briefly
agent technology is software technology supporting the development of the
autonomous agents and multi-agent systems agent-based computing is a special
research domain, subfield of computer science and artificial intelligence that studies
the concepts of autonomous agents
multi-agent application is a software system, functionality of which is given by
interaction among autonomous software/hardware/human components.
- but also a monolithic software application that is autonomously operating within a community of
autonomously acting software applications, hardware systems or human individuals
Key properties of Intelligent Agent
Autonomy: Agent is fully accountable for its given state. Agent accepts requests from
other agents or the environment but decides individually about its actions
Reactivity: Agent is capable of near-real-time decision with respect to changes in the
environment or events in its social neighborhood
Intentionality: Agent maintain long term intention. the agent meets the designer’s
objectives. It knows its purpose and executes even if not requested.
Key properties of Intelligent Agent
Rationality: Agent is capable of intelligent rational decision making. Agent can
analyze future course of actions and choose an action which maximizes his
utility
Social capability: Agent is aware of the either:
i. existence,
ii. communication protocols,
iii. capability, services provided by the other agents.
Agent can reason about other agents.
Reactivity
• If a program’s environment is guaranteed to be fixed, the program need never
worry about its own success or failure
• Program just executes blindly.
• Example of fixed environment: compiler.
• The real world is not like that: most environments are dynamic and
information is incomplete.
Reactivity
• Software is hard to build for dynamic domains: program must take into
account possibility of failure
• ask itself whether it is worth executing!
• A reactive system is one that maintains an ongoing interaction with its
environment, and responds to changes that occur in it (in time for the
response to be useful).
Proactiveness
• Reacting to an environment is easy
• e.g., stimulus → response rules
• But we generally want agents to do things for us.
• Hence goal directed behaviour.
• Pro-activeness = generating and attempting to achieve goals; not driven solely
by events; taking the initiative.
• Also: recognizing opportunities.
Social Ability
• The real world is a multi-agent environment: we cannot go around attempting
to achieve goals without taking others into account.
• Some goals can only be achieved by interacting with others
• Similarly for many computer environments: witness the INTERNET
• Social ability in agents is the ability to interact with other agents (and possibly
humans) via cooperation, coordination, and negotiation.
• At the very least, it means the ability to communicate. . .
Social Ability: Cooperation
• Cooperation is working together as a team to
achieve a shared goal.
• Often prompted either by the fact that no one agent
can achieve the goal alone, or that cooperation will
obtain a better result (e.g., get result faster).
Social Ability: Coordination
• Coordination is managing the interdependencies
between activities.
• For example, if there is a non-sharable resource that
you want to use and I want to use, then we need to
coordinate.
Social Ability: Negotiation
• Negotiation is the ability to reach agreements on
matters of common interest.
• For example:
• You have one TV in your house; you want to watch a
movie, your housemate wants to watch football.
• A possible deal: watch football tonight, and a movie
tomorrow.
• Typically involves offer and counter-offer, with
compromises made by participants.
Some other properties
• Mobility • Veracity
• The ability of an agent to move. For software • Whether an agent will knowingly
communicate false information.
agents this movement is around an electronic
network.
• Rationality • Benevolence
• Whether an agent will act in order to • Whether agents have conflicting goals,
and thus whether they are inherently
achieve its goals, and will not deliberately
helpful.
act so as to prevent its goals being achieved.
• Learning/adaption
• Whether agents improve performance
over time.
Agents vs. Objects
• agent's behaviour is unpredictable as observed from the outside, agent is
situated in the environment, communication model is asynchronous, agent
is autonomous, …
• agents are programs, they are build out of objects →
while objects often consist of objects, and object make together an object,
agents never contain other agents, agents build together a multiagent
system
Multiagent Systems Engineering &
Agent Oriented Software Engineering
• Novel paradigm for building robust, scalable and extensible control, planning
and decision-making systems
• socially-inspired computing
• self-organized teamwork systems
• distributed (collective) artificial intelligence
• MAS become increasingly relevant as the connectivity, intelligence and
autonomy of devices grows!
• Software engineering methodology for designing MAS
Multiagent Systems Engineering &
Agent Oriented Software Engineering
• Novel paradigm for building robust, scalable and extensible control, planning
and decision-making systems
• socially-inspired computing
• self-organized teamwork systems
• distributed (collective) artificial intelligence
• MAS become increasingly relevant as the connectivity, intelligence and
autonomy of devices grows!
• Software engineering methodology for designing MAS
Multiagent Design Problem
• Traditional design problem: How can I build a system that produces the correct
output given some input?
• Each system is more or less isolated, built from scratch
• Multiagent design problem: How can I build a system that can operate
independently on my behalf in a networked, distributed, large-scale environment in
which it will need to interact with different other components pertaining to other
users?
• Each system is built into an existing, persistent but constantly evolving computing ecosystem –
it should be robust with respect to changes
• No single owner and/or central authority
Types of Agent Systems
Micro vs. Macro MAS Engineering
1. The agent design problem (micro perspective):
• How should agents act to carry out their tasks?
2. The society design problem (macro perspective):
• How should agents interact to carry out their tasks?
Opportunities for MAS Deployment
Agent-based computing have been used:
1. Design paradigm – the concept of decentralized, interacting, socially aware, autonomous entities
as underlying software paradigm (often deployed only in parts, where it suits the application)
2. Source of technologies – algorithms, models, techniques architectures, protocols but also
software packages that facilitate development of multi-agent systems
3. Simulation concept – a specialized software technology that allows simulation of natural multi-
agent systems, based on (1) and (2).
Opportunities for MAS Deployment
Agent-based computing have been used:
1. Design paradigm – the concept of decentralized, interacting, socially aware,
autonomous entities as underlying software paradigm (often deployed only in parts,
where it suits the application)
2. Agent Oriented Software Engineering – provide designers and developers with a way
of structuring an application around autonomous, communicative elements, and lead
to the construction of software tools and infrastructures to support this metaphor
Opportunities for MAS Deployment
Agent-based computing have been used:
1. Design paradigm – the concept of decentralized, interacting, socially aware, autonomous entities
as underlying software paradigm (often deployed only in parts, where it suits the application)
2. Source of technologies – algorithms, models, techniques architectures, protocols but also
software packages that facilitate development of multi-agent systems
Multi-Agent Techniques – provide a selection of specific computational techniques and algorithms for
dealing with collective of computational processes and complexity of interactions in dynamic and
open environments.
Opportunities for MAS Deployment
Agent-based computing have been used:
1. Design paradigm – the concept of decentralized, interacting, socially aware, autonomous entities as
underlying software paradigm (often deployed only in parts, where it suits the application)
2. Source of technologies – algorithms, models, techniques architectures, protocols but also software
packages that facilitate development of multi-agent systems
3. Simulation concept – a specialized software technology that allows simulation of natural multi-agent
systems, based on (1) and (2).
Multi-Agent Simulation – provide expressive models for representing complex and dynamic real-world
environments, with the emphasis on capturing the interaction related properties of such systems
Intelligent Agents Applications
- Manufacturing and production - Air traffic and space
- Traffic and logistics - Security applications
- Robotics, autonomous systems - Energy and smart grids
Thanks!