For this first project, you will implement a simple stimulus-response agent that attempts to ‘follow its nose’ in the MÆDEN environment. Do not wait until the last minute to start on the project; you may suffer in many ways if you do. This is an individual project. As always, I encourage you to talk to your peers about ideas or to me and to ask questions. But the code you submit must be your own code.
A stimulus-response agent behaves entirely in reaction to the environmental situation in which it finds itself. More generally, a reactive agent acts according to its situated control rules. The key restriction that we are imposing here is the lack of internal state information. That is, the ‘cognitive’ state of the agent consists of the information available to it through its sensory channels.
Write an agent that attempts to solve problems in the MÆDEN environment. Your agent will only be asked to solve problems known to have solutions and that involve only wall obstacles. The following sub-tasks are intended to provide a reasonable suggested development path of increasing complexity and capability.
That's it! You only need submit your final best agent -- not a progression of increasingly sophisticated agents. Your code should be documented thoroughly. You may use a language of your choice as long as it supports standard sockets; however, I must be able to run your system without an IDE or installing any specialized libraries. FYI, I have Racket, Common Lisp, Ruby, Python, Java, and C++ on my machine. If you want to use something else, talk to me before investing effort on the above tasks. If you need assistance connecting to MÆDEN via the socket layer, ask me for help.
Submit a gzipped tar file that when extracted will create a folder named with your Westmont email user-name (no spaces) followed by "SRAgent". For example, someone named Eva Bailey might create a folder called "ebaileyP1A". Make sure that inside that folder you have both your code and the required README file. Submit the archive for project 1 on Eureka.