Agents & Agent-Based Programming. Outline I.References II."Agents" defined. III.Agent-Based Programming Paradigm IV.Motivations V.Putting it all together.

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
1-1 LECTURE 1: INTRODUCTION Multiagent Systems Based on “An Introduction to MultiAgent Systems” by Michael Wooldridge, John Wiley & Sons, 2002.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Agents in the previous examples Agents are just 3D objects in virtual worlds Agents are not independent thread. No agent architecture. ……
Effective Coordination of Multiple Intelligent Agents for Command and Control The Robotics Institute Carnegie Mellon University PI: Katia Sycara
Lecture 1: Introduction Slides adapted from Sobah Abbas Petersen
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
Experiences with an Architecture for Intelligent Reactive Agents By R. Peter Bonasso, R. James Firby, Erann Gat, David Kortenkamp, David P Miller, Marc.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site
Intelligent Agents revisited.
Applications of agent technology in communications: a review S. S. Manvi &P. Venkataram Presented by Du-Shiau Tsai Computer Communications, Volume 27,
CS 6100 MultiAgent Systems Lecture 1: Introduction Slides adapted from Sobah Abbas Petersen (with permission)
1 Chapter 19 Intelligent Agents. 2 Chapter 19 Contents (1) l Intelligence l Autonomy l Ability to Learn l Other Agent Properties l Reactive Agents l Utility-Based.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
The Need of Unmanned Systems
Towards A Multi-Agent System for Network Decision Analysis Jan Dijkstra.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Architectural Design.
What is Concurrent Programming? Maram Bani Younes.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE Massimo Poesio Intelligent agents.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
NetLogo Dr. Feng Gu. NetLogo NetLogo is a programmable modeling environment for simulating natural and social phenomena, authored by Uri Wilensky in 1999.
Agent architectures Smarter software for astronomers Alasdair Allan University of Exeter, Exeter, U.K.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
How R&N define AI Systems that think like humans Systems that think rationally Systems that act like humans Systems that act rationally humanly vs. rationally.
Lecture 9: Chapter 9 Architectural Design
Bridges To Computing General Information:  This document was created for use in the "Bridges to Computing" project of Brooklyn College.  You are invited.
Fundamentals of Information Systems, Third Edition2 Principles and Learning Objectives Artificial intelligence systems form a broad and diverse set of.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
NAVEEN AGENT BASED SOFTWARE DEVELOPMENT. WHAT IS AN AGENT? A computer system capable of flexible, autonomous (problem-solving) action, situated in dynamic,
Bridges To Computing General Information:  This document was created for use in the "Bridges to Computing" project of Brooklyn College.  You are invited.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Artificial Intelligence Lecture 1. Objectives Definition Foundation of AI History of AI Agent Application of AI.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Bio-Networking: Biology Inspired Approach for Development of Adaptive Network Applications 21 May 2005Ognen Paunovski Bio-Networking: Biology Inspired.
Bridges To Computing General Information:  This document was created for use in the "Bridges to Computing" project of Brooklyn College.  You are invited.
Chapter 4 Decision Support System & Artificial Intelligence.
Algorithmic, Game-theoretic and Logical Foundations
Introduction of Intelligent Agents
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Integration of Workflow and Agent Technology for Business Process Management Yuhong Yan. Maamar, Z. Weiming Shen Enterprise Integration Lab.Toronto Univ.Canada.
Instructional Objective  Define an agent  Define an Intelligent agent  Define a Rational agent  Discuss different types of environment  Explain classes.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Welcome and Introduction to the Course MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Circulation Simulation Andrew Moeding. Simulation Types Traffic flow pattern simulation Building/pedestrian circulation simulation.
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
Intelligent systems, intelligent agents New AI directions: cognitive and applications Advantages: adaptable, flexible, able to learn, user- friendly, “bluff”
Object Oriented Analysis and Design Introduction to Rational Rose.
Intelligent Agents A Tutorial Prof. Fuhua Lin. From Objects to Agents Objects: the “Classical Perspective” Objects: the “Classical Perspective” State.
Intelligent Agents Chapter 2. How do you design an intelligent agent? Definition: An intelligent agent perceives its environment via sensors and acts.
Choosing a Formal Method Mike Weissert COSC 481. Outline Introduction Reasons For Choosing Formality Application Characteristics Criteria For A Successful.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
Intelligent Agents on the Internet and Web BY ROHIT SINGH MANHAS M.C.A 4TH SEM. Dept. of I&CT, MIT, Manipal.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
AUSF Agent based User Simulation Framework Om Narayan.
Fundamentals of Information Systems, Sixth Edition
CHAPTER 1 Introduction BIC 3337 EXPERT SYSTEM.
Unified Modeling Language
Intelligent Agents Chapter 2.
Course Instructor: knza ch
Introduction to Multi-Agent Systems
Agents & Agent-Based Programming
What is Concurrent Programming?
Decision Support Systems
An Introduction to Multiagent Systems
Presentation transcript:

Agents & Agent-Based Programming

Outline I.References II."Agents" defined. III.Agent-Based Programming Paradigm IV.Motivations V.Putting it all together VI.Computer & Software Agents VII.Software Agents - Disambiguation VIII.Agent Components IX.Types of Agents X.Multi-agent system XI.Properties of multi-agent systems XII.Introduction to NetLogo

References Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN , chpt. 2 Stan Franklin and Art Graesser (1996); Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents; Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996 An Introduction to Multiagent Systems, by Michael Wooldridge, John Wiley & Sons, Ltd (2002).

"Agents" Defined What an "agent" is depends on the context of the domain. – Real estate agent. – Secret agent. – Chemical agent. The common component in almost all cases is that an "agent" is something that "acts" autonomously (independently) usually on behalf of some other entity. Agent is derived from the Latin agere (to do).

Agent "Paradigm" The term "agent-based programming" describes a paradigm (an abstraction, idea, or a concept) similar to OOP (which uses terms such as methods, functions, and objects). The concept of an agent provides a convenient and powerful way to describe an entity that is capable of acting with a certain degree of autonomy in order to accomplish tasks on behalf of its user. Four key notions distinguish agents from arbitrary programs: – persistence – autonomy – reaction to the environment – goal-orientation

Motivations Five trends in the history of computing have led to the development of agent-based and multi-agent systems: 1.ubiquity 2.interconnectivity 3.intelligence 4.delegation 5.human-orientation

Ubiquity Computing devices are everywhere – Computational power (i.e., hardware) has become small and relatively inexpensive. Computing devices do all sorts of things – Many devices are hidden inside other devices (embedded computing). How do we design systems that might run anywhere, on anything? Can we think about the behaviors we want rather then the program we need to write.

Interconnectivity The rise of the internet and network-based systems has led to the idea that most computational devices do not run alone—they connect to a wide range of other types of computational devices in order to perform tasks collaboratively (also called distributed and concurrent or parallel systems) How do we design systems that can be executed on multiple processors/computers? Can we conceive of a system as a series of interacting devices rather then as a single system?

Intelligence As computers become more sophisticated, so must the software that operates them. What does "intelligence" mean in the context of computing? What do you believe makes a computer/ computational device intelligent? We can think about systems that can react to "unpredictable" events in its operating environment as intelligent.

Delegation Computers do things for us, often without our intervention (traffic lights, power grids/plants). Giving control to a computer is called “delegation”; are you comfortable with that? (3-mile Island) What kinds of tasks are you comfortable delegating to a computer? – tasks that involve safety (flying, driving) – spending money (bidding on eBay) – Combat operations (robot warriors)

Human Orientation Most computer systems are designed to interact with humans. Even if a human delegates tasks to a computer, there is still interaction before and after the task is completed. How do we design systems that can interface effectively with a wide range of human users? What kinds of human features do we need to construct/model in a system in order to increase its usefulness? – language? – emotion? – reasoning? – decision making?

Putting it all together… We come up with a desire for computational devices that can interact with each other to complete tasks. By that, we mean they might: – Compete -> perhaps for scarce resources. – Cooperate -> perhaps to accomplish tasks together that one cannot do alone. – Negotiate -> perhaps to manage the sharing or trading of resources.

"Computer Agent" “An agent is a computer system that is capable of independent (autonomous) action on behalf of its user or owner (figuring out what needs to be done to satisfy design objectives, rather than constantly being told what to do in detail).” (Wooldridge) An Agent "is an autonomous entity which observes and acts upon an environment and directs its activity towards achieving goals." Russell & Norvig 2003,

Computer Agent - Disambiguation Unlike arbitrary programs, agents: react to their environment, are autonomous, exhibit goal- orientation and persistence. Unlike objects which are defined in terms of methods and attributes, an agent is defined in terms of its behavior. NOTE: A "software agent" usually implies a program, a "computer agent" can be a hardware/software combination, and an "intelligent agent", can be anything (including people/groups of people).

A Software Agent is "anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors". (Stuart Russell & Peter Norvig, 2003) "a system that is situated in an environment, and which is capable of perceiving its environment and acting in it to satisfy some objectives." (Michael Wooldridge, 2002)

Components of a Software Agent 1.Sensors 2.Actuators/Effectors 3.Reasoning (maybe be very simple) 4.Learning (optional, defines an "intelligent agent")

Types of Agents Simple reflex agents -> If condition then action. Model-based reflex agents -> A model-based reflex agent keeps track of the current state of the world using an internal model. It then chooses an action in the same way as the reflex agent.

Types of Intelligent Agents Goal-based agents – Goal-based agents are model-based agents which store information regarding situations that are desirable. This allows the agent a way to choose among multiple possibilities, selecting the one which reaches a goal state. Learning agents – Learning has an advantage that it allows the agents to initially operate in unknown environments and to become more competent than its initial knowledge alone might allow.

Multi-Agent System “A multi-agent 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 interact successfully, they will require the ability to cooperate, coordinate and negotiate with each other, much as people do.” (Wooldridge)

Multi-Agent System (MAS) is... an environment in which many (well, two or more) agents exist and interact.

Properties of multi-agent systems Individual agents are self-interested – they have their own goals – there may be team rewards for a group of agents achieving a goal together Cooperation is not governed, – It is emergent (if it happens at all) versus “distributed systems”, where – goals are only group-based – cooperation is engineered to be inherent in the system

Agent Based Programming… Why? Are there advantages to using Agent-Based programming? Yes! 1.Dealing with complexity: Some problems are so complex that they are basically impossible to model as a single program. Examples: Weather, Internet, Travel Systems 2.Emergent Behavior: Some types of behavior are very difficult to program in directly but can result as a side effect of agents pursuing very simple goals.

Key Research Areas 1.Agent design (micro level): – how do we design individual agents to operate effectively? 2.Society Design (macro level): – how do we design groups of agents, or societies, to operate effectively? 3.Hive Intelligence (abstract level): – Can simple agents, working together, effectively demonstrate high level reasoning abilities.

NetLogo (1) NetLogo is a programmable modeling environment for simulating natural and social phenomena.. NetLogo is particularly well suited for modeling complex systems developing over time. Modelers can give instructions to hundreds or thousands of "agents" all operating independently. This makes it possible to explore the connection between the micro-level behavior of individuals and the macro- level patterns that emerge from the interaction of many individuals.

NetLogo (2) NetLogo lets students open existing simulations exploring their behavior under various conditions. It is also an authoring environment (text-based IDE) which enables developers to create their own models. NetLogo is simple enough that students and teachers can easily run simulations or even build their own. And, it is advanced enough to serve as a powerful tool for researchers in many fields. NetLogo has extensive documentation and tutorials. It also comes with a Models Library, which is a large collection of pre-written simulations that can be used and modified.

NetLogo (3) For us NetLogo will serve as another programming environment in which to explore the Imperative, Procedural and Object-Oriented Paradigms. The Lab (covering 2 tutorials) will introduce you to the Netlogo Enviroment. Don't panic. You can do this!

The End