Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible
We analyze the computational complexity of the many types of pencil-and-paper-style puzzles featured in the 2016 puzzle video game The Witness. In all puzzles, the goal is to draw a simple path in a rectangular grid graph from a start vertex to a destination vertex. The different puzzle types place...
Main Authors: | , , , , , , , , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | English |
Published: |
Elsevier BV
2020
|
Online Access: | https://hdl.handle.net/1721.1/128826 |
_version_ | 1826204217361039360 |
---|---|
author | Abel, Zachary R Bosboom, Jeffrey William Coulombe, Michael Joseph Demaine, Erik D. Hamilton, Linus Hesterberg, Adam Kopinsky, Justin Lynch, Jayson R. Rudoy, Mikhail Thielen, Clemens |
author2 | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science |
author_facet | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Abel, Zachary R Bosboom, Jeffrey William Coulombe, Michael Joseph Demaine, Erik D. Hamilton, Linus Hesterberg, Adam Kopinsky, Justin Lynch, Jayson R. Rudoy, Mikhail Thielen, Clemens |
author_sort | Abel, Zachary R |
collection | MIT |
description | We analyze the computational complexity of the many types of pencil-and-paper-style puzzles featured in the 2016 puzzle video game The Witness. In all puzzles, the goal is to draw a simple path in a rectangular grid graph from a start vertex to a destination vertex. The different puzzle types place different constraints on the path: preventing some edges from being visited (broken edges); forcing some edges or vertices to be visited (hexagons); forcing some cells to have certain numbers of incident path edges (triangles); or forcing the regions formed by the path to be partially monochromatic (squares), have exactly two special cells (stars), or be singly covered by given shapes (polyominoes) and/or negatively counting shapes (antipolyominoes). We show that any one of these clue types (except the first) is enough to make path finding NP-complete (“witnesses exist but are hard to find”), even for rectangular boards. Furthermore, we show that a final clue type (antibody), which necessarily “cancels” the effect of another clue in the same region, makes path finding Σ2-complete (“witnesses do not exist”), even with a single antibody (combined with many anti/polyominoes), and the problem gets no harder with many antibodies. On the positive side, we give a polynomial-time algorithm for monomino clues, by reducing to hexagon clues on the boundary of the puzzle, even in the presence of broken edges, and solving “subset Hamiltonian path” for terminals on the boundary of an embedded planar graph in polynomial time. |
first_indexed | 2024-09-23T12:50:44Z |
format | Article |
id | mit-1721.1/128826 |
institution | Massachusetts Institute of Technology |
language | English |
last_indexed | 2024-09-23T12:50:44Z |
publishDate | 2020 |
publisher | Elsevier BV |
record_format | dspace |
spelling | mit-1721.1/1288262022-11-05T04:33:35Z Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible Abel, Zachary R Bosboom, Jeffrey William Coulombe, Michael Joseph Demaine, Erik D. Hamilton, Linus Hesterberg, Adam Kopinsky, Justin Lynch, Jayson R. Rudoy, Mikhail Thielen, Clemens Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory We analyze the computational complexity of the many types of pencil-and-paper-style puzzles featured in the 2016 puzzle video game The Witness. In all puzzles, the goal is to draw a simple path in a rectangular grid graph from a start vertex to a destination vertex. The different puzzle types place different constraints on the path: preventing some edges from being visited (broken edges); forcing some edges or vertices to be visited (hexagons); forcing some cells to have certain numbers of incident path edges (triangles); or forcing the regions formed by the path to be partially monochromatic (squares), have exactly two special cells (stars), or be singly covered by given shapes (polyominoes) and/or negatively counting shapes (antipolyominoes). We show that any one of these clue types (except the first) is enough to make path finding NP-complete (“witnesses exist but are hard to find”), even for rectangular boards. Furthermore, we show that a final clue type (antibody), which necessarily “cancels” the effect of another clue in the same region, makes path finding Σ2-complete (“witnesses do not exist”), even with a single antibody (combined with many anti/polyominoes), and the problem gets no harder with many antibodies. On the positive side, we give a polynomial-time algorithm for monomino clues, by reducing to hexagon clues on the boundary of the puzzle, even in the presence of broken edges, and solving “subset Hamiltonian path” for terminals on the boundary of an embedded planar graph in polynomial time. 2020-12-14T22:18:49Z 2020-12-14T22:18:49Z 2020-06 2018-11 2020-12-09T18:14:44Z Article http://purl.org/eprint/type/JournalArticle 0304-3975 https://hdl.handle.net/1721.1/128826 Abel, Zachary et al. "Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible." Theoretical Computer Science 839 (November 2020): 41-102 en http://dx.doi.org/10.1016/j.tcs.2020.05.031 Theoretical Computer Science Creative Commons Attribution-NonCommercial-NoDerivs License http://creativecommons.org/licenses/by-nc-nd/4.0/ application/pdf Elsevier BV arXiv |
spellingShingle | Abel, Zachary R Bosboom, Jeffrey William Coulombe, Michael Joseph Demaine, Erik D. Hamilton, Linus Hesterberg, Adam Kopinsky, Justin Lynch, Jayson R. Rudoy, Mikhail Thielen, Clemens Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible |
title | Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible |
title_full | Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible |
title_fullStr | Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible |
title_full_unstemmed | Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible |
title_short | Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible |
title_sort | who witnesses the witness finding witnesses in the witness is hard and sometimes impossible |
url | https://hdl.handle.net/1721.1/128826 |
work_keys_str_mv | AT abelzacharyr whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT bosboomjeffreywilliam whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT coulombemichaeljoseph whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT demaineerikd whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT hamiltonlinus whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT hesterbergadam whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT kopinskyjustin whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT lynchjaysonr whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT rudoymikhail whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible AT thielenclemens whowitnessesthewitnessfindingwitnessesinthewitnessishardandsometimesimpossible |