Multi-agent systems for the real world

Our work addresses the effectiveness of collaborative divisions of labor between agents and humans in real-time dynamic and uncertain domains such as disaster rescue, hospital triage, and military operations. Our particular focus is systems where each person is assisted by an agent running on a device that they carry in the field. Such combinations make it possible to explore synergies between the unique strengths of both humans and machines, rather than struggling to build systems focused on ameliorating the weaknesses of one or the other. Specifically, we rely upon people for a sense of critical factors that constrain likely solutions, and for systems to do efficient, comprehensive and accurate computations (once problem complexity has been contained). In that spirit, we introduce a new approach, STaC, based on the premise that people have good intuitions about how to solve problems in each domain. The idea is to enable users to encode their intuitions as guidance for a system of agents, and for the agents to use this guidance when assisting the users in addressing the problems. The key to STaC is using the human users' guidance to break complex activities into simpler task structures that can be turned over to a single agent to determine who does what, when and where with respect to these significantly simpler task structures. This mitigates the distributed reasoning challenge and enables using auxiliary solvers based on established AI techniques capable of producing good solutions when given problems at this smaller scale. These smaller task structures can be solved independently because the agent system can assume that the human guidance has addressed any significant dependencies. STaC addresses tracking the dynamism in these task structures, the transitioning of agent assignments between these smaller task structures and the invocation of auxiliary solvers. Given that the task structures are treated independently and sufficiently small to be centralized, we call them sandbox reasoners. The sandbox reasoners required in each domain are different, so custom code must be written for each domain. However, the benefit of the approach is that sandbox reasoners are significantly simpler than the custom solvers required to produce a custom solution for a domain. We worked for 18 months to build an agent system where a team of humans with radios and our coordinator agents competed against human teams collaborating only via radios in field exercises involving simulated disaster-rescue operations. The results provided significant evidence for the benefits of our approach. Our starting point was our generic CSC system [1], [2] developed during the previous two years to solve generic, synthetically generated problem instances. Even though the synthetically-generated problem instances were created from templates that combined “typical” coordination situations, the resulting problems and task structures were not understandable by humans. In contrast, the field exercise problems appeal to a lifetime of experience coordinating every day activities. Intuitions about space, distance, time, importance and risk, that are quite natural to humans, enabled the human teams to rapidly devise sophisticated strategies. It became rapidly obvious that the generic CSC system would not be able to produce solutions comparable to the desired sophisticated, coordinated behavior of human-produced strategies. To gain the best of both worlds, we extended our approach so that policies would be constrained by guidance provided by users. The first set of field exercises used a simple language for guidance that specified a sequence of sites to visit where all agents were a single coordinating group. The system made decisions that it could evaluate accurately (e.g., how to perform repairs or rescue injured at a single site). In the first set of exercises, we were competitive, but not markedly superior, losing in two out of three tested scenarios and winning in the third. The final language for guidance was inspired by observations of the radio-team strategies, extensive discussions with subject matter experts and extensive numbers of simulations. While the human team could not execute a strategy as well as we could, the space of strategies that they were able to engage were far more sophisticated than ours. Thus, we created a more sophisticated formalism for capturing human strategic guidance that resulted in STaC. We enabled the ability to create multiple independent coordination groups with overlapping membership. The system relied on metrics to determine how to move agents among groups. We also introduced the ability to constrain the activities of each coordinating group. With those changes, we outperformed the radio team in all second-round tests because they were able to communicate their strategy to their agents, and the system optimized the execution of the strategy, adapting it to the dynamics of the environment.