For the midterm project you may explore any of the methods we have learned about so far this semester: neural networks, evolutionary computation using NEAT, or novelty search. You will design an experiment, run the experiment, analyze the results, and write a paper to explain what you found. You are strongly encouraged to work with a partner on this project.
You are also expected to conduct a limited literature review. Find and read at least two articles that are related to your experiment. A good source of related work are the bibliographies of the papers we have been reading in class. If you are having trouble finding related work, please come see me.
Because training an adaptive system is a time consuming process you will probably want to conduct your experiment in simulation. However, if you have an idea about how to effectively use a physical robot, you may try this as well. Whether you use a physical robot or a simulated robot, you will need to carefully consider the environment and the task. What actions and sensory information should be available to the robot? What is the robot's goal?
When conducting research, it is beneficial to work incrementally towards your ultimate goal. In other words, start with the simplest version of your idea that is likely to yield interesting results. If that works, then you can then add another level of complexity. This approach is more effective then beginning immediately with a very complex set up.
Your experiments may require several hours to run. Please read the following suggestions for how to conduct your experiments so as not to disrupt the work of other students. Pay special attention to the use of nice and screen.
Recall that pyrobot communicates to both physical and simulated robots through ports. Only one program can use a particular port on a given machine. We may want to designate certain machines in the robot lab to be reserved for a given team. Then each team will have a computer where all the ports are available to them.
Your paper should include the following:
Most computer scientists use a program called LaTeX to write research papers. I encourage you to give it a try. I have created a template that you may use to create your midterm paper. It is available in /home/meeden/public/latex-example/.
It is a good idea to start writing the paper before your experiments are completed. You can begin with the introduction, related work, and bibliography without having results.
Your grade will not be based on whether or not your experiment succeeds. Negative results are also useful. Your grade will be based on the design and execution of the experiment as well as the thoroughness and readability of the paper. You do not turn in any programs. Email me a pdf version of your paper by the deadline.
If you are using NEAT, you may want to use some of the images it generates in your paper. These files have a svg extension that latex cannot use. You'll need to convert these into another format such as png or pdf. To do this you can use gimp. In a terminal window do % gimp filename, and press OK. Then from the "File" menu, choose "Save as". At the bottom left choose "Select File Type (By Extension)" and select the file type you want. Finally, press the "Save" button and then from the "File" menu select "Quit".
You may also want to include a picture of a simulated world in your paper. First, take a screenshot by clicking on the camera icon in your toolbar, and save the file it generates. Next, you'll need to crop out the simulator window from the rest of the image, this can be done with gimp. Open up the screenshot in gimp. In the toolbox, which is in a separate window, choose the select tool (it looks like a dotted square box and is in the upper-left corner). Use the mouse to select what you want out of the screenshot. Then, under the "Image" menu choose "Crop to Selection". Finally, under the "File" menu choose "Save as", select the file type, and then exit from gimp.
The purpose of writing a research paper is to communicate your discoveries to others. It is important to explicitly acknowledge how your work relates to other work. This can be done either with a direct quotation from another source or by summarizing the key points from another source. You should avoid paraphrasing another source as this can border on plagiarism. When summarizing another source, explain the essential information in your own words.
When using the exact language from another source, you must use quotation marks. Or if you are using a passage that is more than four lines long, indent and single space the passage without quotation marks. For a direct quotation, provide a reference with a page number. When summarizing another source, you should also provide a reference, but a page number is not necessary.include("style/footer.php"); ?>