辅导案例-COM1005-Assignment 3
Assignment 3: The Warriers’ Planning Game COM1005 Machines and Intelligence Semester 2: Experiments with AI Techniques Heidi Christensen University of Sheffield This assignment carries 18.75% of the marks for COM1005 DUE DATE: Friday 29th May 2020 at 23.59 (UK Time) The task for this assignment is to implement and document a STRIPS-based planning system for the Warriers’ game described below. The Problem In a computer game, a Warrior at point W has the goal of seizing a treasure chest T which is at the bottom of a pit at point P. The warrior may move from place to place on the surface and carry a single object from place to place. The warrior can reach the treasure by moving a ladder at point L to the pit, lowering it into the pit and climbing down the ladder. However, there may be a poisonous snake S in the 1 pit. In this case the warrior can safely achieve his goal by attaching a hook at point H to a rope at point R, lowering the rope into the pit, hooking the treasure and hauling it up. If both methods are possible, the warrior should prefer to use the ladder In this assignment you will write and test STRIPS operators for planning a solution to the warrior’s problem. Your tasks Here is an overview of the three tasks you need to complete. More detail on each task can be found below. 1. Implement a solution to the Warriors’ problem using the planning system STRIPS, using the supplied Java STRIPS code. 2. Run your code for the two cases: 1) when the snake is in the pit and 2) when it is not. See CakeStrips.java for an example of how to do this. Present your results and experiment with your solution to find its limitations. Suggest improvements to the planning system based on your experimentation with your initial implementation. 3. Produce a report: Finally, you should produce an experimental report using the template provided. The report should include comparison of the performance of your initial and improved set of STRIPS operators. Task1: Implement a solution For this Assignment, you will have been supplied with: • this Assignment brief; • a report template; • a code base named Strips. The code base Strips has the following structure: • pmatch (pattern matching package); – StripsDiffFinder.java – StripsOperatorFinder.java – StripsApplyOperator.java – StripsFn.java – StripsOp.java – StipsOperator.java – cakeStrips.java To see an example of how to run the STRIPS system, compile and run cakeStrips.java (note: it is compatible with Java 1.8+). 2 In this assignment we ask you to define a set of STRIPS operators and implement them in the STRIPS system in a file called warrierStrips.java (use the cakeStrips.java as an example. Your algorithm will be tested by markers against the STRIPS program structure you were originally supplied with. Therefore, other than warrierStrips.java, you are asked not to amend any of the other files in the code base. Your submission should only include the files you have changed, and you should check it will run with the original file system before submitting. A complete solution on your machine may look something like: • pmatch (unchanged) – StripsDiffFinder.java (unchanged) – StripsOperatorFinder.java (unchanged) – StripsApplyOperator.java (unchanged) – StripsFn.java (unchanged) – StripsOp.java (unchanged) – StipsOperator.java (unchanged) – warrierStrips.java (new) (You can use the logger and sheffield packages from the previous assignments, if you like.) Task2: Run your code for the two cases See cakeStrips.java for an example of how to do this. Note your results and experiment with your solution to find its limitations. Task3: Produce a report Your experimental report should describe your STRIPS operators and discuss the perfor- mance of your initial solution for the two scenarios (snake or no snake in the pit) and any improvements you have implemented. You should include, at the very least: • Description of initial STRIPS planning system to solve the Warrier problem. • Discussion of limitations and any suggested improvements to your STRIPS operators. • Your own conclusions • Printout of your system’s workings - see the template for an example of what that might look like. A LATEX report template is provided, with compulsory sections specified. You may add more sections if you wish: include in your report what you think is interesting. Note: You must use the LATEX template provided for your report. As with the previous assignment, you will not be marked on your ability to use LATEX to format your report (i.e. there are no extra marks for making it look fancy!). That being said, LATEX is an essential piece of software for communicating research and results in engineering and science, so we want you to get experience using it early on. 3 Summary of assignment tasks 1. Write a set of operators; 2. Implement your solution by using the STRIPS code provided. 3. Run your code for the two situations of when there is a snake in the pit, and when there isn’t. 4. Complete your report with the results from your experiments including a printout of the output of your program to see the workings of your solution. What to submit Submit your solution, as a zipped file called SURNAME FIRSTNAME.zip, where SURNAME is your surname (family name), and FIRSTNAME is your first name (given name). This zip file should contain: • a .pdf copy of your report named SURNAME FIRSTNAME.pdf • your STRIPS system code. Marking Scheme Remember: readability is of great importance for coding style. You should therefore take great care with line breaks, document your code appropriately and use indentation consis- tently. Before you hand in your code, ask yourself whether the code is understandable by someone marking it. Marks will be awarded according to these criteria: 4 Percentage points Categories and example score weights 60% Implementation and test of STRIPS operators to solve Warrier game 30% Quality of STRIPS operators (high scores for correct and well- organised operators) 20% Quality of suggestions of improvements (high scores for sug- gestions as to how improvements could be coded) 10% Well documented (comments used to ease understanding of more complex parts of the code such as operator behaviour) and well presented code (indentations, brackets and choice of variable names. Note, there isn’t much code programming to do in this assignment ...). 20% Documentation - quality of presentation of your ex- perimental results in your report 10% Quality of discussion of results (high scores for demonstrating solutions to the snake and no-snake cases) 10% Quality of conclusions (high scores for being comprehensive, well-presented (good choice of tables, graphs etc), and backed by evidence from your tests). 20% Experimental results 20% Quality of discussion of shortcomings of initial solution for the two scenarios and resulting, improved system (high scores for identification of key issues and suggested, modified STRIPS operators) 100% Total Marks and feedback will be returned through MOLE/Blackboard within 3 weeks. Rules Unfair means: This is an individual assignment so you are expected to work on your own. You may discuss the general principles with other students but you must not work together to develop your solution. You must write your own code. All code submitted may be examined using specialized software to identify evidence of code written by another student or downloaded from online resources. 5