Highlights
This assignment is to be done individually, and contributes 20% of your final mark for this subject. The submission date is Monday 5th October 10:00am. There are five questions, each worth 15 marks. You should attempt all questions.
Submission is electronic and via the LMS. Details of what to submit are provided below each question. Make sure that you follow the directions carefully and that the files are named exactly as specified in the instructions. Do NOT zip your files or use any other archiving process -- submit each of the files individually.
The assignment is to be done individually. You must not collude with other students in any way, and you must not outsource your work to any other party. For information on plagiarism, see the La Trobe University policy on academic misconduct at http://www.latrobe.edu.au/students/academic-integrity.
Penalties are applied to late assignments (5% of total possible marks for that task is deducted per day, accepted up to 5 days after the due date only). An assignment submitted more than five working days after the due date will not be accepted. Delays caused by computer downtime cannot be accepted as a valid reason for a late submission without penalty. You must plan your work to allow for both scheduled and unscheduled downtime.
Question 1 – Game of the Amazons (15 marks)
Game of the Amazons is a two-person strategy game played on a chessboard. Each player has a specified number of amazons, which are placed on the board in some predetermined configuration. Usually the amazon pieces are represented by chess queens. The typical default position is on a 10x10 board as follows:
Each turn consists of two separate movements:
1. A player first moves one of their pieces any number of spaces in any one direction (horizontally, vertically, or diagonally), but it may not cross or enter a square occupied by an amazon of either colour or an arrow.
2. After moving, the amazon shoots an arrow to another square, in any direction from the place where it has landed. Just like movement of the amazon, the arrow cannot cross or enter a square occupied by another piece.
Once an arrow has been fired, the square it lands in is blocked off and can no longer be used. The arrows are represented on the boards below using solid circles.
The goal of the game is to "trap" the opposing player: if a player cannot make a move on their turn, they are the losing player.
A video about the Game of Amazons with mathematician/computer scientist Elwyn Berlekamp can be found here: https://www.youtube.com/watch?v=kjSOSeRZVNg
For this question, you will be investigating a simplified version of the game using two pieces on a smaller board. An example showing two possible moves starting with the configuration below is on the next page.
Instructions
You have been provided with the following two files for this problem:
• Minimax.lisp, which contains LISP code for the minimax algorithm, and
• Amazons.lisp, which contains a working LISP implementation of the simplified Amazons game.
The following LISP interaction show you how to play a game. Try it.
The program plays poorly because it has a poor-quality heuristic. The function static, which evaluates a position from the point of view of a given player, is currently defined as follows:
(defun static (pos player) (- (random 20) 10)
This means that each board configuration is given a random score between -10 and 10 inclusive. The result is that the program plays completely at random.
Your task for this question is to develop and implement a better heuristic for the Amazons game by following the steps below.
The representation
In the game, the player’s pieces are represented by X and O and the squares blocked by arrows are represented by the @ symbol. The coordinates of a board are represented from top-left to the bottom-right, as shown:
The board is represented in the code as a list of rows, from top-to-bottom. To bind the board above to the parameter *test-board* you would write:
(defparameter *test-board*
'((@ nil nil @) (nil nil nil nil) (nil X nil @) (@ nil @ O)))
Thus, the functions described above would behave as follows:
Implementing the heuristic
You are required to write various LISP functions which will be used to define the heuristic. Parts (i) to (iv) ask you to define various helper functions. You will define the actual heuristic in part (v). The code that you write should be in a file named q1.lisp. Do not include any other code in this file other than any helper functions required by the functions below.
This CSE2AIF IT/Computer Science Assignment has been solved by our IT/Computer Science Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.