Gaming is a hard job, but someone has to do it! FUN 2012 Giovanni - - PowerPoint PPT Presentation

gaming is a hard job but someone has to do it
SMART_READER_LITE
LIVE PREVIEW

Gaming is a hard job, but someone has to do it! FUN 2012 Giovanni - - PowerPoint PPT Presentation

Gaming is a hard job, but someone has to do it! FUN 2012 Giovanni Viglietta Department of Computer Science, University of Pisa, Italy Venice - June 4 th , 2012 Gaming is a hard job, but someone has to do it! Complexity of computer games:


slide-1
SLIDE 1

Gaming is a hard job, but someone has to do it!

FUN 2012 Giovanni Viglietta

Department of Computer Science, University of Pisa, Italy

Venice - June 4th, 2012

Gaming is a hard job, but someone has to do it!

slide-2
SLIDE 2

Complexity of computer games: guidelines

The older, the better

(No Turing-complete scripting languages)

Gaming is a hard job, but someone has to do it!

slide-3
SLIDE 3

Complexity of computer games: guidelines

The older, the better

(No Turing-complete scripting languages)

Be general!

(Identify simple game mechanics that imply hardness, produce metatheorems and apply them to several games)

Gaming is a hard job, but someone has to do it!

slide-4
SLIDE 4

Complexity of computer games: guidelines

The older, the better

(No Turing-complete scripting languages)

Be general!

(Identify simple game mechanics that imply hardness, produce metatheorems and apply them to several games)

Playable levels

(Levels produced by our reductions should be humanly playable and fun)

Gaming is a hard job, but someone has to do it!

slide-5
SLIDE 5

Location traversal and Single-use paths

Location traversal:

the player has to visit several specific locations

Gaming is a hard job, but someone has to do it!

slide-6
SLIDE 6

Location traversal and Single-use paths

Location traversal:

the player has to visit several specific locations

Single-use paths:

some paths can be traversed only once

Gaming is a hard job, but someone has to do it!

slide-7
SLIDE 7

Location traversal and Single-use paths

Location traversal:

the player has to visit several specific locations

Single-use paths:

some paths can be traversed only once

Metatheorem Location traversal + Single-use paths = ⇒ NP-hard

Gaming is a hard job, but someone has to do it!

slide-8
SLIDE 8

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-9
SLIDE 9

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-10
SLIDE 10

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-11
SLIDE 11

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-12
SLIDE 12

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-13
SLIDE 13

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-14
SLIDE 14

Location traversal and Single-use paths

Proof. Reduction from Hamiltonian Cycle in 3-regular planar graphs.

Gaming is a hard job, but someone has to do it!

slide-15
SLIDE 15

Application: Boulder Dash

Gaming is a hard job, but someone has to do it!

slide-16
SLIDE 16

Application: Boulder Dash

Location traversal: collecting diamonds

Gaming is a hard job, but someone has to do it!

slide-17
SLIDE 17

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-18
SLIDE 18

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-19
SLIDE 19

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-20
SLIDE 20

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-21
SLIDE 21

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-22
SLIDE 22

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-23
SLIDE 23

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-24
SLIDE 24

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-25
SLIDE 25

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-26
SLIDE 26

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-27
SLIDE 27

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-28
SLIDE 28

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-29
SLIDE 29

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-30
SLIDE 30

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-31
SLIDE 31

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-32
SLIDE 32

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-33
SLIDE 33

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-34
SLIDE 34

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-35
SLIDE 35

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-36
SLIDE 36

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-37
SLIDE 37

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-38
SLIDE 38

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-39
SLIDE 39

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-40
SLIDE 40

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-41
SLIDE 41

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-42
SLIDE 42

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-43
SLIDE 43

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-44
SLIDE 44

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-45
SLIDE 45

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-46
SLIDE 46

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-47
SLIDE 47

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-48
SLIDE 48

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-49
SLIDE 49

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-50
SLIDE 50

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-51
SLIDE 51

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-52
SLIDE 52

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-53
SLIDE 53

Application: Boulder Dash

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-54
SLIDE 54

Application: Lode Runner

Gaming is a hard job, but someone has to do it!

slide-55
SLIDE 55

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-56
SLIDE 56

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-57
SLIDE 57

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-58
SLIDE 58

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-59
SLIDE 59

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-60
SLIDE 60

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-61
SLIDE 61

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-62
SLIDE 62

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-63
SLIDE 63

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-64
SLIDE 64

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-65
SLIDE 65

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-66
SLIDE 66

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-67
SLIDE 67

Application: Lode Runner

Gameplay: dig holes into floors to trap monsters. Over time, floors dug into will regenerate.

Gaming is a hard job, but someone has to do it!

slide-68
SLIDE 68

Application: Lode Runner

Location traversal: collecting gold pieces

Gaming is a hard job, but someone has to do it!

slide-69
SLIDE 69

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-70
SLIDE 70

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-71
SLIDE 71

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-72
SLIDE 72

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-73
SLIDE 73

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-74
SLIDE 74

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-75
SLIDE 75

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-76
SLIDE 76

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-77
SLIDE 77

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-78
SLIDE 78

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-79
SLIDE 79

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-80
SLIDE 80

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-81
SLIDE 81

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-82
SLIDE 82

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-83
SLIDE 83

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-84
SLIDE 84

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-85
SLIDE 85

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-86
SLIDE 86

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-87
SLIDE 87

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-88
SLIDE 88

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-89
SLIDE 89

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-90
SLIDE 90

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-91
SLIDE 91

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-92
SLIDE 92

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-93
SLIDE 93

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-94
SLIDE 94

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-95
SLIDE 95

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-96
SLIDE 96

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-97
SLIDE 97

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-98
SLIDE 98

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-99
SLIDE 99

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-100
SLIDE 100

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-101
SLIDE 101

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-102
SLIDE 102

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-103
SLIDE 103

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-104
SLIDE 104

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-105
SLIDE 105

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-106
SLIDE 106

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-107
SLIDE 107

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-108
SLIDE 108

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-109
SLIDE 109

Application: Lode Runner

Single-use path:

Gaming is a hard job, but someone has to do it!

slide-110
SLIDE 110

Doors and Pressure plates

When stepping on a Pressure plate, a specific Door opens (or closes)

Gaming is a hard job, but someone has to do it!

slide-111
SLIDE 111

Doors and Pressure plates

When stepping on a Pressure plate, a specific Door opens (or closes)

Gaming is a hard job, but someone has to do it!

slide-112
SLIDE 112

Doors and Pressure plates

When stepping on a Pressure plate, a specific Door opens (or closes)

Gaming is a hard job, but someone has to do it!

slide-113
SLIDE 113

Doors and Pressure plates

When stepping on a Pressure plate, a specific Door opens (or closes)

Gaming is a hard job, but someone has to do it!

slide-114
SLIDE 114

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard

Gaming is a hard job, but someone has to do it!

slide-115
SLIDE 115

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ...

Gaming is a hard job, but someone has to do it!

slide-116
SLIDE 116

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ... Some not-so-trivial applications:

Gaming is a hard job, but someone has to do it!

slide-117
SLIDE 117

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ... Some not-so-trivial applications:

Lemmings

Gaming is a hard job, but someone has to do it!

slide-118
SLIDE 118

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ... Some not-so-trivial applications:

Lemmings Donkey Kong Country

Gaming is a hard job, but someone has to do it!

slide-119
SLIDE 119

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ... Some not-so-trivial applications:

Lemmings Donkey Kong Country Donkey Kong Country 2

Gaming is a hard job, but someone has to do it!

slide-120
SLIDE 120

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ... Some not-so-trivial applications:

Lemmings Donkey Kong Country Donkey Kong Country 2 Donkey Kong Country 3

Gaming is a hard job, but someone has to do it!

slide-121
SLIDE 121

Doors and Pressure plates

Metatheorem Doors + Pressure plates = ⇒ PSPACE-hard Lots of trivial applications: Doom, Prince of Persia, ... Some not-so-trivial applications:

Lemmings Donkey Kong Country Donkey Kong Country 2 Donkey Kong Country 3 Zelda: A Link to the Past

Gaming is a hard job, but someone has to do it!

slide-122
SLIDE 122

Doors and Buttons

Buttons:

the same as Pressure plates, but the player may choose whether to press them or not

Gaming is a hard job, but someone has to do it!

slide-123
SLIDE 123

Doors and Buttons

Buttons:

the same as Pressure plates, but the player may choose whether to press them or not

Simulating Buttons with Pressure plates:

x

Gaming is a hard job, but someone has to do it!

slide-124
SLIDE 124

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard

Gaming is a hard job, but someone has to do it!

slide-125
SLIDE 125

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

a d b b a x c d x c c b a b c d d b a a c d

Gaming is a hard job, but someone has to do it!

slide-126
SLIDE 126

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

a d b b a x c d x c c b a b c d d b a a c d

Gaming is a hard job, but someone has to do it!

slide-127
SLIDE 127

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

a d b b a x c d x c c b a b c d d b a a c d

Gaming is a hard job, but someone has to do it!

slide-128
SLIDE 128

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

a d b b a x c d x c c b a b c d d b a a c d

Gaming is a hard job, but someone has to do it!

slide-129
SLIDE 129

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-130
SLIDE 130

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-131
SLIDE 131

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-132
SLIDE 132

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-133
SLIDE 133

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-134
SLIDE 134

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-135
SLIDE 135

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-136
SLIDE 136

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-137
SLIDE 137

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-138
SLIDE 138

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-139
SLIDE 139

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-140
SLIDE 140

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-141
SLIDE 141

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-142
SLIDE 142

Doors and Buttons

Metatheorem Doors + 3-Buttons = ⇒ PSPACE-hard Proof. Simulate a Pressure plate for ±x with 3-Buttons:

b a x c d x c b a b c d d b a a c d a d b c

Gaming is a hard job, but someone has to do it!

slide-143
SLIDE 143

Puzzle Bobble 3 is NP-complete

Gaming is a hard job, but someone has to do it!

slide-144
SLIDE 144

Puzzle Bobble 3 is NP-complete

Gameplay: bubbles shot by the player attach to each other; monochromatic triplets pop.

Gaming is a hard job, but someone has to do it!

slide-145
SLIDE 145

Puzzle Bobble 3 is NP-complete

Gameplay: bubbles shot by the player attach to each other; monochromatic triplets pop.

Gaming is a hard job, but someone has to do it!

slide-146
SLIDE 146

Puzzle Bobble 3 is NP-complete

Gameplay: bubbles shot by the player attach to each other; monochromatic triplets pop.

Gaming is a hard job, but someone has to do it!

slide-147
SLIDE 147

Puzzle Bobble 3 is NP-complete

Gameplay: bubbles shot by the player attach to each other; monochromatic triplets pop.

Gaming is a hard job, but someone has to do it!

slide-148
SLIDE 148

Puzzle Bobble 3 is NP-complete

Gameplay: bubbles shot by the player attach to each other; monochromatic triplets pop.

Gaming is a hard job, but someone has to do it!

slide-149
SLIDE 149

Puzzle Bobble 3 is NP-complete

Gameplay: bubbles shot by the player attach to each other; monochromatic triplets pop.

Gaming is a hard job, but someone has to do it!

slide-150
SLIDE 150

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-151
SLIDE 151

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-152
SLIDE 152

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-153
SLIDE 153

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-154
SLIDE 154

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-155
SLIDE 155

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-156
SLIDE 156

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-157
SLIDE 157

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-158
SLIDE 158

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-159
SLIDE 159

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-160
SLIDE 160

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-161
SLIDE 161

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-162
SLIDE 162

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-163
SLIDE 163

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-164
SLIDE 164

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-165
SLIDE 165

Puzzle Bobble 3: variable gadget

Proof. Reduction from Planar 3-Satisfiability.

Gaming is a hard job, but someone has to do it!

slide-166
SLIDE 166

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-167
SLIDE 167

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-168
SLIDE 168

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-169
SLIDE 169

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-170
SLIDE 170

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-171
SLIDE 171

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-172
SLIDE 172

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-173
SLIDE 173

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-174
SLIDE 174

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-175
SLIDE 175

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-176
SLIDE 176

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-177
SLIDE 177

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-178
SLIDE 178

Puzzle Bobble 3: clause gadget

Clause gadget for (x ∨ y ∨ ¬z):

Gaming is a hard job, but someone has to do it!

slide-179
SLIDE 179

Gaming is a hard job, but someone has to do it!