Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building Autonomous Agents with gym-retro
Search
Kartones
October 26, 2018
Programming
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Autonomous Agents with gym-retro
Given at MindCamp X
Kartones
October 26, 2018
More Decks by Kartones
See All by Kartones
Python static typing with MyPy
kartones
0
90
High-impact refactors keeping the lights on
kartones
0
76
Remote Work
kartones
0
110
Geospatial CSV Imports Hidden Complexity
kartones
0
62
Intro to GameBoy Development
kartones
0
110
Myths & The Real World of OpenSource Development
kartones
0
54
CartoDB Tech Intro
kartones
0
58
Copy Protection & Cracking History
kartones
0
150
Cómo ganar dinero con tus juegos online
kartones
1
130
Other Decks in Programming
See All in Programming
バグを直したら useEffect が消えた
colorful12
3
840
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
310
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
110
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
980
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
470
MySQLとPostgreSQLって何が違うの?
akagami
PRO
0
160
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
100
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Building Applications with DynamoDB
mza
96
7.2k
It's Worth the Effort
3n
188
29k
A better future with KSS
kneath
240
18k
30 Presentation Tips
portentint
PRO
1
390
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Unsuck your backbone
ammeep
672
58k
First, design no harm
axbom
PRO
2
1.3k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
@Kartones
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
observation, reward, done, info = environment.step(action)
None
None
action = environment.action_space.sample()
None
paddle_size = 24 paddle_safe_margin = paddle_size/4 if last_info: go_left =
1 if (last_info['player_x_start'] + paddle_safe_margin > last_info['ball_x']) else 0 go_right = 1 if (last_info['player_x_end'] - paddle_safe_margin < last_info['ball_x']) else 0 # ["B", null, "SELECT", "START", "UP", "DOWN", "LEFT", "RIGHT", "A"] action = [0, 0, 0, 0, 0, 0, go_left, go_right, self.env.current_time % 2]
None
None
None
probability = numpy.random.random() if probability < EPSILON: return self._random_movement() else:
if self.env.current_time < self.best_time: action = self.best_actions[self.env.current_time] else: return self._ai_movement(last_info)
None
None
def _epsilon_value(self): if self.USE_DECAYING_EPSILON: # with 1 becomes practically random
return 0.1 / (self.env.current_time + 1) else: return self.EPSILON
Why decaying epsilon = 0.1? 0.1 * 5 = 0.02
0.1 * 250 = 0.0004 0.1 * 500 = 0.0002 0.1 * 1000 = 0.0001
None
None
None
None
None
None
soon at : github.com/kartones
None
None
github.com/openai/retro-baselines/agents
• Intro documentation: blog.openai.com/gym-retro/ • Example code and documentation: github.com/openai/retro/
github.com/openai/retro-baselines/ "gotta_learn_fast_report.pdf" • Game integration guide: github.com/openai/retro/blob/develop/IntegratorsGuide.md • Contests and other resources: openai.com • JERK sources: www.noob-programmer.com/openai-retro-contest/jerk-agent-algorithm/
None