# PARALLELIZED SUDOKU SOLVING ALGORITHM USING OpenMP

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 PARALLELIZED SUDOKU SOLVING ALGORITHM USING OpenMP Sruthi Sankar CSE 633: Parallel Algorithms Spring 2014 Professor: Dr. Russ Miller

2 Sudoku: the puzzle A standard Sudoku puzzles contains 81 grids :9 rows and 9 columns. 9 non- overlapping blocks, each block consists of 3 rows and 3 columns. Many strategies to solve Sudoku puzzles; solutions might not be unique, or might not even exist! The difficulty in solving is relative to the number of indices provided

3 Commonly used approaches Total number of valid Sudoku puzzles is approximately (9*9 matrix) Brute force technique- long time Simulated Annealing- only easy problems Linear system approach- hard to solve with fewer clues Artificial bee colony algorithm: division into 2 sets SAC Algorithm: Assigning values to each cell and backtracking

4 PROPOSED ALGORITHM Solving sudoku is proven to be an NP-complete problem. No serial algorithms that can solve sudoku in polynomial time. Use of humanistic algorithm to fill up as many empty cells as possible. This algorithm doesn t guarantee a solution. If necessary, the brute force algorithm solves the rest of the puzzle. Four types of strategies to try and fill in numbers on the board.

5 PROPOSED ALGORITHM- 4 STRATEGIES ELIMINATION: This occurs when there is only one valid value for a cell. Therefore, that value must belong in the cell. LONE RANGER: This is a number that is valid for only one cell in a row, column, or box. There may be other numbers that are valid for that particular cell, but since that number cannot go anywhere else in the row, column, or box, it must be the value for that cell.

6 PROPOSED ALGORITHM- 4 STRATEGIES TWINS: These are a pair of numbers that appear together twice in the same two cells and only in those two cells. When twins are found, all other numbers can be eliminated as possible values for that cell. The top row depicts a row where the highlighted cells contain twins. The bottom row shows the possible values left for those cells after the twins rule has been applied. In the top row, 5 and 7 show up together twice and only twice in the row. Because they are twins, the 3 and 6 that were valid values for those highlighted cells can now be eliminated as possible values.

7 PROPOSED ALGORITHM- 4 STRATEGIES TRIPLETS: Triplets follow the same rules as twins, except with three values over three cells. The top row depicts a row of a sudoku board before triplets is applied. The bottom row is the resulting valid values after triplets has been applied. In the top row, 1, 2, and 4 only appear three times in the row and they all appear in the exact same three cells, so they are triplets.

8 PROPOSED ALGORITHM- 4 STRATEGIES

9 PROPOSED ALGORITHM Each strategy is applied one at a time. If a strategy makes a change to the valid values for any cell or sets the value of a cell, then we repeat the strategies starting from elimination. If the strategy makes no change, then we move on to the next strategy. Elimination and lone ranger can be applied more often since those are the strategies most likely to make changes to the sudoku puzzle. If we find the value of a cell, then we remove that value from the list of possible values of the cells in the same row, column, and box.

10 PROPOSED ALGORITHM Parallelizing by box for each strategy. First, elimination is run in parallel across all boxes. Once its done, then lone rangers will run in parallel across all boxes, and so on. We assign only specific boxes to check the rows and the columns for the strategies so we don't do duplicate work. For example, we don't want two boxes in the same rows to check for elimination in the same three rows. We also choose the boxes in such a way that we don't have one box doing extra work by checking both columns and rows

11 PROPOSED ALGORITHM The red boxes check the rows and the green boxes check the columns. If the humanistic algorithm returns a board with unfilled cells left, then we pass it to the brute force. Otherwise, we return the solution.

12 PROPOSED ALGORITHM Brute force algorithm uses depth first search approach. First, we fill in the first empty cell with the smallest valid number. Then, we try to fill in the next empty cell in the same way. If we reach an empty cell that does not have any valid numbers, we backtrack to the most recently filled cell and increment its number by 1. If the number cannot be incremented, then we backtrack again. We continue doing this until either there are no more empty cells on the board. This means we found the solution and we return it. Or we backtracked to the first unfilled cell. In this case, no solution exists for the board.

13 PROPOSED ALGORITHM We then combine our serial brute force algorithm with shared stack. We create a board for all permutations of valid numbers of the first 7 cells and fill in those 7 cells with the permutations. We then push all those boards onto the stack. Next, multiple threads pop from the stack in parallel and try to find a solution using brute force. If a partial board popped from the stack isn t the solution, the board is discarded and the thread pops another one off the stack. The first thread to find a solution will abort all other threads. Finally, the main thread will return either the solution, or no solution if the stack is empty.

14 IMPROVIZATIONS Workload sizes for each thread were too small since we were finding valid numbers for only one cell, which is not an intensive nor time-consuming task. Each thread ended up finishing quickly and was waiting to gain access to the stack. Instead of only filling in the first empty cell, we fill in the first 7 empty cells. We push all possibilities of the first 7 being filled to the stack. Then threads pop the copies from the stack in parallel. Chose to fill in 7 cells because, it was found to give a good execution time in comparison to other numbers of cells. Increased the workload size for each thread, which helped in lowering the contention on the stack.

15 RACE CONDITION Added a lock because the algorithm ran into the following race condition:

16 LOCK OPERATION LOCK is an operation that freezes the entire row, column and minigrid, so that no other core could lock any cell within the same area. This area is the conflict boundary of a cell. The shaded area represents the locked region which is the conflict boundary required to be locked in order to update cell C(2,3).

17 LOCK OPERATION If a core is unable to place a lock, due to a lock that had already been placed by a different core on another cell on the same conflict boundary, then the core chooses a different work item to process. This process reduces the idle time for a core, since it eliminates the need for waiting until the other core releases its lock on the conflict boundary, hence maximizing the overall efficiency of the algorithm. In this way, all the cells are filled with the values without running into race conditions.

18 INPUT Input: N, the dimension of the board. Then board itself is passed as input. The boards are represented as a 2-D NxN array of integers where the 0 s represent the empty squares.

19 BRUTE FORCE ALGORITHM-EXECUTION TIME

20 HUMANISTIC and BRUTE FORCE ALGORITHM- EXECUTION TIME

21 CONCLUSION The humanistic approach doesn t guarantee a solution but it achieves a much better overall time. The brute force approach parallelizes well and guarantees to find a solution if one exists but it has a slow overall time. By combining both, we have a solver that is guaranteed to find a solution in a very short amount of time.

22 REFERENCES Miller, Russ and Laurence Boxer. Algorithms Sequential and Parallel: A Unified Approach. Hingham, MA: Charles River Media, Print.

### Creating Sudoku Puzzles

Page 1 of 15 Control # 2883 Creating Sudoku Puzzles Control # 2883 February 19, 2008 Abstract We consider the problem of generating well-formed Sudoku puzzles. Weighing the benefits of constructing a problem

### This chapter introduces the sudoku-solving ground rules,

hapter Simplifying Sudoku This chapter introduces the sudoku-solving ground rules, giving you all the tools you need to approach each puzzle with the best strategy. It also shows you how to take your sudoku-solving

### A Sudoku Solver. CSC 242: Artificial Intelligence. Mike Schermerhorn

A Sudoku Solver CSC 242: Artificial Intelligence Mike Schermerhorn Introduction The standard Sudoku puzzle consists of a nine by nine grid, broken into nine three by three boxes. Each of the eighty one

### Cracking the Sudoku: A Deterministic Approach

Cracking the Sudoku: A Deterministic Approach David Martin Erica Cross Matt Alexander Youngstown State University Center for Undergraduate Research in Mathematics Abstract The model begins with the formulation

### Solving Single-digit Sudoku Subproblems

Solving Single-digit Sudoku Subproblems David Eppstein Int. Conf. Fun with Algorithms, June 2012 Sudoku An ab ab array of cells, partitioned into a b blocks, partially filled in with numbers from 1 to

### Parallelization of a "Masyu" Puzzle solver

John Lilley Parallelization of a "Masyu" Puzzle solver The "Masyu" (aka "Pearls") puzzle consists of a rectangular board divided into rows and columns, on which a number of white and black "pearls" are

### Sudoku puzzles and how to solve them

Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned

### Genetic Algorithms and Sudoku

Genetic Algorithms and Sudoku Dr. John M. Weiss Department of Mathematics and Computer Science South Dakota School of Mines and Technology (SDSM&T) Rapid City, SD 57701-3995 john.weiss@sdsmt.edu MICS 2009

### (Refer Slide Time: 01:35)

Artificial Intelligence Prof. Sudeshna Sarkar Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 6 Informed Search -2 Today we start our 6 th lecture. This

### Mathematics of Sudoku I

Mathematics of Sudoku I Bertram Felgenhauer Frazer Jarvis January, 00 Introduction Sudoku puzzles became extremely popular in Britain from late 00. Sudoku, or Su Doku, is a Japanese word (or phrase) meaning

### Methods for Solving Sudoku Puzzles

Methods for Solving Sudoku Puzzles CSCI - 5454, CU Boulder Anshul Kanakia kanakia@colorado.edu John Klingner john.klingner@colorado.edu 1 Introduction 1.1 A Brief History This number puzzle is relatively

### Enumerating possible Sudoku grids

Enumerating possible Sudoku grids Bertram Felgenhauer Department of Computer Science TU Dresden 00 Dresden Germany bf@mail.inf.tu-dresden.de Frazer Jarvis Department of Pure Mathematics University of Sheffield,

### Solving Sudoku with Dancing Links

Solving Sudoku with Dancing Links Rob Beezer beezer@pugetsound.edu Department of Mathematics and Computer Science University of Puget Sound Tacoma, Washington USA Stellenbosch University October 8, 2010

### The Kakuro Kraze. The Rules of Kakuro. Kakuro puzzles are currently sweeping the world!

The Kakuro Kraze Kakuro puzzles are currently sweeping the world! In Japan, the puzzles are well known and second in popularity only to Sudoku puzzles, which spawned a puzzle publishing craze in Europe

### Each value (1 through 9) must appear exactly once in each row. Each value (1 through 9) must appear exactly once in each column.

INTRODUCTION TO COMPUTER SCIENCE I PROJECT 6 Sudoku! 1 The game of Sudoku Sudoku is a popular game giving crossword puzzles a run for their money in newspapers. 1 It s a game well suited for computers

### A Novel Algorithmic approach for solving Sudoku puzzle in Guessed Free Manner

EUROPEAN ACADEMIC RESEARCH, VOL. I, ISSUE / SEPEMBER 2013 ISSN 228-4822, www.euacademic.org IMPACT FACTOR: 0.48 (GIF) A Novel Algorithmic approach for solving Sudoku puzzle in Guessed Free Manner ARNAB

### Sudoku Puzzles Generating: from Easy to Evil

Team # 3485 Page 1 of 20 Sudoku Puzzles Generating: from Easy to Evil Abstract As Sudoku puzzle becomes worldwide popular among many players in different intellectual levels, the task is to devise an algorithm

### Crossword Puzzles and Constraint Satisfaction

Introduction Crossword Puzzles and Constraint Satisfaction James Connor, John Duchi, and Bruce Lo jconnor@stanford.edu, jduchi@stanford.edu, brucelo@cs.stanford.edu Stanford University CS 227: Assignment

### Sudoku Puzzles and How to Solve Them

1 258 NAW 5/7 nr. 4 december 2006 Sudoku Puzzles and How to Solve Them Andries E. Brouwer Andries E. Brouwer Technische Universiteit Eindhoven Postbus 513, 5600 MB Eindhoven aeb@win.tue.nl Recreational

### Hooray for the Hundreds Chart!!

Hooray for the Hundreds Chart!! The hundreds chart consists of a grid of numbers from 1 to 100, with each row containing a group of 10 numbers. As a result, children using this chart can count across rows

### The Application of Exact Cover to the. Creating of Sudoku Puzzle

Team # 3140 Page 1 of 24 The Application of Exact Cover to the Summary Creating of Sudoku Puzzle In this paper, we develop an algorithm to create a Sudoku puzzle of a desired difficulty level. The main

### GRADE 4 FLORIDA. Multiplication WORKSHEETS

GRADE 4 FLORIDA Multiplication WORKSHEETS Multiplication facts 5 and 0 times tables The 5 and 0 times tables are easier if you learn them together. Answer the 5 times table: Count in 5s down the ladders:

### Understanding 31-derful. Abstract

Understanding 31-derful Emily Alfs Mathematics and Computer Science Doane College Crete, Nebraska 68333 emily.alfs@doane.edu Abstract Similar to Sudoku, 31-derful is a game where the player tries to place

### Automated Sudoku Solver. Marty Otzenberger EGGN 510 December 4, 2012

Automated Sudoku Solver Marty Otzenberger EGGN 510 December 4, 2012 Outline Goal Problem Elements Initial Testing Test Images Approaches Final Algorithm Results/Statistics Conclusions Problems/Limits Future

### Simplex method summary

Simplex method summary Problem: optimize a linear objective, subject to linear constraints 1. Step 1: Convert to standard form: variables on right-hand side, positive constant on left slack variables for

### SUDOKU SOLVING TIPS GETTING STARTED

TTN STRT SUOKU SOLVN TPS Terms you will need to know lock: One of the nine x sections that make up the Sudoku grid. andidate(s): The possible numbers that could be in a cell. ell: single square in a Sudoku

### Definition: A square matrix A is block diagonal if A has the form A 1 O O O A 2 O A =

The question we want to answer now is the following: If A is not similar to a diagonal matrix, then what is the simplest matrix that A is similar to? Before we can provide the answer, we will have to introduce

### Sudokus or Pseudo-Clues? Jessica Kline May 1, 2007

Sudokus or Pseudo-Clues? Jessica Kline May 1, 2007 Pseudo what? No, Sudoku! Everyone has surely been a part of this conversation at one point in time. These popular puzzles have swept across the nation

### Matrix Inversion using Parallel Gaussian Elimination

Matrix Inversion using Parallel Gaussian Elimination CSE 633 Parallel Algorithms (Spring 2014) Aravindhan Thanigachalam Email: athaniga@buffalo.edu Instructor: Dr. Russ Miller Outline Problem Example Sequential

th WORLD SUDOKU CHAMPIONSHIP PHILADELPHIA A P R M A Y 0 0 0 Puzzle Examples from http://www.worldpuzzle.org/wiki/ Lead Sponsor Classic Sudoku Place the digits through into the empty cells in the grid (a

### A Review of Sudoku Solving using Patterns

International Journal of Scientific and Research Publications, Volume 3, Issue 5, May 2013 1 A Review of Sudoku Solving using Patterns Rohit Iyer*, Amrish Jhaveri*, Krutika Parab* *B.E (Computers), Vidyalankar

### 10 th POLISH SUDOKU CHAMPIONSHIP INSTRUCTION BOOKLET. February 22, 2015 IMPORTANT INFORMATION:

10 th POLISH SUDOKU CHAMPIONSHIP February 22, 2015 INSTRUCTION BOOKLET IMPORTANT INFORMATION: 1. Answer form can be sent many times, but only the last version will be considered. 2. In case of a tie, the

### Sudoku: Bagging a Difficulty Metric & Building Up Puzzles

Sudoku: Bagging a Difficulty Metric & Building Up Puzzles February 18, 2008 Abstract Since its inception in 1979, Sudoku has experienced rapidly rising popularity and global interest. We present a difficulty

### 3.1 Solving Systems Using Tables and Graphs

Algebra 2 Chapter 3 3.1 Solve Systems Using Tables & Graphs 3.1 Solving Systems Using Tables and Graphs A solution to a system of linear equations is an that makes all of the equations. To solve a system

### THIS MEANS THAT EACH NUMBER SHOULD ONLY APPEAR ONCE IN EACH ROW, COLUMN AND BOX! TOP TIPS FOR SOLVING SU DOKU

THE RULES Each row must contain each number from to 9 Each column must contain each number from to 9 Each box (small by grid shown by thicker lines) must contain each number from to 9 THIS MEANS THAT EACH

### NYT crossword puzzle solver

NYT crossword puzzle solver 5. Mai 2016 1 NYT crossword puzzle solver 2 NYT crossword puzzle solver 1 Problem Description 2 Concept of Solution 3 Grid extraction 4 Box Classification 5 Solve puzzle 6 Results

Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

### Playing the Minesweeper with Constraints

Playing the Minesweeper with Constraints Raphaël Collet Université catholique de Louvain, B-1348 Louvain-la-Neuve, Belgium raph@infouclacbe Abstract We present the design and implementation of a Minesweeper

### Multiplication and Division

E Student Book 6 7 = 4 Name Series E Contents Topic Multiplication facts (pp. 7) 5 and 0 times tables and 4 times tables 8 times table and 6 times tables Date completed Topic Using known facts (pp. 8 )

### Sudoku Puzzles: Medium

Puzzles: Medium The modern version of was invented in 1979 by Howard Garns in USA (where it was called `Number Place'). It became really popular in Japan in the 1980s and in the UK since late 2004. It

### Chapter 4. Trees. 4.1 Basics

Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.

### Informed search algorithms

CmpE 540 Principles of Artificial Intelligence Informed search algorithms Pınar Yolum pinar.yolum@boun.edu.tr Department of Computer Engineering Boğaziçi University Chapter 4 (Sections 1 3) (Based mostly

### Analysis of Micromouse Maze Solving Algorithms

1 Analysis of Micromouse Maze Solving Algorithms David M. Willardson ECE 557: Learning from Data, Spring 2001 Abstract This project involves a simulation of a mouse that is to find its way through a maze.

### Application: Updated documentation:

Spring 13 Maze Generator and Solver Albert Toledo, Warren Barksdale, Brooke Macklin, Anesha Bembury Application: www.alberttoledo.com/team8 Updated documentation: www.alberttoledo.com/team8/documentation.pdf

### Sudoku A Constraint Satisfaction Problem

Sudoku A Constraint Satisfaction Problem Holger Findling, Senior Member, IEEE Abstract Research has shown that some NP complete problems with finite domains can be solved effectively using constraint reasoning.

### Kenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract

Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 7, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic skills.

### Sudoku and Recursive Algorithms Chris Fallin

Sudoku and Recursive Algorithms Chris Fallin Sudoku The reader may be familiar with the popular Sudoku number puzzle. In truth, Sudoku is not a number puzzle so much as a symbol placement puzzle; any symbols

### KEEPING NOTES. Remember Sudoku is a game of logic and you shouldn t need to guess.

Number puzzles and games have been around for a very long time, perhaps ancient cave-dwellers even played puzzles with rocks and sticks! Sudoku (which means single number in Japanese) probably has it s

### Parallel Algorithm for Dense Matrix Multiplication

Parallel Algorithm for Dense Matrix Multiplication CSE633 Parallel Algorithms Fall 2012 Ortega, Patricia Outline Problem definition Assumptions Implementation Test Results Future work Conclusions Problem

### Linear Inequalities and Linear Programming. Systems of Linear Inequalities in Two Variables

Linear Inequalities and Linear Programming 5.1 Systems of Linear Inequalities 5.2 Linear Programming Geometric Approach 5.3 Geometric Introduction to Simplex Method 5.4 Maximization with constraints 5.5

### 1 eg. Given the digits in black, we know that digit 1 must be at Row 2 Column 9. X stands for any digit other than 1.

Sudoku Solving: Dot method and more. David A Paterson (aka mollwollfumble) 2 Apr 204 This is a quick summary giving examples of how I solve Sudokus of all difficulties. It contains useful mental and written

### Pigeonhole Principle Solutions

Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such

### 12 Abstract Data Types

12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).

### ON COMPLETING PARTIAL GROUPOIDS TO SEMIGROUPS. Alexei Vernitski Department of Mathematical Sciences University of Essex

ON COMPLETING PARTIAL GROUPOIDS TO SEMIGROUPS Alexei Vernitski Department of Mathematical Sciences University of Essex A groupoid is a set considered with a binary operation A partial groupoid is a set

### Excel -- Creating Charts

Excel -- Creating Charts The saying goes, A picture is worth a thousand words, and so true. Professional looking charts give visual enhancement to your statistics, fiscal reports or presentation. Excel

### Linear Programming Problems

Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number

### Cache-Aware Analysis of Algorithms

CSE341T/CSE549T 11/19/2014 Lecture 23 Cache-Aware Analysis of Algorithms So far, we have been assuming a Random Access Model for memory accessing any memory location takes constant time. However, modern

### Formation of a near Optimal Solution for Raster Region having Min/Max Cell Value

2012 10th International Conference on Frontiers of Information Technology Formation of a near Optimal Solution for Raster Region having Min/Max Cell Value Muhammad Waqas Raja Institute of Geographical

### Sudoku Puzzles and Mathematical Expressions

Sudoku Puzzles and Mathematical Expressions Austin Sloane May 16, 2015 1 List of Figures 1 A blank Sudoku grid........................ 3 2 A solved Sudoku puzzle...................... 4 3 A Latin square

### Sudoku Madness. Team 3: Matt Crain, John Cheng, and Rabih Sallman

Sudoku Madness Team 3: Matt Crain, John Cheng, and Rabih Sallman I. Problem Description Standard Sudoku is a logic-based puzzle in which the user must fill a 9 x 9 board with the appropriate digits so

### Parallelization of Sudoku

Parallelization of Sudoku Alton Chiu (996194871), Ehsan Nasiri (995935065), Rafat Rashid (996096111) {alton.chiu, ehsan.nasiri, rafat.rashid}@utoronto.ca University of Toronto December 20, 2012 Abstract

### 5 Scheduling. Operations Planning and Control

5 Scheduling Operations Planning and Control Some Background Machines (resources) are Machines process jobs (molding machine, x ray machine, server in a restaurant, computer ) Machine Environment Single

### IMPLEMENTING A CSP SOLVER FOR SUDOKU

IMPLEMENTING A CSP SOLVER FOR SUDOKU Benjamin Bittner 1 and Kris Oosting 2 1 University of Amsterdam, The Netherlands; bittner@science.uva.nl. 2 Vrije Universiteit Amsterdam, The Netherlands; kris.oosting@lfri.nl.

### Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Today, we will study typical patterns of parallel programming This is just one of the ways. Materials are based on a book by Timothy. Decompose Into tasks Original Problem

### State Space Representation and Search

1. Introduction In this section we examine the concept of a state space and the different searches that can be used to explore the search space in order to find a solution. Before an AI problem can be

### NUMB3RS Activity: Sudoku Puzzles. Episode: All s Fair

Teacher Page 1 NUMBRS Activity: Sudoku Puzzles Topic: Sudoku Puzzles Grade Level: 8-10 Objective: Explore sudoku puzzles and Latin squares Time: 60-90 minutes Introduction In All s Fair, Alan, Larry, and

### Common Data Structures

Data Structures 1 Common Data Structures Arrays (single and multiple dimensional) Linked Lists Stacks Queues Trees Graphs You should already be familiar with arrays, so they will not be discussed. Trees

### Humans look for patterns, but machines use backtracking.

Chapter Sudoku Humans look for patterns, but machines use backtracking. The fascination that people have for solving Sudoku puzzles without a computer derives from the discovery and mastery of a myriad

### 2x 2x 2 8x. Now, let s work backwards to FACTOR. We begin by placing the terms of the polynomial inside the cells of the box. 2x 2

Activity 23 Math 40 Factoring using the BOX Team Name (optional): Your Name: Partner(s): 1. (2.) Task 1: Factoring out the greatest common factor Mini Lecture: Factoring polynomials is our focus now. Factoring

### VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

VISUAL ALGEBRA FOR COLLEGE STUDENTS Laurie J. Burton Western Oregon University VISUAL ALGEBRA FOR COLLEGE STUDENTS TABLE OF CONTENTS Welcome and Introduction 1 Chapter 1: INTEGERS AND INTEGER OPERATIONS

### Can you design an algorithm that searches for the maximum value in the list?

The Science of Computing I Lesson 2: Searching and Sorting Living with Cyber Pillar: Algorithms Searching One of the most common tasks that is undertaken in Computer Science is the task of searching. We

### State Spaces Graph Search Searching. Graph Search. CPSC 322 Search 2. Textbook 3.4. Graph Search CPSC 322 Search 2, Slide 1

Graph Search CPSC 322 Search 2 Textbook 3.4 Graph Search CPSC 322 Search 2, Slide 1 Lecture Overview 1 State Spaces 2 Graph Search 3 Searching Graph Search CPSC 322 Search 2, Slide 2 State Spaces Idea:

Create a New Database Table of Contents GET TO KNOW THE GETTING STARTED WITH MICROSOFT OFFICE ACCESS PAGE... 1 DIFFERENT WAYS TO CREATE A DATABASE... 2 CREATE A DATABASE BY USING A TEMPLATE... 2 Download

### Counting, Generating, and Solving Sudoku

Counting, Generating, and Solving Sudoku Mathias Weller April 21, 2008 Abstract In this work, we give an overview of the research done so far on the topic of Sudoku grid enumeration, solving, and generating

### ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

### Cognitive Abilities Test Practice Activities. Teacher Guide. Form 7. Quantitative Tests. Level. Cog

Cognitive Abilities Test Practice Activities Teacher Guide Form 7 Quantitative Tests Level 9 Cog Test 4: Number Analogies, Level 9 Part 1: Overview of Number Analogies An analogy draws parallels between

### Counting the number of Sudoku s by importance sampling simulation

Counting the number of Sudoku s by importance sampling simulation Ad Ridder Vrije University, Amsterdam, Netherlands May 31, 2013 Abstract Stochastic simulation can be applied to estimate the number of

### You ve seen them played in coffee shops, on planes, and

Every Sudoku variation you can think of comes with its own set of interesting open questions There is math to be had here. So get working! Taking Sudoku Seriously Laura Taalman James Madison University

### Linear Systems. Singular and Nonsingular Matrices. Find x 1, x 2, x 3 such that the following three equations hold:

Linear Systems Example: Find x, x, x such that the following three equations hold: x + x + x = 4x + x + x = x + x + x = 6 We can write this using matrix-vector notation as 4 {{ A x x x {{ x = 6 {{ b General

### Number boards for mini mental sessions

Number boards for mini mental sessions Feel free to edit the document as you wish and customise boards and questions to suit your learners levels Print and laminate for extra sturdiness. Ideal for working

### LabVIEW Day 3: Arrays and Clusters

LabVIEW Day 3: Arrays and Clusters Vern Lindberg By now you should be getting used to LabVIEW. You should know how to Create a Constant, Control, or Indicator. I will assume you know how to create a new

### GMS 7.0 TUTORIALS. MODFLOW - Conceptual Model Approach- Simple Example. 1. Introduction

GMS 7.0 TUTORIALS MODFLOW - Conceptual Model Approach- Simple Example 1. Introduction Two approaches can be used to construct a MODFLOW simulation in GMS: the grid approach or the conceptual model approach.

### Final Python Project

Final Python Project Sarah Mann April 25, 2012 Seniors: Your assignment will be graded out of 35 points and is due Friday, April 27, 2012. Not Seniors: Your assignment will be graded out of 100 points

Are available for most basic curriculum subjects plus many enrichment areas. For more Good Year Books, contact your local bookseller or educational dealer. For a complete catalog with information about

### Stacks, Queues & Trees. The Stack Interface. The Stack Interface. Prof. Dr. Harald Gall. Institut für Informatik Universität Zürich

Stacks, Queues & Trees Prof. Dr. Harald Gall Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch The Stack Interface!! Stack!! Data structure holding several items.!! New items added to the

### CMSC 858F: Algorithmic Lower Bounds Fall 2014 Puzzles and Reductions from 3-Partition

CMSC 858F: Algorithmic Lower Bounds Fall 2014 Puzzles and Reductions from 3-Partition Instructor: Mohammad T. Hajiaghayi Scribe: Thomas Pensyl September 9, 2014 1 Overview In this lecture, we first examine

### Session 6 Number Theory

Key Terms in This Session Session 6 Number Theory Previously Introduced counting numbers factor factor tree prime number New in This Session composite number greatest common factor least common multiple

### CS188 Spring 2011 Section 3: Game Trees

CS188 Spring 2011 Section 3: Game Trees 1 Warm-Up: Column-Row You have a 3x3 matrix of values like the one below. In a somewhat boring game, player A first selects a row, and then player B selects a column.

### SOLVING SUDOKU. by Michael Mepham

SOLVING SUDOKU What is sudoku? You would imagine that with such a name this puzzle originated in Japan, but it has been around for many years in the UK. However, the Japanese found an example under the

### Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm

1 Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm by Shon Albert A Project Submitted to the Graduate Faculty of North Carolina State University in Partial Fulfillment of the Requirements

### Pentominoes: A First Player Win

Games of No Chance MSRI Publications Volume 29, 1996 Pentominoes: A First Player Win HILARIE K. ORMAN Abstract. This article reports on a search-based computer proof that the game of pentominoes is a first-player

### Introduction to Search Algorithms

Chapter 9: Searching, Sorting Introduction to Search Algorithms Search: locate an item in a list (array, vector, etc.) of information Two algorithms (methods) considered here: Linear search Binary search

### Complexity and Completeness of Finding Another Solution and Its Application to Puzzles

yato@is.s.u-tokyo.ac.jp seta@is.s.u-tokyo.ac.jp Π (ASP) Π x s x s ASP Ueda Nagao n n-asp parsimonious ASP ASP NP Complexity and Completeness of Finding Another Solution and Its Application to Puzzles Takayuki

### Data Structure. Lecture 3

Data Structure Lecture 3 Data Structure Formally define Data structure as: DS describes not only set of objects but the ways they are related, the set of operations which may be applied to the elements

### Area and Perimeter: The Mysterious Connection TEACHER EDITION

Area and Perimeter: The Mysterious Connection TEACHER EDITION (TC-0) In these problems you will be working on understanding the relationship between area and perimeter. Pay special attention to any patterns

### Parallelization: Binary Tree Traversal

By Aaron Weeden and Patrick Royal Shodor Education Foundation, Inc. August 2012 Introduction: According to Moore s law, the number of transistors on a computer chip doubles roughly every two years. First