A stimulus-response (SR), or reactive agent, behaves entirely in reaction to the environmental situation in which it finds itself. More generally, an SR or reactive agent acts according to its hard-wired situated control rules. The key restriction here is the lack of internal state information. That is, the ‘cognitive’ state of the agent exclusively consists of the information available to it through its sensory channels.
For this first project, you will implement a simple stimulus-response agent that tries to navigate to a goal while defeating obstacles along the way. Your agents will try to solve problems within the MÆDEN simulated environment. Do not wait until the last minute to start on the project; you may suffer in multiple ways if you do. This is an individual project; all work must be your own.
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. The following sub-tasks are intended to suggest a reasonable development path of increasing complexity and capability.
That's almost it! You only need submit your final best agent -- not a progression of increasingly sophisticated agents. Your code must 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 agent without an IDE and without installing any specialized libraries. FYI, the following languages are acceptable: Racket, Common Lisp, Ruby, Python, Java, and C++. 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 beyond what is provided on the web or in the code, ask me for help.
(6pt) You should write a one-page extended abstract describing your activities and findings associated with this assignment. Your report should serve as a stand-alone document; thus, it should (briefly) describe the problem or focus, the approach that you employed, and an description of how well it performed. You are welcome to include figures if you think they contribute to the report; however, make sure your picture really is worth a thousand words.
I am providing a modified template file that you should use to format your one-page report; this template works with LibreOffice. (If you would rather use LaTeX, you may use the style file from the ACM but compare to the template I provide and remove extraneous elements as needed.) Be sure to use the prescribed formatting. When you have completed your report and its formatting, generate a pdf document to be included as part of your final submission. Remember, you are limited to a single page; submit only a pdf version of your document.
Each student should submit a single gzipped tar file or a zipped archive. When extracted, your archive must create a folder named youremail, where youremail is replaced with your actual Westmont email (without the “@westmont.edu”). Make sure that directly inside your folder you have everything necessary to compile and run your agent. However, do not include git or other version control management files. If you are using Java and extending from org.maeden.controller.AbstractAgentController.java, the directory tree starting with “org” must start here. Do not modify the package structure of classes from which you are extending. Your source/executable agent file should be called ReactiveAgent. At the root of your submission folder, you should also have the required README file including instructions for running your agent, and your pdf report. Submit the archive for project 1 on Canvas.