Glomus - Project Details
We developed a simple but motivating AI project we call Glomus (Glomus is a rough Latin translation of the word "Clue"). Glomus addresses the core elements of "symbolic AI", including representation and reasoning, along with a contemporary focus on "argents in action." Glomus is based on the popular board-game Clue where the "who, where, how" of an event must be discovered. Each "agent" has limited knowledge of the state of the world and must strategically set out to discover additional information that will allow the agent to solve the mystery (i.e., complete a logical proof). Basing the project on a popular board game means that students are more likely to already be familiar with the task and the rules.
The project progressed in phases that roughly correspond to our chosen textbook where the authors suggests that computionally intelligent agents must deal with four common tasks: Modeling the environment, evidential reasoning or perception, taking action, and learning from past experience.
Students begin by learning how to model the environment using PROLOG. Various ways to represent and encode facts, rules, and relationships are explored and discussed. This task provides a hands-on example that was very complementary to our textbook author's example of situated robots as well as similar examples used by other popular textbooks. Although our students use PROLOG, the project itself is completely language-independent.
Rules of inference and proof-procedures are covered next. Students add basic rules that encoded a proof of "whodunit" - a task that was surprisingly valuable as it gave students a concrete understanding of resolution theorem-proving and the power (and limitations) of PROLOG's inference engine.
The project then moves on to taking action. Here, the exploration of "intelligence" begins as students develope novel rules and strategies for moving and making suggestions about "whodunit" based on their agent's limited knowledge. Agents are augmented with the ability to add new facts as they "heard" what other agents have suggested and what refutions have been made. This enabled students to implement rules accommodating the evolution of knowledge so that their agent's behavior was incrementally refined by past experience. Advanced students also take into consideration various ways our textbook presented for assumption-based reasoning and reasoning under uncertainty.
By the conclusion of the course, each student will have developed a complete agent in PROLOG that is capable of playing a legal and intelligent game of Glomus. Most of these agents consisted of 1,000 - 3,000 lines of commented PROLOG code; my own highly-refined agent is comprised of just over 1,000 lines.
While the course project has exceeded our expectations by making the tasks common to intelligent agents concrete for our students in a one-semester course, the results of their work were difficult to test due to the manual interaction required. Thus the goals and objectives for this proposal are twofold: (1) to implement a simple centralized server in software that would allow students to test their agents and compete against one another, and (2) to do so in such a way as to make the entire project accessible to other teaching faculty by providing production-quality software and extensive documentation.