The coursework for this module is based around (1) designing intelligent autonomous agents and an environment with which they interact, (2) setting those agents a task, (3) asking one or more questions about that task, and (4) evaluating it using experimental methods. You will then present the results from this in a report, which will also explain the context for the work.
An autonomous intelligent agent is a program that operates in a particular environment, perceives aspects of that environment, and then carries out actions that change that environment to carry out some task. Typically, these actions are a mixture of responses to its perception and proactive actions such as exploration.
Your task for this coursework is to design an agent-based system containing the following four aspects:
An Environment. This is the (virtual) place where the agents will operate. It could be one of:
Copyright By PowCoder代写 加微信 powcoder
· A simulation of a physical environment in which mobile robotic agents move. This could be the simulation used in the classes earlier in the semester (perhaps extended), a robot environment such as The Player Project (http://playerstage.sourceforge.net), or a project in Unity or a similar game environment if you are familiar with one from elsewhere.
· A chatbot environment such as the ones used in the classes.
· The blackboard system used in the class where we discussed language agents writing poetry
· The Bristol Stock Exchange system (https://github.com/davecliff/BristolStockExchange) or a similar simulation of some aspect of the economy or society
· A game environment such as Ms. PacMan (https://gym.openai.com/envs/MsPacman-v0/), the Open Racing Car Simulator (http://torcs.sourceforge.net), RoboCup (https://www.robocup.org/leagues/23) or similar (see e.g. http://www.gvgai.net)
· One of the more complex task environments from the OpenAI Gym (https://gym.openai.com)
There is no need to develop the environment yourself—the focus of the project will be on the agents in the environment (chatbots, robots, trading agents, game-playing agents, autonomous drivers, etc.) – but it is likely that you will set up the details of the environment to address your specific question. You are allowed to use the code from the classes, but please try to make it clear broadly which parts of the code are taken from the class examples, and which is your own work (we appreciate that this is sometimes complicated to do at a line-by-line level, but you should indicate this in broad terms).
Autonomous Agents. You should introduce one or more autonomous intelligent agents into the environment, which use some kind of AI to solve a task.
· Examples of AI could be an AI planning system such as Goal Oriented Action Planning (http://alumni.media.mit.edu/~jorkin/goap.html), a search algorithm such as A* search, a genetic or swarm search, a reinforcement learning algorithm, fuzzy logic, or a hard-coded reactive or state-machine AI.
· The task will be one relevant to the environment: e.g. a robot vacuum cleaner clearing up dirt, a chatbot taking an order from a customer, a trader trying to optimise its returns, a game player trying to get a high score in a game, etc.
Within reason, you can use any language to do this. If you are planning to use anything other than Python, Java, MATLAB/Octave, JavaScript, and standard web technologies such as HTML/CSS, then please mention this in your topic approval.
A Question. You should ask a specific question (or a set of related questions) about your system. For example:
· How do different approaches (a genetic algorithm, an A* search algorithm, a hard-coded heuristic) compare in terms of task performance?
· How does the performance of the system change as we vary the number of agents in it?
· If the system is trained on one version of the environment, does that learning transfer over to a new version of the environment
· How do different kinds of communication/coordination between agents effect the efficiency of those agents on the task?
· How much improvement does storing some information (e.g. a map of the environment) make compared to carrying out the task in a purely reactive way?
· How do different kinds of sensing/perception systems affect the capacity of the agent to carry out its task?
· How sensitive is the agent to error/noise?
A Set of Experiments. You should answer your question by carrying out a set of experiments. Remember the structure that we talked about in one of the lectures:
· implement code that carries out a run of the agent’s behaviour and measures performance
· then, run that code multiple times to get a measure of average performance
· then, repeat that process for the different conditions in your question, and use descriptive statistics, charts/visualisation, and/or inferential statistics (e.g. significance tests) to test your question
Then, you are in a position to discuss the question using these experimental results as your evidence.
If this evaluation involves asking people to interact with your code, then please read the notes on research ethics that are in the Coursework section of the module Moodle page.
Constraint. You should not just run a standard reinforcement learning or convolutional neural networks tutorial on a standard environment from AI Gym or similar, though you can use these as part of your work.
Here are a few examples of things that you could do. You don’t have to do one of these—indeed, we would prefer you to come up with your own idea—but, these would all be acceptable project ideas if you want to do them:
· To take the “robot vacuum cleaner” from the early classes, and experiment with different numbers of robots, and different coordination strategies (e.g. robots try to stay a fixed distance from each other, compared to sharing a map that they build up)
· Contrast random, fixed and planned orders of asking questions in a chatbot, and see (perhaps by doing a brief user test) which one is better.
· Take a number of different trading strategies and run them in the Bristol Stock Exchange system with varying amounts of noise/uncertainty, to see how robust each strategy is.
· Take the “avoid the cats” problem from the class, and compare a number of strategies for the problem: warning the cats vs. moving out of the way, and learning when to act based on a simple statistical approach vs. a decision-tree approach.
· Consider the problem of planning a robot’s movement around a mapped environment (e.g. the map generated from WiFi triangulation introduced in one of the classes). Contrast A* search and genetic algorithms on this problem, and compare them both against random wandering.
Submission
By 3pm on 10th May 2022 you should submit the following. This may be extended if you have a support plan or extenuating circumstances. Late submissions will incur a penalty of 5% per working day, up to 17th May 2022, after which you will receive a mark of zero.
A report, around 2500 words (up to 3500 little longer if you need it), where you describe:
· The core ideas of your project; clearly state the question that you are trying to answer
· A review of relevant ideas, technologies and research papers
· How you designed the environment and agents in order to address that question
· Technologies used, and challenges that you met in doing the implementation
· How you set up and ran your experiments
· The results from your experiments
· A discussion of the question in light of the experimental results
· A conclusion, where you summarise the work, reflect on its successes and limitations, and briefly mention some ideas for how you would take the work forward if you had more time
A copy of your code, either as an upload or a link to a repository
Anything else that you think would be helpful for the markers, e.g. sample outputs from your system, a link to a brief video demonstrating it working, etc.
Academic Integrity
This is an individual assessment that should consist of your own unaided work. You should make any direct quotations clear both by using quotation marks and by providing a clear reference to the paper immediately after the quotation. If you are building on someone else’s code (e.g. our code from the classes, open-source projects, etc.), please make it clear which aspects of the code are your work through the use of comments. The University has detailed advice about academic integrity, and submissions that demonstrate a lack of that integrity will be treated under appropriate disciplinary procedures.
How the Work will be Marked
Marking will take into account:
· background research and how you have used it to contextualise your work
· the choice of task environment and how you have used it/adapted it for your specific project
· the effective use of artificial intelligence and agent-based systems ideas from the course and your wider studies in designing your autonomous agents
· how clear your question(s) are, how well the experiments have been designed to answer them, and your level of rigour in planning and analysing the experiments
· how well the report answers the question by using the evidence from the experiments
· the overall clarity and structure of the report, appropriate use of scientific and technical English, and the quality of charts, diagrams, pseudocode where relevant
· the quality of reflection on the successes and limitations of the work
· (for students doing a presentation) the structure of the presentation, the clarity of explanations, and good use of slides or other visual aids
COMP3004 Marking Scheme
Each of the following descriptors gives a broad idea of the achievement expected for a mark in that range. Clearly, individual projects may fall short in some areas and show excellence in others. The marking should also be adjusted to reflect the intrinsic difficultly of the project.
Guidelines
Marks in this range are reserved for a superb all-round performance. Work done in all aspects of the project go beyond even high expectations. The student has shown a thorough understanding of the problem. All expected tasks have been successfully completed, the project shows depth and engagement with research ideas, and everything has been completed to a high standard. The report could form the basis of a publishable conference/workshop paper.
Excellent contributions to all areas of the project. Exceeded expectations in some areas. Demonstrates knowledge and understanding of the project that is beyond standard resources covered in the module. Clear appreciation of the project as a whole, its adequacies, limitations and possibilities for future development. The project demonstrates insight and depth beyond that usually expected in undergraduate work.
Very good contributions to all areas of the project. Successful completion of the project tasks. Demonstrated initiative and creative problem-solving ability. Able to undertake the work in a competent and independent manner. Able to reflect accurately on adequacy and limitations of the project’s achievements.
Good appreciation of background. A good attempt at applying this to the task, with demonstrated ability to cope with difficulties. Good technical skills in several areas. Whilst most of the core aims of the project have been achieved, it might come a little short in some areas. Good reflective understanding of the project.
Satisfactory background reading and a competent attempt at their tasks. Reasonable technical competence demonstrated. The core task completed satisfactorily, but little achieved beyond that. Able to reflect satisfactorily on the project.
Pass level. Competent background reading and appreciation of the project area. Basic technological competence. Some areas of the core tasks may be incomplete, but a decent attempt has been made at them. Able to reflect in a limited way on the project.
Unsatisfactory. Some attempt has been made at the background reading but clearly only partial understanding of project topic. Incomplete attempt at the core tasks. Weak technical competence. Little ability to reflect adequately on the project.
Inadequate background reading, but shows some limited understanding of how ideas can be linked to the task. Minimal attempt at the core tasks, showing poor understanding. A substantial amount of work is still needed to achieve the core tasks. Minimal reflection on the project.
Minimal attempt at background reading, inappropriate use of material, almost no attempt at core tasks. Very poor understanding of the problem. Minimal or no reflection on the project.
No or almost no significant attempt.
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com