Share
Embed
Priority Inheritance with Backtracking for Iterative Multi-agent Path Finding
IJCAI-19
https://kei18.github.io/pibt
Keisuke Okumura | 奥村圭祐
July 31, 2021
Transcript
17 slides
-
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 -
/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 -
/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 -
/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! -
/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 -
/17 6 Design Choice of Algorithm optimality vs speed tradeoff
centralized decentralized vs style globally locally vs communication Adaptivity for Iterative Use -
/17 7 Prioritized Planning high low mid STUCK incomplete single
time-window (PIBT relies on) node = resource priority inversion in resource scheduling -
/17 8 Priority Inheritance countermeasure to priority inversion [Sha et
al., 1990] priority inheritance high mid low as high -
/17 9 Stuck Again Priority inheritance is insufficient to prevent
all stuck situations. high as high as high as high as high STUCK -
/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 -
/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) -
/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 -
/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> -
/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 -
/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 -
/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 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