|
|
Homepage for IRLS612Martin FrickéMaterial may be added or changed on a continuing basis. One file that will remain untouched throughout is that containing the course requirements. |
|
|
|
Enrollment in this class and class size. |
The graduate college usually cancels classes that have 7 students or less enrolled, and cap a class at the upper limit of 35 students. I am already teaching two classes in Fall 1998 and this will be the third. If less than 10 students enroll in this class, it will be canceled and run again at the first opportunity, possibly Spring 1999. In the past, 10 students or more typically do join it, so I am expecting the class to run. If it does not, we will write to all those that have signed up for it. |
General overview |
The study of expert systems is a sub-discipline of artificial intelligence, and the latter is the attempt to use computers and computer programs to do tasks which require intelligence. Expert systems are programs that reason; but what distinguishes them from general purpose reasoners or theorem provers is that they use domain specific knowledge-- that is, they have an expertise in a certain area or subject matter. A particular expert system may have some expertise concerning medical diagnosis-- this does not mean that it is also expert on other matters, for example, on determining where to locate a drilling rig when searching for oil. Expert systems have had a chequered history. They failed to live up to exaggerated promises that were made on their behalf when they first appeared. Yet they have had occasional successes. And they seem to be making a bit of a come back. There is much talk these days of 'agents'. These are pieces of software that work autonomously on behalf of the User (or of other agents). Typically agents will interact with their environment and reason to carry out their tasks. Such agents will contain expert systems (or something very similar). An illustration of an agent at work with information resources might be that of a self-contained computer program that goes off on its own down a network, perhaps the Internet, and returns with material to meet your information needs. Study of expert systems and agents can only go so far by reading about them. Really you need some practical hands on experience (for the systems frequently do not work as you expect them to). This 'hands-on' need gives us a problem: which development environments to use. An assumption that is made is that students in this course have no computer or computer science background. The prototypes of most expert systems have been written in one of the two artificial intelligence languages, LISP or Prolog. And in the past students in this course have been taught one or the other. But this approach is slow to getting to the actual expert systems. What we will try this fall is to use the CLIPS system for the expert systems and CLIPS and Java for agents. [These are readily available for all computing platforms.] I am hoping that students will have to think primarily about rules (that is, items of the form 'If A then B', for example 'If you have a temperature, you are sick') and that all other technicalities can be pushed to the background. Students will gain an initial familiarity with CLIPS. Then we will look at standard techniques including production rule systems, pattern matching, forward and backward chaining and reasoning under conditions of uncertainty. In the second third of the course, students will be encouraged to work in teams, to seek out problems in information resources that would benefit from expert system approaches, and to write suitable expert systems. In the final third, we will look at intelligent agents on the Internet. The course as a whole will make extensive use of computers and will have substantial academic content. It is assumed that a student in this course has NO previous background in computing. |
More on agents |
University of Maryland Baltimore County Agent WebWhat is the idea of agency, as it is used in software?
Sometimes folk want to go further and ascribe some other properties to agents, especially human intentional ones (like 'believe', 'hope', 'think')
Agency Defined (by Mike Coen)Clearly, there is an enormous variety in what people deem a software agent, and it is somewhat difficult to tell whether this is good or bad for the field. Nonetheless, having many enthusiastic researchers working on their various 'agents' is probably to everyone's benefit, so we refrain from complaining too loudly. There is a tendency to anthropomorphize agents (Coen again)Software agents are ontologically grounded in their role in the agent community. Agents have beliefs, commitments, obligations, intentions, and perhaps even confusion, stubbornness, etc. Exactly what these agents do with all their commitments, obligations, intentions, etc, has not necessarily been made particularly clear, but what's supposed to be important is that we have a motivated vocabulary for describing coordinated agent interaction, e.g. Agent1sent Agent2 e-mail because it felt 'obligated', or perhaps Agent1 crashed the network because it was 'confused'. How might we classify agents?
|
Examples of Agents |
Desktop Agents
Open Sesame Search Agent (WebCompass) 'Wizards', usually very simple form-based agents used for setting something up. Internet Agents
|
Some important links |
Assignments received<link to be activated later> Notes<link to be activated later> Your classmates <link to be activated later>
|
Some important School links |
|