Highlights
PROBLEM 1: Multi-player Games (60 points)
Four players are playing a game which is illustrated in the following Figure:
Player 1 is initially positioned in square [1,1], Player 2 is positioned in square [1,4], Player 3 is positioned in square [4,4] and Player 4 is positioned in square [1,4]. The player that will reach first the diagonally opposite position will win the game. Player 1 will start the game, followed by Player 2, Player 3 and Player 4.
All Players can move either up, down, left or right, if the square in that direction is available and not occupied by any other player.
For example, Player 1 initially can move only to the right or down.
Question 1: How do you represent each node of the game? (3 points) How is the initial node of the game represented? (1 point)
Programming Assignment for Problem 1:
A. Write code that generates the game tree for this multi-player game. (15 points) The output should use the following format: [Current player =???| Father node (if not initial node) =???| Action= ????| Current game node =???| if the game node is repeated, write REPEATED; if the current game node corresponds to a winning situation for one of the players, write WINS[PLAYER???]]
Question 2: Draw the game tree based on the output of your code. (11 points)
Question 3: If Player 1 wins, the utility should be 200. If Player 2 wins, the utility should be 300. If Player 3 wins, the utility should be 400 and if Player 4 wins, the Utility should be 500. In any case, because this is not a zero-sum game, the other players also receive utility values:
? When Player 1 wins, Player 2 receives utility=10, Player 3 receives utility=30, and Player 4 receives utility=10;
? When Player 2 wins, Player 1 receives utility=100, Player 3 receives utility=150, and Player 4 receives utility=200;
? When Player 3 wins, Player 1 receives utility=150, Player 2 receives utility=200, and Player 4 receives utility=300;
? When Player 4 wins, Player 1 receives utility=220, Player 2 receives utility=330, and Player 3 receives utility=440;
If the minimax values of the repeated states shall be ignored, compute the MINIMAX values in all other states of the game, using the following program assignment.
Programming Assignment for Problem 1: (15 points)
B. Write code that computes the MINIMAX values for all non-repeated game nodes and display the values of MINIMAX in the following format:
[Current player = …| Father node (if not initial node) = …| Action= ????| Current game node =…| if the current game node corresponds to a winning situation for one of the players, write WINS[PLAYER???]| MINIMAX = ?????]
Question 4: Place the MINIMAX values for each non-repeated game state in the drawing of the game tree based on the output of your code. (15 points)
Extra-credit:
Programming Assignment for Problem 1:
C. If you allow an additional action for the game, namely that any player can jump over an occupied square, and represent this new action as : Jump+Down, Jump+Left, Jump+Right or Jump+Down, modify your program to generate the new game tree. Produce the output in the same format as when doing assignment A. (10 points) Comment on the difference between the game trees: Which player won faster in which variant of the game??? Are the repeated states any different? (10 points)
PROBLEM 2: Alpha-Beta Search (26 points)
PROBLEM 3: Chance Games (14 points) Given the following game tree:
Software Engineering (includes documentation for your programming assignments)
Your README file must include the following:
• Your name and email address.
• Homework number for this class (AI CS6364), and the number of the problem it solves. • A description of every file for your solution, the programming language used, supporting files from the aima code used, etc.
• How your code operates, in detail.
• A description of special features (or limitations) of your code.
Within Code Documentation:
• Methods/functions/procedures should be documented in a meaningful way. This can mean expressive function/variable names as well as explicit documentation. • Informative method/procedure/function/variable names.
• Efficient implementation
• Don't hardcode variable values, etc
This CS 6364 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.