23
snu comp. Multiagent System & Societies of Agents Multiagent System & Societies of Agents 노 노노 노 노노 Dept. of Computer Eng. Dept. of Computer Eng.

Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

Embed Size (px)

Citation preview

Page 1: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Multiagent System & Societies of AgentsMultiagent System & Societies of Agents

노 동건노 동건Dept. of Computer Eng.Dept. of Computer Eng.

Page 2: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

발표내용발표내용

1. 1. Introduction about multiagentIntroduction about multiagent

2. Agent Communications2. Agent Communications

3. Agent Interaction Protocols3. Agent Interaction Protocols

4. Conclusion 4. Conclusion

Page 3: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Introduction(1)Introduction(1)

- Agents operate and exist in some environment. The environment - Agents operate and exist in some environment. The environment might be open or closed and contain other agents or not.might be open or closed and contain other agents or not.

- Although there are situations where an agent can operate usefully - Although there are situations where an agent can operate usefully by itself, the increasing interconnection and networking of compuby itself, the increasing interconnection and networking of computer is making such situations rare.ter is making such situations rare.

- So, it is more convenient to deal with them collectively,as a societ- So, it is more convenient to deal with them collectively,as a society of agent.y of agent.

Page 4: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Introduction(2)Introduction(2)

- - 전통적인 전통적인 AIAI 는 는 Von Neumann architecture Von Neumann architecture 단일 기계 내부에서의 단일 기계 내부에서의 reasoningreasoning 과 과 control, learningcontrol, learning 등으로 어떻게 등으로 어떻게 agentagent 를 를 지능적이도록 만들 수 있는가에 관심이 있었지만지능적이도록 만들 수 있는가에 관심이 있었지만 , , 이제 공부할 이제 공부할 DAIDAI 는 여러 지능적인 시스템들이 모여있는 환경에서는 여러 지능적인 시스템들이 모여있는 환경에서 , , 그 그 환경의 일부분으로서 어떻게 공동의 목표환경의 일부분으로서 어떻게 공동의 목표 (( 혹은 자신의 최대 혹은 자신의 최대 이득이득 )) 에 지능적으로 다다를 수 있는가에 관심이 있다에 지능적으로 다다를 수 있는가에 관심이 있다 ..

- Characteristics of Multiagent Environments- Characteristics of Multiagent Environments 1. Provide an infrastructure specifying communication and interacti1. Provide an infrastructure specifying communication and interacti

on protocols.on protocols. 2. Typically open and have no centralized designer.2. Typically open and have no centralized designer. 3. Contains agent that are autonomous and distributed, and coop3. Contains agent that are autonomous and distributed, and coop

erative or competitive. erative or competitive.

Page 5: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communications(1)Agent Communications(1)

CoordinationCoordination -Cooperation is coordination among nonantagonistic agent.(-Cooperation is coordination among nonantagonistic agent.( 비슷한 비슷한 goal, goal, 공통의 문제포함 공통의 문제포함 )) -Negotiation is coordination among competitive agents.(have conflict goal)-Negotiation is coordination among competitive agents.(have conflict goal) - A taxonomy of coordination- A taxonomy of coordination

coordination

cooperation competition

planning

Distributed planning Centralized Planning

negotiation

Page 6: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communications(2)Agent Communications(2)

Dimensions of MeaningDimensions of Meaning

- Three aspects to the formal study of communication.- Three aspects to the formal study of communication.

1. Syntax 2. Semantics 3.Pragmatics(how symbol 1. Syntax 2. Semantics 3.Pragmatics(how symbol interpreted)interpreted)

- Meaning is a combination of semantics and pragmatics.- Meaning is a combination of semantics and pragmatics.

- Dimensions of meaning- Dimensions of meaning

Descriptive vs. Prescriptive meaningDescriptive vs. Prescriptive meaning

Personal vs. Conventional meaningPersonal vs. Conventional meaning

Subjective vs. Objective meaningSubjective vs. Objective meaning

speaker’s vs. Hearer’s vs. Society’s perspectivespeaker’s vs. Hearer’s vs. Society’s perspective

Semantics vs. Pragmatics meaningSemantics vs. Pragmatics meaning

Page 7: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communication(3)Agent Communication(3)

Speech Acts theorySpeech Acts theory

Speech Acts theory views language as actions such as requests,Speech Acts theory views language as actions such as requests,

suggestions, commitments, and replies.suggestions, commitments, and replies.

Ex) I am cold. ==> request for a sweater OR just tell the fact.Ex) I am cold. ==> request for a sweater OR just tell the fact.

- Speech act has three aspects- Speech act has three aspects

1. Locution, the physical utterance by the speaker.1. Locution, the physical utterance by the speaker.

2. Illocution, the intended meaning of the utterance by the speaker2. Illocution, the intended meaning of the utterance by the speaker

3. Perlocution, the action that results from the locution.3. Perlocution, the action that results from the locution.

- Speech act theory helps define the type of message by using the - Speech act theory helps define the type of message by using the performative such as tell, request etc...performative such as tell, request etc...

Page 8: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communication(4)Agent Communication(4)

Knowledge Query and Manipulation Language (KQML)Knowledge Query and Manipulation Language (KQML)

separate the semantics of the communication protocol(which must be separate the semantics of the communication protocol(which must be domain independent) from the semantics of the enclosed domain independent) from the semantics of the enclosed message(which may depend on the domain)message(which may depend on the domain)

- The communicational protocol must be universally shared - The communicational protocol must be universally shared

by all agents.by all agents.

- The KQML is a protocol for exchanging information and - The KQML is a protocol for exchanging information and

knowledge.knowledge.

- KQML wraps a message In a structure that can be understood by any- KQML wraps a message In a structure that can be understood by any

agent.agent.

Agent Agent Application program

KQML KQML

Page 9: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communication(5)Agent Communication(5)

KQML protocolKQML protocol

(KQML-performative(KQML-performative

: sender <word>: sender <word>

: receiver <word>: receiver <word>

: language <word>: language <word>

: ontology <word>: ontology <word>

: content <expression> ... ): content <expression> ... )

- semantics of KQML performative is domain independent- semantics of KQML performative is domain independent

- semantics of message is defined by the field : content(the message itself)- semantics of message is defined by the field : content(the message itself)

, :ontology ( the vocabulary of the “word” in the message), : language, :ontology ( the vocabulary of the “word” in the message), : language

( language in which the message is expressed)( language in which the message is expressed)

- :sender, :receiver, :reply-with(KQML assume asynchronous communication)- :sender, :receiver, :reply-with(KQML assume asynchronous communication)

are for the message passing.are for the message passing.

Page 10: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communication(6)Agent Communication(6)

--Example of KQMLExample of KQML

(tell(tell

:sender Agent1:sender Agent1

:receiver Agent2:receiver Agent2

:language KIF:language KIF

:ontology Blocks-World:ontology Blocks-World

:content (AND (Block A)(Block B)(On A B)):content (AND (Block A)(Block B)(On A B))

- KIF (knowledge interchange format) is based on first-order predicate - KIF (knowledge interchange format) is based on first-order predicate calculus.calculus.

- In a Blocks-World ontology, if the concept of a wooden block of a given - In a Blocks-World ontology, if the concept of a wooden block of a given size is represented by the unary predicate Block, then block A is on top size is represented by the unary predicate Block, then block A is on top of block B. send to Agent2 From Agent1.of block B. send to Agent2 From Agent1.

- :language - :language 에는 에는 KIFKIF 뿐 아니라 다른 언어 뿐 아니라 다른 언어 prolog, lisp, sql prolog, lisp, sql 등이 올 수도 있다등이 올 수도 있다 . .

Page 11: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communication(7)Agent Communication(7)

--Example 2Example 2

(ask-all(ask-all

:sender Agent1:sender Agent1

:receiver Agent2:receiver Agent2

:reply-with id1:reply-with id1

:language Prolog:language Prolog

:ontology Block-World:ontology Block-World

:content “on(X,Y)” ):content “on(X,Y)” )

-Asynchronous : a non blocking subscribe results in replies -Asynchronous : a non blocking subscribe results in replies

clientclient 는 는 askask 를 던지고 나서 자기일를 던지고 나서 자기일 ((reasoning or acting)reasoning or acting) 을 하면서 응답 을 하면서 응답 기다림기다림 ..

Client Server

subscribe

replyreply

Page 12: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Communication(8)Agent Communication(8)

Knowledge Interchange Format (KIF)Knowledge Interchange Format (KIF)

- - The first order predicate calculusThe first order predicate calculus have been found to be capable of have been found to be capable of describing describing almost anythingalmost anything of interest or utility to people and other of interest or utility to people and other intelligent agents. intelligent agents.

즉즉 , , first order predicate calculus can represent first order predicate calculus can represent concrete fact, definitions, concrete fact, definitions, abstractions, inference rule, meta-knowledge.abstractions, inference rule, meta-knowledge.

- KIF , a particular logic language, has been proposed as a standard to use - KIF , a particular logic language, has been proposed as a standard to use to describe thing within to describe thing within expert systems, databases, intelligent agent, etc.expert systems, databases, intelligent agent, etc.

- lisp- lisp 과 거의 비슷하다과 거의 비슷하다 . . 그러나 그러나 lisplisp 은 은 program langprogram lang 이고 이고 KIFKIF 는 는 statementstatement 를 를 위한 위한 format format 이다이다 . .

- - example : state one chip is larger than another.example : state one chip is larger than another.

(>(*(width chip1)(length chip1))(>(*(width chip1)(length chip1))

(*(width chip2)(length chip2)) ) (*(width chip2)(length chip2)) )

Page 13: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(1)Agent Interaction Protocols(1)

- - 이제까지 우리는 각 이제까지 우리는 각 agentagent 들끼리 들끼리 single messagesingle message 를 주고 받는 를 주고 받는 mechanismsmechanisms 에 에 대대

하여 알아보았다하여 알아보았다 . . 이제 살펴볼 이제 살펴볼 Interaction protocolInteraction protocol 은 은 agentagent 들 사이에 들 사이에 messagemessage 의 의 seriesseries 들의 교환들의 교환 , , 즉 즉 conversationconversation 을 다룬다을 다룬다 . .

- agent- agent 들이 비슷한 들이 비슷한 goalgoal 과 과 common problemcommon problem 을 갖고있는 경우을 갖고있는 경우 , the objective of , the objective of the protocols is to the protocols is to maintain globally coherent performance of the agentsmaintain globally coherent performance of the agents without explicit global control.without explicit global control.

==>Four important aspects==>Four important aspects 1.determine shared goals1.determine shared goals 2. Determine common tasks2. Determine common tasks 3. Avoid unnecessary conflicts3. Avoid unnecessary conflicts 4. Pool(4. Pool( 공동출자하다공동출자하다 ) knowledge and evidence) knowledge and evidence

Page 14: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(2)Agent Interaction Protocols(2)

Cooperation ProtocolsCooperation Protocols

- Basic strategy shared by many of the protocols for - Basic strategy shared by many of the protocols for

cooperation is to decompose and distribute tasks. cooperation is to decompose and distribute tasks.

==> divide-and-conquer==> divide-and-conquer

- task decomposing- task decomposing 을 할 때 다음 사항들을 고려해야 한다을 할 때 다음 사항들을 고려해야 한다 . . 1.1.Avoid overloading critical resourcesAvoid overloading critical resources

2.Assign tasks to agents with matching capabilities2.Assign tasks to agents with matching capabilities

3.Assign highly interdependent tasks to agents in spacial 3.Assign highly interdependent tasks to agents in spacial

or semantic proximity.(or semantic proximity.( 근접근접 ) ) this minimizes communication and synchronization cost.this minimizes communication and synchronization cost.

Page 15: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction protocol(3)Agent Interaction protocol(3)

Tasks Tasks 를 를 distribute distribute 하는 방법 하는 방법 1.1.Market mechanisms : tasks are matched to agents by generalized Market mechanisms : tasks are matched to agents by generalized

agreement or mutual selectionagreement or mutual selection

2. Contract net : announce, bid, and award cycles2. Contract net : announce, bid, and award cycles

3. Multiagent planning : planning agents have the responsibility for task 3. Multiagent planning : planning agents have the responsibility for task

assignment.assignment.

4. Organizational structure : agents have fixed responsibilities for4. Organizational structure : agents have fixed responsibilities for

particular tasks.particular tasks.

이제 우리는 이제 우리는 task assignmenttask assignment 방법중의 하나인 방법중의 하나인 Contract netContract net 에 대하여 알아에 대하여 알아 보고 보고 Cooperation agent SystemCooperation agent System 인 인 Blackboard SystemBlackboard System 에 대해 살펴볼 것에 대해 살펴볼 것 이다이다 . . 그리고 마지막으로 그리고 마지막으로 NegotiationNegotiation 에 대하여 살펴보고 마칠까 한다에 대하여 살펴보고 마칠까 한다 . .

Page 16: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction protocols(4)Agent Interaction protocols(4)

Contract NetContract Net

the contract net protocol is an the contract net protocol is an interaction protocol for cooperative probleminteraction protocol for cooperative problem

among agentsamong agents, And Provides a solution for the so-called connection , And Provides a solution for the so-called connection problemproblem

: : finding an appropriate agent to work on a given task.finding an appropriate agent to work on a given task.

- - 용어정리용어정리 manager : an agent wanting a task solvedmanager : an agent wanting a task solved

potential contractors : agents that might be able to solve the task.potential contractors : agents that might be able to solve the task.

- manager’s perspective- manager’s perspective

1.Announce a task that need to be performed.1.Announce a task that need to be performed.

2.Receive and evaluate bids from potential contractors2.Receive and evaluate bids from potential contractors

3.Award a contract to a suitable contractor.3.Award a contract to a suitable contractor.

4.Receive and synthesize results4.Receive and synthesize results

Page 17: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(5)Agent Interaction Protocols(5)

--contractor’s perspectivecontractor’s perspective

1. Receive task announcements1. Receive task announcements

2. Evaluate my capability to respond2. Evaluate my capability to respond

3. perform the task if my bid is accepted.3. perform the task if my bid is accepted.

4. Report my result.4. Report my result.

-agent-agent 들의 역할이 미리 정해진 것이 아니고 어떤 들의 역할이 미리 정해진 것이 아니고 어떤 agentagent 도 도 managermanager 가 될 수도 있가 될 수도 있 고 고 contractorcontractor 가 될 수도 있다가 될 수도 있다 . .

--managermanager 가 가 bidbid 를 받지 못하는 경우를 받지 못하는 경우(1)(1) 모든 모든 potential contractorspotential contractors 가 다른 가 다른 tasktask 로 바쁘다로 바쁘다 . . (2)(2)potential contractorpotential contractor 가 바쁘지는 않지만 제안받은 가 바쁘지는 않지만 제안받은 tasktask 가 지금 고려 중에 있는 가 지금 고려 중에 있는 다른 다른 tasktask 보다 보다 rankingranking 이 낮다이 낮다 . . (3)(3) 그 일을 할 수 있는 그 일을 할 수 있는 contractorcontractor 가 하나도 없다가 하나도 없다 . .

Page 18: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(6)Agent Interaction Protocols(6)

- - managermanager 가 가 bidbid 를 받지 못할 경우를 를 받지 못할 경우를 handlehandle 하기 위해 하기 위해 managermanager 는 는 immediateimmediate

response bidresponse bid 를 를 requestrequest 할 수 있다할 수 있다 . . Such as eligible but busy, ineligible,Such as eligible but busy, ineligible,

or uninterested(rank low)or uninterested(rank low)

- manager- manager 는 이 는 이 responseresponse 를 받은 후 를 받은 후 task plantask plan 을 적절히 재 조정한다을 적절히 재 조정한다 . . 예를 들어 예를 들어 eligible but busyeligible but busy 일 때는 그 일 때는 그 contractorcontractor 가 한가해 질 때까지 가 한가해 질 때까지

기다린다기다린다 ..

Page 19: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(7)Agent Interaction Protocols(7)

Blackboard System - centralied planningBlackboard System - centralied planning 의 예의 예 ( ( control component control component 존재존재 ))““ 칠판 앞에 각 분야의 전문가들이 앉아 있다칠판 앞에 각 분야의 전문가들이 앉아 있다 . . 그들은 협동해서 한 문제의 해답을 이그들은 협동해서 한 문제의 해답을 이 끌어 낼 것이다끌어 낼 것이다 . . 해답을 이끌어 내는 해답을 이끌어 내는 workspaceworkspace 는 칠판이다는 칠판이다 . . 문제풀이가 시작문제풀이가 시작 되면 되면 initial datainitial data 가 칠판에 써진다가 칠판에 써진다 . . 각 전문가들은 자기의 지식을 이끌어 낼 수 있각 전문가들은 자기의 지식을 이끌어 낼 수 있 는 충분한 증거가 나오기를 기다린다는 충분한 증거가 나오기를 기다린다 . . 다른 사람에 의해 도출된 결론이 자기의 지다른 사람에 의해 도출된 결론이 자기의 지 식을 이끌어 낼 수 있을 만큼 나오면 그 전문가는 자신의 지식을 칠판에 쓴다식을 이끌어 낼 수 있을 만큼 나오면 그 전문가는 자신의 지식을 칠판에 쓴다 . . 이이 런 방식으로 최종 문제를 풀 때까지 계속 한다런 방식으로 최종 문제를 풀 때까지 계속 한다 .. 결국 전문가는 자신의 한정된 지식결국 전문가는 자신의 한정된 지식 으로 전체 문제를 푸는데 상당한 도움을 준 셈이 된다으로 전체 문제를 푸는데 상당한 도움을 준 셈이 된다 . “. “

- - 위의 쉬운 설명이 위의 쉬운 설명이 blackboard systemblackboard system 의 모든것을 말해준다의 모든것을 말해준다 . . 1. 1. Independence of expertise.Independence of expertise.

2. Diversity in problem-solving techniques2. Diversity in problem-solving techniques

3. Flexible representation of blackboard information3. Flexible representation of blackboard information

4. Event-based activation 4. Event-based activation

5. Need for control.5. Need for control.

Page 20: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(8)Agent Interaction Protocols(8)

Architecture of a basic blackboard systemArchitecture of a basic blackboard system

blackboardExecuting

Activated KS

Library of

KSs

Control

Components

Pending KS

Activations

Page 21: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent Interaction Protocols(9)Agent Interaction Protocols(9)

NegotiationNegotiation

Negotiation is a process by which a joint decision is reached by two orNegotiation is a process by which a joint decision is reached by two or

more agents, each trying to reach an individual goal or objective.more agents, each trying to reach an individual goal or objective.

-- 용어정리용어정리Deal : joint plan between the agents that would satisfy all of their goals.Deal : joint plan between the agents that would satisfy all of their goals.

Utility of a deal : the amount he is willing to pay minus the cost of the Utility of a deal : the amount he is willing to pay minus the cost of the deal.deal.

Each agent wants to maximize its own utility.Each agent wants to maximize its own utility.

Negotiation set : the set of all deals that have a positive utility for every Negotiation set : the set of all deals that have a positive utility for every

agent.agent.

-U(d) = C(T) - C(d) where C(X)= cost of executing the tasks X.-U(d) = C(T) - C(d) where C(X)= cost of executing the tasks X.

-if there is no deal d’, U(d’)>U(d), Deal d is pareto optimal.-if there is no deal d’, U(d’)>U(d), Deal d is pareto optimal.

Page 22: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

Agent interaction protocols(10)Agent interaction protocols(10)

There are three possible situations in NegotiationThere are three possible situations in Negotiation

1. Conflict : the negotiation set is empty.1. Conflict : the negotiation set is empty.

2. Compromise : agent prefer to be alone, but since they are not, they2. Compromise : agent prefer to be alone, but since they are not, they

will agree to a negotiated deal.will agree to a negotiated deal.

3. Cooperative : all deals in the negotiation set are preferred by both 3. Cooperative : all deals in the negotiation set are preferred by both

agent over achieving their goals alone.agent over achieving their goals alone.

Conflict Conflict 일때는 일때는 negotiationnegotiation 으로 얻는 이득이 없다으로 얻는 이득이 없다 . . 따라서 그냥 혼자 작업따라서 그냥 혼자 작업 하는 것이 좋다하는 것이 좋다 . . 그러나 나머지 두 경우에는 그러나 나머지 두 경우에는 NegotiationNegotiation 이 최선의 방법이다이 최선의 방법이다 . .

Page 23: Snu comp. Multiagent System & Societies of Agents 노 동건 Dept. of Computer Eng

snu comp.

ConclusionConclusion

We discussed about element that able agentWe discussed about element that able agent

to communicate, cooperate,and negotiateto communicate, cooperate,and negotiate

while they act in the interests of themselveswhile they act in the interests of themselves

or their society.or their society.

Further research is needed to develop the Further research is needed to develop the

basis and techniques for societies ofbasis and techniques for societies of

autonomous computational agents that executeautonomous computational agents that execute

in open environments for indefinite periods.in open environments for indefinite periods.