DSL Design for Reinforcement Learning Agents
Writing software that employs artificial intelligence (AI) is complex because the algorithms that must be implemented in general purpose programming languages are complex. One solution to this problem is to embed AI algorithms in domain specific languages (DSLs). DSLs are the ``ultimate abstraction'' for creating programs for a particular domain, but the question of how or even why to do this is not easily answered. We have developed a language with integrated reinforcement learning designed for writing intelligent agents. AFABL (A Friendly Adaptive Behavior Language), is implemented as an internal DSL shallowly embedded in the Scala programming language. We discuss the development of AFABL, the basic elements of AFABL, the way AFABL captures domain knowledge, the benefits of integrating reinforcement learning into a programming language and report the results of a programmer study which confirms and quantifies the usefulness of integrating reinforcement learning into a programming language.
(simpkins-dsldi2017-slides.pdf) | 1.46MiB |
(simpkins2017dsl.pdf) | 1.34MiB |
Sun 22 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 22mTalk | Substance and Style: domain-specific languages for mathematical diagrams DSLDI Wode Ni Columbia University, Katherine Ye , Joshua Sunshine Carnegie Mellon University, Jonathan Aldrich Carnegie Mellon University, Keenan Crane Carnegie Mellon University File Attached | ||
10:52 22mTalk | Debugging Domain-Specific Languages Defined with Macros DSLDI File Attached | ||
11:15 22mTalk | DSL Design for Reinforcement Learning Agents DSLDI Christopher Simpkins Georgia Institute of Technology, Spencer Rugaber Georgia Institute of Technology, Charles Isbell, Jr. Georgia Institute of Technology File Attached | ||
11:37 22mTalk | Tangent: automatic differentiation using source code transformation in Python DSLDI File Attached |