Simultaneous Coalition Formation and Task Assignment in a Real-Time Strategy Game by Fredrik Präntare
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | Department of Computer Science Master thesis, 30 ECTS | Computer Science 2017 | LIU-IDA/LITH-EX-A--17/032--SE Simultaneous coalition formation and task assignment in a real-time strategy game by Fredrik Präntare Supervisor : Ingemar Ragnemalm Examiner : Fredrik Heintz Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Copyright The publishers will keep this document online on the Internet – or its possible replacement – for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/. Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns lösningar av teknisk och admin- istrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant samman- hang som är kränkande för upphovsmannenslitterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. © Fredrik Präntare Abstract In this thesis we present an algorithm that is designed to improve the collaborative capa- bilities of agents that operate in real-time multi-agent systems. Furthermore, we study the coalition formation and task assignment problems in the context of real-time strategy games. More specifically, we design and present a novel anytime algorithm for multi-agent cooperation that efficiently solves the simultaneous coalition formation and assignment problem, in which disjoint coalitions are formed and assigned to independent tasks si- multaneously. This problem, that we denote the problem of collaboration formation, is a combinatorial optimization problem that has many real-world applications, including as- signing disjoint groups of workers to regions or tasks, and forming cross-functional teams aimed at solving specific problems. The algorithm’s performance is evaluated using randomized artificial problems sets of varying complexity and distribution, and also using Europa Universalis 4 — a commercial strategy game in which agents need to cooperate in order to effectively achieve their goals. The agents in such games are expected to decide on actions in real-time, and it is a difficult task to coordinate them. Our algorithm, however, solves the coordination problem in a structured manner. The results from the artificial problem sets demonstrates that our algorithm efficiently solves the problem of collaboration formation, and does so by automatically discarding suboptimal parts of the search space. For instance, in the easiest artificial problem sets with 12 agents and 8 tasks, our algorithm managed to find optimal solutions after only 2000 evaluating 68719476736 « 0.000003% of the possible solutions. In the hardest of the problem sets with 12 agents and 8 tasks, our algorithm managed to find a 80% efficient 4000 solution after only evaluating 68719476736 « 0.000006% of the possible solutions. Sammanfattning I denna uppsats presenteras en ny algoritm som är designad för att förbättra samarbets- förmågan hos agenter som verkar i realtidssystem. Vi studerar även koalitionsbildnings- och uppgiftstilldelningsproblemen inom realtidsstrategispel, och löser dessa problem op- timalt genom att utveckla en effektiv anytime-algoritm som löser det kombinerade koalitionsbildnings- och uppgiftstilldelningsproblemet, inom vilket disjunkta koalitioner for- mas och tilldelas uppgifter. Detta problem, som vi kallar samarbetsproblemet, är en typ av optimeringsproblem som har många viktiga motsvarigheter i verkligheten, exempelvis för skapandet av arbetsgrupper som skall lösa specifika problem, eller för att ta fram optimala tvärfunktionella team med tilldelade uppgifter. Den presenterade algoritmens prestanda utvärderas dels genom att använda simuler- ade problem av olika svårighetsgrad, men också genom att använda verkliga problem- beskrivningar från det kommersiella strategispelet Europa Universalis 4, vilket är ett spel som agenter måste samarbeta i för att effektivt uppnå deras mål. Att koordinera agen- ter i sådana spel är svårt, men vår algoritm åstadkommer detta metodiskt genom att systematiskt söka efter de optimala agentgrupperingarna för ett antal givna uppgifter. Resultaten från de simulerade problemen visar att vår algoritm effektivt löser samar- betsproblemet genom att systematiskt sålla bort suboptimala delar av sökrymden. I dessa tester lyckas vår algoritm generera högkvalitativa anytime-lösningar. Till exempel, i de enklaste problemen med 12 agenter och 8 uppgifter lyckas vår algoritm hitta den 2000 optimala lösningen efter det att den endast utvärderat 68719476736 « 0.000003% av de möjliga lösningarna. I de svåraste problemen med 12 agenter och 8 uppgifter lyckas vår algoritm hitta en lösning som är 80% från den optimala lösningen efter det att den endast 4000 utvärderat 68719476736 « 0.000006% av de möjliga samarbetsstrukturerna. Acknowledgments In this section, I would like to acknowledge the people who have encouraged, influenced, helped, and supported me during the duration of this study — but also for the last few years that lead up to this thesis. I would like to start by thanking and acknowledging my examiner Fredrik Heintz and my supervisor Ingemar Ragnemalm for their support, their positive attitude towards solving algorithmic problems, and for sharing their extensive knowledge in computer science and artificial intelligence with me. Thank you for continuously challenged me with interesting ideas and problems during the last few years. Your challenges have made me into a better problem solver, and has given me a self-confidence I didn’t have before. I would also like to thank all of the amazing people at the Paradox Development Studio. Special thanks goes to Rickard Lagerbäck, Martin Hesselborn, and my supervisor Marko Korhonen, whom all welcomed me to Stockholm with kindness and heart. The discussions we had were invaluable, and you always answered my questions — even in hectic situations and during out-of-office hours. (it was an honor excommunicating your adversaries) Thanks to my exceptionally talented classmates Max Halldén, Andreas Larsson, and David Lindqvist, whom I had so much fun with during my studies. Special thanks goes to Max for saving me so many times, and helping me getting through the electronics and hardware classes. A thousand thanks goes to David for being an amazing project partner in so many courses, and to Andreas for his cheerful attitude and for being my thesis opponent. Thanks to all of you three for all of the fun games we’ve had. On a personal level, I would like to thank my girlfriend Elisabet Hägerlind for her un- equivocal support during our ten years together. Without her, I would never have managed to do anything worthwhile, and I deeply admire her stamina, work ethics, benevolence, am- bitions, and loving kindness. Also, many thanks goes to her family for their tireless support. We had so much fun during the last ten years! Ulrika and Sven-Erik: thanks for welcoming me into your wonderful family, and for always being there for me. I’m eternally grateful that you helped shaping me into a better person with sound morals and ethics. Simon, Johannes and Mats: thank you for sharing so many fun games with me, and for all of the interesting discussions on various subjects we’ve had — you three are like brothers to me. Special thanks goes to my brother Oskar, who has always been a great role model. Oskar introduced me to so many cool games when we were children (Europa Universalis included), and has influenced me in so many ways. He has always been the better of the two of us (sorry for pushing your buttons and being a crazy little brother at times), and has inspired me to become a better person. Finally, I would like to thank my two amazing parents. Elisabeth and Hans: thank you for always encouraging me to challenge myself, to become a better person, to relax, and to have fun. Thanks for the discussions we’ve had, and for everything you have taught me. I’m sincerely grateful to have you as my parents, and could not have wished for better parents. i Contents Acknowledgments i Contents ii List of figures iii List of tables iv List of algorithms v List of abbreviations vi 1 Introduction 1 1.1 Background and problem context . 2 1.2 Previous work in collaborative reasoning . 9 1.3 Motivation . 12 1.4 Aim . 15 1.5 Research questions . 15 1.6 Delimitations . 15 2 Collaboration formation 17 2.1 Background theory and related work . 17 2.2 Nomenclature . 19 2.3 Problem definition . 20 2.4 Algorithmic overview . 21 2.5 Partitioning of the collaboration structure search space . 22 2.6 Calculation of coalition values . 24 2.7 Calculation of the initial upper and lower bounds of partitions .