Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Priority Inheritance with Backtracking for Iterative Multi-agent Path Finding

Priority Inheritance with Backtracking for Iterative Multi-agent Path Finding

More Decks by Keisuke Okumura | 奥村圭祐

Other Decks in Research

Transcript

  1. 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
  2. /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
  3. /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
  4. /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!
  5. /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
  6. /17 6 Design Choice of Algorithm optimality vs speed tradeoff

    centralized decentralized vs style globally locally vs communication Adaptivity for Iterative Use
  7. /17 7 Prioritized Planning high low mid STUCK incomplete single

    time-window (PIBT relies on) node = resource priority inversion in resource scheduling
  8. /17 8 Priority Inheritance countermeasure to priority inversion [Sha et

    al., 1990] priority inheritance high mid low as high
  9. /17 9 Stuck Again Priority inheritance is insufficient to prevent

    all stuck situations. high as high as high as high as high STUCK
  10. /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
  11. /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)
  12. /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
  13. /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 <latexit sha1_base64="AVKYBP7oENlayRSOsgLuj/iMBD8=">AAACeHicbZHNThRBFIVrGn9w/GHApZuKEyNoMulGoy6Jblxi4gAJPencrrk9VKi/VN0WJ53mGXgat/IavIorq4dJQMabVHLynXsW91TplAyUple9ZO3e/QcP1x/1Hz95+mxjsLl1EGztBY6FVdYflRBQSYNjkqTwyHkEXSo8LE+/dP7hD/RBWvOd5g4nGmZGVlIARVQM3riike027fBcYUXgvT3jORIUsoNvo3ZBqrgqi8EwHaWL4asiW4ohW85+sdn7kE+tqDUaEgpCOM5SR5MGPEmhsO3ndUAH4hRmeBylAY1h0iyOavmrSKa8sj4+Q3xBbyca0CHMdRk3NdBJuOt18MYzeCas1mCmTQ5+puFn2+SdZ12Te80jO+9grqSWFNrVhDT/SUR4k7h9DVWfJo00riY04vqYqlacLO9+gU+lR0FqHgUIL2MfXJyAB0Hxr/qx6exur6viYHeUvRul394P9z4vO19nL9hLts0y9pHtsa9sn42ZYBfsF/vNLnt/Ep68TnauV5PeMvOc/TPJ7l8E68PB</latexit> elapsed timestep since last updated its goal, or, be zero if no goal ai <latexit sha1_base64="bKnDqKuin7Sp6S2MR2LJh+yFi9M=">AAACT3icbZFLSwMxFIUz9dXWZ3XpJlgEV2VGRV2KblxWtA/olHInTWswjyHJqGWo/8Ct/i6X/hJ3YqYOVFsvBA7fyYHckyjmzFjf//AKC4tLyyvFUnl1bX1jc6uy3TQq0YQ2iOJKtyMwlDNJG5ZZTtuxpiAiTlvR/WXmtx6oNkzJWzuKaVfAULIBI2AduoEe621V/Zo/GTwvglxUUT71XsU7CfuKJIJKSzgY0wn82HZT0JYRTsflMDE0BnIPQ9pxUoKgpptO3jrG+4708UBpd6TFE/o7kYIwZiQid1OAvTOzXgannqSPRAkBsp+GoIcCnsZpmHkqTkMtsGPPGQw5E8ya8XyCyX8SDk4Tv7exg7NuymScWCrJzzKDhGOrcFYu7jNNieUjJ4Bo5vrA5A40EOu+oOyaDmZ7nRfNw1pwVPOvj6vnF3nnRbSL9tABCtApOkdXqI4aiKAhekGv6M179z69r0J+teDlYgf9mULpG0Teth4=</latexit> tie-breaker, in [0, 1) unique between agents unique between agents for every timestep for an agent at timestep ai <latexit sha1_base64="bKnDqKuin7Sp6S2MR2LJh+yFi9M=">AAACT3icbZFLSwMxFIUz9dXWZ3XpJlgEV2VGRV2KblxWtA/olHInTWswjyHJqGWo/8Ct/i6X/hJ3YqYOVFsvBA7fyYHckyjmzFjf//AKC4tLyyvFUnl1bX1jc6uy3TQq0YQ2iOJKtyMwlDNJG5ZZTtuxpiAiTlvR/WXmtx6oNkzJWzuKaVfAULIBI2AduoEe621V/Zo/GTwvglxUUT71XsU7CfuKJIJKSzgY0wn82HZT0JYRTsflMDE0BnIPQ9pxUoKgpptO3jrG+4708UBpd6TFE/o7kYIwZiQid1OAvTOzXgannqSPRAkBsp+GoIcCnsZpmHkqTkMtsGPPGQw5E8ya8XyCyX8SDk4Tv7exg7NuymScWCrJzzKDhGOrcFYu7jNNieUjJ4Bo5vrA5A40EOu+oOyaDmZ7nRfNw1pwVPOvj6vnF3nnRbSL9tABCtApOkdXqI4aiKAhekGv6M179z69r0J+teDlYgf9mULpG0Teth4=</latexit> t <latexit sha1_base64="7adVWJLvurBhEiRLn+msARImvWs=">AAACTXicbZHNahsxFIU1Tts47l+cLrMRNYWuzEwb2ixDsunShjoOeAZzR752RPQzSHeamMF9gW7T5+q6D9JdKdU4A07jXhAcvqMDukd5oaSnOP4ZtXYePX6y297rPH32/MXL/e7BubelEzgSVll3kYNHJQ2OSJLCi8Ih6FzhOL86q/3xF3ReWvOZlgVmGhZGzqUACmhI0/1e3I/Xw7dF0ogea2Yw7UYf0pkVpUZDQoH3kyQuKKvAkRQKV5209FiAuIIFToI0oNFn1fqlK/4mkBmfWxeOIb6m9xMVaO+XOg83NdClf+jVcOMZvBZWazCzKgW30HCzqtLas0WVOs0D+1rDVEktya+2E9L8JxHgJnF/G5ofZ5U0RUloxN0y81Jxsryuls+kQ0FqGQQIJ0MfXFyCA0HhAzqh6eRhr9vi/F0/ed+Ph0e9k9Om8zY7ZK/ZW5awj+yEfWIDNmKCIfvGbtn36Ef0K/od/bm72oqazCv2z7R2/wLALLZU</latexit>
  14. /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 <latexit sha1_base64="yVMSfsXKkBgam/Vt6xvyf13//ws=">AAACTXicbZFLSwMxFIUz9V2f1aWbYBFclRkVdVl0oUsFq4JTyp30tgbzGJKMWob6B9zq73LtD3EnYqYWrNYLgcN3ciD3JEkFty4M34LSxOTU9MzsXHl+YXFpeaWyemF1Zhg2mBbaXCVgUXCFDcedwKvUIMhE4GVye1T4l3doLNfq3PVSbEroKt7hDJxHZ8etlWpYCwdDx0U0FFUynNNWJdiL25plEpVjAqy9jsLUNXMwjjOB/XKcWUyB3UIXr71UINE288FL+3TTkzbtaOOPcnRARxM5SGt7MvE3Jbgb+9cr4I+n8J5pKUG18xhMV8JDP48LT6d5bCT17LGAseCSO9sfT3D1T8LDn8ToNq5z0My5SjOHin0v08kEdZoW1dI2N8ic6HkBzHDfB2U3YIA5/wFl33T0t9dxcbFdi3Zq4dlutX447HyWrJMNskUisk/q5ISckgZhBMkTeSYvwWvwHnwEn99XS8Ews0Z+TWnmC2o3tic=</latexit> diam(G) · |A| <latexit sha1_base64="Asn8QhFjVGk7W4BNG/bJ+1yoTx8=">AAACZXicbZHNThRBFIVrGkEc/gYlunBBxYkJbibdaJAl4EKXmDhAQk8mt6vvDBXqp1N1W5g07cuw1QfyCXwNq4dJQMabVHLynXsW91RWKOkpjn+3ooUni0tPl5+1V1bX1jc6m89PvC2dwL6wyrqzDDwqabBPkhSeFQ5BZwpPs8tPjX/6HZ2X1nyjSYEDDWMjR1IABTTsvEoJr6nKJeh65/O7VOSW+M3hzbDTjXvxdPi8SGaiy2ZzPNxs7aW5FaVGQ0KB9+dJXNCgAkdSKKzbaemxAHEJYzwP0oBGP6imF9T8bSA5H1kXniE+pQ8TFWjvJzoLmxrowj/2GnjvGbwSVmsweZWCG2u4rqu08WxRpU7zwH40MFVSS/L1fEKa/yQCvE88vIZG+4NKmqIkNOLumFGpOFneVM5z6VCQmgQBwsnQBxcX4EBQ+Jh2aDp53Ou8ONntJe978dcP3YOjWefL7DV7w3ZYwj6yA/aFHbM+E6xmt+wn+9X6E61FW9HLu9WoNcu8YP9MtP0XJ+S8mw==</latexit> #agents NOT ensure that all agents be on their goals simultaneously! example - undirected: biconnected - directed: ring
  15. /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
  16. /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)
  17. /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