Slide 1

Slide 1 text

Priority Inheritance with Backtracking for Iterative Multi-agent Path Finding Keisuke Okumura1, Manao Machida2, Xavier Défago1, Yasumasa Tamura1 1. Tokyo Institute of Technology 2. NEC Corporation IJCAI-19 Aug. 13th, 2019

Slide 2

Slide 2 text

/17 2 Multi-agent Path Finding (MAPF) given agents (starts) graph goals obtain 1. paths without collisions s.t. all agents are on their goals simultaneously computationally DIFFICULT to obtain optimal solutions

Slide 3

Slide 3 text

/17 3 Multi-agent Path Finding (MAPF) In practical scenarios, MAPF must be solved iteratively Systems with moving agents will be more and more common. YouTube/Mind Blowing Videos Twitter/People’s Daily, China OUR FOCUS one-shot MAPF iterative MAPF

Slide 4

Slide 4 text

/17 4 Iterative Multi-agent Path Finding given B C A agents (starts) graph tasks (set of goals) X obtain 1. paths without collisions s.t. all tasks are completed in finite time 2. task allocation A C A complete!

Slide 5

Slide 5 text

/17 5 Overview ü for solving iterative MAPF, propose an algorithm PIBT that ensures reachability 500 agents, within 0.5 sec fast, scalable all agents reach their goals in finite time after being given (in biconnected-like graph) Multi-agent Pickup & Delivery [Ma et al., AAMAS17] adaptive for iterative use Priority Inheritance with Backtracking

Slide 6

Slide 6 text

/17 6 Design Choice of Algorithm optimality vs speed tradeoff centralized decentralized vs style globally locally vs communication Adaptivity for Iterative Use

Slide 7

Slide 7 text

/17 7 Prioritized Planning high low mid STUCK incomplete single time-window (PIBT relies on) node = resource priority inversion in resource scheduling

Slide 8

Slide 8 text

/17 8 Priority Inheritance countermeasure to priority inversion [Sha et al., 1990] priority inheritance high mid low as high

Slide 9

Slide 9 text

/17 9 Stuck Again Priority inheritance is insufficient to prevent all stuck situations. high as high as high as high as high STUCK

Slide 10

Slide 10 text

/17 10 with Backtracking high Agents with priority inheritance have to wait for backtracking. invalid valid valid You can move invalid You must re-plan, I will stay re-plan re-plan

Slide 11

Slide 11 text

/17 11 Guarantee of Local Movement sketch of proof. The agent with highest priority successfully moves to a target node if the two nodes (current, target) belong to a simple cycle. Lemma 1 highest as high as high the cycle must be explored try neighbor nodes until success target last node of the cycle invalid valid current always success! (rotation)

Slide 12

Slide 12 text

/17 12 Local to Global Movement Lemma 1 the agent with highest priority can move to an arbitrary neighbor node in next timestep. (depends on graph) such an agent always reach its goal with the shortest path how to select? by dynamic priorities, (it is enabled to ensure that) all agents reach their own goals in finite time

Slide 13

Slide 13 text

/17 13 Dynamic Priorities Once an agent reaches its goal, it drops priority. Agents that have not reached goal have higher priority. pi(t) ⌘i(t) + ✏i AAACeHicbZHNThRBFIVrGn9w/GHApZuKEyNoMulGoy6Jblxi4gAJPencrrk9VKi/VN0WJ53mGXgat/IavIorq4dJQMabVHLynXsW91TplAyUple9ZO3e/QcP1x/1Hz95+mxjsLl1EGztBY6FVdYflRBQSYNjkqTwyHkEXSo8LE+/dP7hD/RBWvOd5g4nGmZGVlIARVQM3riike027fBcYUXgvT3jORIUsoNvo3ZBqrgqi8EwHaWL4asiW4ohW85+sdn7kE+tqDUaEgpCOM5SR5MGPEmhsO3ndUAH4hRmeBylAY1h0iyOavmrSKa8sj4+Q3xBbyca0CHMdRk3NdBJuOt18MYzeCas1mCmTQ5+puFn2+SdZ12Te80jO+9grqSWFNrVhDT/SUR4k7h9DVWfJo00riY04vqYqlacLO9+gU+lR0FqHgUIL2MfXJyAB0Hxr/qx6exur6viYHeUvRul394P9z4vO19nL9hLts0y9pHtsa9sn42ZYBfsF/vNLnt/Ep68TnauV5PeMvOc/TPJ7l8E68PB elapsed timestep since last updated its goal, or, be zero if no goal ai AAACT3icbZFLSwMxFIUz9dXWZ3XpJlgEV2VGRV2KblxWtA/olHInTWswjyHJqGWo/8Ct/i6X/hJ3YqYOVFsvBA7fyYHckyjmzFjf//AKC4tLyyvFUnl1bX1jc6uy3TQq0YQ2iOJKtyMwlDNJG5ZZTtuxpiAiTlvR/WXmtx6oNkzJWzuKaVfAULIBI2AduoEe621V/Zo/GTwvglxUUT71XsU7CfuKJIJKSzgY0wn82HZT0JYRTsflMDE0BnIPQ9pxUoKgpptO3jrG+4708UBpd6TFE/o7kYIwZiQid1OAvTOzXgannqSPRAkBsp+GoIcCnsZpmHkqTkMtsGPPGQw5E8ya8XyCyX8SDk4Tv7exg7NuymScWCrJzzKDhGOrcFYu7jNNieUjJ4Bo5vrA5A40EOu+oOyaDmZ7nRfNw1pwVPOvj6vnF3nnRbSL9tABCtApOkdXqI4aiKAhekGv6M179z69r0J+teDlYgf9mULpG0Teth4= tie-breaker, in [0, 1) unique between agents unique between agents for every timestep for an agent at timestep ai AAACT3icbZFLSwMxFIUz9dXWZ3XpJlgEV2VGRV2KblxWtA/olHInTWswjyHJqGWo/8Ct/i6X/hJ3YqYOVFsvBA7fyYHckyjmzFjf//AKC4tLyyvFUnl1bX1jc6uy3TQq0YQ2iOJKtyMwlDNJG5ZZTtuxpiAiTlvR/WXmtx6oNkzJWzuKaVfAULIBI2AduoEe621V/Zo/GTwvglxUUT71XsU7CfuKJIJKSzgY0wn82HZT0JYRTsflMDE0BnIPQ9pxUoKgpptO3jrG+4708UBpd6TFE/o7kYIwZiQid1OAvTOzXgannqSPRAkBsp+GoIcCnsZpmHkqTkMtsGPPGQw5E8ya8XyCyX8SDk4Tv7exg7NuymScWCrJzzKDhGOrcFYu7jNNieUjJ4Bo5vrA5A40EOu+oOyaDmZ7nRfNw1pwVPOvj6vnF3nnRbSL9tABCtApOkdXqI4aiKAhekGv6M179z69r0J+teDlYgf9mULpG0Teth4= t AAACTXicbZHNahsxFIU1Tts47l+cLrMRNYWuzEwb2ixDsunShjoOeAZzR752RPQzSHeamMF9gW7T5+q6D9JdKdU4A07jXhAcvqMDukd5oaSnOP4ZtXYePX6y297rPH32/MXL/e7BubelEzgSVll3kYNHJQ2OSJLCi8Ih6FzhOL86q/3xF3ReWvOZlgVmGhZGzqUACmhI0/1e3I/Xw7dF0ogea2Yw7UYf0pkVpUZDQoH3kyQuKKvAkRQKV5209FiAuIIFToI0oNFn1fqlK/4mkBmfWxeOIb6m9xMVaO+XOg83NdClf+jVcOMZvBZWazCzKgW30HCzqtLas0WVOs0D+1rDVEktya+2E9L8JxHgJnF/G5ofZ5U0RUloxN0y81Jxsryuls+kQ0FqGQQIJ0MfXFyCA0HhAzqh6eRhr9vi/F0/ed+Ph0e9k9Om8zY7ZK/ZW5awj+yEfWIDNmKCIfvGbtn36Ef0K/od/bm72oqazCv2z7R2/wLALLZU

Slide 14

Slide 14 text

/17 14 Reachability If a graph has a simple cycle for all pairs of adjacent nodes, then, with PIBT, all agents reach their own goals within timesteps after being given. Theorem 2 G AAACTXicbZFLSwMxFIUz9V2f1aWbYBFclRkVdVl0oUsFq4JTyp30tgbzGJKMWob6B9zq73LtD3EnYqYWrNYLgcN3ciD3JEkFty4M34LSxOTU9MzsXHl+YXFpeaWyemF1Zhg2mBbaXCVgUXCFDcedwKvUIMhE4GVye1T4l3doLNfq3PVSbEroKt7hDJxHZ8etlWpYCwdDx0U0FFUynNNWJdiL25plEpVjAqy9jsLUNXMwjjOB/XKcWUyB3UIXr71UINE288FL+3TTkzbtaOOPcnRARxM5SGt7MvE3Jbgb+9cr4I+n8J5pKUG18xhMV8JDP48LT6d5bCT17LGAseCSO9sfT3D1T8LDn8ToNq5z0My5SjOHin0v08kEdZoW1dI2N8ic6HkBzHDfB2U3YIA5/wFl33T0t9dxcbFdi3Zq4dlutX447HyWrJMNskUisk/q5ISckgZhBMkTeSYvwWvwHnwEn99XS8Ews0Z+TWnmC2o3tic= diam(G) · |A| AAACZXicbZHNThRBFIVrGkEc/gYlunBBxYkJbibdaJAl4EKXmDhAQk8mt6vvDBXqp1N1W5g07cuw1QfyCXwNq4dJQMabVHLynXsW91RWKOkpjn+3ooUni0tPl5+1V1bX1jc6m89PvC2dwL6wyrqzDDwqabBPkhSeFQ5BZwpPs8tPjX/6HZ2X1nyjSYEDDWMjR1IABTTsvEoJr6nKJeh65/O7VOSW+M3hzbDTjXvxdPi8SGaiy2ZzPNxs7aW5FaVGQ0KB9+dJXNCgAkdSKKzbaemxAHEJYzwP0oBGP6imF9T8bSA5H1kXniE+pQ8TFWjvJzoLmxrowj/2GnjvGbwSVmsweZWCG2u4rqu08WxRpU7zwH40MFVSS/L1fEKa/yQCvE88vIZG+4NKmqIkNOLumFGpOFneVM5z6VCQmgQBwsnQBxcX4EBQ+Jh2aDp53Ou8ONntJe978dcP3YOjWefL7DV7w3ZYwj6yA/aFHbM+E6xmt+wn+9X6E61FW9HLu9WoNcu8YP9MtP0XJ+S8mw== #agents NOT ensure that all agents be on their goals simultaneously! example - undirected: biconnected - directed: ring

Slide 15

Slide 15 text

/17 15 Exp.1 one-shot MAPF Parallel Push & Swap [Sajid et al., SoCS12] [Silver, AIIDE05] WHCA*-10 PIBT ost003d, 194x194 [Sturtevant, 2012] 300 agents *average over only success cases within the solver (in 100 times) path cost (steps) #agents computation time (sec.) #agents success (%) #agents

Slide 16

Slide 16 text

/17 16 Exp.2 Multi-agent Pickup & Delivery [Ma et al., AAMAS17] PIBT TP [Ma et al., AAMAS17] task = (pickup loc., delivery loc.) let free agents move to the nearest pickup loc. PIBT with task allocation 50 agents, 500 tasks service time (steps) (task) frequency (task) frequency comp. time (sec)

Slide 17

Slide 17 text

/17 17 Conclusion prioritized planning dynamic priorities priority inheritance backtracking PIBT - adapt to full asynchrony ü PIBT is an algorithm for solving iterative MAPF ü PIBT ensures reachability in biconnected-like graph future work - expand time window - relax graph conditions Magic Roundabout Wikipedia 1000 agents technical paper is available, called winPIBT [arXiv:1905.10149] by PIBT