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 条
  • [31] Human Conditional Reasoning in Answer Set Programming
    Sakama, Chiaki
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2024, 24 (01) : 157 - 192
  • [32] An Approach to Partial Observability in Games: Learning to Both Act and Observe
    Gilmour, Elizabeth
    Plotkin, Noah
    Smith, Leslie N.
    2021 IEEE CONFERENCE ON GAMES (COG), 2021, : 971 - 975
  • [33] HYPOTHETICAL REASONING IN LOGIC PROGRAMMING - A SEMANTIC APPROACH
    BROGI, A
    LAMMA, E
    MELLO, P
    INFORMATION PROCESSING LETTERS, 1990, 36 (06) : 285 - 291
  • [34] Minimum Phasor Measurement Unit Placement For Partial Observability of Power System
    Mohamud, Abdishakur Mohamed
    Wu, Jing
    Long, Chengnian
    Li, Shaoyuan
    PROCEEDINGS OF THE 35TH CHINESE CONTROL CONFERENCE 2016, 2016, : 10085 - 10089
  • [35] Landmark based guidance for reinforcement learning agents under partial observability
    Demir, Alper
    Cilden, Erkin
    Polat, Faruk
    INTERNATIONAL JOURNAL OF MACHINE LEARNING AND CYBERNETICS, 2023, 14 (04) : 1543 - 1563
  • [36] Explicitly Learning Policy Under Partial Observability in Multiagent Reinforcement Learning
    Yang, Chen
    Yang, Guangkai
    Chen, Hao
    Zhang, Junge
    2023 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS, IJCNN, 2023,
  • [37] Bayesian encompassing specification test under not completely known partial observability
    Almeida, Carlos
    Mouchart, Michel
    BAYESIAN ANALYSIS, 2007, 2 (02): : 303 - 318
  • [38] Landmark based guidance for reinforcement learning agents under partial observability
    Alper Demir
    Erkin Çilden
    Faruk Polat
    International Journal of Machine Learning and Cybernetics, 2023, 14 : 1543 - 1563
  • [39] Hybrid Hierarchical Reinforcement Learning for online guidance and navigation with partial observability
    Zhou, Ye
    van Kampen, Erik-Jan
    Chu, Qiping
    NEUROCOMPUTING, 2019, 331 : 443 - 457
  • [40] Adoption of agricultural innovations as a two-stage partial observability process
    Dimara, E
    Skuras, D
    AGRICULTURAL ECONOMICS, 2003, 28 (03) : 187 - 196