Programming and Reasoning with Partial Observability

被引:2
|
作者
Atkinson, Eric [1 ]
Carbin, Michael [1 ]
机构
[1] MIT, Cambridge, MA 02139 USA
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2020年 / 4卷
关键词
programming languages; logic; partial observability; uncertainty;
D O I
10.1145/3428268
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Computer programs are increasingly being deployed in partially-observable environments. A partially observable environment is an environment whose state is not completely visible to the program, but from which the program receives partial observations. Developers typically deal with partial observability by writing a state estimator that, given observations, attempts to deduce the hidden state of the environment. In safety-critical domains, to formally verify safety properties developers may write an environment model. The model captures the relationship between observations and hidden states and is used to prove the software correct. In this paper, we present a new methodology for writing and verifying programs in partially observable environments. We present belief programming, a programming methodology where developers write an environment model that the program runtime automatically uses to perform state estimation. A belief program dynamically updates and queries a belief state that captures the possible states the environment could be in. To enable verification, we present Epistemic Hoare Logic that reasons about the possible belief states of a belief program the same way that classical Hoare logic reasons about the possible states of a program. We develop these concepts by defining a semantics and a program logic for a simple core language called BLIMP. In a case study, we show how belief programming could be used to write and verify a controller for the Mars Polar Lander in BLIMP. We present an implementation of BLIMP called CBLIMP and evaluate it to determine the feasibility of belief programming.
引用
收藏
页数:28
相关论文
共 50 条
  • [1] Reasoning about memoryless strategies under partial observability and unconditional fairness constraints
    Busard, Simon
    Pecheur, Charles
    Qu, Hongyang
    Raimondi, Franco
    INFORMATION AND COMPUTATION, 2015, 242 : 128 - 156
  • [2] Partial observability and management of ecological systems
    Williams, Byron K.
    Brown, Eleanor D.
    ECOLOGY AND EVOLUTION, 2022, 12 (09):
  • [3] Partial observability and learnability
    Michael, Loizos
    ARTIFICIAL INTELLIGENCE, 2010, 174 (11) : 639 - 669
  • [4] Incremental model based online heuristic dynamic programming for nonlinear adaptive tracking control with partial observability
    Zhou, Ye
    Van Kampen, Erik-Jan
    Chu, Qiping
    AEROSPACE SCIENCE AND TECHNOLOGY, 2020, 105
  • [5] Partial observability of stochastic semilinear systems
    Bashirov, Agamirza E.
    Ahmadova, Arzu
    SYSTEMS & CONTROL LETTERS, 2022, 168
  • [6] Partial observability for some distributed parameter systems
    Kang W.
    Xu L.
    International Journal of Dynamics and Control, 2014, 2 (4) : 587 - 596
  • [7] Equivariant Reinforcement Learning under Partial Observability
    Nguyen, Hai
    Baisero, Andrea
    Klee, David
    Wang, Dian
    Platt, Robert
    Amato, Christopher
    CONFERENCE ON ROBOT LEARNING, VOL 229, 2023, 229
  • [8] STRATEGIC BINARY CHOICE MODELS WITH PARTIAL OBSERVABILITY
    Nieman, Mark David
    STATISTICA SINICA, 2018, 28 (04) : 2089 - 2105
  • [9] Output analysis for terminating simulations with partial observability
    Kaminski, Bogumil
    Koloch, Grzegorz
    SIMULATION MODELLING PRACTICE AND THEORY, 2017, 71 : 102 - 113
  • [10] Reinforcement Learning in RoboCup KeepAway with Partial Observability
    Devlin, Sam
    Grzes, Marek
    Kudenko, Daniel
    2009 IEEE/WIC/ACM INTERNATIONAL JOINT CONFERENCES ON WEB INTELLIGENCE (WI) AND INTELLIGENT AGENT TECHNOLOGIES (IAT), VOL 2, 2009, : 201 - 208