30 research outputs found
PushPush and Push-1 are NP-hard in 2D
We prove that two pushing-blocks puzzles are intractable in 2D. One of our
constructions improves an earlier result that established intractability in 3D
[OS99] for a puzzle inspired by the game PushPush. The second construction
answers a question we raised in [DDO00] for a variant we call Push-1. Both
puzzles consist of unit square blocks on an integer lattice; all blocks are
movable. An agent may push blocks (but never pull them) in attempting to move
between given start and goal positions. In the PushPush version, the agent can
only push one block at a time, and moreover when a block is pushed it slides
the maximal extent of its free range. In the Push-1 version, the agent can only
push one block one square at a time, the minimal extent---one square. Both
NP-hardness proofs are by reduction from SAT, and rely on a common
construction.Comment: 10 pages, 11 figures. Corrects an error in the conference version:
Proc. of the 12th Canadian Conference on Computational Geometry, August 2000,
pp. 211-21
PushPush is NP-hard in 2D
We prove that a particular pushing-blocks puzzle is intractable in 2D,
improving an earlier result that established intractability in 3D [OS99]. The
puzzle, inspired by the game *PushPush*, consists of unit square blocks on an
integer lattice. An agent may push blocks (but never pull them) in attempting
to move between given start and goal positions. In the PushPush version, the
agent can only push one block at a time, and moreover, each block, when pushed,
slides the maximal extent of its free range. We prove this version is NP-hard
in 2D by reduction from SAT.Comment: 18 pages, 13 figures, 1 table. Improves cs.CG/991101
PushPush is NP-Hard in 3D
We prove that a particular pushing-blocks puzzle is intractable in 3D. The puzzle, inspired by the game PushPush, consists of unit square blocks on an integer lattice. An agent may push blocks (but never pull them) in attempting to move between given start and goal positions. In the PushPush version, the agent can only push one block at a time, and moreover, each block, when pushed, slides the maximal extent of its free range. We prove this version is NP-hard in 3D by reduction from SAT. The corresponding problem in 2D remains open
Push-Pull Block Puzzles are Hard
This paper proves that push-pull block puzzles in 3D are PSPACE-complete to
solve, and push-pull block puzzles in 2D with thin walls are NP-hard to solve,
settling an open question by Zubaran and Ritt. Push-pull block puzzles are a
type of recreational motion planning problem, similar to Sokoban, that involve
moving a `robot' on a square grid with obstacles. The obstacles
cannot be traversed by the robot, but some can be pushed and pulled by the
robot into adjacent squares. Thin walls prevent movement between two adjacent
squares. This work follows in a long line of algorithms and complexity work on
similar problems. The 2D push-pull block puzzle shows up in the video games
Pukoban as well as The Legend of Zelda: A Link to the Past, giving another
proof of hardness for the latter. This variant of block-pushing puzzles is of
particular interest because of its connections to reversibility, since any
action (e.g., push or pull) can be inverted by another valid action (e.g., pull
or push).Comment: Full version of CIAC 2017 paper. 17 page
On Rearrangement of Items Stored in Stacks
There are stacks, each filled with items, and one empty stack.
Every stack has capacity . A robot arm, in one stack operation (step),
may pop one item from the top of a non-empty stack and subsequently push it
onto a stack not at capacity. In a {\em labeled} problem, all items are
distinguishable and are initially randomly scattered in the stacks. The
items must be rearranged using pop-and-pushs so that in the end, the stack holds items , in that order, from the top to
the bottom for all . In an {\em unlabeled} problem, the
items are of types of each. The goal is to rearrange items so that
items of type are located in the stack for all . In carrying out the rearrangement, a natural question is to find the least
number of required pop-and-pushes.
Our main contributions are: (1) an algorithm for restoring the order of
items stored in an table using only column and row
permutations, and its generalization, and (2) an algorithm with a guaranteed
upper bound of steps for solving both versions of the stack
rearrangement problem when for arbitrary fixed
positive number . In terms of the required number of steps, the labeled and
unlabeled version have lower bounds
and , respectively
Tilt: The Video - Designing Worlds to Control Robot Swarms with Only Global Signals
We present fundamental progress on the computational universality of swarms of micro- or nano-scale robots in complex environments, controlled not by individual navigation, but by a uniform global, external force. More specifically, we consider a 2D grid world, in which all obstacles and robots are unit squares, and for each actuation, robots move maximally until they collide with an obstacle or another robot. The objective is to control robot motion within obstacles, design obstacles in order to achieve desired permutation of robots, and establish controlled interaction that is complex enough to allow arbitrary computations. In this video, we illustrate progress on all these challenges: we demonstrate NP-hardness of parallel navigation, we describe how to construct obstacles that allow arbitrary permutations, and we establish the necessary logic gates for performing arbitrary in-system computations
Particle Computation: Complexity, Algorithms, and Logic
We investigate algorithmic control of a large swarm of mobile particles (such
as robots, sensors, or building material) that move in a 2D workspace using a
global input signal (such as gravity or a magnetic field). We show that a maze
of obstacles to the environment can be used to create complex systems. We
provide a wide range of results for a wide range of questions. These can be
subdivided into external algorithmic problems, in which particle configurations
serve as input for computations that are performed elsewhere, and internal
logic problems, in which the particle configurations themselves are used for
carrying out computations. For external algorithms, we give both negative and
positive results. If we are given a set of stationary obstacles, we prove that
it is NP-hard to decide whether a given initial configuration of unit-sized
particles can be transformed into a desired target configuration. Moreover, we
show that finding a control sequence of minimum length is PSPACE-complete. We
also work on the inverse problem, providing constructive algorithms to design
workspaces that efficiently implement arbitrary permutations between different
configurations. For internal logic, we investigate how arbitrary computations
can be implemented. We demonstrate how to encode dual-rail logic to build a
universal logic gate that concurrently evaluates and, nand, nor, and or
operations. Using many of these gates and appropriate interconnects, we can
evaluate any logical expression. However, we establish that simulating the full
range of complex interactions present in arbitrary digital circuits encounters
a fundamental difficulty: a fan-out gate cannot be generated. We resolve this
missing component with the help of 2x1 particles, which can create fan-out
gates that produce multiple copies of the inputs. Using these gates we provide
rules for replicating arbitrary digital circuits.Comment: 27 pages, 19 figures, full version that combines three previous
conference article