Synthesizing interpretable strategies for real-time planning in zero-sum games - Mariño, Julian Ricardo Hernandez (2021)
Interpretable and explainable Artificial Intelligence (AI) is projected as one of the most important topics for the community in the next years. In addition to developing effective AI approaches that can help humans solving problems, it might be necessary to understand the reasons behind the decisions of such approaches to finally trust in their behavior. Search and learning-based algorithms represent the current state-of-the-art approaches for planning in zero-sum real-time games. The problem with those approaches is that usually the behavior of their resulting agents is not interpretable. On the other hand, hard-coded programs usually are not as effective as searchbased methods but have an important vantage; they can be more easily interpretable. In this thesis, we present a collection of works where we approach the problem of synthesizing effective interpretable scripts for planning in zero-sum real-time domains. First, we approach the problem of generating a set of scripts that can be used as an action abstraction to reduce search action spaces in zero-sum real-time strategy games. Namely, we present an evolutionary approach that can generate action abstractions that search-based algorithms can use for planning. Search-based systems that use action abstractions generated by our system outperformed the state-of-the-art search-based methods we use for experiments and won the 2018 mRTS competition. We also present Gesy and LS2, two systems focused on synthesizing scripts that can plan by themselves in zero-sum real-time strategy games. Gesy is a system that uses a Genetic Programming (GP) approach to synthesize interpretable scripts. LS2 is a system that combines a novel method to reduce Domain-Specific Languages (DSLs), and a local-search algorithm that uses self play to synthesize interpretable scripts. The scripts Gesy and LS2 synthesize are competitive with complex search-based methods and scripts designed by professional programmers. We also show that the scripts synthesized by both systems can be used to discover possible optimizations that programmers could include in their implementations.