• No se han encontrado resultados

6. Diálogo de Saberes

6.2 Diálogo de Saberes con otras Experiencias

The SiMAMT framework collectively operates on the agents to move them through the simulation to produce the strategic interactions designed by the simulation engineers. An example of each of these elements working towards such a goal can be found in the Experiments section.

SiMAMT creates a realistic and complex environment in which the agent will act. In this example, we use the environment of 5-on-5 Speedball Paintball. This fast-paced version of paintball pits two teams against each other with a vast array of objects between them. All players must start in their home base and then progress from obstacle to obstacle while both avoiding enemy fire and attempting to eliminate the opponents. While there are flags for each team to capture and return to base, thus ending the match, the majority of the matches end via team elimination. There are several distinct phases of each round of the game but they can be reduced to offense, defense, and end game. Most of the teams will start out on offense and then shift to defense based on progress and eliminations. The decision to switch to end game is necessitated by the elimination of the majority of teammates. SiMAMT utilizes a model-based approach to agent management, but the actual model is flexible. Previous iterations have used finite state machines and search tree implementations. As mentioned in the introduction to this section, and repeated here, this work utilizes a FSA that allows for a similar action set for each agent but with customizable factoring (probabilistic progression through the model), shown in Figure 4.6. The agent has distinct phases that are competing for attention each turn. They can be thought of Markov random fields with multiple variables. This is reflective of the mindset of many real-world paintball players. The model starts in the move phase and then is pulled via the probabilistic pathing towards each of the possible states: a move, a cover, a fire, or an observation phase. The weighting (factoring) of each agent action is probabilistic on the individual agent as viewed through their

policy. This policy is given to them from the strategy the team is following. Thus the agent considers their action with their own probability (based on their player type) which reflects their own ‘personality’. This probability is then modified by the policy according to the overall policy goals. Finally, the team strategy weighs in on the probability. This gives the effect of individualized performance with overall short-term goals and team performance with match-wide long-term goals. This is critical to the real-world performance of the system: it must emphasize individualized activities but constrain them (or at least influence them) by the team’s overall goals (as realized in the team strategy).

Figure 4.6: Agent-Based Model (FSA)

Again, so that this section can be read as a stand-alone example, the introductory material is repeated here. SiMAMT is coordinating the individual agents, each of which has their own unique features (e.g., speed, armament, etc.). It then groups these individuals into any number of teams, as requested by the simulation. These teams, then, have a leader (e.g., coach, captain, etc.). This leader first selects which players on its roster to make active, then assigns a role and a policy to each. This means that the list of roles (i.e., types of behaviors in the simulation) is distinct from

the agents, so this may be a good match or a poor match. Further, their policy contains many variables about how the agent will act in the various game phases. This accomplishes the goal of maintaining individuality while imprinting each agent with their portion of the team plan. This could lead to issues of rebellion, where the agent’s personal desires overwhelm their policy, or compliance, where the policy settings take precedence. This is an example of the factors available for each agent, and reflective of the expressivity of the simulation. The team leader has more policies available than players, so they can reassign, switch, or drop policies during the match. The leader is also responsible for evaluating the overall performance of the team and, ultimately, deciding if the team should switch to another strategy. This process is addressed in the SIE portion of the research.

With respect to this implementation (this particular exemplar simulation), each team has their own side with a number of obstacles of varying size, protection, and position. While both sides are similar, they are mirrors of each other, so there is a right and left hand portion to each side of the course. Figure 4.7, an official field diagram from PSP Event held in Phoenix, AZ (Warpig.com,2016), shows one half of the field with the positions labeled. The movement pathway of one policy is shown with solid lines, and the lanes visible from that final position are shown with dashed lines. This research implements the field in full detail as read from a file. This means that to play on another paintball course the coder need only create a new field file (the master file that is read during the setup of the simulation). The field is comprised of each of the object positions by noting where a player could stand in relation to

them (e.g., left, right, and cover each have their own distinct position number). In addition, it must be denoted which locations on the field are visible from a certain side of each obstacle. These are called lanes, and they represent the locations that a player can see during the observation phase as well as the players they can target during the firing phase. This flexible mapping feature, combined with a rich modeling environment, make the simulation robust and flexible.

Figure 4.7: Official PSP Field

Additionally, SiMAMT can also enforce additional constraints, such as not being able to shoot or observe when under cover. It can set maximums or minimums, control overall conditions (e.g., weather, duration, etc.), and observe the overall performance of each team, each agent, and the simulation itself. Some additional settings in this particular simulation: no blind-firing (an agent must see another agent before it is allowed to fire), no stacking (no double-occupancy of any one side or a particular

obstacle), and match stats (e.g., the number of hits before elimination, size of each team, etc.). The simulation engine can handle any number of players, active players, field positions, policies, and strategies as long as the data files provided detail each of them.