-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
238 lines (230 loc) · 18.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Choosing Well Your Opponents: How to Guide the Synthesis of Programmatic Strategies</title>
<link rel="icon" type="image/x-icon" href="assets/img/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
<!-- Google fonts-->
<link href="https://fonts.googleapis.com/css?family=Saira+Extra+Condensed:500,700" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Muli:400,400i,800,800i" rel="stylesheet" type="text/css" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body id="page-top">
<!-- Navigation-->
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top" id="sideNav">
<a class="navbar-brand js-scroll-trigger" href="#page-top">
<span class="d-block d-lg-none">Choosing Well Your Opponents:How to Guide the Synthesis of Programmatic Strategies</span>
<span class="d-none d-lg-block"><img class="img-fluid img-profile rounded-circle mx-auto mb-2" src="assets/img/profile.jpg" alt="..." /></span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="#about">About</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="#algorithm">Algorithm</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="#examples">Examples</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="#dsl">Domain-Specific Language (DSL)</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="#interests">MicroRTS Maps</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="#detailed">Detailed Tournament</a></li>
</ul>
</div>
</nav>
<!-- Page Content-->
<div class="container-fluid p-0">
<!-- About-->
<section class="resume-section" id="about">
<div class="resume-section-content">
<h1 class="mb-0">
Choosing Well Your Opponents:
<span class="text-primary">How to Guide the Synthesis of Programmatic Strategies</span>
</h1>
<div class="subheading mb-5">
Rubens O. Moraes, David S. Aleixo, Lucas N. Ferreira, and Levi H. S. Lelis
</div>
<div class="subheading mb-5">
Author for contact: Rubens O. Moraes
<a href="mailto:[email protected]">[email protected]</a>
</div>
<p class="lead mb-5">This webpage presents complementary material and guidance about the paper Choosing Well Your Opponents: How to Guide the Synthesis of Programmatic Strategies accepted on IJCAI 2023. The algorithm, Local Learner (2L), is an algorithm for providing a set of reference strategies to guide the search for programmatic strategies in two-player zero-sum games. </p>
<div class="social-icons">
<a class="social-icon" href="https://www.linkedin.com/in/rubensolv"><i class="fab fa-linkedin-in"></i></a>
<a class="social-icon" href="https://github.com/rubensolv/LocalLearnerIJCAI"><i class="fab fa-github"></i></a>
<a class="social-icon" href="https://twitter.com/Rubensd09141948"><i class="fab fa-twitter"></i></a>
</div>
</div>
</section>
<hr class="m-0" />
<!-- Experience-->
<section class="resume-section" id="algorithm">
<div class="resume-section-content">
<h2 class="mb-5">Local Learner</h2>
<p class="lead mb-5">We introduce Local Learner (2L), an algorithm that provides a set of reference strategies to guide the search for programmatic strategies in two-player zero-sum games.
Local Learner (2L) is a learning algorithm based on the PSRO framework that provides a set of reference strategies to guide the search for programmatic strategies in two-player zero-sum games. It actively selects a set of reference strategies to improve the search signal and defines meta-strategies that are "in between" those IBR and FP define in terms of the number of strategies in the meta-strategy's support. 2L can use more strategies than IBR to provide a better signal to the search algorithm, but it also attempts to use fewer strategies than FP to reduce the computational cost of the evaluation. </p>
<p class="lead mb-5">Iterated Best Response (IBR), Fictitious Play (FP), Double-Oracle (DO), and Local Learner (2L) are all learning algorithms that can be used to guide the search for programmatic strategies in two-player zero-sum games. </p>
<p class="lead mb-5">IBR is a simple algorithm that iteratively selects the best response to the opponent's strategy and updates its own strategy accordingly. </p>
<p class="lead mb-5">FP is a more complex algorithm that maintains a probability distribution over the opponent's strategies and updates its own strategy based on the expected payoff of each strategy. </p>
<p class="lead mb-5">DO is a more sophisticated algorithm that uses linear programming to compute the best response to the opponent's strategy and updates its own strategy accordingly. </p>
<p class="lead mb-5">2L is a learning algorithm based on the PSRO framework that actively selects a set of reference strategies to improve the search signal and defines meta-strategies that are "in between" those IBR and FP define in terms of the number of strategies in the meta-strategy's support. 2L can use more strategies than IBR to provide a better signal to the search algorithm, but it also attempts to use fewer strategies than FP to reduce the computational cost of the evaluation.</p>
<!-- <div class="d-flex flex-column flex-md-row justify-content-between mb-5">
<div class="flex-grow-1">
<h3 class="mb-0">Senior Web Developer</h3>
<div class="subheading mb-3">Intelitec Solutions</div>
<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>
</div>
<div class="flex-shrink-0"><span class="text-primary">March 2013 - Present</span></div>
</div>
<div class="d-flex flex-column flex-md-row justify-content-between mb-5">
<div class="flex-grow-1">
<h3 class="mb-0">Web Developer</h3>
<div class="subheading mb-3">Intelitec Solutions</div>
<p>Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.</p>
</div>
<div class="flex-shrink-0"><span class="text-primary">December 2011 - March 2013</span></div>
</div>
<div class="d-flex flex-column flex-md-row justify-content-between mb-5">
<div class="flex-grow-1">
<h3 class="mb-0">Junior Web Designer</h3>
<div class="subheading mb-3">Shout! Media Productions</div>
<p>Podcasting operational change management inside of workflows to establish a framework. Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration.</p>
</div>
<div class="flex-shrink-0"><span class="text-primary">July 2010 - December 2011</span></div>
</div>
<div class="d-flex flex-column flex-md-row justify-content-between">
<div class="flex-grow-1">
<h3 class="mb-0">Web Design Intern</h3>
<div class="subheading mb-3">Shout! Media Productions</div>
<p>Collaboratively administrate empowered markets via plug-and-play networks. Dynamically procrastinate B2C users after installed base benefits. Dramatically visualize customer directed convergence without revolutionary ROI.</p>
</div>
<div class="flex-shrink-0"><span class="text-primary">September 2008 - June 2010</span></div>
</div>
</div> -->
</section>
<hr class="m-0" />
<!-- Education-->
<section class="resume-section" id="examples">
<div class="resume-section-content">
<h2 class="mb-5">Examples</h2>
<p class="lead mb-5">For detailed examples, please, take a look on the following presentation. </p>
<a href="https://recorder-v3.slideslive.com/?share=84856&s=9c6c0a3a-4578-4f6a-b86f-987f9979c856">Video for examples and details.</a>
<!-- <div class="d-flex flex-column flex-md-row justify-content-between mb-5">
<div class="flex-grow-1">
<h3 class="mb-0">University of Colorado Boulder</h3>
<div class="subheading mb-3">Bachelor of Science</div>
<div>Computer Science - Web Development Track</div>
<p>GPA: 3.23</p>
</div>
<div class="flex-shrink-0"><span class="text-primary">August 2006 - May 2010</span></div>
</div>
<div class="d-flex flex-column flex-md-row justify-content-between">
<div class="flex-grow-1">
<h3 class="mb-0">James Buchanan High School</h3>
<div class="subheading mb-3">Technology Magnet Program</div>
<p>GPA: 3.56</p>
</div>
<div class="flex-shrink-0"><span class="text-primary">August 2002 - May 2006</span></div>
</div> -->
</div>
</section>
<hr class="m-0" />
<!-- Skills-->
<section class="resume-section" id="dsl">
<div class="resume-section-content">
<h2 class="mb-5">DSL's used in our experiments.</h2>
<!-- <div class="subheading mb-3">Programming Languages & Tools</div>
<ul class="list-inline dev-icons">
<li class="list-inline-item"><i class="fab fa-html5"></i></li>
<li class="list-inline-item"><i class="fab fa-css3-alt"></i></li>
<li class="list-inline-item"><i class="fab fa-js-square"></i></li>
<li class="list-inline-item"><i class="fab fa-angular"></i></li>
<li class="list-inline-item"><i class="fab fa-react"></i></li>
<li class="list-inline-item"><i class="fab fa-node-js"></i></li>
<li class="list-inline-item"><i class="fab fa-sass"></i></li>
<li class="list-inline-item"><i class="fab fa-less"></i></li>
<li class="list-inline-item"><i class="fab fa-wordpress"></i></li>
<li class="list-inline-item"><i class="fab fa-gulp"></i></li>
<li class="list-inline-item"><i class="fab fa-grunt"></i></li>
<li class="list-inline-item"><i class="fab fa-npm"></i></li>
</ul> -->
<div class="subheading mb-3">Climbing Monkey </div>
<ul class="fa-ul mb-0">
<li>
<span class="fa-li"><i class="fas fa-check"></i></span>
We used the following DSL for Climbing Monkey (CM) in our experiments. The terminal λ is an empty string.
</li>
</ul>
<img class="img-fluid" src="assets/img/dslMonkey.png" alt =""/>
<div class="subheading mb-3">Poacher & Rangers</div>
<ul class="fa-ul mb-0">
<li>
<span class="fa-li"><i class="fas fa-check"></i></span>
We used the following DSLs for Rangers and Poachers, where the terminal λ indicates an empty string.
</li>
</ul>
<img class="img-fluid" src="assets/img/dslPER.png" alt =""/>
<div class="subheading mb-3">MicroRTS</div>
<ul class="fa-ul mb-0">
<li>
<span class="fa-li"><i class="fas fa-check"></i></span>
The DSL we use for MicroRTS was introduced by [Marino et al., 2021] and expanded by [Medeiros et al., 2022]. This
DSL accepts nested if structures and nested for loops. The DSL is described with the following context-free grammar.
</li>
</ul>
<img class="img-fluid" src="assets/img/dslmicro1.png" alt =""/>
<img class="img-fluid" src="assets/img/dslmicro2.png" alt =""/>
<img class="img-fluid" src="assets/img/dslmicro3.png" alt =""/>
<img class="img-fluid" src="assets/img/dslmicro4.png" alt =""/>
<img class="img-fluid" src="assets/img/dslmicro5.png" alt =""/>
</div>
</section>
<hr class="m-0" />
<!-- Interests-->
<section class="resume-section" id="interests">
<div class="resume-section-content">
<h2 class="mb-5">MicroRTS Maps</h2>
<p>The seven maps used in the MicroRTS experiments are presented here. From left to right and top to bottom we have the following maps:</p>
<div class="row">
<div class="column">
<img src="assets/img/map8x8.png" alt="Map 8x8" style="width:100%">
</div>
<div class="column">
<img src="assets/img/map16x16.png" alt="Map 16x16" style="width:100%">
</div>
<div class="column">
<img src="assets/img/map24.png" alt="Map 24x24A" style="width:100%">
</div>
</div>
<div class="row">
<div class="column">
<img src="assets/img/mapDoubleGame.png" alt="Map 24x24 Double Map" style="width:100%">
</div>
<div class="column">
<img src="assets/img/map32.png" alt="Map 32x32A" style="width:100%">
</div>
<div class="column">
<img src="assets/img/mapBWD32.png" alt="Map 32x32 BWDistance" style="width:100%">
</div>
</div>
<img class="img-fluid" src="assets/img/mapChambers32.png" alt ="Chambers 32" width="200" height="200" />
<!-- <p class="mb-0">When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring chef, and I spend a large amount of my free time exploring the latest technology advancements in the front-end web development world.</p> -->
</div>
</section>
<hr class="m-0" />
<!-- Awards-->
<section class="resume-section" id="detailed">
<div class="resume-section-content">
<h2 class="mb-5">Detailed Tournament Evaluation</h2>
<p class="mb-0">In the MicroRTS tournament, the synthesizer using 2L outperformed programmatic strategies written by human programmers by obtaining the highest average winning rate. The tournament included strategies synthesized with 2L, IBR, FP, DO, as well as the programmatic strategies that won the last two MicroRTS competitions, which were written by programmers. The results showed that 2L synthesized strategies that were never worse and often far superior to strategies synthesized with IBR, FP, and DO in all three domains.</p>
</div>
</section>
</div>
<!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
</body>
</html>