Writing Stratagus-Playing Agents in Concurrent Alisp

Total Page:16

File Type:pdf, Size:1020Kb

Writing Stratagus-Playing Agents in Concurrent Alisp Writing Stratagus-playing Agents in Concurrent ALisp Bhaskara Marthi, Stuart Russell, David Latham Department of Computer Science University of California Berkeley, CA 94720 fbhaskara,russell,[email protected] Abstract We describe Concurrent ALisp, a language that al- lows the augmentation of reinforcement learning algorithms with prior knowledge about the struc- ture of policies, and show by example how it can be used to write agents that learn to play a subdo- footmen main of the computer game Stratagus. 1 Introduction peasants Learning algorithms have great potential applicability to the problem of writing artificial agents for complex computer games [Spronck et al., 2003]. In these algorithms, the agent learns how to act optimally in an environment through experi- ence. Standard “flat” reinforcement-learning techniques learn barracks goldmine very slowly in environments the size of modern computer games. The field of hierarchical reinforcement learning [Parr Figure 1: An example subgame of Stratagus. and Russell, 1997; Dietterich, 2000; Precup and Sutton, 1998; Andre and Russell, 2002] attempts to scale RL up to larger en- peasants should be trained, or how many footmen should vironments by incorporating prior knowledge about the struc- be trained before attacking the ogre. One way to go about ture of good policies into the algorithms. writing an artificial agent that played this program would In this paper we focus on writing agents that play the game be to have the program contain free parameters such as Stratagus (stratagus.sourceforge.net). In this game, a player num-peasants-to-build-given-single-enemy, must control a medieval army of units and defeat oppos- and then figure out the optimal setting of the parameters, ing forces. It has high-dimensional state and action spaces, either “by hand” or in some automated way. A naive and successfully playing it requires coordinating multiple implementation of this approach would quickly become complex activities, such as gathering resources, constructing infeasible1 for larger domains, however, since there would buildings, and defending one’s base. We will use the follow- be a large number of parameters, which are coupled, and so ing subgame of Stratagus as a running example to illustrate exponentially many different joint settings would have to be our approach. tried. Also, if the game is stochastic, each parameter setting Example 1 In this example domain, shown in Figure 1, the would require many samples to evaluate reliably. agent must defeat a single ogre (not visible in the figure). It The field of reinforcement learning [Kaelbling, 1996] ad- starts out with a single peasant (more may be trained), and dresses the problem of learning to act optimally in sequential must gather resources in order to train other units. Even- decision-making problems and would therefore seem to be tually it must build a barracks, and use it to train footman applicable to our situation. However, standard “flat” RL algo- units. Each footman unit is much weaker than the ogre so rithms scale poorly to domains the size of Stratagus. One rea- multiple footmen will be needed to win. The game dynamics son for this is that these algorithms work at the level of prim- are such that footmen do more damage when attacking as a itive actions such as “move peasant 3 north 1 step”. These al- group, rather than individually. The only evaluation measure gorithms also provide no way to incorporate any prior knowl- is how long it takes to defeat the ogre. edge one may have about the domain. Despite its small size, writing a program that performs 1A more sophisticated instantiation of this approach, com- well in this domain is not completely straightforward. bined with conventional HRL techniques, has been proposed re- It is not immediately obvious, for example, how many cently [Ghavamzadeh and Mahadevan, 2003]. Hierarchical reinforcement learning (HRL) can be viewed (defun top () as combining the strengths of the two above approaches, us- (spawn ``allocate-peasants'' ing partial programs. A partial program is like a conventional #'peas-top nil *peas-eff*) program except that it may contain choice points, at which (spawn ``train-peasants'' #'townhall-top there are multiple possible statements to execute next. The *townhall* *townhall-eff*) idea is that the human designer will provide a partial pro- (spawn ``allocate-gold'' gram that reflects high-level knowledge about what a good #'alloc-gold nil) policy should look like, but leaves some decisions unspec- (spawn ``train-footmen'' #'barracks-top nil) ified, such as how many peasants to build in the example. (spawn ``tactical-decision'' The system then learns a completion of the partial program #'tactical nil)) that makes these choices in an optimal way in each situation. HRL techniques like MAXQ and ALisp also provide an addi- Figure 2: Top-level function tive decomposition of the value function of the domain based on the structure of the partial program. Often, each compo- nent in this decomposition depends on a small subset of the (defun peas-top () state variables. This can dramatically reduce the number of (loop parameters to learn. unless (null (my-effectors)) We found that existing HRL techniques such as ALisp were do (let ((peas (first (my-effectors)))) not directly applicable to Stratagus. This is because an agent (choose ``peas-choice'' playing Stratagus must control several units and buildings, (spawn (list ``gold'' peas) which are engaged in different activities. For example, a #'gather-gold nil peas) (spawn (list ``build'' peas) peasant may be carrying some gold to the base, a group of #'build-barracks nil peas))))) footmen may be defending the base while another group at- tacks enemy units. The choices made in these activities are correlated, so they cannot be solved simply by having a sepa- rate ALisp program for each unit. On the other hand, a single Figure 3: Peasant top-level function ALisp program that controlled all the units would essentially have to implement multiple control stacks to deal with the asynchronously executing activities that the units are engaged threaded, and at any point, each effector is assigned to some in. Also, we would lose the additive decomposition of the thread. value function that was present in the single-threaded case. Execution begins with a single thread, at the function top, We addressed these problems by developing the Concur- shown in Figure 2. In our case, this thread simply creates rent ALisp language. The rest of the paper demonstrates by some other threads using the spawn operation. For exam- example how this language can be used to write agents for ple, the second line of the function creates a new thread with Stratagus domains. A more precise description of the syntax ID “allocate peasants”, which begins by calling the function and semantics can be found in [Marthi et al., 2005]. peas-top and is assigned effector *peas-eff*. Next, examine the peas-top function shown in Figure 3. This function loops until it has at least one peasant assigned 2 Concurrent ALisp to it. This is checked using the my-effectors operation. Suppose we have the following prior knowledge about what a It then must make a choice about whether to use this peasant good policy for Example 1 should look like. First train some to gather gold or to build the barracks, which is done using peasants. Then build a barracks using one of the peasants. the choose statement. The agent must learn how to make Once the barracks is complete, start training footmen. Attack such a choice as a function of the environment and program the enemy with groups of footmen. At all times, peasants not state. For example, it might be better to gather gold if we have engaged in any other activity should gather gold. no gold, but better to build the barracks if we have plentiful We will now explain the syntax of concurrent ALisp with gold reserves. reference to a partial program that implements this prior Figure 4 shows the gather-gold function and the knowledge. Readers not familiar with Lisp should still be navigate function, which it calls. The navigate func- able to follow the example. The main thing to keep in mind is tion navigates to a location by repeatedly choosing a direc- that in Lisp syntax, a parenthesized expression of the form (f tion to move in, and then performing the move action in arg1 arg2 arg3) means the application of the function the environment using the action operation. At each step, f to the given arguments. Parenthesized expressions may also it checks to see if it has reached its destination using the be nested. In our examples, all operations that are not part of get-env-state operation. standard Lisp are in boldface. We will not give the entire partial program here, but Fig- We will refer to the set of buildings and units in a state as ure 5 summarizes the threads and their interactions. The the effectors in that state. In our implementation, each effec- allocate-gold thread makes decisions about whether tor must be given a command at each step (time is discretized the next unit to be trained is a footman or peasant, and into one step per 50 cycles of game time). The command then communicates its decision to the train-footmen may be a no-op. A concurrent ALisp program can be multi- and train-peasants threads using shared variables. The one time step. Section 6 describes how to fit Stratagus into (defun gather-gold () (call navigate *gold-loc*) this framework. (action *get-gold*) We build on the standard semantics for interleaved execu- (call navigate *base-loc*) tion of multithreaded programs. At each point, there is a set (call *dropoff*)) of threads, each having a call stack and a program counter.
Recommended publications
  • An Embeddable, High-Performance Scripting Language and Its Applications
    Lua an embeddable, high-performance scripting language and its applications Hisham Muhammad [email protected] PUC-Rio, Rio de Janeiro, Brazil IntroductionsIntroductions ● Hisham Muhammad ● PUC-Rio – University in Rio de Janeiro, Brazil ● LabLua research laboratory – founded by Roberto Ierusalimschy, Lua's chief architect ● lead developer of LuaRocks – Lua's package manager ● other open source projects: – GoboLinux, htop process monitor WhatWhat wewe willwill covercover todaytoday ● The Lua programming language – what's cool about it – how to make good uses of it ● Real-world case study – an M2M gateway and energy analytics system – making a production system highly adaptable ● Other high-profile uses of Lua – from Adobe and Angry Birds to World of Warcraft and Wikipedia Lua?Lua? ● ...is what we tend to call a "scripting language" – dynamically-typed, bytecode-compiled, garbage-collected – like Perl, Python, PHP, Ruby, JavaScript... ● What sets Lua apart? – Extremely portable: pure ANSI C – Very small: embeddable, about 180 kiB – Great for both embedded systems and for embedding into applications LuaLua isis fullyfully featuredfeatured ● All you expect from the core of a modern language – First-class functions (proper closures with lexical scoping) – Coroutines for concurrency management (also called "fibers" elsewhere) – Meta-programming mechanisms ● object-oriented ● functional programming ● procedural, "quick scripts" ToTo getget licensinglicensing outout ofof thethe wayway ● MIT License ● You are free to use it anywhere ● Free software
    [Show full text]
  • Index Images Download 2006 News Crack Serial Warez Full 12 Contact
    index images download 2006 news crack serial warez full 12 contact about search spacer privacy 11 logo blog new 10 cgi-bin faq rss home img default 2005 products sitemap archives 1 09 links 01 08 06 2 07 login articles support 05 keygen article 04 03 help events archive 02 register en forum software downloads 3 security 13 category 4 content 14 main 15 press media templates services icons resources info profile 16 2004 18 docs contactus files features html 20 21 5 22 page 6 misc 19 partners 24 terms 2007 23 17 i 27 top 26 9 legal 30 banners xml 29 28 7 tools projects 25 0 user feed themes linux forums jobs business 8 video email books banner reviews view graphics research feedback pdf print ads modules 2003 company blank pub games copyright common site comments people aboutus product sports logos buttons english story image uploads 31 subscribe blogs atom gallery newsletter stats careers music pages publications technology calendar stories photos papers community data history arrow submit www s web library wiki header education go internet b in advertise spam a nav mail users Images members topics disclaimer store clear feeds c awards 2002 Default general pics dir signup solutions map News public doc de weblog index2 shop contacts fr homepage travel button pixel list viewtopic documents overview tips adclick contact_us movies wp-content catalog us p staff hardware wireless global screenshots apps online version directory mobile other advertising tech welcome admin t policy faqs link 2001 training releases space member static join health
    [Show full text]
  • Proceedings of the 2005 IJCAI Workshop on Reasoning
    Proceedings of the 2005 IJCAI Workshop on Reasoning, Representation, and Learning in Computer Games (http://home.earthlink.net/~dwaha/research/meetings/ijcai05-rrlcgw) David W. Aha, Héctor Muñoz-Avila, & Michael van Lent (Eds.) Edinburgh, Scotland 31 July 2005 Workshop Committee David W. Aha, Naval Research Laboratory (USA) Daniel Borrajo, Universidad Carlos III de Madrid (Spain) Michael Buro, University of Alberta (Canada) Pádraig Cunningham, Trinity College Dublin (Ireland) Dan Fu, Stottler-Henke Associates, Inc. (USA) Joahnnes Fürnkranz, TU Darmstadt (Germany) Joseph Giampapa, Carnegie Mellon University (USA) Héctor Muñoz-Avila, Lehigh University (USA) Alexander Nareyek, AI Center (Germany) Jeff Orkin, Monolith Productions (USA) Marc Ponsen, Lehigh University (USA) Pieter Spronck, Universiteit Maastricht (Netherlands) Michael van Lent, University of Southern California (USA) Ian Watson, University of Auckland (New Zealand) Aha, D.W., Muñoz-Avila, H., & van Lent, M. (Eds.) (2005). Reasoning, Representation, and Learning in Computer Games: Proceedings of the IJCAI Workshop (Technical Report AIC-05). Washington, DC: Naval Research Laboratory, Navy Center for Applied Research in Artificial Intelligence. Preface These proceedings contain the papers presented at the Workshop on Reasoning, Representation, and Learning in Computer Games held at the 2005 International Joint Conference on Artificial Intelligence (IJCAI’05) in Edinburgh, Scotland on 31 July 2005. Our objective for holding this workshop was to encourage the study, development, integration, and evaluation of AI techniques on tasks from complex games. These challenging performance tasks are characterized by huge search spaces, uncertainty, opportunities for coordination/teaming, and (frequently) multi-agent adversarial conditions. We wanted to foster a dialogue among researchers in a variety of AI disciplines who seek to develop and test their theories on comprehensive intelligent agents that can function competently in virtual gaming worlds.
    [Show full text]
  • Procedural Content Generation for Computer Games
    Procedural Content Generation for Computer Games Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State University By Yinxuan Shi, B.S. Graduate Program in Computer Science and Engineering The Ohio State University 2016 Dissertation Committee: Dr. Roger Crawfis, Advisor Dr. Yusu Wang Dr. Eric Fosler-Lussier Dr. Neelam Soundarajan Copyrighted by Yinxuan Shi 2016 Abstract Procedural Content Generation (PCG) is no new concept for the gaming industry. From early games like Rogue (1980) and The Sentinel (1986) to more recent games like Diablo III (2012) and Path of Exile (2013), PCG is heavily used in dungeons, quests, mini bosses and even storyline creation. The advantages PCG offers is not just limited to empowering game designers with fast content prototype/creation, but can also provide in-game adaptation to player’s response and small memory footprint. While there is much research on PCG, few results contribute to the evaluation: Does the generated content makes the game more interesting/fun? To answer this question, we examine two applications of PCG. One is level creation and another is visual content creation such as crowds. For level creation, the existing techniques mainly focus on map/terrain generation. In games where the player either avoids or engages in combat against hostile targets, the player’s experience involves other aspects such as enemy and resource placement and navigation. The problem of creating a fun level can be formulated into searching for a good combination of these aspects. This leads to two problems: 1.
    [Show full text]
  • Development of an Intelligent Wheelchair 3D Simulator/Visualizer
    Faculdade de Engenharia da Universidade do Porto Development of an Intelligent Wheelchair 3D Simulator/Visualizer Maria João Tavares Barbosa Projecto de Dissertação realizado no âmbito do Mestrado Integrado em Engenharia Informática e Computação Áreas de Foco <Simulação Robótica/Motores de Jogos /Cadeiras de Rodas Inteligentes/Interacção e Multimédia> Orientador: Luís Paulo Gonçalves dos Reis (Professor Doutor) Co-orientador: Rui Pedro Amaral Rodrigues (Professor Doutor) Junho de 2011 © Maria João Tavares Barbosa, 2011 Development of an Intelligent Wheelchair 3D Simulator/Visualizer Maria João Tavares Barbosa Mestrado Integrado em Engenharia Informática e Computação Aprovado em provas públicas pelo Júri: Presidente: Pedro Manuel Henriques da Cunha Abreu (Professor Doutor) Vogal Externo: Artur José Carneiro Pereira (Professor Doutor) Orientador: Luís Paulo Gonçalves dos Reis (Professor Doutor) ____________________________________________________ 19 de Julho de 2011 Resumo Com o aumento da esperança média de vida da população dos países mais desenvolvidos, manter e aumentar a qualidade de vida das mesmas é agora uma tarefa essencial. Tal como, o aumento da qualidade de vida das pessoas com algum tipo de deficiência física ou mental que as incapacite a nível motor, pois estas pessoas têm o mesmo direito que as restantes à própria independência e autonomia. Antes de mais é necessário apresentar o projecto que se pretende desenvolver como dissertação de mestrado, cujo tema é “Development of an Intelligent Wheelchair Simulator/Visualizer”. Esta proposta de tese é uma investigação científica em torno de cadeiras de rodas inteligentes, ou seja, pretende focar principalmente as questões de independência e autonomia relacionadas com a capacidade motora. Cadeiras de rodas inteligentes são a solução considerada para permitir menor dependência de utilizadores de cadeiras de rodas.
    [Show full text]
  • Free and Open Source Software
    Free and open source software Copyleft ·Events and Awards ·Free software ·Free Software Definition ·Gratis versus General Libre ·List of free and open source software packages ·Open-source software Operating system AROS ·BSD ·Darwin ·FreeDOS ·GNU ·Haiku ·Inferno ·Linux ·Mach ·MINIX ·OpenSolaris ·Sym families bian ·Plan 9 ·ReactOS Eclipse ·Free Development Pascal ·GCC ·Java ·LLVM ·Lua ·NetBeans ·Open64 ·Perl ·PHP ·Python ·ROSE ·Ruby ·Tcl History GNU ·Haiku ·Linux ·Mozilla (Application Suite ·Firefox ·Thunderbird ) Apache Software Foundation ·Blender Foundation ·Eclipse Foundation ·freedesktop.org ·Free Software Foundation (Europe ·India ·Latin America ) ·FSMI ·GNOME Foundation ·GNU Project ·Google Code ·KDE e.V. ·Linux Organizations Foundation ·Mozilla Foundation ·Open Source Geospatial Foundation ·Open Source Initiative ·SourceForge ·Symbian Foundation ·Xiph.Org Foundation ·XMPP Standards Foundation ·X.Org Foundation Apache ·Artistic ·BSD ·GNU GPL ·GNU LGPL ·ISC ·MIT ·MPL ·Ms-PL/RL ·zlib ·FSF approved Licences licenses License standards Open Source Definition ·The Free Software Definition ·Debian Free Software Guidelines Binary blob ·Digital rights management ·Graphics hardware compatibility ·License proliferation ·Mozilla software rebranding ·Proprietary software ·SCO-Linux Challenges controversies ·Security ·Software patents ·Hardware restrictions ·Trusted Computing ·Viral license Alternative terms ·Community ·Linux distribution ·Forking ·Movement ·Microsoft Open Other topics Specification Promise ·Revolution OS ·Comparison with closed
    [Show full text]
  • 'Game' Portability
    A Survey of ‘Game’ Portability Ahmed BinSubaih, Steve Maddock, and Daniela Romano Department of Computer Science University of Sheffield Regent Court, 211 Portobello Street, Sheffield, U.K. +44(0) 114 2221800 {A.BinSubaih, S.Maddock, D.Romano}@dcs.shef.ac.uk Abstract. Many games today are developed using game engines. This development approach supports various aspects of portability. For example games can be ported from one platform to another and assets can be imported into different engines. The portability aspect that requires further examination is the complexity involved in porting a 'game' between game engines. The game elements that need to be made portable are the game logic, the object model, and the game state, which together represent the game's brain. We collectively refer to these as the game factor, or G-factor. This work presents the findings of a survey of 40 game engines to show the techniques they provide for creating the G-factor elements and discusses how these techniques affect G-factor portability. We also present a survey of 30 projects that have used game engines to show how they set the G-factor. Keywords: game development, portability, game engines. 1 Introduction The shift in game development from developing games from scratch to using game engines was first introduced by Quake and marked the advent of the game- independent game engine development approach (Lewis & Jacobson, 2002). In this approach the game engine became “the collection of modules of simulation code that do not directly specify the game’s behaviour (game logic) or game’s environment (level data)” (Wang et al, 2003).
    [Show full text]
  • Build Your Own Ambilight - 11
    Install Linux on an External Disk • eMMC Recovery • GPIO Shutdown Year Two Issue #16 Apr 2015 ODROIDMagazine KALIKALI LinuxLinuxODROID’sODROID’s advancedadvanced penetrationpenetration testingtesting distribution distribution Build • Automate your house with OpenHAB your • ODROID-C1 triple boot own • Android Dev: Low Memory Killer Daemon Ambilight • Play the original Warcraft series on Linux What we stand for. We strive to symbolize the edge of technology, future, youth, humanity, and engineering. Our philosophy is based on Developers. And our efforts to keep close relationships with developers around the world. For that, you can always count on having the quality and sophistication that is the hallmark of our products. Simple, modern and distinctive. So you can have the best to accomplish everything you can dream of. We are now shipping the ODROID U3 devices to EU countries! Come and visit our online store to shop! Address: Max-Pollin-Straße 1 85104 Pförring Germany Telephone & Fax phone : +49 (0) 8403 / 920-920 email : [email protected] Our ODROID products can be found at http://bit.ly/1tXPXwe EDITORIAL ali Linux is one of our favorite distributions, as it in- cludes a wide variety of security penetration testing Ksoftware. Offensive Security, the developers of Kali, are ODROID fans, and have released a version for every model so far. Kali on the ODROID can be the basis for a lucrative busi- ness, offering something that every company needs: peace of mind. Learn how to install Kali Linux on the ODROID-C1,and you may be able to offer affordable security testing with minimum startup costs. Also featured is another amazing technical guide by Venkat showing us how to make our homes smarter using OpenHAB, as well as a tutorial by Marian on Ambilight, which makes it more fun to watch videos and listen to music.
    [Show full text]
  • Cs 480/680: Game Engine Programming Introduction
    CS 480/680: GAME ENGINE PROGRAMMING INTRODUCTION 1/10/2013 Santiago Ontañón [email protected] https://www.cs.drexel.edu/~santi/teaching/2013/CS480-680/intro.html CS 480/680 • Focus: • basic and advanced techniques for game engine programming. • Topics: • What is a game engine? • The game loop • 2D/3D Graphics • Sound • Physics simulation • Collision detection • Networking • Game AI Outline • Course Structure • Project • Schedule • Papers • Introduction to Game Engine Programming • Group Formation / Paper Assignment Outline • Course Structure • Project • Schedule • Papers • Introduction to Game Engine Programming • Group Formation / Paper Assignment Course Structure: Evaluation • Undergraduate students: • Game Engine Project (85%) • Class attendance and participation (15%) • Graduate students: • Game Engine Project (70%) • One paper presentation in class (20%) • Class attendance and participation (10%) • Online students: • Participation will be measured by activity in the class discussion board • Presentations will be delivered electronically (via a powerpoint/ keynote presentation with audio, youtube video, etc.) Course Structure • Every week (3 hour class): 1 hour Lecture Student presentations 1 hour Project Progress Reports 1 hour Time to work on your projects Course Structure • Every week (3 hour class): Also: If you find a new game that uses an original concept in terms of game engine programming (or one that you’d 1 hour Lecture like to learn how it’s programmed), please bring it up in class, or send me a link to it before class,
    [Show full text]
  • UCT for Tactical Assault Planning in Real-Time Strategy Games
    UCT for Tactical Assault Planning in Real-Time Strategy Games Radha-Krishna Balla and Alan Fern School of EECS, Oregon State University Corvallis, OR, 97331, USA {balla, afern}@eecs.oregonstate.edu Abstract effective tactical assault plans, in order to most effectively exploit limited resources to optimize a battle objective. We consider the problem of tactical assault plan- In this paper, we focus on automated planning for the ning in real-time strategy games where a team of RTS tactical assault problem. In particular, the goal is to friendly agents must launch an assault on an ene- develop an action selection mechanism that can control my. This problem offers many challenges including groups of military units to conduct effective offensive as- a highly dynamic and uncertain environment, mul- saults on a specified set of enemy forces. This type of as- tiple agents, durative actions, numeric attributes, sault is common after a player has built up forces and ga- and different optimization objectives. While the thered information about where enemy troops are located. dynamics of this problem are quite complex, it is Here the effectiveness of an assault is measured by an ob- often possible to provide or learn a coarse simula- jective function, perhaps specified by a user, which might tion-based model of a tactical domain, which ask the planner to minimize the time required to defeat the makes Monte-Carlo planning an attractive ap- enemy or to destroy the enemy while maximizing the re- proach. In this paper, we investigate the use of maining health of friendly units at the end of the battle.
    [Show full text]
  • Online Build-Order Optimization for Real-Time Strategy Agents Using Multi-Objective Evolutionary Algorithms Jason M
    Air Force Institute of Technology AFIT Scholar Theses and Dissertations Student Graduate Works 3-14-2014 Online Build-Order Optimization for Real-Time Strategy Agents Using Multi-Objective Evolutionary Algorithms Jason M. Blackford Follow this and additional works at: https://scholar.afit.edu/etd Recommended Citation Blackford, Jason M., "Online Build-Order Optimization for Real-Time Strategy Agents Using Multi-Objective Evolutionary Algorithms" (2014). Theses and Dissertations. 589. https://scholar.afit.edu/etd/589 This Thesis is brought to you for free and open access by the Student Graduate Works at AFIT Scholar. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of AFIT Scholar. For more information, please contact [email protected]. ONLINE BUILD-ORDER OPTIMIZATION FOR REAL-TIME STRATEGY AGENTS USING MULTI-OBJECTIVE EVOLUTIONARY ALGORITHMS THESIS Jason M. Blackford, Captain, USAF AFIT-ENG-14-M-13 DEPARTMENT OF THE AIR FORCE AIR UNIVERSITY AIR FORCE INSTITUTE OF TECHNOLOGY Wright-Patterson Air Force Base, Ohio DISTRIBUTION STATEMENT A: APPROVED FOR PUBLIC RELEASE; DISTRIBUTION UNLIMITED The views expressed in this thesis are those of the author and do not reflect the official policy or position of the United States Air Force, the Department of Defense, or the United States Government. This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States. AFIT-ENG-14-M-13 ONLINE BUILD-ORDER OPTIMIZATION FOR REAL-TIME STRATEGY AGENTS USING MULTI-OBJECTIVE EVOLUTIONARY ALGORITHMS THESIS Presented to the Faculty Department of Electrical and Computer Engineering Graduate School of Engineering and Management Air Force Institute of Technology Air University Air Education and Training Command in Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Engineering Jason M.
    [Show full text]
  • Curriculum Vitae Stephen M
    Stephen M. Lee-Urban 1475 Mecaslin St. NW [email protected] Atlanta, GA 30309 610-217-6459 Curriculum Vitae Stephen M. Lee-Urban Education Ph.D. Computer Science Diss.: Hierarchical Planning Knowledge for Refining Partial-Order Plans Lehigh University Advisor: Dr. Héctor Muñoz-Avila 2012 M.S. Computer Science Thesis: TMK Models to HTNs: Translating Process Models into Hierarchical Lehigh University Task Networks 2005 B.S. Computer Engineering Cumulative G.P.A.: 3.87 / 4.0 Lehigh University Participant in the “Engineering Co-Op” program, a selective program that 2003 provides eight months of paid, full-time work experience Professional Experience Research Scientist II Fundamental and applied research in several domains, including spectrum Georgia Tech Research Institute (communications and radar), cyber operations, and process visualization Fall 2013–present Emphasis on creating, implementing, and evaluating cognitive systems Postdoctoral Fellow, Primarily researched narrative computing – creating computational systems that Research Scientist understand and use “narrative,” a fundamental part of human cognition Georgia Institute of Technology Techniques applied include plan repair, genetic algorithms, and crowd-sourcing Winter 2011–Fall 2013 Responsibilities beyond research include project management and mentoring Technical Lead Technical lead on AI project contracted for Walt Disney Imagineering CaseWorks LLC., through A non-disclosure agreement limits my ability to discuss details Georgia Institute of Technology (for
    [Show full text]