CISC 1600 Lecture 3.4 Agent-based programming

Similar documents
Plan for the 2nd hour. What is AI. Acting humanly: The Turing test. EDAF70: Applied Artificial Intelligence Agents (Chapter 2 of AIMA)

Outline. Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types

Intelligent Agents p.1/25. Intelligent Agents. Chapter 2

CS 380: ARTIFICIAL INTELLIGENCE

CS 380: ARTIFICIAL INTELLIGENCE RATIONAL AGENTS. Santiago Ontañón

Agent. Pengju Ren. Institute of Artificial Intelligence and Robotics

Administrivia. CS 188: Artificial Intelligence Spring Agents and Environments. Today. Vacuum-Cleaner World. A Reflex Vacuum-Cleaner

HIT3002: Introduction to Artificial Intelligence

Overview Agents, environments, typical components

Intelligent Agents & Search Problem Formulation. AIMA, Chapters 2,

Artificial Intelligence

Introduction to Multiagent Systems

Artificial Intelligence: Definition

Structure of Intelligent Agents. Examples of Agents 1. Examples of Agents 2. Intelligent Agents and their Environments. An agent:

Last Time: Acting Humanly: The Full Turing Test

Inf2D 01: Intelligent Agents and their Environments

Introduction to Multi-Agent Systems. Michal Pechoucek & Branislav Bošanský AE4M36MAS Autumn Lect. 1

CMSC 372 Artificial Intelligence What is AI? Thinking Like Acting Like Humans Humans Thought Processes Behaviors

CPS331 Lecture: Agents and Robots last revised April 27, 2012

Course Info. CS 486/686 Artificial Intelligence. Outline. Artificial Intelligence (AI)

CPS331 Lecture: Intelligent Agents last revised July 25, 2018

CS 486/686 Artificial Intelligence

Agent-Based Systems. Agent-Based Systems. Agent-Based Systems. Five pervasive trends in computing history. Agent-Based Systems. Agent-Based Systems

Introduction to Autonomous Agents and Multi-Agent Systems Lecture 1

COMP9414/ 9814/ 3411: Artificial Intelligence. Week 2. Classifying AI Tasks

Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands

CPS331 Lecture: Agents and Robots last revised November 18, 2016

Development of an Intelligent Agent based Manufacturing System

Introduction: What are the agents?

CPE/CSC 580: Intelligent Agents

3.1 Agents. Foundations of Artificial Intelligence. 3.1 Agents. 3.2 Rationality. 3.3 Summary. Introduction: Overview. 3. Introduction: Rational Agents

Lecture Overview. c D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 1.1, Page 1 1 / 15

CHAPTER 1: INTRODUCTION. Multiagent Systems mjw/pubs/imas/

COMP9414/ 9814/ 3411: Artificial Intelligence. 2. Environment Types. UNSW c Alan Blair,

What is Artificial Intelligence? Alternate Definitions (Russell + Norvig) Human intelligence

DESIGN AGENTS IN VIRTUAL WORLDS. A User-centred Virtual Architecture Agent. 1. Introduction

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

An Unreal Based Platform for Developing Intelligent Virtual Agents

Multi-Agent Systems in Distributed Communication Environments

Using FMI/ SSP for Development of Autonomous Driving

Our 2-course meal for this evening

CS 730/830: Intro AI. Prof. Wheeler Ruml. TA Bence Cserna. Thinking inside the box. 5 handouts: course info, project info, schedule, slides, asst 1

Silvia Rossi. Introduzione. Lezione n. Corso di Laurea: Informatica. Insegnamento: Sistemi multi-agente. A.A.

Agents in the Real World Agents and Knowledge Representation and Reasoning

Artificial Intelligence and Asymmetric Information Theory. Tshilidzi Marwala and Evan Hurwitz. University of Johannesburg.

Agent Models of 3D Virtual Worlds

Planning in autonomous mobile robotics

Lab 7: Introduction to Webots and Sensor Modeling

Introduction to Artificial Intelligence

An Introduction to Agent-Based Modeling Unit 2: Building a Simple Model

EARIN Jarosław Arabas Room #223, Electronics Bldg.

STRATEGO EXPERT SYSTEM SHELL

Virtual Homologation of Software- Intensive Safety Systems: From ESC to Automated Driving

Autonomous Agents and MultiAgent Systems* Lecture 2

Artificial Intelligence: An overview

CITS3001. Algorithms, Agents and Artificial Intelligence. Semester 1, 2015

Behaviour-Based Control. IAR Lecture 5 Barbara Webb

Robotics and Autonomous Systems

Multi-Robot Teamwork Cooperative Multi-Robot Systems

2 Our Hardware Architecture

2. Environment Types. COMP9414/ 9814/ 3411: Artificial Intelligence. Agent Model. Agents as functions. The PEAS model of an Agent

Chapter 6 Experiments

An Introduction to Agent-Based Modeling Unit 5: Components of an Agent-Based Model

A Winning Combination

Multi-Agent Planning

Artificial Intelligence

UNIVERSITY OF REGINA FACULTY OF ENGINEERING. TIME TABLE: Once every two weeks (tentatively), every other Friday from pm

Sharing a Charging Station in Collective Robotics

Introduction to Computer Science

A Taxonomy of Multirobot Systems

Outline. Introduction to AI. Artificial Intelligence. What is an AI? What is an AI? Agents Environments

SITUATED DESIGN OF VIRTUAL WORLDS USING RATIONAL AGENTS

CMSC 372 Artificial Intelligence. Fall Administrivia

GNSS in Autonomous Vehicles MM Vision

A.I in Automotive? Why and When.

Neural Networks for Real-time Pathfinding in Computer Games

Simulation Model of Biometric Authentication Using Multiagent Approach

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

Artificial Intelligence

Line Detection. Duration Minutes. Di culty Intermediate. Learning Objectives Students will:

Cyber-Physical Systems: Challenges for Systems Engineering

IN5480 vildehos Høst 2018

Spring 19 Planning Techniques for Robotics Introduction; What is Planning for Robotics?

Funzionalità per la navigazione di robot mobili. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Multi-Agent Control Structure for a Vision Based Robot Soccer System

Elements of Artificial Intelligence and Expert Systems

Key-Words: - Neural Networks, Cerebellum, Cerebellar Model Articulation Controller (CMAC), Auto-pilot

Autonomous driving made safe

How to build an autonomous anything

Indiana K-12 Computer Science Standards

Introduction to Systems Engineering

What is AI? AI is the reproduction of human reasoning and intelligent behavior by computational methods. an attempt of. Intelligent behavior Computer

AGENTS AND AGREEMENT TECHNOLOGIES: THE NEXT GENERATION OF DISTRIBUTED SYSTEMS

Russell and Norvig: an active, artificial agent. continuum of physical configurations and motions

CS494/594: Software for Intelligent Robotics

By now you should already have downloaded and installed Metatrader 4. If not, go to the previous episodes of this course.

CS8678_L1. Course Introduction. CS 8678 Introduction to Robotics & AI Dr. Ken Hoganson. Start Momentarily

SOFTWARE AGENTS IN HANDLING ABNORMAL SITUATIONS IN INDUSTRIAL PLANTS

Prof. Sameer Singh CS 175: PROJECTS IN AI (IN MINECRAFT) WINTER April 6, 2017

Our Final Invention: Artificial Intelligence and the End of the Human Era

Transcription:

CISC 1600 Lecture 3.4 Agent-based programming Topics: Agents and environments Rationality Performance, Environment, Actuators, Sensors Four basic types of agents Multi-agent systems NetLogo

Agents interact with environments An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators What are the sensors and actuators for a Human agent? For a robotic agent? The agent decides what to do at every point in time given its past experience and existing knowledge

We are interested in agents for two different purposes Agents for interacting with the world Autonomous hardware or software systems Doing real things on behalf of a person Agents for simulating the world by interacting with each other Idealized models of some sort of behavior Program local behaviors, observe global effects Study emergent properties of systems

Agents for interacting with the world: 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)

Agents for simulating the world: Multi-Agent System (MAS) is... an environment in which many (well, two or more) agents exist and interact They can cooperate, coordinate and negotiate

Properties of multi-agent systems Individual agents are self-interested 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 Can we conceive of a system as a series of interacting devices rather then as a single system? they have their own goals there may be team rewards for a group of agents achieving a goal together

NetLogo is an agent-based simulation environment

Simulation: mouse trap nuclear fission

Simulation: mouse trap nuclear fission

NetLogo Background NetLogo is an IDE (integrated development environment)that can be used to create programs that simulate natural and social phenomena NetLogo is particularly well suited for modeling complex systems that develop over time Using NetLogo you can create programs containing thousands of agents (called turtles ) all operating independently For us, NetLogo will serve as another programming environment in which to explore the Imperative, Procedural and Object-Oriented Paradigms

NetLogo Desktop IDE There are 3 tabs: Interface: for creating buttons and plots Code: for writing procedures and defining variables Information: for explanatory text about the project

NetLogo Web IDE Pros JavaScript, so portable, mobile-compatible, etc Nothing to install Embed NetLogo simulations in any HTML page Cons Not all features implemented yet Can't edit interfaces

NetLogo Agents NetLogo creates programs by specifying behaviors using procedures) for sets of agents and then allowing those agents to interact NetLogo has 4 types of agents: Patches The squares on the world grid Turtles Agents that can move Links Lines between agents The Observer The master controller

NetLogo Syntax The syntax for NetLogo is different than what you may be familiar with: Comments are specified using ;; ;; this is a comment Variables and functions can contain some characters that other languages consider special : - and? (but not spaces) clear-all Blocks of related code (such as those that belong to an if statement) are designated using square brackets: ifelse x > 10 [ print x is greater than 10 ] [ print x is not ]

NetLogo Sensors and Actuators Agents can use special primitives (built in functions) to see their environment. turtles-here: returns a list of turtles nearby patches-here: returns a list of patches nearby turtles-at: returns a list of turtles at a specific location patches-at: returns a list of patches at a specific location Agents can use other primitives to affect their environment, even other agents (ask) forward, right, left: step forward and turn left and right setxy: change a turtles location set color: change a turtles color set pcolor: change a patches color hatch: create NEW turtles die: delete a turtle

Useful NetLogo links Documentation (Everything) Quick Guide (Important aspects of the language / interface) http://ccl.northwestern.edu/netlogo/docs/ http://luis.izqui.org/resources/netlogo-5-0-quickguide.p df Dictionary (full list of commands and descriptions of them) http://ccl.northwestern.edu/netlogo/docs/dictionary.html

Four key notions distinguish agents from objects and arbitrary programs Persistence: Agent state is stored over time Reaction to the environment Agents respond to external events: network traffic, sensor readings Autonomy: Agents decide what to do Across program executions, power failures, etc Based on stimuli, agents choose the best action Goal-orientation What is best is determined by more general goals

PEAS defines the job of an agent Performance measure, Environment, Actuators, Sensors The setting for intelligent agent design Consider an automated taxi driver: Performance measure Environment Actuators Sensors

PEAS defines the job of an agent Performance measure, Environment, Actuators, Sensors The setting for intelligent agent design Consider an automated taxi driver: Performance measure: Safe, fast, legal, comfortable trip, maximize profits Environment: Roads, other traffic, pedestrians, customers Actuators: Steering wheel, accelerator, brake, signal, horn Sensors: Cameras, sonar, speedometer, GPS, odometer, engine sensors, keyboard

PEAS for other tasks Internet shopping agent Backgammon-playing agent Agent driving virtual car in simulation Performance measure Environment Actuators Sensors

Rational agents An agent should strive to "do the right thing", based on what it can perceive and the actions it can perform. The right action is the one that will cause the agent to be most successful Performance measure: An objective criterion for success of an agent's behavior Rational Agent: For each possible percept sequence, a rational agent should select an action that is expected to maximize its performance measure

Rational agents Rationality is not omniscience Rationality is not clairvoyance Thus rationality does not imply success Just the best chance of success given the past A rational agent should explore, learn, and be autonomous

There are four types of agents, i.e., ways of approaching the PEAS (in order of increasing generality) 1)Simple reflex agents 2)Model-based reflex agents 3)Goal-based agents 4)Utility-based agents All of these can be turned into learning agents

1) Simple reflex agents

2) Model-based reflex agents

3) Goal-based agents

4) Utility-based agents

Any: Learning agents

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.

Summary Agents interact with environments through actuators and sensors The agent decides what to do at every point in time given its past experience and existing knowledge A perfectly rational agent maximizes expected performance The performance measure evaluates the environment sequence PEAS descriptions define task environments Several basic agent architectures exist: Reflex, reflex with state, goal-based, utility-based

References Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2, http://aima.cs.berkeley.edu/, 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).