1 / 31

Programming Agents

Programming Agents. Prof. Andrew B. Williams University of Iowa Dept. of Electrical and Computer Engineering abwill@eng.uiowa.edu http://www.icaen.uiowa.edu/~abwill. Goals. Overview of agent programming Course organization for “incremental learning”

kellan
Download Presentation

Programming Agents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming Agents Prof. Andrew B. Williams University of Iowa Dept. of Electrical and Computer Engineering abwill@eng.uiowa.edu http://www.icaen.uiowa.edu/~abwill

  2. Goals • Overview of agent programming • Course organization for “incremental learning” • C# and .NET as alternative to Java and CORBA

  3. Outline • Intelligent Agents and Multi-Agent Systems • Teaching Agent Programming • Challenges of using C# and .NET as alternative to Java and CORBA • Homeworks and Projects • Lessons Learned

  4. Agent Programming • Integrating distributed programming techniques and AI tools to create a multi-agent system program • What’s an intelligent agent? • What’s a multi-agent system?

  5. Intelligent Agent • No universally accepted definition • Computational entity such as a software program or robot • Operates ,or behaves, flexibly and rationally in a variety of environmental circumstances • Also referred to as autonomous agent

  6. Multi-Agent System • A group of problem solvers that work together in a loosely coupled network (Durfee et. al 1989) • Greater than their individual capabilities • Better suited for dynamic, open, and often unpredictable environments (Sen and Weiss 1998)

  7. Intelligent Agents and Multi-Agent Systems(Adapted from G. Berkey and A. Agah) #Brain Multi-agent Swarms Swarm Systems 100’s + Multi-agent control DAI/MAS Distributed Robotic Systems 10’s Robotics Centralized Control AI 1 # Body Multi-machine Systems Machines 1 10’s 100’s +

  8. Major Characteristics of Multi-Agent Systems • Each agent has incomplete information • Each agent is restricted in its capabilities • System control is distributed • Data is decentralized • Computation is asynchronous

  9. Semantic Web Vision • Semantic Web • Data machine understandable not just machine readable • Distributed, large, open, and heterogeneous computing platforms and environments • Wired/Wireless world populated by inter- operating agents -- not just data. • Semantic Web is playground of agents (K. Sycara)

  10. Web Services and MAS Research • Deal with similar issues (K.Sycara, CMU) • Must be discovered • Agent matchmaking • Must be selected • Learning preference models • Must be involved • Communication • Must be composed • Planning and coordination

  11. Distributed Intelligent Agents Course • Senior/Grad Level Course • Approx. 15 students per semester • 2 to 4 undergraduates • Traditionally used these technologies: • Java, CORBA, JESS, KQML • Wanted to offer C#, .NET, XML, CLIPS

  12. Teaching Challenges • How to teach C# and .NET along with Java and CORBA? • Should students be forced to learn both? • Limited knowledge of C# and .NET • Lacked resources for teaching C# and .NET

  13. Teaching Agent Programming • Distributed Application Programming • Reasoning Engines • Agent Communication Languages and Protocols • Knowledge Representation & Ontologies • Learning Mechanisms • Other

  14. Alternative Programming Language • Gave students option to use Java or C# • Let students know there would be additional challenges to using C# • I was not C# expert • But I would support them • Support of Microsoft Univ. Relations Rep was key • Rob Reed

  15. Incremental, “hands-on” Learning for Students • Construct homeworks to allow students to learn C# or Java on their own • Each homework builds on each other • Final homework integrates concepts learned and constructed classes

  16. Course Organization • Autonomous Agent and MAS theory and practice • Homeworks • Purpose: Learn Java or C# with useful classes • Projects • Use Java or C# to program agents • Project 1: SoccerBots • Project 2: DABORAS • Project 3: Distributed Intelligent Agent app • Presentation and Paper

  17. Homework Organization • Homework 1 • Web search for IA and MAS • Homework 2 • Token frequency counter • String, File,Hashtables, Vectors • Homework 3 • URL Retrieval, GUI • Homework 4 • Simple Web (crawler) agent • Integrate homeworks 2 and 3

  18. Project 1: SoccerBots • Implement subsumption architecture • Incorporate a reasoning engine • JESS • (No CLIPS with C# wrappers) • Double elimination soccer tournament • Windows 2000 Platform • Prizes from Microsoft!

  19. Project 2: DABORAS • Distributed Agent-Based Online Realtime Auction System with Instant Messaging • Use .NET Remoting or CORBA • Use C# or Java • Use JESS or CLIPS w/ C# wrappers • Use KQML as Agent Communication Language

  20. Project 3: Distributed Intelligent Agent App • Students decide on project • Instructor approves topic

  21. DABORAS • Matchmaker agent • Stores auctioned items • Embedded Inference Engine • DABORAS agents • Buyer and seller agents • Makes requests to Matchmaker • Update or retrieve info on items • Instant messaging for users

  22. DABORAS- C#Technologies Used • C# and .NET Framework • .NET Remoting • C++ to C# Interoperability

  23. CLIPS Inference Engine • Rule-based, Forward Chaining Reasoning • Implemented in C • No Library wrapper or DLL existed for C# • But one existed for C++

  24. C# CLIPS Wrapper • New wrapper written using .NET Managed C++ • Wrapper compiled into DLL • Became possible to make calls to CLIPS from C# • Scott Stone and Dan McIntyre (undergrads)

  25. DABORAS Communication Architecture • .NET Remoting used • Makes remote methods available to other distributed applications • All arguments serialized and sent over communication channel in a SOAP message • Peer-to-peer messaging and information sharing

  26. Communication in .NET Remoting • Takes places using Channels • Either HTTP or TCP/IP • DABORAS uses HTTP channel • All SOAP message info is encoded in XML and sent via HTTP post messages

  27. Teaching Challenges Revisited • How to teach C# and .NET along with Java and CORBA? • “Incremental learning” and assignments • Let students choose • Limited knowledge of C# and .NET • Jump start students • Let them teach themselves • Lacked resources for teaching C# and .NET • Rob Reed or your Univ. equivalent

  28. Benefits • Instructor learns from students • Students gain self-confidence • Microsoft provides cool tools and useful books  • Rob Reed (Thanks!) • Students gain valuable, marketable experience

  29. Lessons Learned using C# • Good alternative to Java • Let students volunteer to use C# • Some already know Java and want to learn a new language • Students must be self-starters and able to learn on their own • Instructor must provide needed resources (VS.NET, reference books) • Instructor must be up front regarding challenges of C# • Including instructors lack of knowledge • Be understanding of students that choose C#

  30. Summary • Gave overview of agent programming • Described course organization • “Incremental learning” • Self-taught programming • Lessons learned using C# and .NET as alternative to Java and CORBA

More Related