Software Agent -applications- Outline • Overview of agent applications • Agent applications – – – – – Interface agents IBM Aglets AgentSpace The Open Agent Architecture Etc. • Some cases – Massive – RETSINA • Summary • Discussion 1/34 Overview of Agent Applications • Where are agents used? – – – – – – – Robotics On the web Movie and game production Scientific simulations Defense applications Distributed computing (e.g. XGrid) Mobile applications • Why are agents useful? – Software engineering. • Modularity, abstraction, complexity, management, etc. – – – – Match many problem domains Good surrogates for humans Cognitive and social models Provide intelligent behavior • Where artificial intelligence and software engineering meet 2/34 Agent Applications 1. 2. 3. 4. 5. 6. Automated Office Unified Messaging Multimodal Maps CommandTalk ATIS-Web Spoken Dialog Summarization 7. Agent Development Tools 8. InfoBroker 9. Rental Finder 10. InfoWiz Kiosk 11. Multi-Robot Control 12. MVIEWS Video Tools 13. MARVEL 14. SOLVIT 15. Surgical Training 16. Instant Collaboration 17.Crisis Response 18. WebGrader 19. Speech Translation 20-25+ ... 3/34 Interface Agents User Interacts with Communication User feedback & programming by example Application Interacts with Observes & imitates User's Agent Asking Other Agent A gent R ole Source Letizia WWW guide Liebermann (1995) Remembrance Agent memory aid Rhodes & Starner (1996) NewT UseNet news filter Sheth & Maes (1993) Yenta matchmaking and referrals Foner (1996) Kasbah buy and sell items on the WWW entertainment selection Chavez & Maes (1996) schedule meetings Dent et al. (1992) Ringo/HOMR Calender Apprentice (CAP) Shardanand & Maes (1995) 4/34 IBM Aglets: Overview • System description : – Aglets for Agile Applets are Java mobile objects – The Aglets architecture consists of two APIs and two implementation layers • Aglet API – Aglets Runtime Layer - The implementation of Aglet API – Agent Transport and Communication Interface (ATCI with ATP as an applicationlevel protocol) – Transport layer 5/34 IBM Aglets: Applications • The Tabican software for finding a package tour or flight ticket • Electronic commerce 6/34 AgentSpace (Ichiro Sato) • System description : – AgentSpace is a Java-based middleware for distributed environments – It runs on the Windows (9X, NT), MacO8, Solaris 2.5, Linux • Language : The system and related agents are written in Java • Agent mobility 7/34 AgentSpace (Ichiro Sato): Applications • Text editor • Clock • Mail service • Chat Tool • Paint tool 8/34 The Open Agent Architecture • Agent System description: – OAA is a framework for integrating a community of heterogeneous software agents in a distributed environment. • Agents communication: multimodal cooperation and interactions • OAA agent libraries exist for the following languages and platforms: Quintus Prolog SunOs 4.1.3, Solaris 2.5+, Windows 95 ANSI C (Unix, Microsoft, Borland) SunOs 4.1.3, Solaris 2.5+, SGI IRIX, Windows 95 Common Lisp (Allegro & Lucid) SunOs 4.1.3, Solaris 2.5+ Java Any Java platform Borland Delphi Windows 3.1, Windows 95 Visual Basic Windows 3.1, Windows 95 9/34 The Open Agent Architecture: Applications (1) Multi robot control Automated office Speech recognition over the web Wizard Info. 10/34 The Open Agent Architecture: Applications (2) Multimodal maps Agent Development Tools 11/34 Interfacing Agents • Talking heads – Naturalistic figures – Many possible platforms: • Web, mobile device, set-top box – Applications • News reading, signing, interactive digital TV programme guide • Electronic Virtual Assistants in e-commerce • Vandrea – Thin client solution, that reads news scripts live from ITN 12/34 Microsoft Agent • Components – Toolbox of technologies • Speech rec, text-to-speech – Scripting language • Controls animation at high-level • Good but rigid – Pre-designed characters • Rather cutesy, but you can create your own – Only viewable with Active X • Microsoft Persona Project – The project is developing the technologies required to produce conversational assistants - lifelike animated characters that interact with a user in a natural spoken dialogue – The work is built upon the Whisper speaker-independent continuous speech recognition system and a broad coverage English understanding system, both also developed at Microsoft Research 13/34 Web Search 14/34 Recommendation 15/34 Work Assistant 16/34 Agents in Defense • Used to represent human military operators – Fighter Pilots (enemy and friendly), commanders, sensor operators etc • Training • Human factors research • Military operations research 17/34 Operations Research and Military Simulation • Provide advice to the ADF – Influence $billion decisions – Impact on tactical decisions in actual operations • Highly sophisticated systems • Expensive/dangerous to operate • Unknown/uncertain futures • So we tend to work in virtual spaces – simulation – Purposes • Tactics development and experimentation • Acquisitions – Style • Heavyweight, BDI, usually less than 32 • Not neural net, learning, or agent based distillation 18/34 F/A-18 Hornet Tactics • Needed to develop tactics for use with RAAF F/A-18 Hornets, especially with new weapons • Client was F/A-18 squadrons (esp. 2 OCU) • 2 OCU – Hornet pilot training, and FCI Course – FCI = Fighter Combat Instructor • FCI is Australian equivalent of TOP GUN • Contributed to Australian Hornet TACMAN 19/34 RETSINA Agent Architecture • Reusable Environment for TaskStructured Intelligent Networked Agents • Four parallel threads: – Communicator for conversing with other agents – Planner matches “sensory” input and “beliefs” to possible plan actions – Scheduler schedules “enabled” plans for execution – Execution Monitor executes scheduled plan & swaps-out plans for those with higher priorities http://www.cs.cmu.edu/~softagents/retsina.html 20/34 RETSINA Functional Architecture User 1 User 2 User u Goal and Task Specifications Results Interface Agent 1 Interface Agent 2 Interface Agent i Tasks Solutions Task Agent 1 Info & Service Requests Task Agent 2 Information Integration Conflict Resolution Middle Agent 2 Advertisements Information Agent 1 Queries Task Agent t Info Source 1 Replies Information Agent n Answers Info Source 2 Info Source m 21/34 RETSINA Agent Description • Interface Agents – – – – Solicit input from user for the agent system Present output to the user Frequently part of task agent Often representative of a device • Task Agents – Know what to do and how to do it – Responsible for task delegation – May enlist the help of other task agents • Middle Agents – Infrastructure agents that aid in MAS scalability – Many have been identified in Sycara & Wong ‘00 – Most common: • • • • Agent Name Service Matchmaker Broker MAS Interoperator (White Pages) (Yellow Pages) 22/34 Application: ModSAF RETSINA • Modular Semi- Automated Forces • “Real world” events are simulated in Agent Storm by interaction with ModSAF • minefield discovery • encountering Threat platoon • announcements of passed checkpoints • RETSINA Mission Agents control ModSAF platoon. • route directions • marching orders 23/34 Application: RETSINA De-mining System Without Team-Aware Coordination • Using simple homogenous strategy • Robots interfere with each other • Robots attempt to de-mine same mine RETSINA With Team-Aware Coordination • Using simple homogenous strategy and rule that they cannot diffuse the same mine • Robots do not interfere with each other • A path is more rapidly cleared http://www.cs.cmu.edu/~softagents/demining.html 24/34 Application: MORSE RETSINA 25/34 Application: RCAL RETSINA • RETSINA Calendar Agent and Electronic Secretary 26/34 RETSINA Application: MokSAF Charlie’s Shared Route Bravo’s Shared Route. Note that this route initially support’s Charlie’s route, then crosses to intercept Alpha’s route. Alpha’s Shared Route Information about shared routes… 27/34 Application: PalmSAF RETSINA • Miniaturized form of MokSAF for hand-held computers • Full RETSINA multi-agent system available to PalmSAF user • Technical challenges: – little memory – very few communication ports – intermittent communication connections 28/34 Game AI, Bots and Agents 29/34 Nintendogs 30/34 Massive (www.massivesoftware.com) 31/34 Summary • (Etzioni & Weld, 1995) identify the following specific types of agent that are likely to appear soon: – Tour guides: The idea here is to have agents that help to answer the question ‘where do I go next’ when browsing the WWW. Such agents can learn about the user’s preferences in the same way that MAXIMS does, and rather than just providing a single, uniform type of hyperlink actually indicate the likely interest of a link. – Indexing agents: Indexing agents will provide an extra layer of abstraction on top of the services provided by search/indexing agents such as LYCOS and InfoSeek. The idea is to use the raw information provided by such engines, together with knowledge of the users goals, preferences, etc., to provide a personalized service. – FAQ-finders: The idea here is to direct users to FAQ documents in order to answer specific questions. Since FAQS tend to be knowledge intensive, structured documents, there is a lot of potential for automated FAQ servers. – Expertise finders: Suppose I want to know about people interested in temporal belief logics. Current WWW search tools would simply take the 3 words ‘temporal’, ‘belief’, ‘logic’, and search on them. This is not ideal: LYCOS has no model of what you mean by this search, or what you really want. Expertise finders ‘try to understand the users wants and the contents of information services’, in order to provide a better information provision service. 32/34 Discussion on Apple’s Knowledge Navigator • Hardware platform? • Intelligent functions? • Present vs. future? • Proposal topics for discussion – 김용준: 사용자의 명령을 인식하고 의도를 파악한 후에 실제로 그 의도를 어떤 식으 로 수행하고 필요한 기술은 무엇일까 – 최봉환: 사용자의 의도를 어떻게 인식하는가 – 이승현 • 사용자로부터의 불충분한 정보를 바탕으로 무언가를 어떻게 효율적으로 검색해서 사용자 가 원하는 결과를 내주는가 • 웹 페이지 연결에 있어서 URL을 통한 것이 아니라 "학교 홈페이지" 등 기능이나 이름을 통 한 연결 – 노홍찬: 어떻게 에이젼트가 사용자의 성향에 대해 학습할 수 있는가 33/34 주요 기능 • • • • • • • • 일정관리 문서 검색 및 관리 정보추천 상황인식(시각/청각) 전화연결/자동응답 문맥관리 대화기능(음성인식/대화관리/음성합성) 아바타 관리 입력 인간기능 통합모델 출력 대화기능 사용자 질의 사용자 응답 시각 청각 온도 습도 추론 상황인식 판단 행위 학습 계획 모델링 행동기능 서비스 Etc. 지식관리 34/34