The problem of Multi-Agent Pathfinding (MAPF) is an instance of multi-agent planning and consists in the computation of collision-free paths for a group of agents from their location to an assigned target. It is an optimization problem, since the aim is to find those paths that optimize a given objective function, usually defined as the number of time steps until all agents reach their goal cells. MAPF is the multi-agent generalization of the pathfinding problem, and it is closely related to the shortest path problem in the context of graph theory. Several algorithms have been proposed to solve the MAPF problem. Due to its complexity, it happens that optimal approaches are infeasible on big environments and with a high number of agents. However, given the applications in which MAPF is involved such as automated warehouses and airport management, it is important to reach a trade-off between the efficiency of the solution and its effectiveness.
Problem Formalization The elements of a classical MAPF problem are the following:
a set A = { 1 , 2 , . . . , k } {\displaystyle A=\{1,2,...,k\}} of k {\displaystyle k} agents; an undirected graph G = ( V , E ) {\displaystyle G=(V,E)} , where V {\displaystyle V} is the node set, and E {\displaystyle E} is the edge set. The nodes represent the possible locations of the agents, while the arcs are the possible connections between such positions; a map s : A → V {\displaystyle s:A\to V} that associates each agent with its starting point; a map t : A → V {\displaystyle t:A\to V} that associates each agent with its target point. It is assumed that time is discrete, and that each agent can perform one action at each time step. There are two possible types of actions: the wait action, in which the agent remains in its node, and the move action, that allows the agent to move to an adjacent node. An action is formalized as a function a : V → V {\displaystyle a:V\to V} , meaning that a ( v ) = v ′ {\displaystyle a(v)=v'} represents the action of moving from v {\displaystyle v} to v ′ {\displaystyle v'} if v ′ {\displaystyle v'} is adjacent to v {\displaystyle v} and different than v ′ {\displaystyle v'} , or to stay in node v {\displaystyle v} if v = v ′ {\displaystyle v=v'} . The agents perform sequences of actions to go from their starting point to their target location. A sequence of action performed by agent i {\displaystyle i} is denoted by π i = ( a 1 , a 2 , . . . , a n ) {\displaystyle \pi _{i}=(a_{1},a_{2},...,a_{n})} and is called a plan. If agent i {\displaystyle i} starts from its location s ( i ) {\displaystyle s(i)} and arrives to its target location t ( i ) {\displaystyle t(i)} performing plan π i {\displaystyle \pi _{i}} , then π i {\displaystyle \pi _{i}} is called single-agent plan for agent i {\displaystyle i} . A valid solution for the MAPF problem is a set of k {\displaystyle k} single-agent plans (one for each agent), such that the plans do not collide one another. Once an agent has reached its target, it can either remain in the target location or disappear.
Types of Collisions In order to have a valid solution for a MAPF problem, it is necessary that the single-agent plans of the k {\displaystyle k} agents do not collide one another. Given plan π i {\displaystyle \pi _{i}} , the expression π i [ x ] {\displaystyle \pi _{i}[x]} denotes the position of agent i {\displaystyle i} after having performed x {\displaystyle x} steps of plan π i {\displaystyle \pi _{i}} . It is possible to distinguish five different types of collisions between two plans π i {\displaystyle \pi _{i}} and π j {\displaystyle \pi _{j}} .
… excerpt ends here. Continue reading the full article.



