A Mental Game as a Source of CS Case Studies

Slides:



Advertisements
Similar presentations
1 Introduction to Computation and Problem Solving Class 24: Case Study: Building a Simple Postfix Calculator Prof. Steven R. Lerman and Dr. V. Judson Harward.
Advertisements

Introduction to Computer Science 2 Lecture 7: Extended binary trees
Efficient Keyword Search for Smallest LCAs in XML Database Yu Xu Department of Computer Science & Engineering University of California, San Diego Yannis.
Space-for-Time Tradeoffs
SIMS-201 Compressing Information. 2  Overview Chapter 7: Compression Introduction Entropy Huffman coding Universal coding.
Lecture 12 – ADTs and Stacks.  Modularity  Divide the program into smaller parts  Advantages  Keeps the complexity managable  Isolates errors (parts.
© The McGraw-Hill Companies, Inc., Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
The Complexity of Algorithms and the Lower Bounds of Problems
Huffman Codes Message consisting of five characters: a, b, c, d,e
Huffman Coding Vida Movahedi October Contents A simple example Definitions Huffman Coding Algorithm Image Compression.
Haplotype Blocks An Overview A. Polanski Department of Statistics Rice University.
© University of Auckland Trees CS 220 Data Structures & Algorithms Dr. Ian Watson.
Computer Science Department Data Structure & Algorithms Problem Solving with Stack.
Copyright © Cengage Learning. All rights reserved. CHAPTER 10 GRAPHS AND TREES.
The Lower Bounds of Problems
Dr. Eng. Farag Elnagahy Office Phone: King ABDUL AZIZ University Faculty Of Computing and Information Technology CPCS 222.
Online Arabic Handwriting Recognition Fadi Biadsy Jihad El-Sana Nizar Habash Abdul-Rahman Daud Done byPresented by KFUPM Information & Computer Science.
1 CSC 321: Data Structures Fall 2013 See online syllabus (also available through BlueLine2): Course goals:  To understand.
Playing Biology ’ s Name Game: Identifying Protein Names In Scientific Text Daniel Hanisch, Juliane Fluck, Heinz-Theodor Mevissen and Ralf Zimmer Pac Symp.
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
Arithmetic Test Pattern Generation: A Bit Level Formulation of the Optimization Problem S. Manich, L. García and J. Figueras.
Rounding scheme if r * j  1 then r j := 1  When the number of processors assigned in the continuous solution is between 0 and 1 for each task, the speed.
CS519, © A.SelcukDifferential & Linear Cryptanalysis1 CS 519 Cryptography and Network Security Instructor: Ali Aydin Selcuk.
1 CS 430: Information Discovery Lecture 5 Ranking.
1Computer Sciences Department. 2 Advanced Design and Analysis Techniques TUTORIAL 7.
1 Holistic Twig Joins: Optimal XML Pattern Matching Nicolas Bruno, Nick Koudas, Divesh Srivastava ACM SIGMOD 2002 Presented by Jun-Ki Min.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
MA/CSSE 473 Day 30 Optimal BSTs. MA/CSSE 473 Day 30 Student Questions Optimal Linked Lists Expected Lookup time in a Binary Tree Optimal Binary Tree (intro)
MA/CSSE 473 Days Optimal linked lists Optimal BSTs.
REU 2009-Traffic Analysis of IP Networks Daniel S. Allen, Mentor: Dr. Rahul Tripathi Department of Computer Science & Engineering Data Streams Data streams.
1.4 Write Equations And Inequalities
Design and Analysis of Algorithms (09 Credits / 5 hours per week)
Oliver Schulte Machine Learning 726
More Mathematical Techniques
CSC 321: Data Structures Fall 2016
CSC 321: Data Structures Fall 2017
Revised based on textbook author’s notes.
John O’Bryan Mathematics Contest
Azita Keshmiri CS 157B Ch 12 indexing and hashing
DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++
CSC 321: Data Structures Fall 2015
CO4301 – Advanced Games Development Week 2 Introduction to Parsing
Sorting.
8th Grade Mathematics Curriculum
Database Management Systems (CS 564)
Design and Analysis of Algorithms (07 Credits / 4 hours per week)
CPSC 388 – Compiler Design and Construction
Space-for-time tradeoffs
The Complexity of Algorithms and the Lower Bounds of Problems
Lecture 5 Stacks King Fahd University of Petroleum & Minerals
Online Arabic Handwriting Recognition
Chapter 6: Transform and Conquer
Algorithm Efficiency: Searching and Sorting Algorithms
Space-for-time tradeoffs
Homework #5 — Monte Carlo Simulation
Matthew Renner, Trish Beeksma, Patch Kenny
Counting Discrete Mathematics.
CE 221 Data Structures and Algorithms
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
CE 221 Data Structures and Algorithms
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
Space-for-time tradeoffs
CSC 321: Data Structures Fall 2018
Space-for-time tradeoffs
Design and Analysis of Algorithms (04 Credits / 4 hours per week)
Using Two-Way Frequency Tables (4.2.2)
Presentation transcript:

A Mental Game as a Source of CS Case Studies Chris Healy Department of Computer Science Furman University

Starting with a game Apterous: implemented by students at Cambridge University Based on Countdown in the UK and Des Chiffres et des Lettres in France Letters game e.g. Find a word from GLAEITDTA Numbers game e.g. 2 3 7 8 9 10  403 Analysis questions about the games lend themselves to many possible projects in computer science classes.

Opportunities Courses where I have used Apterous material Introduction to Python Parallel programming Discrete structures Data structures and algorithms Independent research project

Letters game assignments Scan the online “dictionary” and see how many words have n letters. (c consonants and v vowels) Simulate game to find optimal solutions for each. Do this many times to detect patterns… Which words appear most often as the longest possible solution (i.e. words guaranteeing points) ? How long is the longest possible word: how often does it have k letters? Average max score per round. Finding words that are most often the unique longest word. Random sampling as opposed to brute force

Quantitative analysis Discrete math class… A selection of letters must have 3, 4, or 5 vowels. Can calculate the number of possible number of distinct letter selections for a game. Probability of a letter appearing mirrors actual frequency analysis Analysis of words in a dictionary (q is least common) Analysis of a corpus of text (z is least common) Which of the 13+ billion letter selections are most likely to appear?

Numbers game Mapping between Game instances (selection of numbers) Mathematical expressions In discrete math, we can calculate the total number of both sets Catalan number: How many ways are there to draw a binary tree having (6) nodes? Generating functions: How many ways can we select 6 numbers from a set? And similar questions Total number of expressions > 424 billion.

Extended project Reducing the number of expressions, due to the inherent redundancy. Incremental development Removing permutations that are not distinguishable (from 410 billion to 227 billion) Discard expressions that have intermediate result of 0, or whose final value is not 101..999 (now 7.5 billion) Exploit commutativity of + and * (now 685 million) Enforce left associativity of + and * (now 559 million) For 2 operators at same precedence, make first number greater than second (now 341 million) Look for “wasted number” such as “+ 2 – 2” or “4 * 4 / 2” (now 329 million)

Parsing game history Apterous.org contains results of games played on television (>50,000 of letters, 15,000 of numbers) Write a Web robot to download the history Parse the HTML (regular expressions) Analyze results of letters games Common words How often players found longest length word How many vowels contestants desired Does the letter frequency match what we’d theoretically expect? Player performance over time

continued Individual student project Analysis of numbers game results How difficult is a mathematical expression? Difficulty level of game How many contestants solved it? Did the TV mathematician solve it? Does it even have a solution? If not, how close?

Conclusion Programming projects based on Apterous games can illustrate or reinforce several CS motifs such as Binary trees Postfix notation and evaluation with stack File I/O and regular expression parsing Cryptanalysis Look at other “game shows” Price is Right’s bidding game What words are used as clues on Password?