Table of Contents
Fetching ...

Coordinating "7 Billion Humans" is hard

Alessandro Panconesi, Pietro Maria Posta, Mirko Giacchini

TL;DR

This work analyzes the computational complexity of the video game 7 Billion Humans (7BH), focusing on the core puzzle where a single program is executed simultaneously by all workers to move them to accepting cells. It proves two main results: the essential variant without holes, 7BH-Essential, is $NP$-Hard via a polynomial-time reduction from Positive $1$-in-$3$-SAT using diagonal, assignment, and clause gadgets; and the variant with holes, 7BH-Holes, is $PSPACE$-Complete by reducing from Intersection Non-Emptiness and constructing a layered game level that encodes accepting computations of multiple DFAs. The reductions connect to broader problems in robot swarms, simultaneous maze solving, and automata theory, showing that even simplified, grid-based player models inherit strong complexity. The findings imply that coordinating large populations under simple movement rules is computationally intractable in the worst case, highlighting the theoretical limits of automated level design and puzzle creation in such games.

Abstract

In the video game "7 Billion Humans", the player is requested to direct a group of workers to various destinations by writing a program that is executed simultaneously on each worker. While the game is quite rich and, indeed, it is considered one of the best games for beginners to learn the basics of programming, we show that even extremely simple versions are already NP-Hard or PSPACE-Hard.

Coordinating "7 Billion Humans" is hard

TL;DR

This work analyzes the computational complexity of the video game 7 Billion Humans (7BH), focusing on the core puzzle where a single program is executed simultaneously by all workers to move them to accepting cells. It proves two main results: the essential variant without holes, 7BH-Essential, is -Hard via a polynomial-time reduction from Positive -in--SAT using diagonal, assignment, and clause gadgets; and the variant with holes, 7BH-Holes, is -Complete by reducing from Intersection Non-Emptiness and constructing a layered game level that encodes accepting computations of multiple DFAs. The reductions connect to broader problems in robot swarms, simultaneous maze solving, and automata theory, showing that even simplified, grid-based player models inherit strong complexity. The findings imply that coordinating large populations under simple movement rules is computationally intractable in the worst case, highlighting the theoretical limits of automated level design and puzzle creation in such games.

Abstract

In the video game "7 Billion Humans", the player is requested to direct a group of workers to various destinations by writing a program that is executed simultaneously on each worker. While the game is quite rich and, indeed, it is considered one of the best games for beginners to learn the basics of programming, we show that even extremely simple versions are already NP-Hard or PSPACE-Hard.
Paper Structure (19 sections, 3 theorems, 5 equations, 12 figures)

This paper contains 19 sections, 3 theorems, 5 equations, 12 figures.

Key Result

Theorem 1

It is NP-Hard to check if a given level of "7 Billion Humans" is solvable, even using only walls, empty cells, the step command and restricting to instances where each connected component contains at most one worker. That is, 7BH-Essential is NP-Hard.

Figures (12)

  • Figure 1: Two examples of game levels. The level on the left contains only walls and empty cells, while the one on the right also contains holes. We assume that the grids are surrounded by walls. Note that there are two connected components, each with a single worker.
  • Figure 2: The diagonal gadget, used to prevent diagonal movements, consists of five sub-levels: for $i\in\{1,2,3,4, 5\}$, the $i$-th sub-level contains only the worker and the accepting cell labeled with $i$.
  • Figure 3: Assignment Gadget. It consists of four sub-levels, drawn together for brevity. In particular, the $i$-th sub-level, for $i\in\{1,2,3,4\}$, contains only the worker with label $i$ on the left, and only the accepting cells with label $i$ on the right. The workers select the truth value of the variables by moving up or down.
  • Figure 4: Figure (a) shows the Clause Gadget for the generic clause $(x_a, x_b, x_c)$. It consists of two sub-levels drawn together for brevity. The $i$-th sub-level, $i\in\{1,2\}$, contains only the worker with label $i$ on the left and the accepting cells with label $i$ on the right. The columns associated with the variables are aligned with those of the assignment gadget (figure \ref{['img:np-assignment-gadget']}). Solely for the sake of clarity, we also show in figure (b) the gadget for the particular clause $(x_1, x_2, x_3)$.
  • Figure 5: Sub-levels $CW_1, CW_2, CW_3$, together they ensure that the program is a concatenation of clockwise strings in $\mathcal{C}\xspace$. Note that $CW_3$ is needed to ensure that the very first movement is right.
  • ...and 7 more figures

Theorems & Definitions (9)

  • Theorem 1
  • Theorem 2
  • Theorem 3: ccgls20, Theorem 2
  • Definition 4: Positive 1-in-3-SAT
  • Remark
  • Definition 6: Intersection Non-Emptiness Problem
  • Remark
  • Remark
  • Remark