S t at e R e pr e se n ta t io n a n d P ol y om i no P la c em e nt - - PowerPoint PPT Presentation

s t at e r e pr e se n ta t io n a n d p ol y om i no p
SMART_READER_LITE
LIVE PREVIEW

S t at e R e pr e se n ta t io n a n d P ol y om i no P la c em e nt - - PowerPoint PPT Presentation

S t at e R e pr e se n ta t io n a n d P ol y om i no P la c em e nt f or t he G am e P a tc h wo r k Mikael Zayenz Lagerkvist [G a me] S t at e R e pr e se n ta t io n P o ly o mi n o P l ac e me n t t h e G am e P a tc h wo r k W h at i s P at c


slide-1
SLIDE 1

State Representation and Polyomino Placement for the Game Patchwork

Mikael Zayenz Lagerkvist

slide-2
SLIDE 2

[Game] State

Representation

slide-3
SLIDE 3

Polyomino

Placement

slide-4
SLIDE 4

the Game

Patchwork

slide-5
SLIDE 5
slide-6
SLIDE 6

What is Patchwork?

4 Released 2014 by Uwe Rosenberg 4 Popular (place 64 on Board Game Geek) 4 2-player 4 Full information 4 Experimentally: average 23 plies and branching factor 83

slide-7
SLIDE 7

Patchwork rules

4 Central time board 4 Buying patches and placing on boards 4 Earn buttons and cover the board 4 Packing the board well core challenge 4 To buy a patch it must fjt on the board

slide-8
SLIDE 8

Game state?

slide-9
SLIDE 9

Game state

4 Representing the current state of a game 4 Must support needs of surrounding code 4 Possible moves, evaluation, making moves, ... 4 Classical board game engines have hyper-optimized small states 4 Modern board games are more complex

slide-10
SLIDE 10

Constraint programming to the rescue!

Use constraint programming for the placement part Re-use smart code in solvers

slide-11
SLIDE 11

Placement using regular expressions

4 Based on paper with Gilles Pesant from 2008 4 Extended with 4 Explicit rotations 4 Reifjed placement 4 Usage constraints

slide-12
SLIDE 12

Propagation fjnds

all placeable patches

slide-13
SLIDE 13

Placing patches

Strategy = Placement policy + Evaluation

slide-14
SLIDE 14

Placement policies

4 Classic packing heuristics such as Bottom-Left 4 CP heuristics based 4 Meta-policy for all rotations of patch 4 All placements

slide-15
SLIDE 15

Which placement?

4 Evaluation chooses between alternatives 4 Goal is to make best choice 4 First-fail is the wrong approach 4 In essence: only left-most branch of search tree 4 Ideas: Left/bottom-most, least bounding box, fjrst, random, ...

slide-16
SLIDE 16

Propagation Guided Global Regret

4 Choose the placement that makes as little propagation as possible 4 Morally inverse of impact based search 4 Mathy expression

slide-17
SLIDE 17

Which strategy is best?

4 1000 packings for all 119 combinations tested 4 Most important thing is propagation guided global regret 4 Smart CP heuristics are the wrong choice for policy 4 Policy is a choice between speed and quality

slide-18
SLIDE 18

Key takeaways

4 Game state representation using CP 4 Propagation gives us many important signals 4 Play Patchwork! 4 github.com/zayenz/cp-mod-ref-2019-patchwork

slide-19
SLIDE 19

Teaser: Nmbr9 poster tomorrow

4 Another fun game! 4 More complicated polyomino placement problem 4 Key points 4 Too hard to solve with my current best model 4 Open challenge, do you have a smart idea? 4 github.com/zayenz/cp-2019-nmbr9/

slide-20
SLIDE 20

Thank you!

~ Questions?