TDDD10 AI Programming
The Team Assignment
Goal
Each group should complete the Team Assignment. The purpose of the assignment is to learn how to design and implement a multiagent system, in this case a RoboCup team.
Instructions:
- Participate in the Team Challenge. Deadline: 9/10 first version, 7/12 final version.
- Present the team at a seminar (12 December).
- Write a team description report (PDF) which gives an overview of the team including the techniques used. Deadline: 7/1 2013
In the team challenge the skills created in the skill assignment are used to implement scaled down teams consisting of 5 attackers playing against 4 defenders and a goal keeper. The focus is on implementing and evaluating techniques for multiagent systems. You are still allowed to change the skills and might have to add new skills, but the main emphasis should be on designing and implementing the decision making in the agents.
Examination:
The examination of the team assignment is to enter your agents in the weekly team tournament and to write a report describing your team. Every week, starting week 40, each group's attackers compete against all other groups' defenders as well as the predefined teams defining the grade levels. To enter your team in the tournament email the id of the subversion revision of the code you want to enter. This means that the code must be checked in the SVN repository. The code is compiled with make so make sure the code really compiles. Only a single entry is allowed each week.
The team report should be written for students in the AIP course and give an overview of how the team works, what techniques are used and how they are integrated. The report should be 5-6 pages, but it is more important to make it possible for the reader to understand your team than to get the exact right number of pages. However, it is an art to write short, concise and to the point, so writing more than 6 pages is only positive if you fill it with relevant and well written content.
Grades
The assignment is graded based on the quality of your team report and the performance of your team in the team tournament. The grade on the report is based on its quality, such as readability, language, pictures, structure and length, and the level of technical detail weighted with the difficulty of the chosen approaches. The grade for the team tournament is equal to the highest level predefined team you beat in the final team tournament. To pass the team assignment a group must submit an entry which beats the grade 3 team. The total grade on the assignment is based on the report and if your team perform well, it can gives bonus point to reach a higher grade.
Cheating
The team challenge should be implemented separately by each group. It is allowed to discuss with others but it is not allowed to share code. It is allowed to use external libraries as long as the logic describing the behavior of the agents is written by your group. Failure to comply with this rule is the same as cheating on an exam.
Time assigned
6h Le, 4h Se, 20h La, 20h homework
Advice
- Start with very simple agents. Basic decision trees in the form of if-then-else rules is a good start.
- Look at other teams and see what they have done. A good place to start is the UvA Master's Theses.
The Team Challenge
In the Team Challenge each group should implement five attackers trying to score, and four defenders and a goal keeper trying the prevent the attackers from scoring.
Setup
The setup of the team challenge is that five attackers are placed on the far left side of the right side of the field with one of them having the ball kickable while a goal keeper is placed on the goal line and four defenders are placed in the penalty area. The aim of the attackers is to score and the aim of the defenders is to prevent the attackers from scoring. The attacker succeeds if a goal is scored and the defenders succeed if either the goal keeper catches the ball, the ball leaves the right side of the field or the attackers does not score within 600 cycles. If there is a kick-in or a throw-in, the game continue. A "team" message is sent by the trainer to each agent when the scenario starts.
Testing and Evaluating
In the Team Challenge the defenders and attackers always start in the same position. The only difference is which attacker has the ball at the start. A difference compared to the skill challenge is that IDAs servers might not be powerful enough to run all agents. It is therefore possible to specify which server should host the agents. This is done by making the first argument to test_team the name of the attacker server and the second argument the name of the defender server. The available servers are zaza1-zaza12. Be sure that the server is Not overloaded or used by another AIP group or your team might not work as expected. The soccer server and the trainer will be started on localhost.
- To test your attackers running on host1 against the
official goalie and defenders on grade level grade running
on host2 use the following script:
test_team <your AIP group number> host1 host2 --grade <grade> --attacker <the command to start your agent> --random-instance <the number of instances to run>
Example (aip1 attackers on zaza3 against level 3 defenders on zaza4 5 times): test_team 1 zaza3 zaza4 --grade 3 --attacker ~/ourteam/Team --random-instances 5 - To test your goalie and defenders running on host2
against the official attackers on grade level grade running
on host1 use the following script:
test_team <your AIP group number> host1 host2 --grade <grade> --defender <the command to start your agent> --random-instance <the number of instances to run>
Example (aip1 defenders on zaza2 against level 4 attackers on zaza10 10 times): test_team 1 zaza10 zaza2 --grade 4 --defender ~/ourteam/Team --random-instances 10 - To test your attackers running on host1 against your
defenders running on host2 use the following script:
test_team <your AIP group number> host1 host2 <the command to start your agent> --random-instance <the number of instances to run>
Example (aip1 attackers on zaza2 against aip1 defenders on localhost 5 times): test_team 1 zaza2 ~/ourteam/Team --random-instances 5
Page responsible: Fredrik Heintz
Last updated: 2012-10-03
