J'implémente un algorithme multi-agent A * sur une carte de tuiles. Les agents se déplacent uniquement sur les axes X et Y. J'évite les collisions entre eux en vérifiant où se trouvent les autres lors du calcul des chemins.
Cela fonctionne bien, sauf dans le cas où les agents doivent passer la même tuile de différentes directions. Dans des situations comme celle-ci, une solution optimale serait qu'un agent attende que l'autre passe:
De plus, s'il n'y a pas de couloir nord, la recherche de chemin échoue.
Comment pourrais-je implémenter un tel algorithme?