FIT3094

117 views 6:15 am 0 Comments August 29, 2023

FIT3094 – Artificial Life, Artificial Intelligence, and Virtual Environments ASSIGNMENT 2 [25%] – Individual Assessment Goal Oriented Action Planning SUBMISSION DUE: Monday Week 9, 9:30 AM Covers Topics from Weeks 4 – 6 Learning Outcomes Completion of this assessment item should demonstrate competency in the following learning outcomes: ● Apply – through practice-based learning – design, development, execution and validation of real-time interactive software using AI techniques ● Evaluate and apply AI and/or ALife software techniques to model simple intelligent behaviour in discrete and continuous simulations and games ● Explain the concepts and theories underlying AI and Artificial Life; Brief For this assignment, you will coordinate a team of agents using Goal Oriented Action Planning. Your objective is to compute plans that achieve the highest possible score. You will be provided with base code for this project, and your job will be to design a suitable planning model and algorithms. Submission Requirements You will be required to submit your Unreal project and written justification via Moodle. Please include in a single zip file: ● Your Unreal Project with only the following files/folders ○ Config folder ○ Content folder ○ Source folder ○ .uproject file ● .txt/.docx/.pdf file containing your written justification Task Overview You will have to coordinate a number of different types of agents to perform different actions to achieve a common goal. Your task is to implement algorithms that apply Goal Oriented Action Planning to assist the ships to achieve the largest score possible. Marks will be allocated for: 1. Written Report 2. Coding Standards 3. GOAP Effectiveness 4. Collision Avoidance Effectiveness Detail on each of the requirements for points 1-4 above and the marks allocated to each component, appear in sections below. A detailed rubric is available on Moodle here. FIT3094 – Artificial Life, Artificial Intelligence, and Virtual Environments You have been provided with base code that contains starter files to assist you in developing your application of GOAP. The base code does the following: 1. Loads a map file and converts it into an Unreal level 2. Loads a scenario file and spawns ships based on the scenario 3. Handles ship movement based on a path given to it 4. Includes Goal Oriented Action Planner high-level base 5. Include base action for use with Goal Oriented Action Planner 6. Outputs point data to help you with fine-tuning your algorithms The base code does not handle behaviour for avoiding collisions and replanning. This must be performed as part of your implementation of the collision algorithms. Written Report Suggested Completion Date: End of Week 8 You must ensure that you include a written justification to explain your GOAP model, planning algorithms and execution approach. Below are some aspects of your planner you may like to discuss. Refer to the marking rubric for guidelines about the amount of detail expected for different levels of achievement. Remember the report is worth 40% of your total marks! Planning model: ● World variables. How you used the provided world variables and justifications/descriptions of any additional variables that you may have added. ● Actions. Describe your chosen actions in terms of their preconditions and effects. Include justifications ● Goals. Describe and justify your chosen goals for the different agent types. Indicate and justify their priorities. Planning approach: ● Expander. Discuss how your expander function generates successors (forwards or backwards). Justify your approach. ● Search. Discuss how your planner searches for solutions. If you modified the planner in some way (e.g., to improve performance), justify your approach. Execution considerations: ● Discuss how you handle plan failure (i.e., when a high-level action does not proceed as expected). What are the main considerations and how does your planner react? ● Discuss how you handle navigation failure (i.e., when a low-level pathfinding action does not proceed as expected). Comments, Naming Conventions, Variable Names, and Readability of Code Suggested Completion Date: End of Week 8 You will be required to make sure that your code uses appropriate variable names which represent what the variables are being used for, consistent naming conventions, as well as overall code readability. On top of this, you must ensure that all the code solution is commented thoroughly, including the base code, to show your understanding. FIT3094 – Artificial Life, Artificial Intelligence, and Virtual Environments GOAP Effectiveness Suggested Completion Date: End of Week 6 In our virtual world, the crews of different ships have different specialities. They must work together to build a settlement. In this process, points are awarded for gathering resources and constructing buildings. You will have a total of 180 seconds to try to achieve the most points possible. Types of Agents There are 4 different types of agents. Each with a distinct speciality which you can find in sections below. Different amounts of each exist in the world (x). These are: – Woodcutter (3) – Stonemason (3) – Farmer (3) – Builder (2) Resource Locations Resource Locations are scattered throughout the world. Each Resource Location contains 5 units of that resource before it is depleted and deleted from the world and should be replaced by Shallow Water. Each Resource takes a certain amount of time to gather. Once gathered, Resources are added directly to the Agent’s inventory, and Agents cannot perform other actions than depositing while having Resources in their inventory. Each Resource gives a specified number of points when deposited at a Home node and adds that many resources to the total. Depositing a Resource takes 1 second. There are 3 different types of Resources: – Wood: Takes 2 seconds to gather, and gives 1 point per unit deposited. – Stone: Takes 3 seconds to gather, and gives 2 points per unit deposited. – Grain: Takes 5 seconds to gather, and gives 3 points per unit deposited. Gathering Resources All Agents can gather resources from resource tiles on the map. The efficiency of each Agent depends on their specialisation (see below) which affects how quickly they can gather resources and how much they can carry. – Woodcutter: Gathers Wood 50% quicker, and gathers 2x units at once – Stonemason: Gathers Stone 50% quicker, and gathers 2x units at once – Farmer: Gathers Grain 50% quicker, and gathers 2x units at once Buildings To develop a thriving community, we need buildings to provide services. There are three different types of buildings, each with a different number and type of Resources to construct. Constructing different types of buildings gives different numbers of points. These buildings are: – Market: Requires 5 Wood to build and gives 50 points – Theatre: Requires 10 Wood and 5 Stone to build and gives 250 points – University: Requires 15 Wood, 10 Stone, and 5 Grain to build and gives 1000 points FIT3094 – Artificial Life, Artificial Intelligence, and Virtual Environments Constructing Buildings Buildings can only be constructed on specific tiles; Building Slots. Only Builder Agents can construct Buildings and can only do so when they are not carrying resources. You will need to carefully decide how to best utilise your limited number of Builder Agents to maximise points. Different Buildings require different amounts of time to construct: Market: 5 seconds Theatre: 10 seconds University: 15 seconds Collision Avoidance Suggested Completion Date: End of Week 7 You must implement collision avoidance for the ships to avoid ships either sharing the same grid node, or swapping grid nodes. Replanning is especially important in this Assignment due to the limited evaluation time, agents using optimised paths are able to carry out more actions and collect more points. See specific collision metrics in Detailed Rubric on Moodle. Assessment Criteria ● Written Justification of Chosen Algorithms – 40 marks ○ Description of your approach taken to the problem at hand ○ Communication skills displayed in report ● Documentation and Coding Standards – 10 marks ○ Use of Comments throughout code ○ Use of consistent Naming Conventions throughout code ○ Use of consistent Variable Names that are indicative of their purpose ○ Readability of Code ● GOAP Effectiveness – 35 marks ○ Total Points Earned at End of 3 Minutes (Collision Penalty Disabled) ● Collision Avoidance – 15 marks ○ Ratio of (Replans – Crashes) / Replans (Collision Enabled) A detailed marking rubric is provided on Moodle. Feedback Information You will receive a mix of formal and informal feedback for this assessment. Demonstrators will provide informal feedback in your scheduled lab sessions. Formal feedback will be provided within 10 business days of submission FIT3094 – Artificial Life, Artificial Intelligence, and Virtual Environments Where to get help If you are struggling with anything or need additional support please do not hesitate to reach out using any of the following support services: English language skills if you don’t feel confident with your English. ● Talk to English Connect: https://www.monash.edu/english-connect Study skills If you feel like you just don’t have enough time to do everything you need to, maybe you just need a new approach ● Talk to an academic skills advisor: https://www.monash.edu/learnhq/consultations Things are just really scary right now Everyone needs to talk to someone at some point in their life, no judgement here. ● Talk to a counsellor: https://www.monash.edu/health/counselling/appointments (friendly, approachable, confidential, free) Things in the unit don’t make sense Even if you’ re not quite sure what to ask about, if you’ re not sure you won’t be alone, it’s always better to ask. Ask in the forums, book / attend a consultation or email your demonstrator ● Forums Link: https://lms.monash.edu/course/view.php?id=140783&section=3 ● Consultation Schedule: https://lms.monash.edu/course/view.php?id=140783&section=2 ● Tutor Contact Information: https://lms.monash.edu/course/view.php?id=140783&section=0 I don’t know what I need Everyone at Monash University is here to help you. If things are tough now they won’t magically get better by themselves. Even if you don’t exactly know, come and talk with us and we’ ll figure it out. We can either help you ourselves or at least point you in the right direction.

Tags: , , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *