arXiv ScienceSearch

arXiv subjects

Nathan Flaherty

Publications and source records attributed to Nathan Flaherty.

3 recordsLinked to original sources

Fast and Near-Optimal Collision-Free Robot Scheduling On Paths

In this paper, we address the problem of scheduling a set of robots to complete tasks in a laboratory environment, modelled as a graph, while avoiding collisions. We analyze the dynamic programming algorithm (PA) introduced in arXiv:2402.12019 and present three baselines for comparison: an integer programming approach (IP) that always yields an optimal solution, a greedy algorithm (GA), and a simple randomized algorithm (RA). We show that for a path graph, PA, GA, and RA find solutions several orders of magnitude faster than IP (the optimal baseline), with PA returning optimal results in the vast majority of cases. Our scaled experiments comparing non-optimal algorithms show that the average schedule timespan produced by PA is less than half that of RA and GA. This outperformance is consistent across varying path lengths, task durations and distributions, number and allocations of tasks and robots, and task-to-robot ratios. This work serves two purposes. First, we present three algorithms for scheduling on line graphs, including a novel integer programming formulation for finding optimal solutions. Second, we demonstrate that PA produces near-optimal schedules that outperform all non-optimal baselines while maintaining a comparable runtime. Code is available at https://github.com/sea26-robots/code.

cs.RO

Collision-Free Robot Scheduling

Robots are becoming an increasingly common part of scientific work within laboratory environments. In this paper, we investigate the problem of designing \emph{schedules} for completing a set of tasks at fixed locations with multiple robots in a laboratory. We represent the laboratory as a graph with tasks placed on fixed vertices and robots represented as agents, with the constraint that no two robots may occupy the same vertex at any given timestep. Each schedule is partitioned into a set of timesteps, corresponding to a walk through the graph (allowing for a robot to wait at a vertex to complete a task), with each timestep taking time equal to the time for a robot to move from one vertex to another and each task taking some given number of timesteps during the completion of which a robot must stay at the vertex containing the task. The goal is to determine a set of schedules, with one schedule for each robot, minimising the number of timesteps taken by the schedule taking the greatest number of timesteps within the set of schedules. We show that this problem is NP-complete for many simple classes of graphs, the problem of determining the fastest schedule, defined by the number of time steps required for a robot to visit every vertex in the schedule and complete every task assigned in its assigned schedule. Explicitly, we provide this result for complete graphs, bipartite graphs, star graphs, and planar graphs. Finally, we provide positive results for line graphs, showing that we can find an optimal set of schedules for $k$ robots completing $m$ tasks of equal length of a path of length $n$ in $O(kmn)$ time, and a $k$-approximation when the length of the tasks is unbounded.

cs.DS

Structural and Combinatorial Properties of 2-swap Word Permutation Graphs

In this paper, we study the graph induced by the $\textit{2-swap}$ permutation on words with a fixed Parikh vector. A $2$-swap is defined as a pair of positions $s = (i, j)$ where the word $w$ induced by the swap $s$ on $v$ is $v[1] v[2] \dots v[i - 1] v[j] v[i+1] \dots v[j - 1] v[i] v[j + 1] \dots v[n]$. With these permutations, we define the $\textit{Configuration Graph}$, $G(P)$ defined over a given Parikh vector. Each vertex in $G(P)$ corresponds to a unique word with the Parikh vector $P$, with an edge between any pair of words $v$ and $w$ if there exists a swap $s$ such that $v \circ s = w$. We provide several key combinatorial properties of this graph, including the exact diameter of this graph, the clique number of the graph, and the relationships between subgraphs within this graph. Additionally, we show that for every vertex in the graph, there exists a Hamiltonian path starting at this vertex. Finally, we provide an algorithm enumerating these paths from a given input word of length $n$ with a delay of at most $O(\log n)$ between outputting edges, requiring $O(n \log n)$ preprocessing.

math.CO