## 4 Implementation  
The proposed approach is implemented in a simulation platform for multi-agent systems for indoor environments. Figure 2 shows the simulation tool for the indoor environment. The indoor platform has a total area of 180 cm \(\times\) 150 cm, divided into 30 grid cells of 30 cm \(\times\) 30 cm. Each cell is identified with a number from 1 to 30. Obstacles and targets are positioned randomly with a maximum of three homogeneous agents. Here, the modeling approach for the utility function defined in Equation (2) to allocate a new grid cell where an agent should go through the path to reach it is presented. In the proposed approach, the shortest path and cost to reach a particular grid cell are achieved by implementing a change to the [PERSON]'s algorithm, where the cost of moving from one cell to another is dynamic due to agent orientation. The [PERSON]'s algorithm is a graph-based searching algorithm that solves the single-source shortest-path problem for a graph with nonnegative edge path costs, producing a shortest-path tree. A basic description of this algorithm is as follows. 1. Assign to every node a tentative distance value: set it to zero for the initial node and infinity for all other nodes. 2. Mark all nodes unvisited. Set the initial node as current. Create a set of the unvisited nodes consisting of all nodes except the initial node. 3. For the current node, consider all of its unvisited neighbors and calculate their tentative distances. Even though a neighbor has been examined, it is not marked as visited at this time, and it remains in the unvisited set. 4. When all of the current node neighbors are considered, the current node is marked as visited and remove from the unvisited set. A visited node will never be rechecked; its distance recorded now is final and minimal. 5. If the destination node has been marked visited (when planning a route between two specific nodes) or if the smallest tentative distance among the nodes in the unvisited set is infinity (when planning a complete traversal), then the process stops. The algorithm has finished. 6. Set the unvisited node marked with the smallest tentative distance as the next \"current node\" and go back to Step 3. The following is a brief explanation of the most important exploration algorithms implemented with an example situation and the evaluation function values. In the graphs presented below (e.g., Figure 2) each agent is identified with a square of a color and the grid cell where has been assigned is indicated with a star of the same color. The next graphs (Figures 3-13) represent the blue agent decision function evaluation indicating the chosen cell. Figure 2: Simulation tool for indoor application. Based on the knowledge acquired from teammates and the environment that each exploration algorithm needs to run, the Random Exploration algorithm does not use any information about the environment and teammates. This is the less intelligent algorithm. It looks for short response times, as discussed below. Nearest Cell Exploration and Farthest Cell Exploration need to run the shortest path algorithm for obtaining the cost to reach each cell. Frontier-based Exploration and Less Covered and Farthest Cell Exploration add to the decision-making process to construct the global environment coverage map to make decisions. For the proposed exploration algorithm, the Correlation Filter Exploration needs the global environment coverage image, and the Task Allocation based on Utility Function Approach (a neural-network-based approach) adds the teammates position to calculate the Euclidian distance. Besides, a genetic algorithm optimizes the utility function with heavy computation because it calculates cell by cell the actual coverage area expected and the proportional cost. It is necessary that each agent knows (and saves in memory) the teammates positions and paths, the global environment coverage, the travel cost to each cell, and the actual coverage gain obtained by visiting each cell.