16-SEP-1998 Intelligent Agents Conference =============================== 1. INFORMATION RETRIEVAL 1.1 Why Surf Alone? Recon Agents (Henry Lieberman) Henry Lieberman, MIT browsing - exploring - fun but easy to get lost searching - precisely targetted retrieval computers can search pre-indexed docs faster but what if you don't want exactly what you know a keyword for? why not something in between? people have interests, can recognize what they have interest in browsing should be coop btwn agent & user user - better at deciding what has value comp - better at searching agent learns evaluation function by watching usr browse LETIZIA - advance scout for web browsing channel surfing interface (temporal sampling of different info sources) L is recon agent breadth 1st depth 1st - netscape, it presents options and you pick one. not optimal agent can do breadth 1st search in parallel every time user goes from 1 page to another, agent refocus breadth-1st search 2 kinds of heuristics (watch user's browsing behavior and infer what they're interested in) content of document based on keywords sequence of browsing operations User actions other than links - dwell time, downloads, etc. txe:EMAIL! persistence of interest every click is expression of interest search engine has to try to find what it wants, b/c after it returns, no more chances agent can play role of maintaining areas of interest browsing is chunky - stick w/ clump of topic, then move to something else (e.g., paris, music) agent would pick out dual interest: (e.g., french jazz concert) LET'S BROWSE - agent assisting multiple users browsing together also take into account interests of passive participants - agent can represent them for each usr, determine in advance interests (home pages out in space) try to dynamically intersect interests of users freq analysis effect is to discover common interest (hey, I didn't know you played tennis) - icebreaker interesting result - had to keep more terms per user than in single user case (minor interests, had to dip lower into personal interests) L. works w/ interactive interface (unmodified netscape), doesn't replace doesn't take any extra effort to communicate to agent L anticipates user's interests L. explores links from home page to see if anything interesting agent looks through links, determines which are most interesting agent also looks at results from search engine also uses netscape history to keep track 1.2 Knowledge Representation for WWW James Hendler, UMD web designed to let people put out what they want, computers not target web is changing, moving towards more collaborate, communities (design teams, entertainment) keywords, assume common jargon (either tight, nondiverse, or large comm of very diverse) only thing beyond keywords now is hierarchical organization (yahoo, walking down a tree) when working together, want verbs: experiment, publish, etc. inferential ai approach - hard to learn, most tools don't scale want domains precisely encoded, want to get ontologies onto the web want notion of extensibility users not ai experts all stuff must be integrated into web tools - html, cgi, etc. ai not in these areas agents require semantic model beyond database's info tech appl demand scaling beyond what ai can do SHOE sgml complient ontology markup language way of annotating web pages to contain certain terms bad part - have to do extra work, unrealistic to assume every page will have it example SHOE queries: "I'm doing a report on musician families, can you find me an album performed by someone but written by one of his/her relatives?" "Find those internet providers in my vicinity w/ the lowest rates and a better-than average customer satisfaction rating." SHOE code looks ugly, b/c it lives in web world. but you never have to see any of it things, relations between things user can put SHOE on his home page, associate name w/ home page (relation) most people who create web pages conversant w/ computing people searching are illiterate SHOE was built backwards - easy to add info, hard to get info out EXPOSE - wanders off line, finds pages w/ shoe on it, stores results in knowledge base (KB) need engine equivalent to database to do this have integrated AI tech and DB tech in middle ground between DB and KB PARKA-DB has java front end for querying want to support loosely knit scientific communities small tightly knit communities have no trouble getting each other's info large groups of wide interests also don't have trouble middle groups are target 300-400 researchers spread around world, using net as primary method of communicating show provides machine-readable variant of info problem was SHOE too hard to use source, process, product (noun, verb, noun) putting it in machine readable format lets you start playing w/ belief contructs and other ai technologies 2. AGENT INTERACTION 2.1 Conversational Agents Tim Finin, UMD agent-agent communication cooperation and collaboration ACL = agent communication language interoperability - interchange objects, procedure calls, data structures CORBA helps w/ sharing intentional sharing - software system share beliefs, goals, abstractions lifting up software to levels where humans are agents need to maintain notion of high-level ongoing conversation w/ other agents BDI agent - beliefs, desires, intentions asking question "is it raining outside" communicates your desire to know whether or not it's raining knowledge sharing effort requires common language w/ databases, can just use SQL need components that express syntactic, semantic, and pragmatic levels KIF - knowledge interchange format used to move knowledge from one knowledge representation system into another changed O(n2) communication problem into O(n) problem still problem of what terms mean - need shared ontology ONTOLINGUA - language for defining shared ontologies need to know units involved in relations ontology - common vocab - set of terms w/ agreed upon meaning KQML - knowledge query manipulation language independent of high level protocol, and how you expressed content, and ontology you used messages' header almost like mail header, also says what language and ontology performatives facilitators - like libraries, provide communication services 2.2 Conscious Agents Stanley Franklin, U Memphis If you want to build smart agents, model them after humans Autonomous agent - system situated in the environment and part of environment senses environment and acts upon it over time in pursuit of own agenda so as to affect what it senses in the future. Cognitive agent - multiple senses-fusion attention multiple drives conceptualization memory-beliefs learning emotions-attitudes, moods action selection --- intention multiple coordinated want more human like, more flexible "Conscious" software agent cognitive agent that implements Baar's global workspace theory of consciousnes flush out theory w/ detailed arch and mechanisms produce hypothese about human consciousness and cognition --- no claims of sentience, no way to tell Baar's Global Workspace Theory nervous system a ditributed parallel system w/ many specifialized processors global wkspace containing coaltion of processors broadcasts globally to all other processors recruit other processors needed for any degree of novelty limited capacity serial by nature Question: how do you determine relevance? (to situation) brute force - broadcast info to all processors, let each decide what's relevant Contexts unconscious context shape conscious experience contexts - calitions of processors perceptual,conceptual, goal contexts dominant context hierarchy input processors -> global wkspace ->other awailable contexts more to global wkspace theory learning emotions megacognition knowledge of self CONSCIOUS MATTIE - example of attempt at conscious agent actively gather info from humans understand email in natural language compose announcements for seminars mail them learn new concepts, new behaviors all w/o direct supervision from human contact w/ humans is through email CONSCIOUS MATTIE has: perception - copycat (hofstadter) action selection - behavior net - maes assoc. memory - sprase distrib mem - kanerva eposodic memory - case based emotions - pandemonium theory metacognition learning- copycat emotions - temperature, how well things are going high temp = confusion, makes random guesses for humans, single dimention of emotion doesn't cut it if deadline approaches and critical stuff missing, becomes anxious, and more aggressively active codelets are low level of abstraction, do all the work a behavior might have # of codelets that perform its actions perform specialized tasks act as demon behavior identified w/ coalition of codelets that work for it for understanding email, limited domain - only a few message types (initiate seminar, speaker topic, etc.) she only need pay attention to surface features SLIPNET - from hofstadter behavior stream explicitly specified drive, sends activation to behavior team from top info from perceptual process from bottom back and forth until behavior selected, corresponds to goal context CONSCIOUS MATTIE (CMATTIE) is a multi agent system currently a conceptual model 90% complete, coding 50% done 100k - 200k lines of java why do you need all this complexity? CMATTIE fails as proof-of-concept project want something currently done only by humans needs to have substantial payoff even "simple" ones are very complex IDA - intelligent distribution agent, designed to do work of enlisted detailer: dialog w/ sailors via email read personnel data check requisition lists understand navy policies writer orders advantages of IDA uniform application of policy stict adherence to policy save $$$ efficient use of moving costs basic message: if you want to bld really smart sw agents, need to copy what humans do and the way humans do it. 3. MORE 3.1 Coordinating Intelligent Agents Keith Decker, UDE coordination - locally choosing and temporally ordering actions TAEMS - representing coordination problems GPGP - mechanisms for dealing w/ coordinations DECAF - agent building toolkit partial global planning abstract, no concrete domains works by posting constraints to particular scheduling system mechanisms example: hard predecessor relationship (A must be done before B) I can commit locally and send it to agent B; B can then do task after A's finished MADEsmart Demo (done w/ Boeing) rapid design exploration through: autonomous agents for independent tasks - flexibility,efficiency, responsiveness rapid exchnace of compatible data collaborative explotation of data coordination of agents through static workflows dynamic planning working on Agent toolkit that lets you develop agents leaf nodes of trees have to do w/ specific application architectures from several different goals like a mini operating system, in terms of scheduling can program behaviors : advertising info monitoring WARREN - example of system that uses this architecture looks at stocks, portfolio extraction agents do traditional data abstraction 3.2 Agent based Computing and the Open Agent Architecture Adam Cheyer and Douglas Moran, SRI multiagent system approach emphasis: how can you build distributed systems in a more flexible way if you had a community of agents, how would human users interact within it? trad ai people not usually working w/ UI, but gradually getting synergy one problem w/ distrib computing first, monolithic boxes small component boxes, lots of interactions; have to rigidly define interfaces now, have abstracted language, machine. but interactions still encoded (thus dependency) CORBA, etc. let you start name servers, trader services, etc. but you'll still writing code for decidng whom to call and when trying to do this more flexibly, loosen up restrictions Internet is open system - new machines, etc. every day frameworks don't map well assume community of agents working in parallel - how would humans interact with it? ideally, access info and services from anywhere with the appropriate adaptations telephone and user interface should work together fusion of modality low level - speaking and typing at same time humans interact w/ software systems that are interactive start thinking of autonomous sw agents that aid interoperation key idea: rpc between users of ICL - interagent comm language OAA will say to facilitator: "I wanna call A(x)" facilitator acts as a match maker coordinates results send mail - don't want parallel get mail - want parallel faciltator provides strategies or services for managing paths of communication OAA has expressions and parameter lists can fully specify who does what and how it's to be achieved, or leave it up in the air 4. PRACTICAL ENGINEERING APPLICATIONS 4.1 Role of Intelligent Agents in Advanced Information Systems Larry Kerschberg, GMU NASA Goddard - domain modeling of families of systems DARPA - intelligent integration of information NASA Goddard - EOSDIS Independent architecture study DARPA - Knowledge Rovers - family of agents for logistics support key features in advanced information systems: federated info systems whereby local sites retain ownership/authority middleware services evol. systems - reason, learn, adapt to changing data, workflow, constraints, QoS requirements agent based systems - provide appropriate framework for A.I.S. borrowed layered arch system from internet study group info interface, info mgmt, info gathering layers layer services: mediation, harmonization, info puration (curating sci db), etc. curation - quality verification of data, some meta data obtained probably won't have agents doing this in the short term - might assist humans, though when data mining, discover patterns, can go back in and insert for missing patterns, improve quality knowledge rovers support 3 layered info architecture info curator handles active repository user agent services agent active view agent looks for certain events/conditions that arrive in underlying info sources real tiem agent report real tim events mediators, brokers, facilitators internet rovers - get info related to area of interest, assume not all info availabke field agents, experts in certain domains, monitor exec agent - coordinates others learned this from EOSDIS architecture data pull data push - needs to be pushed up into info arch want agents to support both scenarios use cases - scenarios preestablished, config agents to coordinate in solving problems want to know stan franklin's publications goes to mediator active view agent monitors all journals that stan publishes in can also task internet rover to go out and talk to field agent reponsible for handling elec journals report back about stan franklin's publications active view agent intelligent view and cache mgmt - reduces pull/push scen effect - reduces traffic poll only when certain conditions violated provide active monitoring automatic generation of internet rovers FLAT-SAT architecture mission agent - interacts w/ user to get mission features, parameters ground station sw/agent flight sw/agent spacecraft sw/agent experiment sw/agent 4.2 MultiAgent Syst, WWW, and Networked Scientific Computing Anupam Joshi, UMD multiphysics interactive nature in complex systems involve multiple domain coupled partial differential equations a universal solver is unlikely to be built complex system is collection of simpler parts each part obeys single physical law locally different parts work together by adjusting interface conditions with neighbors collaborate to represent different situations in the world problem solving environment interact w/ environment at higher, abstract level e.g.: matlab MPSE a framework and a software kernel for combining pses in an app specific, tailor made fashion a sw system solving a complex problem that a user views as consisting of... defining features pses solving subproblems interact w/ each other object "global solution" for use needs to be obtained want single unified interface want to solve complex multidisciplinary problems need: interaction between pses: ipc-ish, math stuff legacy software support recommender systems - hw/sw rsc selection global control UI - abstract and highly interactive enabling tech: parallel and distributed computing - corba, rpc, rmi, javaspaces web based computing fast networks - vBNS, I2, NGI agent abstraction <--- very critical tech, can be used here collaborating (PDE) solvers agent based approach to build MPSEs each PSE or library works on a subproblem solver agent legacies handled using "wrappers" solver agents interact using MEDIATOR agents process interface conditions to enforce strategy, recognize local goals mediation can be simple or complex recommender (consulting) agents what/where based on semantics, performance interagent coordination mediators govern computations locally global solution emerges from local comp as result of local indep decision making and comm all agents actively seek... C-PYTHIA Recommender Agents performance knowledge base - every time you solve a problem, record how much time it took to solve, use compare new problem to similar problems, predict what hw/sw will be needed solve it properties: operator, boundary conditions, encodings, etc. <-- use soft AI to perform characterization performance knowledge itself is distributed , and resource are dynamic handle using interagent comm where each agent dynamically learning using unary functions, classification functions, etc. 5. DESIGN USING AGENTS 5.1 Improving Design With Agents David Brown, Worcester Tech, MA aspects: repairability -> DFX (life cycle issues) maintainability complexity -> decomposition very complicated systems w/ very high demands on designers FIRST DESIGN - strong requirement hard to reuse modules, existing design systems/processes RELIABILITY usual: take something highly reliable and reuse it (hard to do it now) types of design parametric - high automation, many methods configuration - medium automation, possible conceptual -- low automation, much harder at present (representation difficult) Routineness nonroutine, conceptual design (new) - designers need support routine, parametric design - automation possible Creativity determined by comparison w/ standard comparison applied to process or process individual or community arises in situations where designer is FORCED to produce unusual designs or processes creativity can act as a goal, changing activity Decomposition how to decompose into agents? many pressures by design process - tasks and subtasks, by reasoning type (selection, eval, estimation, etc.) by systems and subsystems, components and subcomponenets by knowledge available - by discippline (e.g., kinematics) by concention/historical - organization structure legacy system NONE ARE RIGHT, for this particular problem, none are possible ABS AS CONFIGURATION agent based system in configuration - viewed statically or dynamically (in response to use) size of components selected for config makes difference large agents pros: more functionality more knowledge, goals, constraints more assumptions more hiden preconditions cons: less predictable less understandable less easy to model small agents - single function agents (SIFAs) MADS - multi agent design system consequences the more 1-off, creative, conceptual, nonroutine the design is, the less we can predict: design process result necessary agents of MADS appropriate organization for MADS necessary ingrediants interactions ADAPT if we build a MADS, not likely to get it right 1st time must at least act intelligently THE CURE: learning - ML in MADS support & automations opportunities support conceptual, non-routine, creative, synthesis - support intelligent support - can be learned, but not built in, know: user, product, process, arch, agents, (capabilities, limitations, assumptions), interactions variations in MLinD (machine learning in design) what can trigger learning - expectation violations what elements support learning - sequences of design decisions, post-design feedback what might be learned - design preferences availability of knowledge fr learning methods - case based vs ... local vs global - learning betweem design team agents consequences - improce design, process, organization agent's models model of agent - own abilities, beliefs of others organizational - hierarchy cooperation - delegation communication - who to send to ml in mads evaluation what to consider when eval distrib learning in design systems: response to objectives - e.g., low cost learning process shared by multiple objectives interferences of learning processes cross-talk resulting from training on several classes of design problems disagreement when reuirements on one design contradict thoe on other design conclusions nature of design problem affects user of agents for constructing environment for design of future aero systems any mads built in this environment inefficient and ineffective relative to taslk need to compensate by learning ml in (design, mads) flourishing, is newer but is area where major opportunities exist 5.2 Decentralized Decision Making in Concurrent Engineering William Birmingham, UMI manufacturing and design can do a lot in parallel, but have die size constraint agents have utility function that they are trying to maximize fundamentally decentralized impossible to put all knowledge in one program - too much stuff design spaces - particular view on design (designer, manufaculting, etc.) link togethr somewhat, but are nto the same partitioned by design knowledge imples coordination process - do as much in parallel as possible, but can't go in all directions when possible, want to be able to say what is optimal, when it's optimal concentrate coord process on preferences and constraints constraint - math relation that has to be upheld design orgs are heirarchical, for good reasons: - some engineers decide what parameters will be, have to be passed through org (not indiv designer) - designing a hierarchy is difficult assume hierarchy is given -preference structre, passes top to bottom has to be obeyed -this agent obeys prefs passed to it fro this agent - p* is lexigraphical ordering - peer to peer decision making - p* relationship doesn't hold, have to consider other schemes -also may be no relationship between agents design spaces total design space corss product of individual design sub-spaces DS = DS1 x DS2 x ... x Dsn modeling desigeners are decision makers: - autonomous - make decision over own design space - exploring design space - task - choose best design from DS1 via actions - implies preferences and rationaldecision kaing - may have to coord decisio making w/ other designers decision makers outcomes - possibl designs -created/explored via "know how" or algorithms - denoted by THETA1 - influenced by constraints, preference structure decision-theoretic model -prefs have structure: utility function U1 = DS1x...xDSn -> R (map of design space onto reals) can optimize making that decisoin not good enough, designer really has to take some action forcces convergence to solution -remove/choose design from ds assume designer has set of actions consistent w/ design knowledge, denoted act A = designer (DS, Ui, thetai, Acti) left out: decision have to make decisions not once but lots of time, so need to consider time mediators similar to decision maker, but: - take no actions - makes no actual decisions - DSj = mediatorj (DSj, THETAj), where DSj is subset of DS CE (concurrent engineering) network network of designers and mediators some can be humans, tools share consistent view of decision making and design space exploration/modification software agents in CE definition: autonomous rational decision maker -utility maximizing -optimal choice problem: A element of Actj - "best design" choice mental states - preferences over deisng, actions - beliefs - itself and other agents and mediators interacts w/ environment percepts and beliefs messages received from other agents - constraints - "constraint violation from C1 of the form..." - preferences architecture simple at high level - by forcing design structures on beliefs and preferences, can generate optimal designs commit(A,t) - commit to act in the future becomes important decentralized decision making agents and medators operating concurrently need to ensure that agents are making "good" decisions need to achieve various scoped objectives - system, subsystem, etc. coordination - ensure agents make good decisions constraints - limited deasible design space prefs - make sure commong valuations made every agent in org has same pref structure hierachical/partially shared prefs 5.3 Standards Activity in Agent based Learning and Visual Consultation for Manufacturing Manuel Aparicia, IBM IBM memory agent SMART agents FIPA standards NASA workshop agent characterisitcs definition ALL: autonomouse - goal driven - reactive - always running SOME: - social - learning *** wer're gonna talk about this - mobile - believable knowledge mgmt agent based learning 2 phases: - knowledge capture - watch experts do something and then share it - virtual consultant example: physician's assistant IBM MemoryAgent - collaborative Architecture keep individual models of each agents can keep QoS models of each feedback indiv models shared should director facilitation, shouldn't be brittle use ontology to help search for right person w/ expertise BuyerAgent - order-vendor matching requisition buyer can go to # of vendor (actions, internal, etc.) learn match as buyer makes desision building model, helping w/ default new buyer needs to do consultation to find out what to do need to go out to org and find out who has experience w/ that sort of thing use QoS feedback to learn to predict probably QoS agent-based learning: requirements not dating mining if agent goes out and has to autonomousely control itself and its learnability, attributes it faces are: incremental parameter free putitive-instance only explainable malleable bounded controllable generalizing self-pruning self-competence solution: associative case based neural networks - hot future tech IBM MemoryAgent evaluation package available mgmt by delegation delegate to agents - "tell me when something's wrong" modern requirements for agility go deeper -simulation-based spec in manufaturing - military sim or "what if" contingency planning - mgmt "planning" through scenario preparation next steps: adaptive agent/workflow integration agent-based process planning 6. MULTIAGENT PROGRAMMING and CONCLUSION 6.1 Multiagent Oriented Programming Michael Huhns, USC why agents are not just a fad: - vast info resources available - lots of processing power - new interface tech (e.g., voice) - problems in producting software trends fundamental arch for enterprise IS is progressing beyond a client-server model devt of software progressing beyond... open info environments info processing tasks combine auto and manual components info no longer just DBMS - now dynamoc AI processed from simple expert systems to multiages systems IS arch moved from centralized to client server to peer to peer to cooperative cooperative arch all components peers, comm directly heterogenous, so don't necess. know how to deal w/ each other agents are glue to tie them together agents help mitigate heterogenaeity between components, enable them to work together might send question to db, get answer back if db doesn't know answer, maybe someone will update db in mean time. if db were active, it could say "oh, I have the data you need now" also, "this guy asked me about that yesterday" 2 goals of SE - correct sw - efficient sw production these goals are not being met progreammer produce about the same as always, in sptite of: - structure prog - oop - formal methods sw productitivty not nearly as great at hw Why is SW behind? sw is complicated guaranteed to work correctly only when ALL error removed effect of error unrelated to its size software systems are diverse trend is to move from pieces of code that look like computers to things that look like the real world NEW PARADIGM errors will ALWAYS be in complex systems error free code (correction: lack of uncertainty) can be a disadvantage where systems interact w/ rel world, there is a POWER that can be exploited continue the trend toward programming constucts that match the real world team-oriented sw devt modules are active declaratively specified - what, not how hold beliefs about world: self and others modules volunteer the agent test "a system containing one or more reputed agents should change substantively if another of the reputed agents is added to the system" implies that agent must be aware of what it's doing, and aware of other things in the environment other than itself smart ice cream trucks meeting in a hallway 6.2 General Discussion - Future Directions agents are good for sw engineering - expecially when dealing w/ uncertan and changing environment SE good for design - especially when designs are repeated agents good for design when above caveats hold advances have to do w/ modularity OOP separates what from how agent oriented apps separate the what from the who agent send message to broker instead of to anoter agent who decides what and what might involve sending another round of messages intelligent agents - overall arch the same but capabilities enchanced can participate in meta-info about methods, history, performance, etc. can modify old behavior and improve perf - learning inform about beliefs, desires, intentions design environments challenge - design and bld family of related artifacts amortize costs over family improce quality of each design better faster cheaper: use of people and resources reuse of design evaluateion improvement DESIGN ENVIRONMENTS: THE PROBLEM design is hard family of designs is harder - solve particular problem while keeping in mind possible related problems SOLUTION: better, fster, cheaper: use of peope and resources - collaboration, human-centered computing, agents reuse of dsign - reatinale capture, info retrieval evaluation of design,s artifacts, and processes - simulation visual data anal, automated program synthesis imporvment in desing - search of design space, model-based reasoning -------------------------------------------------------- interesting name drops: dwell time hofstadter eosdis genbank boeing semi-interesting keywords: neural networks and genetic algorithms amazon.com