首页 > > 详细

调试R、讲解Artificial Intelligence techniques to solve practical problems

Assessment Component Briefing Document
On successful completion of this component a student will have demonstrated competence in the
following areas:
• [LO2] Apply Artificial Intelligence techniques to solve practical problems
• [LO3] Locate and reference relevant information.
Requirements
This is a coursework assignment is a staged submission, comprising two parts (criterions), weighted
at 40% and 60%, respectively (see CRG):
1. Criterion 1 (40%): Ongoing engagement and accomplishment with a total of 4 small
implementation tasks to be completed within the workshop sessions. These will be made
available in week B2, B4, B7, and B11, respectively, following the corresponding lectures.
They are accompanying the learning experience of the lecture and complement the content of
the lectures. Their successful implementation needs to be demonstrated to a delivery team
member (academic or demonstrator) on duty during the regular workshop sessions.
Successful accomplishment needs to be demonstrated in the following week’s workshop
session the latest to gain full marks. For instance, if a task is given out in week B2, it can be
shown working to the delivery team either in week B2 directly or in week B3 the latest to gain
full marks. Demonstrating a working version of the implementation later than a week after it
has been made available in a workshop session will yield a penalty of 50% for that respective
task, ie, the marks will be halved. The table below indicates the respective last week each mini
task needs to be shown working to the demonstrator.
Task
Latest demonstration
week to gain full marks
Latest demonstration week to
gain full marks, week
commencing
Logic Programming Mini
Task 1 B3 05/02/2018
Logic Programming Mini
Task 2 B5 19/02/2018
Games & Search Mini Task B8 12/03/2018
Probabilistic AI Mini Task B13 30/04/2018
Overall, this criterion is contributing total of 40% to the coursework mark (which itself is
weighted as 40% in this module, so each mini task can contribute 4 marks to your final module
mark). It is the students’ responsibility to approach a member of the delivery team to have
their work signed off. Work for this criterion is not submitted to blackboard.
Criterion 2 (60%): Independent and individual implementation of solutions to AI planning
problems using PDDL (the Planning Domain Definition Language). This criterion is contributing
total of 60% to the coursework mark. All the source code must be suitably documented, i.e. every
relevant statement in your code needs to be explained in terms of the function it fulfils to receive full
marks. Also, any resources (websites, books, papers, etc.) used to solve the tasks need to be correctly
referenced in the source code, using appropriate comments (a semicolon in PDDL), and formatted per
the Harvard referencing guide. The exact task to be implemented is included at the end of this brief
(Appendix A). Students will be using the planning web service at http://lcas.lincoln.ac.uk/fast-
downward/ to implement and test their solution.
The submission for this criterion is via the respective submission area on blackboard. The
implementations are to be downloaded from the planning web service at http://lcas.lincoln.ac.uk/fast-
downward/, named “domain1.pddl” (for the first problem1) and “domain2.pddl” (for the
second problem), and submitted via blackboard. The submitted code will be tested using the very
same web service for marking against the two exemplary problems given there. The domain files can
be downloaded from the web service by clicking the button.
Note: The submission date indicated on the hand-in spreadsheet on blackboard only applies to the 2nd
criterion, the AI planning problem. Demonstration of accomplishment for the 1st criterion (The 4 small
implementation tasks) needs to be done during workshop sessions to a member of the delivery team
only to obtain full marks (see table above).

Not complying with above requirements will result in a presentation penalty.

Useful Information
This assessment is an individually assessed component (your source code submission will
automatically and manually be assessed for plagiarism). Your work must be presented per the Lincoln
School of Computer Science guidelines for the presentation of assessed written work. Please make
sure you have a clear understanding of the grading principles for this component as detailed in the
accompanying Criterion Reference Grid (CRG). If you are unsure about any aspect of this assessment
component, please seek the advice of a member of the delivery team. It is you responsibility to have a
full understanding of the task and ask for clarification as required.
Submission Instructions
Work for criterion 1 (small implementation tasks) is not submitted on blackboard, but demonstrated
by the students during workshop sessions (see above for details, in particular, deadlines for
demonstration).
The deadline for submission of program code for criterion 2 is given in the official documentation
for hand-in dates on blackboard. Students submit their work for that criterion 2 (The AI planning
problem) as two files named “domain1.pddl” (for the first problem) and “domain2.pddl” (for
the second problem) via blackboard (you can compress them into a zip file and submit under
Assessment Documents – Assessment Item 1—CMP2020M Assessment Item 1 Supporting
Documentation Upload). Students need to make sure they read the instructions for submission
carefully, as failing to do so may incur a presentation penalty.
DO NOT include this briefing document with your submission.

Appendix A: Assessment Item 1 – Criterion 2 – AI Planning [60%]
Your task is to write two PDDL domains, which can solve two planning problems respectively for a
robotic vacuum cleaner(s). A robotic vacuum cleaner has the function to automatically clean floor
regions. The robotic vacuum cleaners can move around the floor regions in four directions (up, down,
left and right). If a region is dirty, a cleaner can suck the dusts for that region to make it clean. A
robotic vacuum cleaner can only clean the region where it stays. Besides, it is assumed that only one
robotic vacuum cleaner can be in a region at a time to avoid collisions.

The task is to write two planning domains, which can solve tasks for two scenarios (1. one robotic
vacuum cleaner cleans 2*2 regions 2. two robotic vacuum cleaners clean 3*3 regions jointly).

For the first scenario, a cleaner can move freely across different regions. For the second scenario, a
cleaner can only move to a region where it is “clear” (that means, the other cleaner is not at that
region). It can not move to a region where it is not “clear” (already occupied by the other cleaner).
Please pay attention to these when you write your planning domains, especially for the second
scenario.

You should use the planning web service provided to you at http://lcas.lincoln.ac.uk/fast-downward/.
In the "Problem" section of that web service you find exemplary problem definitions in “assignment-
problem_1_cleaning” and “assignment_problem_2_cleaning”. In the "Domain" section you will find
two skeleton PDDL domain files for these two problems (named “assignment_template_1_cleaning”
and “assignment_template_2_cleaning”), which define the configurations representing two scenarios.
The domain file “assignment_template_1_cleaning” is associated with “assignment-
problem_1_cleaning” and “assignment_template_2_cleaning” is associated with “assignment-
problem_2_cleaning”.

Complete “assignment_template_1_cleaning” and “assignment_template_2_cleaning”, which are
associated with “assignment-problem_1_cleaning” and “assignment-problem_2_cleaning”
respectively. As hinted in the template, you need to define the preconditions and effects for five
actions, namely “move_up”, “move_down”, “move_right”, “move_left”, “suck” in both
“assignment_template_1_cleaning” and “assignment_template_2_cleaning”, for solving
“assignment-problem_1_cleaning” and “assignment-problem_2_cleaning” . Make sure, you name the
actions precisely as asked for, or you will not be able to receive full marks.

Make sure you comment your solution appropriately using comments starting with ";". Your
comments must explain what your actions model and how this helps to solve the problem. You are
advised to extend on the given domain template, but you may also develop your own from scratch.
But your domain must be able to solve the given problem definition as they are. You are not allowed
to provide your own problem definition; your code must be able to solve the given problems.

Some implementation hints are shown as follows (note: a partially working solution that can achieve
some of the indicated functionality below will already give you some marks in your assessment):

1. Implementation tips for “assignment_template_1_cleaning”:

1) Start by implementing the “suck” action in the “assignment_template_1_cleaning” for solving a
simple cleaner-suck problem as in the problem file “assignment-problem_0_cleaning” in the
planning web service



2) Continue to implement four move actions “move_up”, “move_down”, “move_right”,
“move_left” in the “assignment_template_1_cleaning”, for solving the cleaner-move problem in
the problem file “problem_cleaner_move”.

Now try to solve the “assignment-problem_1_cleaning” by using the
“assignment_template_1_cleaning” after “suck” and all “move” actions (“move_up”, “move_down”,
“move_right”, “move_left”) are implemented.

2. Implementation notices for four “move” actions in “assignment_template_2_cleaning”:

1) Please notice that for the second scenario, the cleaner can only move from one region (?y –
region) to another (?x – region) if there is no another robot on ?x ( as the predicate (region_clear ?x -
region) defined in “assignment_template_2_cleaning”). This needs to be taken into account when you
try to define the preconditions of a move action in “assignment_template_2_cleaning”.

2) When you define the effects of a type of “move” action from one region (?y - region) to another
(?x - region), it should be noticed that there is no robot at the region (?y – region) where the robot
originally stayed--(region_clear ?y - region).

In any case, please make good use of the demonstrators and the delivery team. Approach them, ask
questions, and present partial solutions and your thinking.

Note 1: If you code is not commented well, you won’t be getting a very good mark! The comments
need to explain your thinking and explain how and why you have implemented something.
Note 2: Double-check the file you submit. If your submitted domain file does not yield a solution
when copied directly into the web service, you will not be able to achieve a good mark. Your code is
automatically checked for correctness (does the submitted file solve the problems) and plagiarism as
part of the marking process. If it fails the test, your implementation is considered not to be working.

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

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