790 likes | 923 Vues
The Box Mover Problem (BMP) addresses the complexities of robotic interactions in a warehouse environment where an agent (robot) must manipulate boxes. The robot is constrained by rules such as the inability to step on boxes and specific limits on the number of boxes it can push, pull, or lift. Different versions of the problem exist, including scenarios with fixed walls, various movement capabilities, and obstacles. This paper explores problem feasibility, optimized robot operations, and the implications of NP-hardness within the context of box manipulation tasks.
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