31
Introduction to Introduction to Intelligent Software Intelligent Software Agents Agents 변변변 변변변변변

Introduction to Intelligent Software Agents 변영태 홍익대학교

Embed Size (px)

Citation preview

Page 1: Introduction to Intelligent Software Agents 변영태 홍익대학교

Introduction to Intelligent Introduction to Intelligent Software AgentsSoftware Agents

변영태 홍익대학교

Page 2: Introduction to Intelligent Software Agents 변영태 홍익대학교

A Physical Symbol System and Hypothesis

“A physical symbol system consists of a set of entities, called symbols, which are physical patterns that can occur as components of another type of entity called an expression (or symbol structure). Thus, a symbol structure is composed of a number of instances of symbols related in some physical way. .... The system also contains a collection of processes that operate on structures to produce other structures... a machine that produces through time an evolving collection of symbol structures.....”

A physical symbol system has the necessary and sufficient means for general intelligent action.

Page 3: Introduction to Intelligent Software Agents 변영태 홍익대학교

The Society of Mind [Minsky]

“.. To explain the mind, we have to show how minds are built from mindless stuff, from parts that are much smaller and simpler than anything we’d consider smart… But what could those simpler particles be - the “agents” that compose our minds? This is the subject of our book…”

Page 4: Introduction to Intelligent Software Agents 변영태 홍익대학교

Agent History

• DAI(Distributed Artificial Intelligence):(cf. PAI or DPS) – modularity, reusability, easier maintenance, speed,

independence, etc.

• Macro issues– the interaction and communication between agents– the decomposition and distribution of tasks– coordination and cooperation– conflict resolution via negotiation

• Theories, architectures and languages

• Broadening types of agents in a new strand

Page 5: Introduction to Intelligent Software Agents 변영태 홍익대학교

Agent TheoryAgent Theory

Concerned with the questions of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents

Weak notion (autonomy, social ability, reactivity,pro-activeness)

Strong notion (using concept or mentality - <knowledge, belief> and <desire, intention, obligation, etc.>)

Essentially specifications ( how to conceptualize agents)

Page 6: Introduction to Intelligent Software Agents 변영태 홍익대학교

Agent Architecture

– Software engineering models of agents– (Deliberative, Reactive, Hybrid)

Agent Language– Software systems for programming and experimenting with

agents.

Page 7: Introduction to Intelligent Software Agents 변영태 홍익대학교

Kinds of Agents-IKinds of Agents-I The MuBot Agent “.. two orthogonal concepts.”

– ability for autonomous execution.

– ability to perform domain oriented reasoning. The AIMA Agent “.. anything that can be viewed as

perceiving its environments through sensors and acting upon that environment through effectors.”

The Maes Agent “..computational systems that inhabit some dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed.”

Page 8: Introduction to Intelligent Software Agents 변영태 홍익대학교

Cont’d(2)Cont’d(2)

The KidSim Agent “.. as a persistent software entity dedicated to a specific purpose. ‘Persistent’ distinguishes agents from subroutines; agents have their own ideas about how to accomplish tasks, their own agendas. ‘Special purpose’ distinguishes them from entire multifunction applications; agents are typically much smaller.”

The Hayes-Roth Agent “.. three functions: perception of dynamic conditions in the environment; action to affect conditions in the environment; and reasoning to interpret perceptions, solve problems, draw inferences and determine actions.”

Page 9: Introduction to Intelligent Software Agents 변영태 홍익대학교

Cont’d(3)Cont’d(3)

The IBM Agent “.. software entities that carry out some set of operations on behalf of a user or another program with some of degree of independence or autonomy, and in doing so employ some knowledge or representation of the user’s goals or desires.”

The SodaBot Agent “.. programs that engage in dialogs [and] negotiate and coordinate transfer of information.”

The Foner Agent “.. Agents collaborate with their users to improve the accomplishment of the user’s tasks. ..”

Page 10: Introduction to Intelligent Software Agents 변영태 홍익대학교

Cont’d(4)Cont’d(4)

The Brustoli Agent “Autonomous agents are systems capable of autonomous, purposeful action in the real world.”

The FAQ Agent “This FAQ will not attempt to provide an authoritative definition...”

Page 11: Introduction to Intelligent Software Agents 변영태 홍익대학교

All software agents are All software agents are programs, but not vice versa.programs, but not vice versa.

reactive (sensing and acting) veracity (telling the truth) autonomous (exercises control over its own actions)

commitment (showing willingness -> doing that service)

goal-oriented (pro-active) temporally continuous (a continuously running process)

communicative (socially able) learning (adaptive) mobile (able to transport itself from one machine to another)

flexible (actions are not scripted) character (personality and emotional state)

Page 12: Introduction to Intelligent Software Agents 변영태 홍익대학교

Kinds of Agents-IIKinds of Agents-II

softbots (software robot) knowbots (knowledge-based robots) taskbots (task-based robots) userbots personal agents (personal assistants) autonomous agents “.. senses the environment and acts on

it, over time, in pursuit of its own agenda and so as to effect what it senses in the future”

Page 13: Introduction to Intelligent Software Agents 변영태 홍익대학교

cont’d(2)cont’d(2)

information or internet agents, web-agents planning agents reasoning agents hybrid agents ...etc

Page 14: Introduction to Intelligent Software Agents 변영태 홍익대학교

A Typology(1)

• static or mobile agents• deliberative or reactive agents• collaborative learning, interface,

collaborative, truly smart agentsw.r.t. cooperation, learning, and autonomy

Page 15: Introduction to Intelligent Software Agents 변영태 홍익대학교

A Typology(2)

• Collaborative agents• Interface agents• Mobile agents• Information/Internet agents• Reactive agents• Hybrid agents• Smart agents• ..etc

Page 16: Introduction to Intelligent Software Agents 변영태 홍익대학교

Collaborative AgentsCollaborative Agents

cooperation + autonomy BDI (beliefs, desires and intentions) (+ obligations) several motivations

– too large problems for a single agent– for the interconnecting and interoperation of multiple existing

systems– for distributed problems

– to enhance modularity, speed, reliability, flexibility and

reusability at the Kn level eg. CMU’s Pleiades system(task agents and infoagents,

KQML+e-mail), ADEPT, MII, ARCHON, etc.

Page 17: Introduction to Intelligent Software Agents 변영태 홍익대학교

Interface AgentsInterface Agents

– Observing and imitating the user– Receiving positive and negative feedback from the user– Receiving explicit instructions from the user

– Asking other agents for advice learning and using learned knowledge, negotiate with other

agents, extend to more interesting areas such as entertainments

eg. scheduling meetings, assistance in web browsing, remembrance, news agents, matchmaking(buyer and seller), classifying ads service, etc.

Page 18: Introduction to Intelligent Software Agents 변영태 홍익대학교

Mobile AgentsMobile Agents– Reduce communication costs, Limited local resources, Easier

coordination, Asynchronous computing, Free market trading service, Flexible distributed computing, etc.

Eg, Telescript architecture– Telescript is an interpreted object-oriented and remote programming

language

– Telescript engine (telescript API and OS) sends off and accept mobile agents.

Java, Agent-Tcl, Safe-Tcl, etc. Transportation, authentication, secrecy, security, cash,

performance issue for too many mobile agents, interoperability, brokering/directory services, service communication

Page 19: Introduction to Intelligent Software Agents 변영태 홍익대학교

Information/Internet AgentsInformation/Internet Agents

Drowning in data, but starved of information Managing, manipulating or collating information from

many distributed sources Searching and indexing Using a host of internet management tools such as

Spiders(a Spider is an indexer able to search the WWW, depth-first, and store the topology of the WWW in a DBMS and

the full index of URLs) and search engines in order to gather the information

Eg, softbot

Page 20: Introduction to Intelligent Software Agents 변영태 홍익대학교

Reactive Software AgentsReactive Software Agents

No internal symbolic model of environment The physical grounding hypothesis “.. in order to build a

system that is intelligent, it is necessary to have representations grounded in the physical world. ..”

Complex patterns of behavior can emerge from their interactions when the ensemble of agents is viewed globally.

Page 21: Introduction to Intelligent Software Agents 변영태 홍익대학교

Hybrid AgentsHybrid Agents

Union of the benefits of agents of several different philosophies

Eg. InteRRap (deliberative + reactive), TouringMachines (dynamic + rational + mobile), Hayes-Roth’s integrated architecture, PRS(procedural reasoning system), CIRCA

Page 22: Introduction to Intelligent Software Agents 변영태 홍익대학교

Heterogeneous Agent SystemHeterogeneous Agent System

An integrated set-up of at least two or more agents which belong to two or more different agent classes

Eg. PACT

Page 23: Introduction to Intelligent Software Agents 변영태 홍익대학교

Knowledge Sharing EffortKnowledge Sharing Effort 지식베이스의 공유와 재사용 Multiagent?(agreement, negotiation, persuasion, competition)

ACL– Ontology ( 지식과 정보 공유 )– KIF ( 교환되는 지식표현 형식 )– KQML ( 교환을 위한 프로토콜 )

4 groups– Interlingua ( 지식베이스의 다른 두 표현 언어 번역 )– KRSS ( 동일계열 지식표현 시스템의 표준 )– External Interface (KB 와 DB 사이의 하이레벨 통신언어 -KQML)– SRKB ( 지식공유를 위한 공통된 개념 체계 - ontology)

Page 24: Introduction to Intelligent Software Agents 변영태 홍익대학교

Agent ArchitectureAgent Architecture

Domain knowledge Inference engine Communication module

Page 25: Introduction to Intelligent Software Agents 변영태 홍익대학교

Multiagent Architecture Multiagent Architecture 1. Direct communication

– Contract-net approach (requests for proposal, bids, contracts)

– Specification approach (supplying other agents with its capabilities and needs)

– Adv: no reliance on the existence, capabilities, or biases of any other programs Disadv: too much cost when too many agents exist, implementational complexity

2. Assisted coordination– a federated system (facilitators)

Page 26: Introduction to Intelligent Software Agents 변영태 홍익대학교

FIPA’s Agent PlatformFIPA’s Agent Platform

– Agent management system (supervisory control like creation, deletion, suspension, resumption, authentication, migration, etc.)

– Directory facilitator (agent existence, service, capabilities, protocols, etc... It’s like “yellow pages”)

– Agent name server (an index of all agents resident on a platform, mapping between globally unique agent name and local transport addresses)

– Agent communication channel (communication method connecting all agents in an AP and between AP’s, routing of messages)

Page 27: Introduction to Intelligent Software Agents 변영태 홍익대학교

Agent LanguageAgent Language

Specification language – 기능 , 목적 , 속성 , 지식 , 계획 , 믿음 ..

Scripting (programming) language– AOP (agent-oriented programming), PLACA (planning

communication agents), Java, Telescript(language, engine, protocol), Tcl/Tk

Agent shell– Jess, DYNACLIPS, AGENT_CLIPS, KAPICLIPS

Page 28: Introduction to Intelligent Software Agents 변영태 홍익대학교

Agentification of Old Programs Agentification of Old Programs

Transducer Wrapper Rewrite

Page 29: Introduction to Intelligent Software Agents 변영태 홍익대학교

Electronic CommerceElectronic Commerce

1st generation(fax, bar code, file transfer, etc.) 2nd (internet-based) 3rd (partially agent-based, brokering systems like Ba

rgainBot, BargainFinder, WebShopper, etc.) 4th (completely agent-based, + personalization, nego

tiation, interoperability with another EC systems, etc., ICOMA, UNIK-agent, MARS)

Page 30: Introduction to Intelligent Software Agents 변영태 홍익대학교

Examples

• WebCrawler, AltaVista, Yahoo, Lycos, Infoseek, etc.• 다찾니 (UNI Finder; www.mochanni.com)• 심마니 ( 한글과컴퓨터 ; simmany.hnc.net), • 애니서치 ( 삼성 ; www.anysearch.com), • 정보탐정 ( 한국통신 ; www.idetect.com)• 웹글라인더 (Insight Net; www.infoglider.com)• 까치네 ( 대구대 ), 코시크 ( 충남대 ), 와카노 ( 계명대 )

Page 31: Introduction to Intelligent Software Agents 변영태 홍익대학교

정보에이전트 기본구조

문제와 타스크 생성및 트리거 모듈

학습모듈 평가모듈행동결정

모듈

접속모듈

외부세계( 다른 Agent 및 Web)

Agent 의 현상태 정보

WWW 정보 베이스 및행동결정지식