一句话:用选择单子为含选择、奖励与概率的语言建立操作/指称语义,并证明二者一致与完全抽象。
论文从程序语言视角研究以“选择及其代价/奖励”描述系统的方法,使程序员无需规定选择如何作出,而可交由优化或机器学习实现。作者定义两个小型语言:一个含选择与奖励,另一个增加概率,并给出操作语义与指称语义。操作语义在标准构念上对执行策略空间做优化;指称语义是组合式的,以 selection monad 处理选择,用辅助 monad 处理奖励或概率。对概率语言考察三种指称语义,对应程序值与期望奖励的不同相关程度。作者证明两种语义一致(adequacy),在基本类型上完全抽象,并给出选择与奖励/概率的公理;无概率奖励情形的公理在基本类型上完备。
Describing systems in terms of choices and their resulting costs and rewards offers the promise of freeing algorithm designers and programmers from specifying how those choices should be made; in implementations, the choices can be realized by optimization techniques and, increasingly, by machine-learning methods. We study this approach from a programming-language perspective. We define two small languages that support decision-making abstractions: one with choices and rewards, and the other additionally with probabilities. We give both operational and denotational semantics. In the case of the second language we consider three denotational semantics, with varying degrees of correlation between possible program values and expected rewards. The operational semantics combine the usual semantics of standard constructs with optimization over spaces of possible execution strategies. The denotational semantics, which are compositional, rely on the selection monad, to handle choice, augmented with an auxiliary monad to handle other effects, such as rewards or probability. We establish adequacy theorems that the two semantics coincide in all cases. We also prove full abstraction at base types, with varying notions of observation in the probabilistic case corresponding to the various degrees of correlation. We present axioms for choice combined with rewards and probability, establishing completeness at base types for the case of rewards without probability.