首页 > > 详细

COM1005辅导、AI Techniques讲解、java语言辅导、java程序设计调试 讲解留学生Prolog|辅导Python编程

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 performance
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 consistently.
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 wellorganised
operators)
20% Quality of suggestions of improvements (high scores for suggestions
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 experimental
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

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!