English

Avoiding Deadlocks via Weak Deadlock Sets

Optimization and Control 2024-10-08 v1 Computational Complexity

Abstract

A deadlock occurs in a network when two or more items prevent each other from moving and are stalled. In a general model, items are stored at vertices and each vertex vv has a buffer with b(v)b(v) slots. Given a route for each item toward its destination, the Deadlock Safety Problem asks whether the current state is safe, i.e., it is possible to deliver each item at its destination, or is bound to deadlock, i.e., any sequence of moves will end up with a set of items stalled. While when b2b \geq 2 the problem is solvable in polynomial time building upon a nice characterization of YES/NO-instances, it is NP-hard on quite simple graphs as grids when b=1b=1 and on trees when b3b\leq 3. We improve on these results by means of two new tools, weak deadlock sets and wise states. We show that for general networks and bb a state that is wise and without weak deadlock sets -- this can be recognized in polynomial time -- is safe: this is indeed a strengthening of the result for b2b\geq 2. We sharpen this result for trees, where we show that a wise state is safe if and only if it has no weak deadlock set. That is interesting in particular in the context of rail transportation where networks are often single-tracked and deadlock detection and avoidance focuses on local sub-networks, mostly with a tree-like structure. We pose some research questions for future investigations.

Keywords

Cite

@article{arxiv.2410.05175,
  title  = {Avoiding Deadlocks via Weak Deadlock Sets},
  author = {Gianpaolo Oriolo and Anna Russo Russo},
  journal= {arXiv preprint arXiv:2410.05175},
  year   = {2024}
}