790 likes | 906 Views
The Box Mover Problem. Valentin Polishchuk Dept. of Applied Math. & Statistics Stony Brook University. A Puzzle. A Puzzle. Pixeled domain. A Puzzle. Pixeled domain Items 1 per pixel. A Puzzle. Pixeled domain Items 1 per pixel Agent (Robot) travels moves the items.
E N D
The Box Mover Problem Valentin Polishchuk Dept. of Applied Math. & Statistics Stony Brook University
A Puzzle • Pixeled domain
A Puzzle • Pixeled domain • Items • 1 per pixel
A Puzzle • Pixeled domain • Items • 1 per pixel • Agent (Robot) travels moves the items www.cs.utah.edu/~mflatt/
A Puzzle • Pixeled domain • Items • 1 per pixel • Agent (Robot) travels moves the items • initial position
A Puzzle • Pixeled domain • Items • 1 per pixel • Agent (Robot) travels moves the items • initial position • Rules/Constraints • What happens after a move • What is forbidden
A Puzzle (contd.) • Target configuration • Sink
A Puzzle (contd.) • Target configuration • Sink • Goal: • items • initial → target
A Puzzle (contd.) • Target configuration • Sink • Goal: • items • initial → target • robot • back
The Box Mover Problem • Domain – warehouse • Items – boxes
The Box Mover Problem • Domain – warehouse • Items – boxes • Agent (robot) – warehouse-keeper, pushing and/or pulling and/or lifting boxes
The Box Mover Problem • Domain – warehouse • Items – boxes • Agent (robot) – warehouse-keeper, pushing and/or pulling and/or lifting boxes • Rules • don’t step on boxes
The Box Mover Problem • Domain – warehouse • Items – boxes • Agent (robot) – warehouse-keeper, pushing and/or pulling and/or lifting boxes • Rules • don’t step on boxes • ≤k pushed • ≤p pulled • ≤l lifted BMP(k,p,l)
Versions of the Problem • All boxes movable?
Versions of the Problem • All boxes movable? • Some fixed (rigid walls) BMP(k,p,l)-F • Robot’s path • No self-intersections BMP(k,p,l)-X • Boxes’ IDs #-BMP(k,p,l) E.g.: SOKOBAN = BMP(1,0,0)-F Push-k = BMP(k,0,0), Push-* = BMP(∞,0,0) BMP(∞, ∞, ∞) – Omnipotent Robot Problem
Versions of the Problem • All boxes movable? • Some fixed (rigid walls) BMP(k,p,l)-F • Robot’s path • No self-intersections BMP(k,p,l)-X • Boxes’ IDs #-BMP(k,p,l) E.g.: SOKOBAN = BMP(1,0,0)-F Push-k = BMP(k,0,0), Push-* = BMP(∞,0,0) BMP(∞, ∞, ∞) – Omnipotent Robot Problem
Versions of the Problem • All boxes movable? • Some fixed (rigid walls) BMP(k,p,l)-F • Robot’s path • No self-intersections BMP(k,p,l)-X • Boxes’ IDs #-BMP(k,p,l) E.g.: SOKOBAN = BMP(1,0,0)-F Push-k = BMP(k,0,0), Push-* = BMP(∞,0,0) BMP(∞, ∞, ∞) – Omnipotent Robot Problem
Versions of the Problem • All boxes movable? • Some fixed (rigid walls) BMP(k,p,l)-F • Robot’s path • No self-intersections BMP(k,p,l)-X • Boxes’ IDs #-BMP(k,p,l) E.g.: SOKOBAN = BMP(1,0,0)-F Push-k = BMP(k,0,0), Push-* = BMP(∞,0,0) BMP(∞, ∞, ∞) – Omnipotent Robot Problem
Previous work: Feasibility • P? • monotone [Dhagat and O’Rourke,’92] • NP? • only 1 version (-F-X) [Demaine and Hoffmann,’01] • NP-hard, PSPACE-complete [Dhagat and O’Rourke,’92], [Dor and Zwick,’99], [Culberson,’98], [Demaine, Demaine and O'Rourke,’00], [Demaine, Demaine, Hoffmann and O'Rourke,’01], [Demaine, Hearn and Hoffmann,’02], [Hearn and Demaine,’02]
Previous work: Feasibility • P? • monotone [Dhagat and O’Rourke,’92] • NP? • only 1 version (-F-X) [Demaine and Hoffmann,’01] • NP-hard, PSPACE-complete [Dhagat and O’Rourke,’92], [Dor and Zwick,’99], [Culberson,’98], [Demaine, Demaine and O'Rourke,’00], [Demaine, Demaine, Hoffmann and O'Rourke,’01], [Demaine, Hearn and Hoffmann,’02], [Hearn and Demaine,’02]
“Reality”: Optimization • “Infeasible!”– not acceptable • Upgrade robot, warehouse • Feasibility insured • Original SOKOBAN problem
“Reality”: Optimization • “Infeasible!”– not acceptable • Upgrade robot, warehouse • Feasibility insured • Original SOKOBAN problem • Optimization • cost = workload (pushes + pulls + lifts) • unloaded motion – no cost • [Sabey,’96]
Proving Hardness • All boxes movable, no walls, infinite plane • leakage is a problem • l = 0 • kp = 0 – a wall of thickness max(k, p)+1 is rigid • p = 0 – k+1-by-k+1 square is unmovable • k = 0 – p+1-by-p+1 square is unmovable Palliative, what if kp > 0 or l > 0 ? • Our hardness proof – wall thickness is constant
Making Puzzle “more tractable” • k ↑, p ↑, l ↑ ? • [Demaine, Demaine and O'Rourke,’00]: introducing powerful robot “makes it relatively easy to construct intractable puzzles” • constrain robot’s motion: heavier constructions • l>0 – none? • Mosaic Rearranging Problem (“flying” robot) is in P – solved by assignment • Limiting the robot’s capabilities • most problems (even the “more tractable” ones): • exact complexity unknown, some PSPACE-complete
Our Results • NP-hard for any (k, p, l) • including infinite values • Open BMP instances • in NP
Another Problem – Crossovers • [Demaine and Hoffman,‘01], [Demaine, Demaine, Hoffmann and O'Rourke,’01] contrasted their work to “all previous approaches of building circuits based on graphs, which seem to inherently require [problematic] crossings” • Our construction • no crossings • reduction from HC problem for planar graphs
The Reduction • HC in planar directed graphs • each node v: out(v) + in(v) = 3 [Plesnik,‘79]
BMP(1,0,0)-F Edges – corridors of width 1Nodes – T-intersections
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere
Node gadget Edge gadget The Gadgets Checked box – initial position Shaded box – target position Robot initially – somewhere