Wap for intelligent agent able to play block dominoes game, Programming Languages

Assignment Help:

Objective:

In a programming language of your choice, write an intelligent agent able to play block Dominoes against a player. Together with this assignment you will find two papers that will give you a very clear understanding of the game and how to use AI techniques to play it.

Block Dominoes Rules (Two Players)

Number Of Players: 2 (Computer (Agent) VS. Player)

Domino Set Required: Uses a double-six set.

Setup:

After shuffling the dominoes, each player draws 7 tiles to make up their hand. The remainder of the tiles in the boneyard is used for drawing.

Game play:

The player with the highest double places the first domino. Play proceeds to the left (clockwise). Each player adds a domino to an open end of the layout, if he can. For instance, the game is well in progress, and the "blank" and "1" are the open ends. Note that the layout may flow in any direction, turning as necessary. Note also that dominoes having the same number (e.g., 6-6, 1-1, etc.) are placed in the customary crossways orientation, though you may just as properly place it in an inline orientation. A player that cannot make a move must draw tiles from the bone yard until either he gets a valid tile for an open end of the layout or the bone yard is empty. The game ends when one player uses the last domino in his hand, or when no more plays can be made. If both players still have tiles in their hand, but can more no moves can be made, then the game is said to be "blocked", and the player with the lightest hand (i.e. the number of dots on their dominoes) wins.

Evaluation:

The evaluation process for this assignment will proceed according to the following steps:

1) Emulation (We will provide a real Block Dominoes for play). In order to evaluate that your agent is able to play this game, we will emulate it. We will start shuffling real block dominoes. A team member will draw 7 tiles for using these as input to his agent. If he drew the tile 6-6, then his agent will start playing. Otherwise, it will wait for a signal to know who will start playing. After this, the play must proceed according to aforementioned rules. A team member will be in charge of introducing the information regarding each player's move to the agent in order to follow the game, but just the agent must provide the next tile to play anytime. The agent must be able to recognize when it wins.

2) Intelligence. In order to evaluate how intelligent your agent is, we will start a new round, but we will provide your agent with a winner hand (i.e. the seven tiles of a number, 6-6 6-5 6-4 6-3 6-2 6-1 6-0) and the player will have a bad hand (e.g., 1-1 2-2 3-3 4-4 5-0 1-3). The agent must be able to win.

Finally your code should be sufficiently documented that the TA can read and understand the operation of your code.

I have been receiving some questions regarding homework 3, so I would like to clarify them for all of you.

1) The evaluation process will based on a real round using real tiles, so your code must not emulate this game, you were asked for an interactive agent which will play against a real player based on a real scenario where just limited information is available for your agent.

2) During evaluation process, I will provide a real dominoes for play, as I explained in our special session, after shuffling real tiles in the board, we will start playing as a real round using these real tiles. I mean, a team member  and I will choose 7 tiles and we will leave the rest of tiles (14 tiles) for the boneyard.

3) You will allow to input your 7 initial tiles in any format.

4) Your agent will not able to know neither my tiles nor boneyard's tiles. I mean, YOU ARE NOT ALLOWED TO INTRODUCED THESE TILES, THEY WILL BE HIDDEN FOR YOUR AGENT.

5) I will provide you the starting tile, namely, 6-6. So, your agent will be first playing.

6) After start, we will continue playing as rules of game are indicated, but only your agent will be in charge of choosing tiles to play for you.

7) During round, you will allow to input the following information: any tile played by your opponent, open ends, number of tiles drew by your opponent, tiles that you drew if required.

8) If your agent has a valid tile for any open end, it is not allowed to draw any tile.

Finally, a GUI is not required, so DON'T SPEND TIME DEVELOPING IT, PLEASE REMEMBER THE MOST IMPORTANT PART IS THE ARTIFICIAL INTELLIGENCE MODULE.


Related Discussions:- Wap for intelligent agent able to play block dominoes game

Implement a lunar lander simulation, 1. Modify your solution to #8 so that ...

1. Modify your solution to #8 so that if an ellipse is touched by the mouse, it turns permanently green.Bonus (up to +5): a green ellipse stops moving, but recovers after 5 seconds

Mathematical expression of linear programming problem, A Consultant Dietici...

A Consultant Dietician provides diet and nutritional advice to clients. A client's diet requires that all the food s/he eats come from one of the four "basic food groups" (chocolat

Dating game program, You are to write a program that determines the day of ...

You are to write a program that determines the day of the week for New Year's Day in the year 3000. To do this, you must create your own date class (MyDate) and use the following i

Difference between MOV and MOVS, 2. TEST & AND TEST is like CMP, it is used...

2. TEST & AND TEST is like CMP, it is used for conditional statement, and doesn’t save the answer. AND is logical multiplication. 3. INS & IN IN is used for data transfer from I/O

CGI mailer Script, i neeed an CGI Script that send mass emails i need this...

i neeed an CGI Script that send mass emails i need this input fields Sender Name: Sender Email: Subject: Message: choose (HTML Or text ) , by default HTML Emails and send bu

Introduction to javascript, This is the programming language of the Web. It...

This is the programming language of the Web. It is mainly used for validating forms. JavaScript & Java can be associated to each other. There exist several other differences betwee

Matlab, Determine the moment of force about the point where a bracket is at...

Determine the moment of force about the point where a bracket is attached to a wall. the bracket is shown in figure attached. it extends 10 inched out from the wall and 5 inched up

Class a abstract data type, Class a Abstract Data Type: is a template for c...

Class a Abstract Data Type: is a template for creating objects. A class describes a collection of related objects i.e. instances of the classes. Basically classes are user-defined

Identify the type of addressing, specify the function of the instruction an...

specify the function of the instruction and also specify whether its right or wrong-: (5) 1) MOV [BX],AX? Register Indirect addressing 2) MOV CX,[BX+DI]?Base plus index add

Get variable data, How do i get back data from a FOR loop in order to prin...

How do i get back data from a FOR loop in order to print them on screen?

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd