Documente Academic
Documente Profesional
Documente Cultură
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 C# and .NET as alternative to Java and CORBA
Andrew B. Williams
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
Andrew B. Williams
Agent Programming
Integrating distributed programming techniques and AI tools to create a multi-agent system program Whats an intelligent agent? Whats a multi-agent system?
Andrew B. Williams
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
Andrew B. Williams
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)
Andrew B. Williams
#Brain 100s +
DAI/ 10s MAS
Multi-agent Swarms
Swarm Systems
Multi-agent control
Distributed Robotic Systems Robotics Centralized Control
AI
Machines
# Body
Multi-machine Systems
Andrew B. Williams
10s
100s +
Each agent has incomplete information Each agent is restricted in its capabilities System control is distributed Data is decentralized Computation is asynchronous
Andrew B. Williams
Semantic Web
Distributed, large, open, and heterogeneous computing platforms and environments Wired/Wireless world populated by interoperating agents -- not just data. Semantic Web is playground of agents (K. Sycara)
Andrew B. Williams
Agent matchmaking
Must be selected
Must be involved
Must be composed
Andrew B. Williams
Senior/Grad Level Course Approx. 15 students per semester 2 to 4 undergraduates Traditionally used these technologies:
Andrew B. Williams
Teaching Challenges
Limited knowledge of C# and .NET Lacked resources for teaching C# and .NET
Andrew B. Williams
Andrew B. Williams
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
Andrew B. Williams
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
Andrew B. Williams
Course Organization
Autonomous Agent and MAS theory and practice Homeworks
Purpose:
classes
Projects
Use
Java or C# to program agents Project 1: SoccerBots Project 2: DABORAS Project 3: Distributed Intelligent Agent app
Andrew B. Williams
Homework Organization
Homework 1
Web search for IA and MAS Token frequency counter String, File,Hashtables, Vectors URL Retrieval, GUI
Homework 2
Homework 3
Homework 4
Andrew B. Williams
Project 1: SoccerBots
JESS (No CLIPS with C# wrappers) Windows 2000 Platform Prizes from Microsoft!
Andrew B. Williams
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
Andrew B. Williams
Andrew B. Williams
DABORAS
Matchmaker agent
Stores
DABORAS agents
Buyer
Instant
Andrew B. Williams
Andrew B. Williams
Rule-based, Forward Chaining Reasoning Implemented in C No Library wrapper or DLL existed for C#
Andrew B. Williams
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)
Andrew B. Williams
Makes remote methods available to other distributed applications All arguments serialized and sent over communication channel in a SOAP message
Andrew B. Williams
All SOAP message info is encoded in XML and sent via HTTP post messages
Andrew B. Williams
Incremental learning and assignments Let students choose Jump start students Let them teach themselves Rob Reed or your Univ. equivalent
Andrew B. Williams
Benefits
Instructor learns from students Students gain self-confidence Microsoft provides cool tools and useful books
Andrew B. Williams
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#
Andrew B. Williams
Summary
Andrew B. Williams