ECS7002P: Artificial Intelligence in Games
Set: 7 October 2019 Due: 8 November 2019
AI for Pommerman
The first assignment for ECS7002P consists of creating a controller for Pommerman. You will work in groups of three students. You can use any of the techniques seen so far during the module: classical decision making algorithms (Decision Trees, Finite State Machines or Behaviour Trees), model-based methods (Monte Carlo Tree Search or Rolling Horizon Evolutionary Algorithms) or reinforcement learning algorithms.
The goal of the assignment is to create one agent, which you must compare against other agents in the framework (or previous iterations of the same agent you submit), describing your findings in a report. For instance, you can iteratively build improvements on a given agent and report how these improvements made the agent better. This comparison must be done in:
2 different observability settings: Fully observable and a vision range of 2. 5 different levels, with 10 runs per level and observability setting.
You can choose between FFA or TEAM modes (or both).
Grading
More complex methods (model-based / free algorithms) will be valued higher than classic algorithms (DTs, FSMs or BTs), always respecting an appropriate implementation and experimental process. You cannot submit any of the sample agents provided with the framework, but you can build improvements upon them.
You will receive extra marks if you tackle at least one of the following topics (the better the treatment, implementation and analysis, the higher the marks):
Partial observability: your agent may tackle the problem of partial observability, creating assumptions and managing the fog of war.
Opponent modelling: your agent must implement an effective (and more complex than DoNothing or Random) system to model the opponent behaviours. This can be either learnt (online or offline) or reactive to the players your agent competes against.
Whatever your improvement is with respect to the original methods, an appropriate experimental process must be followed in order to show the impact of your modifications.
1
Finally, a competition will be run between all submitted agents. This competition will be run in FFA mode with full observability. The winner of the competition will get extra 15% marks and the other 3 finalists will receive a 5% extra mark. Note that your agent may be disqualified if your agent times out often or for long periods of time.
Submission
Remember that you must be part of a group in QMPlus before submitting your assignment.
The group submission consists of two parts: the code of your agent and a report with your findings. The mark breakdown is as follows (out of a 100%):
Code (20%): code of the agent implemented. The code will be assessed attending its correctness and clarity, as well as the presence of comments that explain the most critical parts of the agent. Note the following:
The code must include a README file that describes how to run the agent (i.e. how to call the constructor of the agent, plus any other initialisation instructions).
All that is needed to run your agent must be in a package with the name group{GROUP LETTER} (i.e., package groupA). Note that no modifications that you make outside of this package will be carried over for marking and running the competition (this is, you cant change the game). Double check that you can run your agent in a fresh version of the repository on its own, before submission.
Written report (80%). The report must be written with the following structure:
Abstract: A summary in a 70-150 words paragraph. Motivate the research and explain your findings.
Introduction: Initial introduction to the problem, motivation and outline of the rest of the report.
Pommerman: Brief description of the framework and the game. Literature review of what has been
done in research before in this and similar benchmarks (i.e. benchmarks where there are multiple
players).
Background: Explain here the algorithm that the submitted agent is based on, including literature
review if needed. Write this section as if the reader knows nothing of this particular assignment, just
some basic knowledge of AI. It must be understandable for people outside this class.
Experimental Study: Describe the experimental study performed, analysing the results.
Discussion: Overall discussion of the results obtained in the experiments (what are the findings?)
Overall conclusions (a critical summary of the work and findings of the project) and potential
future work.
References (using an appropriate referencing format).
The report must be written using one of the templates1 (Word or LaTeX) provided in QMPlus and
it should be approximately 2500 words long. The report will be assessed attending factors such as its contents, clarity, explanations, references, replicability, experimental process followed, complexity of the approach, etc.
Read the Report Writing Guidelines uploaded to QMPlus for advice on how to write a report for this assignment.
Additionally, you must submit an individual reflection of the work done. This is a text no longer than 300 words in which you describe the work that each member of the group has done during the project.
The submission of the assignment must be done through QMPlus. You submit three files:
As a group, a zip file with the source code of the agent (no need to include the framework) and a PDF file with the final report. Only one submission per group is necessary.
The individual reflection on the work done, in a PDF file. One submission per student.
1Templates are there for the format. Modify sections and section titles to adjust it to the ones requested here. 2
Reviews
There are no reviews yet.