TY - JOUR
T1 - Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible
AU - Abel, Zachary
AU - Bosboom, Jeffrey
AU - Coulombe, Michael
AU - Demaine, Erik D.
AU - Hamilton, Linus
AU - Hesterberg, Adam
AU - Kopinsky, Justin
AU - Lynch, Jayson
AU - Rudoy, Mikhail
AU - Thielen, Clemens
N1 - Publisher Copyright:
© 2020
PY - 2020/11/2
Y1 - 2020/11/2
N2 - 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.
AB - 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.
KW - Algorithms
KW - Computational complexity
KW - Hamiltonian path
KW - Hardness
KW - Path puzzles
KW - Video games
UR - http://www.scopus.com/inward/record.url?scp=85087319929&partnerID=8YFLogxK
U2 - 10.1016/j.tcs.2020.05.031
DO - 10.1016/j.tcs.2020.05.031
M3 - Article
AN - SCOPUS:85087319929
SN - 0304-3975
VL - 839
SP - 41
EP - 102
JO - Theoretical Computer Science
JF - Theoretical Computer Science
ER -