Presentation is loading. Please wait.

Presentation is loading. Please wait.

Maven: World-Championship- Caliber Scrabble Tim Ott April 8 th, 2005.

Similar presentations


Presentation on theme: "Maven: World-Championship- Caliber Scrabble Tim Ott April 8 th, 2005."— Presentation transcript:

1 Maven: World-Championship- Caliber Scrabble Tim Ott April 8 th, 2005

2 Scrabble: Rules and Human Strategy Create words with the constraints of a crossword puzzle using the tiles on your rack Create words with the constraints of a crossword puzzle using the tiles on your rack Scores given based on letters used and placement of word Scores given based on letters used and placement of word Game ends when one player is out of tiles and there are none left to draw Game ends when one player is out of tiles and there are none left to draw A bingo is when a player uses all 7 tiles in one turn (50 point bonus) A bingo is when a player uses all 7 tiles in one turn (50 point bonus) 4 phases of human strategy 4 phases of human strategy Search for a bingo Search for hot spots Try to improve upon the result found Consider the rack leave

3 Overview of Maven Vocabulary Vocabulary Move generation Move generation Simulation Simulation Endgame Endgame Pre-endgame Pre-endgame

4 Move Generation – Appel and Jacobson Directed Acyclic Word Graph (DAWG) for representation of dictionary Directed Acyclic Word Graph (DAWG) for representation of dictionary Construct a letter trie by subdividing list by the first letter. Search tree whose root node has 26 pointers. Continue recursively until every list has zero entriesConstruct a letter trie by subdividing list by the first letter. Search tree whose root node has 26 pointers. Continue recursively until every list has zero entries Reduce all identical subtrees (-s,ing, etc)Reduce all identical subtrees (-s,ing, etc)

5 Move Generation – Appel and Jacobson Algorithm Algorithm Scan the board for places where a word could connect to letters already on the boardScan the board for places where a word could connect to letters already on the board Build up the word incrementally by using letters in the rack and on the board near the proposed attachment positionBuild up the word incrementally by using letters in the rack and on the board near the proposed attachment position With the DAWG data structure, this search becomes one dimensionalWith the DAWG data structure, this search becomes one dimensional Crosschecks – when making an across play, the newly placed tiles must also form down words with adjacent tiles. Crosschecks – when making an across play, the newly placed tiles must also form down words with adjacent tiles. This can be computed before the search and can be represented using bit vectorsThis can be computed before the search and can be represented using bit vectors Anchors – leftmost square for a new tile adjacent to a previous tile. Anchors – leftmost square for a new tile adjacent to a previous tile. New Search Problem – Given a rack of tiles, the contents of a row, and the crosschecks and anchors of that row, compute all legal plays New Search Problem – Given a rack of tiles, the contents of a row, and the crosschecks and anchors of that row, compute all legal plays

6 Move Generation - Heuristics Maven scores each move as it generates it Maven scores each move as it generates it Then passed to a handler function where heuristics are applied for choosing a move Then passed to a handler function where heuristics are applied for choosing a move Each identifies up to 10 candidate movesEach identifies up to 10 candidate moves Merging results in 20-30 movesMerging results in 20-30 moves Rack evaluation Rack evaluation Trade off between present and future scoringTrade off between present and future scoring Values for individual tiles, duplicates, triplicates, and QUValues for individual tiles, duplicates, triplicates, and QU Learned which combinations affected the gameLearned which combinations affected the game Also uses: tiles in bag vs. tiles on rack, vowel/consonant balance, U-With-Q-Unseen, and First-turn opennessAlso uses: tiles in bag vs. tiles on rack, vowel/consonant balance, U-With-Q-Unseen, and First-turn openness Board evaluation Board evaluation Neutral with one exceptionNeutral with one exception Triple word squaresTriple word squares Table of penalties for opening triple word squares Table of penalties for opening triple word squares

7 Endgame Begins when all the tiles are out of the bag Begins when all the tiles are out of the bag Game of perfect information Game of perfect information Must score, but more important to go out first Must score, but more important to go out first Use alpha beta search? No, too many drawbacks Use alpha beta search? No, too many drawbacks Answer: B* Answer: B*

8 B* search Adversarial search algorithm with two values at each node (optimistic, pessimistic) Adversarial search algorithm with two values at each node (optimistic, pessimistic) Best move? The pessimistic value of an arc at the root must be no worse than the optimistic value of any of the other arcs at the root Best move? The pessimistic value of an arc at the root must be no worse than the optimistic value of any of the other arcs at the root Strategies from the root Strategies from the root Prove best – raise the lower bound of the most optimistic node so that it is not worse than the upper bound of any of its sibling nodesProve best – raise the lower bound of the most optimistic node so that it is not worse than the upper bound of any of its sibling nodes Disprove rest – Lower the upper bounds of all nodes at depth 1 so none are better that the lower bound of the most optimistic nodeDisprove rest – Lower the upper bounds of all nodes at depth 1 so none are better that the lower bound of the most optimistic node Different than best first search: Different than best first search: Only interested in finding the best first step toward a goal. It is senseless to extend a branch the value of which is sufficient for the proofOnly interested in finding the best first step toward a goal. It is senseless to extend a branch the value of which is sufficient for the proof Can choose a strategy whenever it is at the root.Can choose a strategy whenever it is at the root.

9 B* Search 22,25 15,30 [-,] [19,10][22,8] 23 [19,25] 22 [15,26] 25,22 [30,15] [22,30] [26,22] [25,23] 15,30 [-,] [30,15] 15 [22,8] [8,15] 14 [19,10] [10,14] 1 2 3 2 1 Prove BestDisprove Rest

10 Pre-Endgame Begins when there are 9 tiles left in the bag Begins when there are 9 tiles left in the bag Goals Goals Obtain a good endgameObtain a good endgame Avoid the QAvoid the Q Block openingsBlock openings Create chances for your own good playsCreate chances for your own good plays Probabilistic analysis Probabilistic analysis Weight likelihood of all possible racks an opponent could haveWeight likelihood of all possible racks an opponent could have Search for plays that are not blocked by a certain moveSearch for plays that are not blocked by a certain move Unclear benefits Unclear benefits Helps when Maven is ahead but not when Maven is behindHelps when Maven is ahead but not when Maven is behind


Download ppt "Maven: World-Championship- Caliber Scrabble Tim Ott April 8 th, 2005."

Similar presentations


Ads by Google