Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

CPSC 475 Lecture Notes

michaelconnor00 edited this page Sep 24, 2015 · 1 revision

CPSC 475 Study Notes

Ch. 1 - Introduction

Intro Concepts

Important and Continuing trends in computing:

  • Ubiquity

    • Continual reduction in cost of computing makes it possible to introduce processing power into places and devices that would have once been uneconomic.
    • As processing capability spreads, sophistication (and intelligence of a sort) becomes ubiquitous.
  • Interconnection

    • Computer systems no longer stand alone, but are networked into large distributed systems.
    • Since distributed and concurrent systems have become the norm, some researchers are putting forward theoretical models that portray computing as primarily a process of interaction
  • Intelligence

    • The complexity of tasks that we are capable of automating and delegating to computers has grown steadily
  • Delegation

    • Computers are doing more for us ... without our intervention.
    • We are giving control to computers, even in safety critical tasks.
  • Human-Orientation

    • The movement away from machine-oriented views of programming toward concepts and metaphors that more closely reflect the way we ourselves understand the world

Programming Progression:

  • machine code
  • assembly code
  • machine-independent languages
  • sub-routines
  • procedures & functions
  • abstract data types
  • objects
  • agents...

Agents: A First Definition

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).

Multiagent 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.

The Micro and Macro Problems

  • Micro - Agent Design: How do we build agents that are capable of independent, autonomous action in order to successfully carry out the tasks that we delegate to them?
  • Macro - Society Design: How do we build agents that are capable of interacting (cooperating, coordinating, negotiating) with other agents in order to successfully carry out the tasks that we delegate to them, particularly when the other agents cannot be assumed to share the same interests/goals?

Why MAS?

  • Agents for software engineering

    • The Grid
    • Ubiquitous Computing
    • The Semantic Web
  • Agents for understanding human societies

  • Agents for distributed economic systems

The Grid

The Grid aims to develop massive-scale open distributed systems, capable of being able to effectively and automatically deploy and redeploy computational (and other) resources to solve large computational problems. The grid and MAS are both pursuing this, however from different perspectives.

Ubiquitous computing

Populations of computing entities – hardware and software - will become an effective part of our environment, performing tasks that support our broad purposes without our continual direction, thus allowing us to be largely unaware of them.

The Semantic Web

The semantic web aims to annotate web sites with semantic markup: information in a form processable by computer, typically relating to the content of the web site. The idea is that this markup will enable browsers (etc) provide richer, more meaningful services to users.

FAQs - Objections

Isn't it just distributed systems? -> Distributed systems don't take account of preferences.

Isn't it just AI? -> AI traditionally focused on agent capabilities.

Isn't it just economics? -> Economic solutions take no account of computation. A new type of economic system.

Isn't it all just social sciences? -> We focus on computational agents.

Ch. 2 - Intelligent Agents

Agent: an agent is a computer system capable of autonomous action in some environment, in order to achieve its delegated goals.

Intelligent Agents: * reactive * pro-active * social

Reactivity: environment is fixed (not like real world), maintains an ongoing interaction with the environment, and responds to changes. Proactiveness: goal directed behaviour, generating and attempting to achieve goals, not soley driven by events, taking initiative, recognizing opportunities. Social Ability: cannot attempt to achieve goals without taking others into account, some goals can only be achieved by interacting with others.

Social Ability Interactions: * Cooperation: 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. * Coordination: managing the interdependencies between activities. ie - between a shared resource. * Negotiation: the ability to reach agreements on matters of common interest. Typically involves offer and counter-offer, with compromises made by participants.

Some other properties: * mobility * veracity * benevolence * rationality * learning/adaption

Agents and Objects

Objects * encapsulate some state * communicates via message passing * has methods that may operate on this state

Agents * Autonomous: more so than objects. In particular, they decide when to perform an action on request from another agent. * Smart: capable of flexible behaviour. * Active: not passive service providers

Note

Objects do it for free...

Note

Agents do it for money, and because they want to.

Agents and Expert Systems

Expert systems typically disembodied 'expertise' about some (abstract) domain of discourse. ie - MYCIN knows about blood diseases in humans. It has a wealth of knowledge about blood diseases, in form of rules.

Diff between Agents and Expert Systems
  1. Agents are situated in an environment: MYCIN is not aware of the world, only information obtained is by asking the user questions.
  2. Agents act: MYCIN does not operate on patients

Note

Some real-time expert systems are agents

Intelligent Agents and AI

AI aims to build systems that can understand natural language, recognise and understand scenes, use common sense, think creatively, etc. Agents aim to be simple systems that can choose the right action to preform, typically in a limited domain.

Note

NETBOT experience: We made our agents dumber and dumber, until finally they made money.

Properties of environments

  • Accessible vs Inaccessible: the agent can access (it's own environment), and cannot access (physical world).
  • Deterministic vs Non-Deterministic: Deterministic, any action has a single guaranteed effect. The physical world is non-deterministic.
  • Episodic vs Non-Episodic: the performance of an agent is dependent on a number of discrete unlinked episodes. Easier for design because there is not need to focus on future episodes.
  • Static vs Dynamic: static enviro stays unchanged (by agent), dynamic enviro is one that has other processes operating on it, hence changes (not by agent).
  • Discrete vs Continuous: discrete has a fixed finite number of actions and percepts (chess). Taxi driving is an example of a continuous enviro.

Agents as Intentional Systems

Folk Psychology These statements make use of a folk psychology, by which human behaviour is predicted and explained by attributing attitudes such as believing, wanting, hoping, fearing,...

Daniel Dennett on Intentional Systems: * A first-order intentional system has beliefs and desires but no beliefs and desires about beliefs and desires. * A second-order intentional system is more sophisticated; it has beliefs and desires (and no doubt other intentional states) about beliefs and desires, both those of others and its own.

Abstract Architectures or intelligent Agents

Ch. 3 - Deductive Reasoning Agents

Agents as Thereom Provers

Agent Orientated Programming

Concurrent MetateM

Ch. 4 - Practical Reasoning Agents

Practical Reasoning = Deliberation + Means–Ends Reasoning

Means–Ends Reasoning

Implementing a Practical Reasoning Agent

The Procedural Reasoning System

Ch. 5 - Reactive and Hybrid Agents

5.1 Reactive Agents

The subsumption architecture

PENGI

Situated Automata

The agent network architecture

The limitations of reactive agents

5.2 Hybrid Agents

TouringMachines

InteRRaP

3T

Stanley

Ch. 7 - Communicating

Speech Acts

Austin

Searle

The plan-based theory of speech acts

Speech acts as rational action

Agent Communication Languages

KQML

The FIPA agent communication language

JADE

Ch. 8 - Working Together

Cooperative Distributed Problem Solving

Task Sharing and Result Sharing

Task sharing in the Contract Net

Result Sharing

Combining Task and Result Sharing

Handling Inconsistency

Coordination

Coordination through partial global planning

Coordination through joint intentions

Coordination by mutual modelling

Coordination by norms and social laws

Multiagent Planning and Synchronization

Ch. 11 - Mulitagent Interactions

Utilities and Preferences

Setting the Scene

Solution Concepts and Solution Properties

Dominant strategies

Nash equilibria

Pareto efficiency

Maximizing social welfare

Competitive and Zero-Sum Interactions

The Prisoner’s Dilemma

The shadow of the future

Program equilibria

Other Symmetric 2 × 2 Interactions

Representing Multiagent Scenarios

Dependence Relations in Multiagent Systems

Clone this wiki locally