Building an intelligent problem-solving agent

Assignment Help Programming Languages
Reference no: EM133293711

Assessment Unpacking Transcript

Slide Title - 7CS083 Intelligent Agents

Hello everyone. Welcome to another lecture for 7CS083 Intelligent Agents.

In this lecture we will introduce the module assessment and unpack it. By this I mean I will explain the assessment in detail to give you insights into what is required for the module assessment.

Slide Title - Learning Outcomes

So, by the end of this session, you will be able to... understand what the assessment is about.
You should have insights into the key requirements for the assessments, and you will have seen examples of intelligent agents.

Slide Title - Assessment Overview

This talk presents the key elements of the module assessment. In addition to watching this video you should read the module assessment brief and make sure you understand what is required.

You should also ask questions if you are unsure about anything. Please do not hesitate to ask questions.

This talk gives you the key elements of the assessments.

Slide Title - Assessment Overview

The module assessment comprises two tasks. There is a coursework task that involves designing and building an intelligent problem-solving agent that solves route-finding problems. We will use the Unity game engine and C# to do this. In addition, the coursework task includes a short report.

There is also a report task that requires you to investigate intelligent agent types and evaluate how they could be used to solve a practical problem, application, or scenario.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

For the coursework task you are required to design and build a simulation (i.e., a virtual environment) and an intelligent virtual agent (e.g., a virtual robot that uses the virtual environment) that will plan routes through an environment, move along the planned routes and act and react to its environment.

So, in summary, for the coursework task you are required to create a virtual environment in Unity and an intelligent agent that can navigate through the virtual environment using route-finding techniques, namely, A* pathfinding.

We will now look at the assessment brief in detail.

Here is the assessment brief. We will start by looking at the "Problem / Application Area / Scenario for the Intelligent Virtual Agent" Section.

Coursework Assessment Document - Looking at the "Problem / Application Area / Scenario for the Intelligent Virtual Agent" Section

In this task you are required to develop an autonomous intelligent agent that finds routes through an environment. You are encouraged to apply a problem / application area / scenario or theme of your choice as a basis for the simulation and virtual agent.

Here are some examples of possible agent problems / application areas / scenarios / themes that you could use.

For instance, you could create a delivery robot that takes items from a shop to a goal location.

You could create an autonomous taxi that takes passengers from a start location to a goal location. Note, with this example, you would not need to collect passengers first and then take them to a goal location. You could just take them to a goal location.
However, you could extent what you have implemented by adding passenger pickup into the scenario.

Also note, if you are employed, your work may have an interesting problem that can be solved by a route-finding problem-solving agent. You could use this as a basis for your simulation.

Once you have selected a scenario, you also need to create a virtual environment that aligns to your agent problem / application area / scenario / theme.

Here are some examples of environment themes.

For example, a delivery robot scenario might take place in a small area of houses or a big city. A taxi agent will probably take place in a town or city. A fish simulation would take place under water.

However, do note that you can apply some themes, such as delivery and taxis agents to a variety of themes, such as a futuristic theme. It is up to you. You can be as creative as you like.

Coursework Assessment Document - Looking at the "Virtual Intelligent Agent for a Known Environment" Section

Once you have decided on your theme and begun to create your virtual world you will create your virtual intelligent agent.

You are required to develop an autonomous intelligent agent that solves a problem (e.g., delivering parcels) using route-finding. The agent should begin at a start location, move to a goal location, and then return to the start location.
The agent you create should be able to navigate a waypoint graph representation of your virtual environment.

The agent should be able to move from a start location and navigate to another node on the waypoint graph.

When the agent has reached their target, they should return to the start location. The agent should use the A* pathfinding algorithm to achieve this.
During the workbooks we will introduce you to Unity, coding in Unity and we will show you how to code the A* pathfinding algorithm in Unity. One of the workbooks will include a complete example. So don't worry about implementing this bit or looking for examples. We will give you one. Your task is to integrate the example into your problem, application area or scenario.

Once core functionality has been implemented you should enhance the agent by extending its abilities. For example:
• navigate to more locations once the agent has returned to the start location.
• goal location(s) could be selectable in the Unity editor or at runtime (e.g., improve the robustness of the implementation). The agent could find the goal location(s) in the scene and move to one, then move back to the start.
• your agent could have multiple start locations (e.g., improve the robustness of the implementation). The agent could move to a goal and back to the start. It would then move to the next start location and move to the goal.
• your agent could respond to events in the environment (e.g., stop at traffic lights or unforeseen obstacles in its way).
• your agent could respond to other instances of itself in the environment. For example, slowdown and avoid each other.
• you could extend or create a new path cost and/or heuristic function. For example, you could incorporate time in the path cost and heuristic calculation. This would allow the agent to consider time taken as part of its problem-solving process. This type of problem-solving agent should be able to find routes that are both short in distance and take the least amount of time to navigate.

Higher grades will be awarded for extensions that are more advanced. For example, extending the path cost function to monitor travel time and change agent routes would achieve a higher grade than a simple system that pauses the agent when it is in proximity of an obstacle (e.g., dog crossing the road).

The agent should move through the environment; however, additional actions, such as the act of delivering or collecting a parcel does not need to be animated / virtually recreated. For example, in a delivery scenario you can simply move to a location and move back to the start again. If you want to be more sophisticated, you could animate a box/parcel in Unity that disappears into the delivery location. However, this is not essential.

The agent in this task has full knowledge of the virtual environment. The agent can see the whole environment and should use path-finding techniques to navigate the environment. You should implement the world representation (waypoint graph / map) and pathfinding algorithm (A*) yourself using the techniques introduced during the module. You should not use navigation methods built into Unity.

Coursework Assessment Document - Looking at the "Virtual Environment Representation for the Pathfinding A* Algorithm" Section

You need to create a waypoint graph representation of the environment that your agents will use to navigate to locations. Your waypoint graph should have at least 10 nodes. You should create a standard waypoint graph with at least 10 nodes and a reasonable set of connections (i.e., edges) between the nodes. The graph should be able to work with the standard pathfinding algorithm A*.

We will introduce the A* algorithm and waypoint maps during the lectures and workbooks.

Let's start now by beginning to understand what a waypoint graph is. Let's go back to the slides.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

Here we can see an example of a waypoint graph. The circles are waypoints or vertices in the graph. The lines are connections or edges in the graph.

Think of this example as a birds-eye, top-down view of an environment. There are rocks in the environment that represent inaccessible locations. The waypoints and connections represent accessible locations and the connections between those locations.

Imagine the waypoint graph is a bit like a carpet. It is on or floating just above the ground. The nodes represent accessible world locations, and the connections represent the connections between the locations.

Pathfinding algorithms, such as A* use this simplified representation of an environment to navigate through it.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

If you are not able to create a standard waypoint graph you can create a simplified waypoint graph where each node is connected to every other node.

However, if you use this simplified representation, you will gain lower makes.

We guide you through how to create a waypoint graph, so this should not be an issue. But is an option if you are having issues.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

Here we can see what is going to happen in the simulation when we have added an intelligent agent.

In this example we have a parcel delivery drone as an intelligent agent. The agent plans a route through the environment using the A* algorithm. This is represented by the additional thick line in the diagram. The intelligent agent then travels along the path generated by the A* algorithm to reach its goal.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

Here we can see that the intelligent agent has moved along the route to the goal waypoint node.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

Let's go back to the module assessment brief and cover the final few sections before we have a look at some illustrative video examples.

Coursework Assessment Document - Looking at the "Measuring Performance" Section

You also need to measure the performance of your agent. It should be measured during all their runs / trips / journeys. Performance measures should include time and total distance. During the simulation, a timer should be used to time the duration for

the total task time. The output from performance measures can be displayed via a user interface or printed to the Unity console.

Coursework Assessment Document - Looking at the "Video of the Agent" Section

You are also required to submit a screen capture video demonstrating all agent actions. The video should be no longer than 120 seconds.

There is a separate video on Canvas that shows you how to record a video.

Coursework Assessment Document - Looking at the "Report - How Can Reinforcement Learning be Used to Solve Route-Finding Problems?" Section

Finally, for the coursework you need to write a short report (500 words maximum) that outlines the principles of reinforcement learning and how it can be used to solve route-finding problems. Include at least two references and use the Harvard referencing system.

Let's go back to the slides.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

Let's now look at some examples of previous student work. We will see examples of virtual worlds and intelligent agents that students have created.

Video - Example1

Here we can see an example of a city theme. We have an autonomous taxi agent that picks up a passenger and takes them to a goal location.

Video - Example2

Here we can see an example of a woodland theme. We have an autonomous lumberjack agent that drives to a tree, collects it, and returns to the start location.

There are also environmental obstacles in the form of rabbits that the agent must avoid.

Video - Example3

Here we can see an example of an intelligent agent representing a mouse. The mouse moves to the location of cheese, collects the cheese, and moves back to the start location. It does this several times.

Video - Example4

Here we can see an example of a Mars theme. We have an autonomous Mars rover moving through the environment to goal locations.

Video - Example5

Here we can see an example of a lumberjack theme. We have an autonomous character moving to trees, cutting down trees and moving back to a start location. There are obstacles that slow down the lumberjack's progress.

Video - Example6

Here we can see an example of a cleaning robot intelligent agent. The agent moves through the pipes and removes rubbish.

Video - Example7

Here we can see an example of an autonomous ambulance intelligent agent. The agent moves to a target location. Collects a patient and then moves back to a hospital. The patient then returns to the ambulance and gets returned to the home location. The ambulance returns to the hospital.

There is also a boat agent on the left side of the screen. The agent moves along a path using the A* algorithm.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

We have now seen several examples of virtual environments and the intelligent agents you can put within the environments. Hopefully, they will give you some inspiration for your assessments.

Slide Title - Coursework Task: Design and Build an Intelligent Problem-Solving Agent: Solving Route-Finding Problems

Finally, I would just like to remind you again about the short report.

You need to write a short report (500 words maximum) that outlines the principles of reinforcement learning and how it can be used to solve route-finding problems.
Include at least two references and use the Harvard referencing system.

The report should contain the following sections:
• Introduction - this section should outline the principles of reinforcement learning and what the report is about.
• Reinforcement Learning for Route-Finding - this section should outline how reinforcement learning can be used for route-finding.
• References - A list of references. Correct use of the Harvard referencing system.

Slide Title - Report Task: Investigation of Intelligent Agent Types and Evaluation of how they can be Used in a Practical Problem, Application or Scenario

Next, let's look at the report task.

For this task, you are required to research a practical problem, application, or scenario that requires intelligent agents (e.g., autonomous drones or delivery robots) and evaluate how two agent types, architectures, or algorithms could be used to solve the practical problem, application, or scenario.

One of the agent types, architectures, or algorithms must be a reinforcement learning algorithm / technique. The other agent type, architecture, or algorithm is up to you. For example, it could be reflex agents, model agents, goal agents, utility agents or learning agents. You can discuss the agent types as a whole or focus on a specific algorithm.

Slide Title - Report Task: Investigation of Intelligent Agent Types and Evaluation of how they can be Used in a Practical Problem, Application or Scenario

Here are examples of possible report topics. You can select your own title; however, you should get your title agreed by a module tutor.

We can see examples of delivery robots, autonomous vehicles, and simulations.

For example, you could explore the challenge of autonomous deliver robots that deliver shopping to houses. You could explore how a reinforcement learning algorithm and a problem-solving agent algorithm could be used to achieve this type of intelligent agent.

Coursework Assessment Document - Page 3

Here we can see the required structure for your report. The report should contain the following sections:
• Introduction - this should include an introduction to your chosen topic and explain why it is important. It should, in a straightforward style state the purpose of the report / the problem being investigated.
• Aim and Objectives - include a clear section that outlines the aims and objectives of the report.
• Literature Review - An in-depth investigation of your chosen topic area, which draws upon a wide range of academic and research-based sources.
o Explain the two agent types, architectures, or algorithms you will be discussing.
o Identify examples of research that has explored agent types, architectures, or algorithms for your topic.
o Explore how an agent type, architecture, or algorithm can be used to solve your topic. Draw on sources to support your discussions. You can also draw upon any practical work you have done on the module.
• Analysis of Findings - An analysis and evaluation of the research found during the literature review. This should be related to the aims of the report.
o Evaluate the alternative types, architectures, or algorithms for the design and implementation of intelligent agents in your topic. You can also draw upon any practical work you have done on the module.
• Conclusion - A conclusion that draws out your findings.
• References - A list of references. Correct use of the Harvard referencing system.

Slide Title - Module Tools & Other Useful Information

To conclude this assessment unpacking, do not forget that you must use the prescribed module tools to develop your intelligent agent. Namely, Unity and C#.

Please see the module assessment for exact versions.

Slide Title - Summary

We should have now met the learning outcomes.

That is, you should now understand what the assessment is about and be able to begin to make a start with the assessment.

Reference no: EM133293711

Questions Cloud

How financial regulations impact business practices : Examine how financial regulations impact business practices and prepare a few slides that summarize the relevant regulations that govern the clients business
Demonstrate the application of formalisms : UFCFYN-15 Analysis and Verification of Concurrent Systems Demonstrate the application of formalisms to specify system properties using CSP
Comparison between the strategy selected by each firm : MGT550 Managing Operations Assignment competitiveness of the two firms selected including the comparative study between the benefits and limitations
Critical and reflective account of what you have produced : Assessment Task: Video Essay and Exegesis critical and reflective account of what you have produced and why, drawing on the key terms and concepts
Building an intelligent problem-solving agent : Explore how an agent type, architecture, or algorithm can be used to solve your topic. Draw on sources to support your discussions. You can also draw upon any
How can small local businesses transform : Increased understanding of the project focus and of your own teamwork and communication skills - confidential Project Team Evaluation form
Critically analyze and evaluate the factors : Critically analyzed the key strategic processes that affect decision makings on business continuity - Elaborated the concept of "business resilience"
How change management improvement could be approached : How change management improvement could be approached within the organisation; this should be supported by an ‘action plan' in your appendices section
Identifying what the organization needs to do : MGT303 Managing and Leading Change Evaluate change models and identify and justify a model for change implementation within the organisation

Reviews

Write a Review

Programming Languages Questions & Answers

  Create text based or gui menu to perform the given functions

Create a text based or GUI menu to perform the following functions. Create your design in pseudocode and then code a RAPTOR program which generates output to the screenand a text file.

  Translate the program into three address statements

Translate the program into three-address statements of the type we have been using in this section. Assume integers require 4 bytes.

  Write stored function that takes in zipcode as parameters

Write a stored function called zip_exist that takes in a zipcode.zip%Type parameter and returns a Boolean. The function will return TRUE if the zipcode passed into it exists.

  Determines which patients have a high systolic pressure

Application determines which patients have a high systolic pressure and provides a process to contact them for follow up consultation.

  Create application to use scrollable control track

Create the Application which permits you to enter amount of a purchase and then display the amount of sales tax on the purchase. Use a scrollable control such as a track bar to adjust the tax rate.

  Write the code for a function called reverse

Write the code for a function called reverse() that is passed the army of letters and the numbers of n,a nd reverses the contents.

  Summary of the approach or methodology and innovation

What improvement has been achieved, what understanding has been gained from the preliminary study, what can be further improved

  Write loop which processes pay for all workers in array

Print program titles and report headings, then call input function described next to fill in data array. Write loop which processes pay for all workers in array.

  Develop a class rectangle with attributes length and width

Create a class Rectangle with attributes length and width, each of which defaults to 1. Provide methods that calculate the rectangle's perimeter and area.

  How to generate numbers distributed with the Gaussian PDF

The problem is then how to generate numbers distributed with the Gaussian PDF based on rand(), and how to check that what you generate in Gaussian distributed

  Write program asks user to enter temperature

Write a program that asks the user to enter a temperature, and then shows all the substances that will freeze at that temperature and all the substances that will boil at that temperature.

  Write a program that find the shortest ladder

You are to write a program named ladderq.cpp that uses a file of 5-letter words to find the shortest ladder from one word to another

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd