讲解:CSE4705、Intelligence、Python,c/c++,JavaProcessing|SQL

CSE4705 - Introduction to Arti�cial Intelligence November 3, 2019Project - Konane ¯1 Final Project Overview�e �nal project for CSE 4705 is to develop a player for the Hawaiian game of Konane which learns from its ¯experience. At the end of the semester, you will join in a competition with other Konane players developed ¯by your classmates.While the overall goal of this project is to develop as e�ective a Konane player as possible (i.e., one that ¯will perform well in the tournament), the speci�c goal is to develop a player that learns from its experience.To this end, your player will choose its moves based solely on a search of the game tree and evaluationof game states. Speci�cally, the encoding of openings, endings and other move sequences is expresslyprohibited. More information about what is allowed is provided below�ese projects will be cone in teams of three to four students. Teams of other sizes must be approvedby the instructor. �e expectations are the same for all teams, regardless of team size.Konane Game Overview ¯Konane is a native Hawaiian game played in preliterate Hawaii. K ¯ onane was popular among all classes ¯and genders unlike some other games that were taboo to one class or gender. A game sometimes lasted anentire day and o�en matches consisted of a large number of games.�e Game BoardKonane is played on a rectangular game board divided into a grid of squares or indentations for game ¯pieces. Boards of di�erent sizes and dimensions existed. �e number of rows ranged from 8 to 13, andthe number of columns from 8 to 20. Each position on the game board had a hole or indentation for thegame pieces. �e center of the board was called piko (navel). �e row along the borders of the boardwas termed kaka’i . Before starting play, the board positions were �lled with alternating black and whitestones. Local beaches provided basalt and coral pebbles for game pieces, whose preferred size was underan inch in diameter and slightly �a�ened rather than spherical.Your version of Konane will be played on an ¯ 18 × 18 board. �e board rows are numbered from 1 to18 and columns denoted by the le�ers a through r.Game PlayInitial Player MovesEach game begins with a full game board as shown in Figure 1. One of the two players is selected uniformlyat random to move �rst. �e selected player removes one game piece from the board. �e player may selecteither one of the four corner pieces or one of the four center pieces on the board as shown in Figure 1.a b c d e f g h i j k l m n o p q rFigure 1: �e starting Konane board. ¯With this selection the �rst player to move selects the color of the pieces they can move for the remainderof the game. �e other player’s �rst move is to select one of the pieces horizontally or vertically adjacent tothe piece removed by player 1, to remove from the board. �e piece selected must be of the alternate colorfrom player 1 and will be the color of the pieces moved by player 2 for the remainder of the game.Subsequent Player MovesA�er the initial moves, Player 1 and Player 2 will alternate moves for the remainder of the game. Eachplayer, in turn, will select one of their pieces to move. A move consists of jumping, and removing fromplay, a piece of the opponent player. Moves may only be made in the horizontal or vertical direction. �atis, no diagonal moves (jumps) are allowed in Konane. A player’s piece which jumps an opponent’s piece ¯must land in the space immediately beyond the opponent piece. �is space must, of course, be vacant inorder to be able to execute the jump. If a player’s piece is able to jump another piece of their opponentin the same direction, then the player may jump the additional piece of their opponent at their discretion.�ere is no penalty for not executing multiple jumps even if the opportunity exists. Any and all opponentpieces which are “jumped” are captured and removed from the game board.Endgame and Winning�e �rst player who is not able to make a move during their appointed turn loses the game. �e numberof captured pieces is irrelevant. Players may be unable to move due to either all of their pieces beinga b c d e f g h i j k l m n o p q rFigure 2: Selecting a piece for removal from the Konane board. ¯代写CSE4705、代做Intelligence、Pythocaptured or having a board con�guration which does not o�er them any moves from which to choose. �elast player to move is deemed the winner.Client Players and CompetitionLanguage and EnvironmentYou are free to use any programming language (or languages) you choose to develop your player. However,it must be able to compete as a client using the Artemis Konane server. See the document “�e Artemis ¯Server Protocol” for more information on the server. A player who a�empts to make an illegal move losesimmediately and without warning. We will play using a game clock. If your player exhausts its allo�edtime, your player loses the game.You may choose to represent the game state however you like. But, you must communicate with theserver using its representation.Wherever you care running your client, it will need to be available at the �nal competition, which willbe in the location selected by the University for your �nal examination. Make sure it is feasible to run yourclient player with the server well before the competition.Project DebriefEach team will meet with the instructor (scheduled during class time as much as possible) during the �nalweek of the semester. Each debrief will last approximately ten minutes and will involve discussion of your3program design, how your program updates its evaluation function, and how you trained it.1.1 �e Tournament�e tournament will be held during �nal exams. We will have a round-robin tournament (where eachclient plays each other client), followed by a two-game �nal round for the two top programs (best of threewins including the earlier match). For this to be feasible, we will allow three minutes per player in eachmatch.Documentation and DeliverablesEach team will submit a report that includes appropriate design documentation for your client, a descriptionof the factors used by your evaluation function and a description of how your program was trainedand evaluated. It should also include documented code for all of your programs. �is report should documenthow your program progressed over time. It should show how the evaluation function changed as afunction of the games it played.What is Allowed?Your program will choose moves based on limited lookahead, using a board evaluation function at theleaves. Your board evaluations should be a function of observable board features that estimates the Minimaxvalue of the state. Samuel used a set of 25 board features for his Checkers player plus 12 “binaryconnective” terms, as his parameters. �ese may serve as a guide for parameters in your evaluation function.Starting from an evaluation function with arbitrary coe�cients, your client should learn a be�er evaluationfunction by playing games. We will look at a number of possible techniques for doing so (Chapter21 in particular; Samuel also provides information on what he did for Checkers). However, feel free toapply other techniques.Bo�om line: Your program can learn to evaluate boards by playing with any other players, but it mustalways make its own moves. So, Samuels method of playing book games is not allowed and the use ofopening or endgame databases is prohibited.1.1.1 Endgame VariationsExperience shows that endgames are di�cult to do with the same evaluation function that was used inearlier game play. �ere are fewer pieces, hence fewer features. Also, di�erent features may have greatervalue when trying to end the game, etc. We will, therefore, allow programs to change behavior once duringthe game. From then on, it can use a di�erent board evaluation function and search depth. As with anyboard evaluation, it must be based on learned feature weights, not encoded endgame knowledge. If youchoose to use this feature, your client can only change to endgame mode once in a game and must remainthere until the end of the game.GradingGrades will be assigned based on a linear function of the quality of your report, the debrief, and how wellyour client does in the tournament with weights approximately 0.4, 0.3, and 0.3 respectively. However,4winning the tournament will be given extra weight, so the winner is virtually guaranteed an A unless theteam neglects to produce a report or participate in a debrief.5转自:http://www.6daixie.com/contents/3/4464.html

你可能感兴趣的:(讲解:CSE4705、Intelligence、Python,c/c++,JavaProcessing|SQL)