1 / 40

# Solving Kenken Puzzles By Not Playing - PowerPoint PPT Presentation

Solving Kenken Puzzles – By Not Playing. John R. Gerlach PhilaSUG Meeting @ RPS June 8, 2010. Kenken Puzzles. Latin Square Integers (Row / Column Unique) Partitioned into Cages. Cages Contiguous Cells Arithmetic Operator Computed Total. Kenken Puzzle – Example.

Related searches for Solving Kenken Puzzles By Not Playing

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Solving Kenken Puzzles By Not Playing' - freeman

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Solving Kenken Puzzles –By Not Playing

John R. Gerlach

PhilaSUG Meeting @ RPS

June 8, 2010

• Latin Square

• Integers (Row / Column Unique)

• Partitioned into Cages.

• Cages

• Contiguous Cells

• Arithmetic Operator

• Computed Total

• # Cells Per Cage L.E. Dimension

• 4x4 Puzzle --> # Cells: 1-4

• 6x6 Puzzle --> # Cells: 1-6

• Puzzle is Well-Constructed

• Unique Solution

• An ordered collection of Natural numbers ranging from 1 to N whose values may be used more than once, however, cannot be consecutive.

• Valid {1,2,3} {3,2,3}

• Invalid {1,1,2} {1,2,3,3} {1,null,2}

• Sets {n1,n2}; {n1,n2,n3}; {n1,n2,n3,n4}

• Subtraction

• Sets {2,6} and {6,2} = 4, not -4

• Division

• Sets {2,6} and {6,2} = 3, not 0.33

• Sets {1,2} and {2,1} = 2, not 0.50

• Determined by Cage

• Contiguous Cells

• Arithmetic Operation

• Total

• Multiplication All Numbers

• Subtraction Two Numbers

• Division Two Numbers

• Cage represents one cell having a number assigned at the onset of the puzzle.

{1}, {2}, {3}, {4}, …, {n}

data p4sets;

do n1=1,2,3,4;

do n2=1,2,3,4;

do n3=.,1,2,3,4;

do n4=.,1,2,3,4;

< Determine Viability of Set >

end;

end;

end;

end;

run;

• 4x4 Puzzle 156

• 5x5 Puzzle 1,700

• 6x6 Puzzle 23,430

• 8x8 Puzzle 7,686,392

• 9x9 Puzzle 172,565,640

Σd (d-1)n-1

Where

d - Dimension of puzzle

n - Number of Cells

Σ - Summation, n = 2 to d.

6x6 Puzzle

[ 6(6-1)2-1 ] + [ 6(6-1)3-1 ] + [ 6(6-1)4-1 ]

+ [ 6(6-1)5-1 ] + [ 6(6-1)6-1 ] =

30 + 150 + 750 + 3,750 + 18,750 =

23,430 Viable Sets

---- Numbers ----- ------- Operators --------

Set 1 2 3 4 + - x /

---------------------------------------------------

1 1 2 . . 3 1 2 2

2 1 2 1 . 4 . 2 .

3 1 2 1 2 6 . 4 .

4 1 2 1 3 7 . 6 .

: : :

9 1 2 3 4 10 . 24 .

10 1 2 4 . 7 . 8 .

11 1 2 4 1 8 . 8 .

12 1 2 4 2 9 . 16 .

13 1 2 4 3 10 . 24 .

14 1 3 . . 4 2 3 3

======== Numbers =========

1 2 3 4 ADD SUBT MULT DIV

-----------------------------------------------------------

^Miss ^Miss Miss Miss 12 12 12 8

^Miss ^Miss ^Miss Miss 36 . 36 .

^Miss ^Miss ^Miss ^Miss 108 . 108 .

===== ===== ===== =====

156 12 156 8

• First two numbers are equal.

• {1,1,null,null}

• 2nd and 3rd numbers are equal and not null.

• {1,2,2,null}

• 3rd and 4th numbers are equal and not null.

• {1,3,1,1}

• 3rd is null and 4th is not null.

• {1,3,null,2}

• if n2 eq .

then mult = n1;

else if n3 eq .

then mult = n1 * n2;

else if n4 eq .

then mult = n1 * n2 * n3;

else mult = n1 * n2 * n3 * n4;

Compute TotalsSubtraction & Division

if n3 eq . and n4 eq .

then do;

if n1 gt n2

then subt = n1 – n2;

else subt = n2 – n1;

if n1 gt 2 and int(n1/n2) eq n1/n2

then div = n1 / n2;

else if n2 gt n1 and int(n2/n1) eq n2/n1

then div = n2 / n1;

end;

else do;

subt = .;

div = .;

end;

• What does the data file look like?

• How do you render the puzzle?

1 C1 3 + 1,1 1,2

1 C2 7 + 1,3 1,4

1 C3 5 + 2,1 2,2

1 C4 5 + 2,3 2,4

1 C5 7 + 3,1 3,2

1 C6 3 + 3,3 3,4

1 C7 5 + 4,1 4,2

1 C8 5 + 4,3 4,4

2 C1 10 + 1,1 1,2 1,3 2,3

2 C2 10 + 1,4 2,4 3,4 4,4

2 C3 9 + 2,1 3,1 4,1

2 C4 8 + 2,2 3,2 4,2

2 C5 3 + 3,3 4,3

1 C1 3 . 1,1

1 C2 6 + 1,2 2,2

1 C3 11 + 1,3 2,3

1 C4 11 + 1,4 1,5 2,5

1 C5 3 . 2,4

1 C6 6 + 1,6 2,6

1 C7 6 + 2,1 3,1

1 C8 3 . 3,2

1 C9 6 + 3,3 4,3 5,3

1 C10 1 - 3,4 4,4

1 C11 12 + 3,5 3,6 4,6

1 C12 3 . 4,5

1 C13 6 . 4,1

1 C14 6 + 4,2 5,2

1 C15 13 + 5,4 5,5 6,5

1 C16 4 + 5,6 6,6

1 C17 4 - 5,1 6,1

1 C18 10 + 6,2 6,3

1 C19 2 . 6,4

------------------------------- Column ---------------------------

Row 1 2 3 4 5 6

--------------------------------------------------------------------------

1 C1[ 3 ] C2[ 6 +] C3[ 11 +] C4[ 11 +] C4[ 11 +] C6[ 6 +]

2 C7[ 6 +] C2[ 6 +] C3[ 11 +] C5[ 3 ] C4[ 11 +] C6[ 6 +]

3 C7[ 6 +] C8[ 3 ] C9[ 6 +] C10[ 1 -] C11[ 12 +] C11[ 12 +]

4 C13[ 6 ] C14[ 6 +] C9[ 6 +] C10[ 1 -] C12[ 3 ] C11[ 12 +]

5 C17[ 4 -] C14[ 6 +] C9[ 6 +] C15[ 13 +] C15[ 13 +] C16[ 4 +]

6 C17[ 4 -] C18[ 10 +] C18[ 10 +] C19[ 2 ] C15[ 13 +] C16[ 4 +]

• Using Conventional Method

• By Not Playing (i.e. Cheating)

Solve Puzzle By Conventional Method

Too Much Trouble !!

Rather Play Piano, Watch Italian TV,

or Drink Heineken.

Solve Puzzle By Not Playing

• Obtain Viable Sets for Each Cage

• Perform Cartesian Product

• Check Possible Solutions

• Print Solution

Cage 1: 3 Cells, 6+ Cage 2: 2 Cells, 2-

1 2 3 . 1 3

1 3 2 . 2 4

1 4 1 . 3 1

2 1 3 . 4 2

2 3 1 .

3 1 2 .

3 2 1 .

Cage 3: 4 Cells, 4* Cage 4: 2 Cells, 3/

1 2 1 2 1 3

2 1 2 1 3 1

• Combine every set representing Cage 1, with every set representing Cage 2,

with every set representing Cage 3,

: : :

with every set representing Cage n-1,

with every set representing Cage n.

• Put collection of Viable Sets in grid and check for Row / Column uniqueness.

• Involved SAS Code.

• Macro Variables, CAGES, VSETS

• 2-Dimensional Matrices (Cage, Cell)

• CAGES

• VSETS

• Puzzle

data rep; array puzzle{4,4} r1c1-r1c4 r2c1-r2c4

r3c1-r3c4 r4c1-r4c4; array cols{4} col1-col4;

set kenken end=eof;

do row = 1 to 4;

do col = 1 to 4;

cols{col} = puzzle{row,col};

end;

output;

end;

keep row col1-col4;

run;

proc report data=rep nowindows headskip split='!';

columns row col1-col4;

define row / order noprint;

define col1 / display format=5. center '00'x;

define col2 / display format=5. center '00'x;

define col3 / display format=5. center '00'x;

define col4 / display format=5. center '00'x;

break after row / skip;

title1 'KenKen 4x4 Puzzle -- Solution';

run;

• Works in Theory.

• Even Works for 4x4 Puzzles.

• Fails in Practice!

• Reason --> Cartesian Product.

4 Singular Cages

10 Two-cell Cages

4 Three-cell Cages

All Arithmetic Ops

24,883,200 Aggregate Sets

C1_VSETS 1

C2_VSETS 1

C3_VSETS 2

C4_VSETS 6

C5_VSETS 2

C6_VSETS 10

C7_VSETS 1

C8_VSETS 1

C9_VSETS 6

C10_VSETS 2

C11_VSETS 2

C12_VSETS 6

C13_VSETS 1

C14_VSETS 6

C15_VSETS 2

C16_VSETS 15

C17_VSETS 1

C18_VSETS 4

Why Solution “Fails”

3 Singular Cages

10 Two-cell Cages

3 Three-cell Cages

1 Four-cell Cage

All Arithmetic Ops

1,184,440,320,000

Aggregate Sets

C1_VSETS 4

C2_VSETS 10

C3_VSETS 6

C4_VSETS 4

C5_VSETS 2

C6_VSETS 1

C7_VSETS 15

C8_VSETS 6

C9_VSETS 1

C10_VSETS 10

C11_VSETS 10

C12_VSETS 6

C13_VSETS 7

C14_VSETS 102

C15_VSETS 1

C16_VSETS 4

C17_VSETS 2

Why Solution “Fails”

• Viable Sets.

• Cardinality of Viable Sets.

• Computing Totals.

• Limitation of Cartesian Product.

• Alternative Solution.

• Revised Perception of the Problem.

• Christine Clarke, PhD

Executive Director,

Biostatistics & Programming

ReSearch Pharmaceutical Services, Inc.

• John R. Gerlach

SAS / CDISC Specialist