From: <ÓÉ Microsoft Internet Explorer 5 ±£´æ> Subject: 433-303 Artificial Intelligence Project 2 Date: Thu, 23 Sep 2004 00:32:43 +1000 MIME-Version: 1.0 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cs.mu.oz.au/303/project/projB-2004.html X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 433-303 Artificial Intelligence Project 2

433-303 Artificial Intelligence

Project Part B

Last updated 30 August = 2004


Task

For this project you are required to write a program in = Prolog to=20 play the pipeline game described in Rules of the = Game, and=20 to answer a question about the design and implementation of your = game-playing=20 agent.
 

Testing your agent using the playground

To allow agents to = compete=20 against each other, we will make a playground environment called = p303=20 available which will mediate a game between two agents and print a = commentary of=20 the game.=20

You are required to write your agent so that it is suitable = for use=20 with p303. Using p303 is not compulsory, but is = strongly=20 encouraged. Remember to resubmit your code to p303 every time = you=20 upgrade your program. Please be mindful of the fact that when other = students=20 submit to p303, they are providing their compiled code to you = as a=20 courtesy and in good faith, for diagnostic purposes only. You must not = give the=20 source code for your program to another student under any circumstances, = and any=20 attempt to symbolically dis-assemble or otherwise obtain the code of = another=20 student will be regarded as a very serious breach of the principles of=20 responsible student behaviour. Any = such breach=20 of conduct will lead to failure of the project and formal disciplinary=20 action.

We will provide you with an interface module that = will=20 allow your player to communicate with p303. Your submission = must use=20 the provided interface, must be written Prolog, and must be compiled = using the=20 local installation SWI Prolog (pl).=20

Submissions are expected to be well documented. You should refer to = interfac= e.html=20 for more information about the interface files and documentation = requirements.=20

Our Question

Your submission should include an answer to the = following=20 questions:=20

Question 1: Describe the algorithm you have implemented; include a=20 description of the representations and data structures you have used, = as well=20 as any search algorithms, heuristics or other methods you have = employed, and=20 why you think they are appropriate for this task. Briefly explain the = reasons=20 for your design decisions, in terms of functionality and efficiency. = Where=20 possible, you should provide theoretical or empirical evidence to = support your=20 claims. In particular, how does the performance of your agent change = as you=20 vary the number of ply (i.e., the number of moves) that it looks = ahead. Note=20 that you can test your program by playing against itself with = different levels=20 of look-ahead. If you have tried to implement some additional = improvement but=20 have not been successful, you might like to "comment out" that portion = of the=20 code and mention it in your explanation.

Question 2: How would you use machine learning techniques to = improve your=20 agent? We do not expect you to implement these techniques, but you = should=20 explain how machine learning can be applied to this=20 problem.

Assessment

This project will be marked out of 24 points, and = contribute=20 24% to your final mark for the subject. The program itself will be = marked out of=20 16 points; the answer to the question will be marked out of 8 points. = Your=20 program should at least be able to play on a 4x4 board. However, if you = want to=20 obtain full marks your program will be required to run on an arbitrary = size NxN=20 board. High marks will only be achieved by those submissions that are = judged to=20 be creative, insightful and concise, including a high quality program. = Late=20 submissions will incur a penalty (see below). Your program should = include=20 comments where appropriate and will be marked for style, readability and = originality as well as efficiency and functionality. The functionality = of your=20 program will be tested by running it against a number of benchmark = players, of=20 varying skill levels, written by the lecturer and the tutors.=20

Submission

You must submit on a Computer Science machine by 5:00pm on Thursday, = 7=20 October 2004, using the command

submit 303 B list of =
files
For example:

submit 303 B playerint.pl=20 player.pl
or
submit 303 B playerint.pl player.pl=20 fred-extra.pl
if the user fred has part of his/her program in = the=20 file fred-extra.pl, which is included by player.pl.

Verify your=20 submission using the command
verify 303 B | more

Late submission will be done using the command

submit 303 B.late list of files

Late submissions will incur a penalty of two marks per day (or part = thereof).=20 If you cannot submit on time you should contact the head tutor Olivia=20 March  (oliviacm at cs.mu.oz.au) via email (use the subject header=20 `303-projB-extension') at the soonest = possible opportunity (this generally means before the = deadline).=20 If you have a medical reason for being late, you will be asked to = provide a=20 medical certificate. We will then assess whether an extension is = appropriate.=20 Note that computer systems are often heavily loaded near project = deadlines, and=20 unexpected network or system downtime can occur. You should plan ahead = to avoid=20 leaving things to the last minute, when unexpected problems may occur.=20 Generally, system downtime or failure will not be considered as grounds = for an=20 extension.

Do not use submit as a test = environment=20 for your program.

Group submissions will not be allowed. = You are=20 encouraged to discuss ideas with your fellow students, but your program = should=20 be entirely your own work. Automated similarity checking software will = be used=20 to compare all submissions with each other. If you program is found to = be=20 suspiciously similar to someone else's, you may be subject to = investigation and,=20 if necessary, punitive action. Please refer to Student Manual = Volume=20 A if you need further clarification on this point.

Hints

Almost everything you have learned about game playing in = this=20 course could potentially be relevant to this project. If you might want = to start=20 by writing  an agent that uses minimax search, and then upgrade = your agent=20 to use alpha-beta pruning once your agent is working. Additional hints = might be=20 provided in QandA-B.ht= ml=20 as the project progresses. Questions and answers posted to the Q&A = page will=20 be considered as part of the specification for the project. If you have = a=20 question that is not answered by the Q&A page, then it can be = directed to=20 the head tutor Olivia March (oliviacm at cs.mu.oz.au), or you can use = the cs.303=20 newsgroup for general discussion with other students.=20

Good luck!