Artificial Intelligence of a Scrabble System

Slides:



Advertisements
Similar presentations
Exploring Machine Learning in Computer Games Presented by: Matthew Hayden Thurs, 25 th March 2010.
Advertisements

Maven: World-Championship- Caliber Scrabble Tim Ott April 8 th, 2005.
Word game for 2-4 players. Form words cross- word style using letters of different values. High score wins! Good player scores in the range.
WSP ( WORDS PARTY ) Chan Chon Kin, Eddie Tam Sui Ki, Harriet Cheong Kin U, Barbara.
Heuristic Search techniques
Galit Haim, Ya'akov Gal, Sarit Kraus and Michele J. Gelfand A Cultural Sensitive Agent for Human-Computer Negotiation 1.
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
Crawling, Ranking and Indexing. Organizing the Web The Web is big. Really big. –Over 3 billion pages, just in the indexable Web The Web is dynamic Problems:
Multi Card Problem Which card do I use when I am at a point of sale to maximize rewards? Choose Randomly ? Build & Solve a complex equation to choose the.
From Training Games, Inc. Games to Train Computer Solutions for Business and Corporate Training Quick Start Tutorial for using and playing the Excel TGI.
CS 4700: Foundations of Artificial Intelligence Bart Selman Reinforcement Learning R&N – Chapter 21 Note: in the next two parts of RL, some of the figure/section.
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Application of Artificial intelligence to Chess Playing Capstone Design Project 2004 Jason Cook Bitboards  Bitboards are 64 bit unsigned integers, with.
Artificial Intelligence in Game Design
Artificial Intelligence in Game Design Introduction to Learning.
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
“You Sunk My Iceberg!” An Android Game. By: Kevin Morillo, James Redway, and Ishmael Smrynow.
Scrabble 101. Overview What words to use How to make plays Two letter words Bonus squares.
THE RENJU GAME BY ABHISHEK JAIN, PRANSHU GUPTA & RHYTHM DAS PCLUB SUMMER PROJECT PRESENTATION JUNE, L7 IIT KANPUR MENTOR – SANIL JAIN.
Improvements and Extensions of the EG Interface Fall 2002.
Pusoy AI Nelson Monterroso David Patierno Patrick Mariano Shane Watson pusoyai.com.
A Study of Computational and Human Strategies in Revelation Games 1 Noam Peled, 2 Kobi Gal, 1 Sarit Kraus 1 Bar-Ilan university, Israel. 2 Ben-Gurion university,
Chess Merit Badge Chess Basics: Set Up the Board & Basic Rules by Joseph L. Bell © 2011.
Early Design Process Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin.
CPSC 171 Introduction to Computer Science 3 Levels of Understanding Algorithms More Algorithm Discovery and Design.
Requirements Spec Revisited Dan Fleck. Responsibility - if you don’t do well in class, who’s problem is it?
1 CSC 427: Data Structures and Algorithm Analysis Fall 2011 See online syllabus (also available through BlueLine): Course goals:
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.
KINDY 500 RACE TO THE FINISH USING MENTAL MATH & MATH TOOLS Created by Matt Cash
1 State Space of a Problem Lecture 03 ITS033 – Programming & Algorithms Asst. Prof.
 Summary  How to Play Go  Project Details  Demo  Results  Conclusions.
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
The ‘game’ is played by 12 players and 2 Accountants. The accountants and the first player can volunteer. Other players Are chosen as the game progresses.
Integrating Background Knowledge and Reinforcement Learning for Action Selection John E. Laird Nate Derbinsky Miller Tinkerhess.
Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project.
 Copyright 2011 Digital Enterprise Research Institute. All rights reserved. Digital Enterprise Research Institute Enabling Networked Knowledge.
Senior Project Poster Day 2007, CIS Dept. University of Pennsylvania Reversi Meng Tran Faculty Advisor: Dr. Barry Silverman Strategies: l Corners t Corners.
Group 2 : Team Battleship Team Members: Zhen Cai Christopher Campbell Justin Doll Jason Miller Nicholas Rimer Raeginald Timones.
Mixed-initiative Control for Teaching and Learning in Disciple George Mason University School of Information Technology and Engineering Computer Science.
A Java implementation of Peirce’s Existential Graphs
CSCI 4310 Lecture 6: Adversarial Tree Search. Book Winston Chapter 6.
Polina Alex Eviatar Roey Andrea Erez.  For those that heard but don’t know exactly:  Scrabble is a word game for two and more players on a square board.
The Software Development Process
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
Neural Network Implementation of Poker AI
DEEP RED An Intelligent Approach to Chinese Checkers.
Artificial Intelligence and Searching CPSC 315 – Programming Studio Spring 2013 Project 2, Lecture 1 Adapted from slides of Yoonsuck Choe.
With Prancing Porpoise Ink
Math-Nuts Janie, Johnny, Jesse, Bob Introduction to Algebra and Geometry Fall 2011.
PROBLEM-SOLVING TECHNIQUES Rocky K. C. Chang November 10, 2015.
Random Numbers Random numbers are extremely useful: especially for games, and also for calculating experimental probabilities. Formula for generating random.
Playing Tic-Tac-Toe with Neural Networks
Introduction to State Space Search
10 Chapter 101 Using Menus and Validating Input Programming Logic and Design, Second Edition, Comprehensive 10.
Awesome Jungle Group Three: Antti Knutas Li Aoke Jifeng Xing.
Checkers A Matlab Project by Spenser Davison, Edward Dyakiw, Justin Pezzi, and Scott Wu.
Carcassonne Expert Game1 Carcassonne Java Jess Expert Game Intelligent Board Games and Query-Based Utility Reasoning René Molenaar, Ludo Maat.
An AI Game Project. Background Fivel is a unique hybrid of a NxM game and a sliding puzzle. The goals in making this project were: Create an original.
HighImpactSoft 2010 Organizing a Better Future. Agenda Specify Goals ScopeDefinitions Process Model Preliminary Requirements Issues and solutions TraceabilityPrototype.
Requirements Spec Revisited
“Link All Together” – Linktile 2D game programming
An Implementation of the Card Game “Solo”
CS 4700: Foundations of Artificial Intelligence
Artificial Intelligence
Informatics 122 Software Design II
Kevin Mason Michael Suggs
Artificial Intelligence
A General Backtracking Algorithm
Presentation transcript:

Artificial Intelligence of a Scrabble System Scrabble Bot Artificial Intelligence of a Scrabble System   Issa Araj Damien Espinola John Leehey Alex Lindt Karun Nagarajan Adam Rizkalla Kyle Williamson

Task Create a comprehensive Scrabble system for a human player to compete against an agent.   Produce an Artificial Intelligence System that can determine possible words from a list of letters  Develop an Open Source application easy for users to download and play

What is Scrabble? A trademark of Hasbro Inc.   The game is based on forming word combinations from the selection of tiles in a players hand Each tile has a point value and a players score is based on the combination of letters a user plays and any additional score modifiers from the board Acceptable words are validated by dictionaries designed explicitly for Scrabble

Purpose Create a Scrabble agent to play against a human opponent  Must be able to determine a  word in a reasonable amount of time The bot will choose the best word point-wise with restrictions based on difficulty Agent must follow rules of Scrabble Word Choice Take into account board layout & special tiles

Purpose Graphical User Interface Should be easy for a new player to learn and use Playing should be intuitive Aesthetically appealing   Other Functionality Easy for a user to download and install the game All words referenced against official Scrabble  dictionary for correctness

Design : GUI > Interaction > Bot > RulesEngine The GUI receives interaction from the user, and in turn probes the bot for moves.  The Bot contains the AI, and uses base functions from the RulesEngine to determine the rules it must follow.   RulesEngine Contains the basic functions that determine whether a move follows the rules Example:  is [word] a valid word in the dictionary? Example:  what is the score of [word]? Uses the SOWPODS standard scrabble dictionary

Implementation Board Graphical Structure building GUI Internal Representation of Board Player     generation of a hand finding the played word Pass board to bot                                                                                                             K

Program Flow Board appears / updates on screen Player moves (places tiles on board) GUI registers move GUI class probes bot for next move Bot calculates (using brute force) best possible move Bot sends to GUI GUI registers on screen Repeat from step 2 (Player's turn to move) If no more tiles or space, game ends

Computer Bot Intelligence Checks occupied squares on the board Finds various word combinations with given tiles Checks if moves are valid Ranks valid moves based on word length and score

Improving the Algorithm Two big options: DAWG or GADDAG. DAWG: directed acyclic word graph GADDAG: bi-directional acyclic word graph   Both offer trade offs for time and space Each is significantly more powerful than brute force methods

DAWG (Big D) DAWG: each node can have a child node, or a next node. child: an appended letter. next: an alternate letter. Pros: low space requirement, reasonably fast, eliminates invalid words from even being considered.  Cons: doesn't do well in multiple directions, treats prefixes differently than suffixes.

GADDAG (Double D) GADDAG: bi-directional acyclic word graph Pros: (when optimized) extremely fast, eliminates invalid words from even being considered. Cons: storing the optimized data structure is ~5x bigger than the DAWG. Very similar in form to the DAWG, but treats prefixes and suffixes in the same way.   Increased performance allows more time to make better moves.

General Improvements Balance use of vowels, consonants, and letters required for larger moves. Predict opponent's hands based on what's on the board. Avoid moves that make large bonus tiles easy to reach.

Demo Here is our presentation of Scrabble Bot!