Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
COMP90054 assignment
make them reflect on their own learning, so this is good! In addition, many people who liked ungrading commented that it reduced the stress of trying to get every test case right. There were many reasons people liked ungrading, chiefly: . Independence and autonomy: people felt more responsible for their own learning and appreciated the additional autonomy and independence that ungrading provided. . Reduced the stress of trying to get everything right and figure out what the staff wanted to see. . Allowed people to explore and take a few more risks, because if they failed, learning still occurred. More generally, we saw several people either not submitting a self evaluation or not really taking the time to reflect on their learning. In this assignment, we make the expectations clearer: students are marked based on their self evaluation. Collaboration Assignment 2 can be completed individually or in pairs. We encourage pairs to work together to learn from each other; not to simply split the tasks for efficiency. But we will not monitor this -- it is your responsibility. You can submit different solutions or the same solution, we just want to encourage collaboration. For the student works in pairs, you must submit an individual short self evaluation. We encourage students to derive their own tests for the tasks and share them with others to help with learning. The Domain - Bubble Tea robot Your task is to model a robot that makes bubble tea. The owner of the company has just a few hard-coded recipes, but would prefer that customers are able to flexibly specify their own bubble teas. The robot is able to do three things: (1) add ingredients to a cup; (2) mix the ingredients that are in the cup; and (3) heat the ingredients that are in the cup. There are four main types of ingredients: (1) tapioca balls; (2) syrup; (3) ice; and (4) the tea itself. The model can add any of these to the cup at any point. Syrup and tapioca balls can be flavoured.
Customers can specify whether they would like their drink mixed or not (modelling as a PDDL predicate in a goal). If the tea and syrup are mixed, the drink is considered to be "mixed". However, if the tapioca balls are mixed, the mixer blends them into a syrup, so there are no longer tapioca balls in the drink. When ice is added to the cup, the drink is considered to be iced. Otherwise, it is not iced (modelled as a PDDL goal). The cup can be heated in a microwave. Typically, customers like heated tapioca balls (modelled as a PDDL goal), otherwise the tapioca balls are too hard. If the ice is heated, it melts so the drink is no longer iced. Customers can also specify that they would like the tea or the syrup iced as well (modelled as a PDDL goal). The robot can make just one bubble tea at a time. Tasks You can use the classical propositional STRIPS subset of PDDL + typing, negative preconditions and conditional effects. You are responsible for creating the domain and problems files, specifying any types, predicates, and actions (including action parameters, preconditions and effects), initial states, and goal states. Task 1 [0 marks] As a first task, model PDDL actions (can be one action or multiple) for adding the ingredients into a drink. Only one of each ingredient can be added into a single drink. For this, you will also need to model the PDDL predicates, constants, etc. Once you have actions modelled, specify problems to test the following: A. A customer can create an iced drink with the tea, mango tapioca balls, and mango syrup. B. A customer cannot create an iced drink with the tea, ice, and two different flavours of syrup. Task 2 [0 marks] The second task is to model heating the cup in the microwave, and mixing the ingredients of the cup. Once you have actions modelled, specify problems to test the following: A. A customer can create a mixed drink with the unheated tea, heated mango tapioca balls, unheated mango syrup, and no ice.
B. A customer can create a mixed drink with no tapioca balls, unheated mango syrup, unheated lime syrup, and ice. (Think carefully about this. If you have modelled the mixing properly, this should be possible). You may need to change your actions from Task 1 for this. That's fine -- you should only submit the final versions. Task 3 -- Challenge task [0 marks] This task is a more challenging task that will take more time than the first two tasks, but you may wish to complete it if you want to learn more about PDDL. The owners developing the robot have noticed that if the cup is heated in the microwave, the cup becomes too hot to handle. Fortunately, they have just upgraded the robot so that it can use two cups at a time. Create a new version of your model that has two cups. It is strongly recommended that you model this in a new domain file. You should have the same actions as before, but this time, the actions apply to one of the cups. When heated in the microwave, the cup should be noted as being hot. In addition, the robot can tip all ingredients from one cup into the other, between either cup. This will tip all ingredients. Once you have actions modelled, specify problems to test the following: A. A customer can create a mixed drink with the unheated tea, heated mango tapioca balls, unheated mango syrup, no ice, and an unheated cup. This is the same as Task 2.a, but with an unheated cup. B. A customer can create a mixed drink with no tapioca balls, unheated mango syrup, heated lime syrup, ice, and an unheated cup. This is the same as Task 2.b, but with an unheated cup and with heated lime syrup. Task 4 -- Self evaluation [10 marks] For each question, write a brief self evaluation that includes how many marks you believe that you have earnt in ths assignment. Your self evaluation for each question must include: Self evaluated marks for each question, with a breakdown of: 3 marks for Task 1 5 marks for Task 2 2 marks for Task 3
A brief overview of why you have earnt this. As part of your overview, consider the following: whether you can successfully generate correct plans for the goals; explain how you checked the correctness of your plans; whether you believe that your model is robust -- that is, whether it can generate correct plans for goals other than those specified above and why you believe it is robust; whether your model is clear, concise, and at the 'right' level of abstraction -- that is, the model contains only those aspects that are needed to solve the problem; what you learnt about modelling and abstraction; and list any assumptions that you have made. For each task (1-3), keep this to 2-3 paragraphs. Note that completing the tasks without submitting a self evaluation will not attract ANY marks. You must tell us the evidence that you use to self-evaluate yourself. Ambiguous details? You may have questions about the above description, such as: "what should happen if this happens, but then that -- what should the behaviour be?". The answer: just choose a sensible behaviour and model it. We don't care if the model does exactly what our model does -- we care that you are learning about modelling and abstraction. You should be able to make a sensible assumption about the behaviour and model it. You will still learn the same amount! Debugging tips and other resources If the planner is failing to return a plan, but you think it should, debugging is more difficult than in imperative programming languages, because the model is declarative and there are no standard PDDL debuggers. There are two techniques to help debug the model: . Simplify the goal: If your goal contains multiple predicates, try removing them systematically to see which goal (or combinations of goals) are preventing the solution. This helps to identify which actions you may have modelled incorrectly.
. Use preconditions as goals: If tip 1 does not work, write out the plan that you expect it to find. Then, create a new problem instance, take the first action of your expected plan, and set its precondition as the goal. If it fails, you have identified where your model is not doing what you expect. If it does not fail, move to next action in the plan, setting its precondition as the goal, and iterate.
Submission Instructions Your submission has three parts: a session saved on planning.domains; a PDF file submission on Canvas; and a submission certification form. planning.domains submission
See a video below showing how to do this. PDF report submission Your submission should contain a report that includes: . Your unimelb student ID and student email address, and the name of anyone partner that you completed the assignment with.
. The PDDL domain file(s), cut and paste into the PDF report. . The PDDL problem files, cut and paste into the PDF report. . The output generated by the problem files. That is, the plan if it generates a plan, or the output specifying that no plan was found. . Your self evaluation for each question. . An optional appendix, if you want to add additional details, such as additional problem files or solutions that you tried that didn't work out.