Extensions: Concurrency, Interrupts, Sensing
|
|
- Imogen Charles
- 5 years ago
- Views:
Transcription
1 IIc. Procedural action programs 1 Extensions: Concurrency, Interrupts, Sensing Exogenous actions Concurrency and interrupts in GOLOG A transitional semantics for GOLOG Sensing actions
2 Mailbot in a Constantly Changing World IIc. Procedural action programs 2
3 IIc. Procedural action programs 3 Example: Exogenous Actions Symbol AddRequest CancelRequest Idle Type PACKAGE ROOM ROOM # ACTION PACKAGE # ACTION # ACTION proc Interaction p. r 1. r 2. AddRequest(p, r 1 ) p. CancelRequest(p) endproc;
4 IIc. Procedural action programs 4 Precondition Axioms Poss(AddRequest(p, r 1 ), s, t) t = Do(AddRequest(p, r 1 ), s) ( r' 1, r' 2 ) Holds(Request(p, r' 1, r' 2 ), s) ( b, r') Holds(Carries(b, p, r'), s) r 1 r 2 Poss(CancelRequest(p), s, t) t = Do(CancelRequest(p), s) ( r 1 ) Holds(Request(p, r 1 ), s) Poss(Idle, s, t) t = Do(Idle, s)
5 IIc. Procedural action programs 5 Effect Axioms Poss(AddRequest(p, r 1 ), s, t) ( f)[f = Request(p, r 1 ) Holds(f, s) Holds(f, t)] ( f)[f Request(p, r 1 ) Holds(f, s) Holds(f, t)] Poss(CancelRequest(p), s, t) ( r 1 )(Holds(Request(p, r 1 ), s) ( f)[holds(f, s) f Request(p, r 1 ) Holds(f, t)] ( f)[f = Request(p, r 1 ) Holds(f, s) Holds(f, t)]) Poss(Idle s, t) ( f)[holds(f, s) Holds(f, t)] ( f)[ Holds(f, s) Holds(f, t)]
6 IIc. Procedural action programs 6 Concurrency and Interrupts in GOLOG Command Meaning concurrent execution concurrent execution with priority concurrent iteration interrupt
7 IIc. Procedural action programs 7 Modified GOLOG Program for Mail Delivery proc Deliver... endproc;... proc Interaction... endproc; Interaction* (while ( p, r 1 ) Request(p, r 1 ) do Idle endwhile; Control)
8 IIc. Procedural action programs 8 A Transitional Semantics for GOLOG The transitional semantics for GOLOG is given by formulas meaning that Trans(, s, ', s') Final(, s) executing one step of in s may result in s', and ' is what remains of after this step; can be considered completed in s.
9 IIc. Procedural action programs 9 Transitional Semantics for GOLOG Constructs Trans(nil, s, ', s') False Trans(a, s, ', s') Poss(a, s, s') ' = nil s' = Do(a, s) Trans(?, s, ', s') [s] ' = nil s' = s Trans( 1 ; 2, s, ', s') ( 1 ') (Trans( 1, s, 1 ', s') ' = ( 1 '; 2 )) Final( 1, s) Trans( 2, s, ', s') Trans( 1 2, s, ', s') Trans( 1, s, ', s') Trans( 2, s, ', s') Trans( x. (x), s, ', s') ( x) Trans( (x), s, ', s') Trans( *, s, ', s') ( '') (Trans(, s, '', s') ' = ( ''; *))
10 IIc. Procedural action programs 10 Transitional Semantics for GOLOG Macros Trans(if then 1 else 2 endif, s, ', s') [ s] Trans( 1, s, ', s') [ s] Trans( 2, s, ', s') Trans(while do endwhile, s, ', s') ( '') ( [ s] Trans(, s, '', s') ' = ( ''; while do endwhile))
11 IIc. Procedural action programs 11 Transitional Semantics for Concurrency Trans( 1 2, s, ', s') ( ) (Trans( 1, s,, s') ' = ( 2 )) ( ) (Trans( 2, s,, s') ' = ( 1 )) Trans( 1 2, s, ', s') ( ) (Trans( 1, s,, s') ' = ( 2 )) ( ) ( Trans( 2, s,, s') ' = ( 1 )) ( '', s'') Trans( 1, s, '', s'') Trans(, s, ', s') ( '') ( Trans(, s, '', s') ' = ( '' ))
12 IIc. Procedural action programs 12 Transitional Semantics for Interrupts while True do if then else False? endif endwhile To terminate the interrupt after one execution, use an arbitrary fluent that is true initially and set to false by.
13 IIc. Procedural action programs 13 Transitional Semantics: Final Configurations (1) Final(nil, s) True Final(a, s) False Final(?, s) False Final( 1 ; 2, s) Final( 1, s) Final( 2, s) Final( 1 2, s) Final( 1, s) Final( 2, s) Final( x. (x), s) ( x) Final( (x), s) Final( *, s) True
14 IIc. Procedural action programs 14 Transitional Semantics: Final Configurations (2) Final( 1 2, s) Final( 1, s) Final( 2, s) Final( 1 2, s) Final( 1, s) Final( 2, s) Final(, s) True Final(if then 1 else 2 endif, s) [ s] Final( 1, s) [ s] Final( 2, s) Final(while do endwhile, s) [ s] Final(, s)
15 IIc. Procedural action programs 15 The Overall Transitional Semantics DO(, s, s') :<=> ( ')(Trans*(, s, ', s') Final( ', s')) where Trans*(, s, ', s') :<=> ( P)([( 1, s 1 )P( 1, s 1, 1, s 1 ) ( 1,..., s 3 )(P( 1, s 1, 2, s 2 ) Trans( 2, s 2, 3, s 3 ) P( 1, s 1, 3, s 3 ))] P(, s, ', s'))
16 IIc. Procedural action programs 16 Example Suppose Holds(f, S 0 ) f = At(1) f = Empty(B 1 ) f = Empty(B 2 ) f = Empty(B 3 ) Then DO( mail, S 0, S) is true for, e.g., S = Do(Drop(B 1 ), Do(Go(Up), Do(Pick(P 2, B 1 ), Do(Go(Down), Do(CancelRequest(P 1 ), Do(AddRequest(P 2, 1, 2), Do(Go(Up), Do(AddRequest(P 1, 2, 1), Do(Idle, S 0 )))))))))
17 Programs with Sensing IIc. Procedural action programs 17
18 Example: Having a Robot Negotiate a Maze IIc. Procedural action programs 18
19 IIc. Procedural action programs 19 A High-Level Control Program for the Robot proc TakeNextStep TurnRight; SenseBlocked; while Blocked do TurnLeft; SenseBlocked endwhile; GoForward endproc; while At(Exit) do TakeNextStep endwhile
20 IIc. Procedural action programs 20 Recap: Online- vs. Offline-Execution Online-execution Agent commits immediately to every non-deterministic choice Program may not be completed althoug s exists s.th. DO(, S 0, s) Example: [Go(Up); ( b) Empty(b)?] Go(Down) Offline-execution Agent searches for s s.th. DO(, S 0, s) before executing any action
21 IIc. Procedural action programs 21 Offline vs. Online Execution in the Presence of Sensing Without sufficient knowledge, GOLOG programs with sensing cannot be executed offline. Without sufficient knowledge of fluent Blocked, there is no provably successful run of maze. Online execution provides sufficient information about initially unknown fluents when needed. But the advantages of offline execution (to enable search) are lost.
22 IIc. Procedural action programs 22 The Search Operator Only subprograms in the scope of the search operator are executed offline. Example: {(PlanA PlanB); SubGoal?}; (ActC ActD); Test? Action PlanA or action PlanB is chosen, depending on which achieves goal SubGoal. Action ActC or action ActD is chosen, and the agent commits to this choice prior to testing Test.
23 IIc. Procedural action programs 23 Axiomatizing Sensing Actions The special predicate SF(a, s) is true if what is sensed by action a holds in situation s. SF(SenseBlocked, s) Holds(Blocked, s) SF(TurnLeft, s) True SF(TurnRight, s) True SF(GoForward, s) True
24 IIc. Procedural action programs 24 Histories A history h is a sequence of (action, sensing result)-pairs (a 1, v 1 ), (a 2, v 2 ),..., (a n, v n ) (n 0) End[h, s] :<=> Do(a n,..., Do(a 2, Do(a 1, s))...) Sensed[h, s] :<=> { } SF(a 1, Do(a 1, s))... { }SF(a n, End[h, s]) where is placed wrt. a i iff v i = false
25 IIc. Procedural action programs 25 Example The history h = (TurnRight, true), (SenseBlocked, false), (GoForward, true) determines this formula as Sensed[h, S 0 ]: True Holds(Blocked, Do(SenseBlocked, Do(TurnRight, S 0 ))) True...
26 IIc. Procedural action programs 26 Transitional Semantics in the Presence of Sensing Given a history h and domain axiomatization Ax A transition is possible if Ax Sensed[h, s] Trans(, End[h, s], ', s') A program may terminate if Ax Sensed[h, s] Final(, End[h, s])
27 IIc. Procedural action programs 27 Semantics of Search Operator Trans(, s, ', s') ( '') (Trans(, s, '', s') ' = '' Final(, s) Final(, s) ( e, s e )(Trans*( '', s', e, s e ) Final( e, s e )))
Continuing the KRR Journey
1 Weeks 1 3 Week 4 Week 5 Week 6 Continuing the KRR Journey Propositional and first-order logic (FOL) Expressiveness and Decidability: Propositional logic is decidable, FOL is not. Classical planning problems:
More informationLecture 3: High-level Programming in the Situation Calculus: Golog and ConGolog
DIS La Sapienza, PhD Course: Reasoning about Action and High-Level Programs Lecture 3: High-level Programming in the Situation Calculus: Golog and ConGolog Yves Lespérance Dept. of Computer Science & Engineering,
More informationInterpreting Golog Programs in Flux
Interpreting Golog Programs in Flux Stephan Schiffel and Michael Thielscher Department of Computer Science Dresden University of Technology {stephan.schiffel,mit}@inf.tu-dresden.de Abstract A new semantics
More informationDIS La Sapienza PhD Course. Autonomous Agents and Multiagent Systems. Lecture 4: High-Level Programming in the Situation Calculus: Golog and ConGolog
DIS La Sapienza PhD Course Autonomous Agents and Multiagent Systems Lecture 4: High-Level Programming in the Situation Calculus: Golog and ConGolog Yves Lespérance Dept. of Computer Science & Engineering
More informationinitial state to some prespecied goal state, the task is to nd a sequence of actions that constitutes a legal execution of some prespecied non-determi
ConGolog, a concurrent programming language based on the situation calculus: foundations Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza" Via Salaria 113,
More informationdemanding computationally in all but simple settings. An alternative approach that is showing promise is that of high-level program execution [20]. Th
ConGolog, a concurrent programming language based on the situation calculus Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza" Via Salaria 113, 00198 Roma,
More informationReconciling Situation Calculus and Fluent Calculus
Reconciling Situation Calculus and Fluent Calculus Stephan Schiffel and Michael Thielscher Department of Computer Science Dresden University of Technology {stephan.schiffel,mit}@inf.tu-dresden.de Abstract
More informationConGolog, a concurrent programming language based on the situation calculus
Artificial Intelligence 121 (2000) 109 169 ConGolog, a concurrent programming language based on the situation calculus Giuseppe De Giacomo a,, Yves Lespérance b, Hector J. Levesque c a Dipartimento di
More informationSituation Calculus and Golog
Situation Calculus and Golog Institute for Software Technology 1 Recap Situation Calculus Situation Calculus allows for reasoning about change and actions a dialect of the second-order logic uses the concept
More informationstate to some goal state, the task is to nd a sequence of actions that constitutes a legal execution of some high-level non-deterministic program. As
ConGolog, a concurrent programming language based on the situation calculus: language and implementation. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza"
More informationOn the Semantics of Deliberation in IndiGolog
On the Semantics of Deliberation in IndiGolog From Theory to Implementation GIUSEPPE DE GIACOMO (degiacomo@dis.uniroma1.it) Dip. Informatica e Sistemistica, Università di Roma La Sapienza, Via Salaria
More informationOn the semantics of deliberation in IndiGolog from theory to implementation
Annals of Mathematics and Artificial Intelligence 41: 259 299, 2004. 2004 Kluwer Academic Publishers. Printed in the Netherlands. On the semantics of deliberation in IndiGolog from theory to implementation
More informationGerald Steinbauer Institute for Software Technology
Situation ti Calculus l and Golog Institute for Software Technology 1 Recap Situation Calculus Situation Calculus allows for reasoning about change and actions a dialect of the second-orderorder logic
More informationThe Situation Calculus and Golog
and A Tutorial Gerhard Lakemeyer Dept. of Computer Science RWTH Aachen University Germany 2nd Hybris Workshop, Freiburg, May 27 28, 2013 Outline 1 2 3 May 28, 2013 2 / 34 Knowledge-Based Agents Example:
More informationOn Ability to Autonomously Execute Agent Programs with Sensing
On Ability to Autonomously Execute Agent Programs with Sensing Sebastian Sardiña Dept. of Computer Science University of Toronto ssardina@cs.toronto.edu Yves Lespérance Dept. of Computer Science York University
More informationAPPLIED LOGIC SERIES VOLUME 33. Managing Editor Dov M. Gabbay, Department of Computer Science, King s College, London, U.K. Co-Editor Jon Barwise
TLFeBOOK TLFeBOOK Reasoning Robots APPLIED LOGIC SERIES VOLUME 33 Managing Editor Dov M. Gabbay, Department of Computer Science, King s College, London, U.K. Co-Editor Jon Barwise Editorial Assistant Jane
More information14. Actions. KR & R Brachman & Levesque Situation calculus
14. Actions KR & R Brachman & Levesque 2005 236 Situation calculus The situation calculus is a dialect of FOL for representing dynamically changing worlds in which all changes are the result of named actions.
More informationProofs of Correctness: Introduction to Axiomatic Verification
Proofs of Correctness: Introduction to Axiomatic Verification Introduction Weak correctness predicate Assignment statements Sequencing Selection statements Iteration 1 Introduction What is Axiomatic Verification?
More informationCS558 Programming Languages
CS558 Programming Languages Winter 2017 Lecture 2b Andrew Tolmach Portland State University 1994-2017 Semantics Informal vs. Formal Informal semantics Descriptions in English (or other natural language)
More informationNon-Markovian Control in the Situation Calculus
Non-Markovian Control in the Situation Calculus An Elaboration Niklas Hoppe Seminar Foundations Of Artificial Intelligence Knowledge-Based Systems Group RWTH Aachen May 3, 2009 1 Contents 1 Introduction
More informationApplying DTGolog to Large-scale Domains
Applying DTGolog to Large-scale Domains by Huy N Pham A thesis presented to Ryerson University in partial fulfillment of the requirements for the degree of Masters of Applied Science in the Program of
More informationOn the Role of Possibility in Action Execution and Knowledge in the Situation Calculus
On the Role of Possibility in Action Execution and Knowledge in the Situation Calculus Vahid Vaezian (B) and James P. Delgrande School of Computing Science, Simon Fraser University, Burnaby, BC V5A 1S6,
More informationDynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics
Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated
More informationRepresenting Beliefs in the Fluent Calculus
Representing Beliefs in the Fluent Calculus Yi Jin and Michael Thielscher 1 Abstract. Action formalisms like the uent calculus have been developed to endow logic-based agents with the abilities to reason
More informationAxiomatic Semantics. Lecture 9 CS 565 2/12/08
Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics
More informationSituation Calculus. Gerald Steinbauer. Institute for Software Technology. Gerald Steinbauer. Situation Calculus - Introduction
Situation Calculus Institute for Software Technology 1 Dates Organizational Issues 10.11.2016 8:45-11:00 (HS i12) lecture and first assignment 17.11.2016 8:45-11:00 (HS i12) lecture and programming assignment
More informationTractable Reasoning with Incomplete First-Order Knowledge in Dynamic Systems with Context-Dependent Actions
Tractable Reasoning with Incomplete First-Order Knowledge in Dynamic Systems with Context-Dependent Actions Yongmei Liu and Hector J. Levesque Department of Computer Science University of Toronto Toronto,
More informationBelief Management for High-Level Robot Programs
Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Belief Management for High-Level Robot Programs Stephan Gspandl, Ingo Pill, Michael Reip, Gerald Steinbauer Institute
More informationAxiomatic Semantics. Semantics of Programming Languages course. Joosep Rõõmusaare
Axiomatic Semantics Semantics of Programming Languages course Joosep Rõõmusaare 2014 Direct Proofs of Program Correctness Partial correctness properties are properties expressing that if a given program
More informationAction, Belief Change and the Frame Problem: A Fluent Calculus Approach
Action, Belief Change and the Frame Problem: A Fluent Calculus Approach Richard B. Scherl Computer Science Department Monmouth University West Long Brach, NJ 07764 U.S.A. email: rscherl@monmouth.edu Abstract
More informationHandling Implication and Universal Quantification Constraints in FLUX
Handling Implication and Universal Quantification Constraints in FLUX Michael Thielscher Dresden University of Technology, 01062 Dresden, Germany, mit@inf.tu-dresden.de Abstract. FLUX is a CLP-approach
More informationHandling Uncertainty System in the Situation Calculus with Macro-actions. actions
Handling Uncertainty System in the Situation Calculus with Macro-actions actions Yilan Gu Department of Computer Science University of Toronto November 28, 2002 Outline Review the situation calculus Introducing
More informationOn Defaults in Action Theories
On Defaults in Action Theories Hannes Strass and Michael Thielscher Department of Computer Science Dresden University of Technology {hannes.strass,mit}@inf.tu-dresden.de Abstract. We study the integration
More informationOn the Decidability of Verifying LTL Properties of GOLOG Programs
On the Decidability of Verifying LTL Properties of GOLOG Programs Benjamin Zarrieß Theoretical Computer Science TU Dresden, Germany zarriess@tcs.inf.tu-dresden.de Jens Claßen Knowledge-Based Systems Group
More informationLTCS Report. On the Decidability of Verifying LTL Properties of Golog Programs (Extended Version) LTCS-Report 13-10
Technische Universität Dresden Institute for Theoretical Computer Science Chair for Automata Theory LTCS Report On the Decidability of Verifying LTL Properties of Golog Programs (Extended Version) Benjamin
More information14. Actions. Situation calculus. Fluents. Preconditions and effects
Situation calculus 14. Actions The situation calculus is a dialect of FOL for representing dynamically changing worlds in which all changes are the result of named actions. There are two distinguished
More informationMulti-agent actions under uncertainty: situation calculus, discrete time, plans and policies
Multi-agent actions under uncertainty: situation calculus, discrete time, plans and policies David Poole Department of Computer Science University of British Columbia Vancouver, B.C., Canada V6T 1Z4 poole@cs.ubc.ca
More informationProgram verification. 18 October 2017
Program verification 18 October 2017 Example revisited // assume(n>2); void partition(int a[], int n) { int pivot = a[0]; int lo = 1, hi = n-1; while (lo
More informationProgression of Situation Calculus Action Theories with Incomplete Information
Progression of Situation Calculus Action Theories with Incomplete Information Stavros Vassos and Hector Levesque Department of Computer Science University of Toronto Toronto, ON, CANADA {stavros,hector}@cs.toronto.edu
More informationTowards the Integration of Programming by Demonstration and Programming by Instruction using Golog
Towards the Integration of Programming by Demonstration and Programming by Instruction using Golog Christian Fritz and Yolanda Gil Information Sciences Institute University of Southern California Marina
More informationProgram verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program
Program verification Assertional semantics of a program Meaning of a program: relation between its inputs and outputs; specified by input assertions (pre-conditions) and output assertions (post-conditions)
More informationOn the Progression of Situation Calculus Basic Action Theories: Resolving a 10-year-old Conjecture
On the Progression of Situation Calculus Basic Action Theories: Resolving a 10-year-old Conjecture Stavros Vassos and Hector J Levesque Department of Computer Science University of Toronto Toronto, ON,
More informationResolving Non-Determinism in Programs for Complex Task Planning with Search Control
Resolving Non-Determinism in Programs for Complex Task Planning with Search Control Alfredo Gabaldon National ICT Australia, School of CS and Eng., UNSW Sydney, Australia, alfredo@cse.unsw.edu.au Abstract
More informationA Generative Dialogue System for Arguing about Plans in Situation Calculus
A Generative Dialogue System for Arguing about Plans in Situation Calculus Alexandros Belesiotis 1, Michael Rovatsos 1, and Iyad Rahwan 2,1 1 School of Informatics, The University of Edinburgh, Edinburgh
More informationProgramming Languages and Compilers (CS 421)
Programming Languages and Compilers (CS 421) Sasa Misailovic 4110 SC, UIUC https://courses.engr.illinois.edu/cs421/fa2017/cs421a Based in part on slides by Mattox Beckman, as updated by Vikram Adve, Gul
More informationAHoare-Style Proof System for Robot Programs
From: AAAI-02 Proceedings Copyright 2002, AAAI (wwwaaaiorg) All rights reserved AHoare-Style Proof System for Robot Programs Yongmei Liu Department of Computer Science University of Toronto Toronto, ON,
More informationIntroduction on Situational Calculus
Introduction on Situational Calculus Fangkai Yang Department of Computer Sciences The University of Texas at Austin September 24, 2010 Fangkai Yang (fkyang@cs.utexas.edu) September 24, 2010 1 / 27 Outline
More informationAxiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs
Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.
More informationThe Assignment Axiom (Hoare)
The Assignment Axiom (Hoare) Syntax: V := E Semantics: value of V in final state is value of E in initial state Example: X:=X+ (adds one to the value of the variable X) The Assignment Axiom {Q[E/V ]} V
More informationDesigning and Evaluating Generic Ontologies
Designing and Evaluating Generic Ontologies Michael Grüninger Department of Industrial Engineering University of Toronto gruninger@ie.utoronto.ca August 28, 2007 1 Introduction One of the many uses of
More informationKnowledge of Other Agents and Communicative Actions in the Fluent Calculus
Knowledge of Other Agents and Communicative Actions in the Fluent Calculus Yves Martin Fakultät Informatik Technische Universität Dresden 01062 Dresden (Germany) ym1@inf.tu-dresden.de Iman Narasamdya Department
More informationArtificial Intelligence. Propositional logic
Artificial Intelligence Propositional logic Propositional Logic: Syntax Syntax of propositional logic defines allowable sentences Atomic sentences consists of a single proposition symbol Each symbol stands
More informationSpring 2015 Program Analysis and Verification. Lecture 4: Axiomatic Semantics I. Roman Manevich Ben-Gurion University
Spring 2015 Program Analysis and Verification Lecture 4: Axiomatic Semantics I Roman Manevich Ben-Gurion University Agenda Basic concepts of correctness Axiomatic semantics (pages 175-183) Hoare Logic
More informationCOP4020 Programming Languages. Introduction to Axiomatic Semantics Prof. Robert van Engelen
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen Assertions and Preconditions Assertions are used by programmers to verify run-time execution An assertion is a
More informationOnline Agent Supervision in the Situation Calculus
Online Agent Supervision in the Situation Calculus Bita Banihashemi York University Toronto, ON, Canada bita@cse.yorku.ca Giuseppe De Giacomo Sapienza Università di Roma Roma, Italy degiacomo@dis.uniroma1.it
More informationAxiomatic Verification II
Axiomatic Verification II Software Testing and Verification Lecture Notes 18 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Axiomatic Verification II Reasoning about iteration (while loops)
More informationHoare Logic: Part II
Hoare Logic: Part II COMP2600 Formal Methods for Software Engineering Jinbo Huang Australian National University COMP 2600 Hoare Logic II 1 Factorial {n 0} fact := 1; i := n; while (i >0) do fact := fact
More informationHoare Logic and Model Checking
Hoare Logic and Model Checking Kasper Svendsen University of Cambridge CST Part II 2016/17 Acknowledgement: slides heavily based on previous versions by Mike Gordon and Alan Mycroft Introduction In the
More informationCSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11.
Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 1 Overview We ll develop proof rules, such as: { I b } S { I } { I } while b do S end { I b } That allow us to verify
More informationSpring 2016 Program Analysis and Verification. Lecture 3: Axiomatic Semantics I. Roman Manevich Ben-Gurion University
Spring 2016 Program Analysis and Verification Lecture 3: Axiomatic Semantics I Roman Manevich Ben-Gurion University Warm-up exercises 1. Define program state: 2. Define structural semantics configurations:
More informationLogic and Artificial Intelligence Lecture 20
Logic and Artificial Intelligence Lecture 20 Eric Pacuit Currently Visiting the Center for Formal Epistemology, CMU Center for Logic and Philosophy of Science Tilburg University ai.stanford.edu/ epacuit
More informationPredicate Logic: Sematics Part 1
Predicate Logic: Sematics Part 1 CS402, Spring 2018 Shin Yoo Predicate Calculus Propositional logic is also called sentential logic, i.e. a logical system that deals with whole sentences connected with
More informationComposition of ConGolog Programs
Composition of ConGolog Programs Sebastian Sardina 1 Giuseppe De Giacomo 2 1 Department of Computer Science and Information Technology RMIT University, Melbourne, AUSTRALIA 2 Dipartimento di Informatica
More informationOntologies and Domain Theories
Ontologies and Domain Theories Michael Grüninger Department of Mechanical and Industrial Engineering University of Toronto gruninger@mie.utoronto.ca Abstract Although there is consensus that a formal ontology
More informationFirst Order Logic vs Propositional Logic CS477 Formal Software Dev Methods
First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures
More informationHoare Calculus and Predicate Transformers
Hoare Calculus and Predicate Transformers Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.uni-linz.ac.at
More informationCumulative Effects of Concurrent Actions on Numeric-Valued Fluents
Cumulative Effects of Concurrent Actions on Numeric-Valued Fluents Esra Erdem Institute of Information Systems, Vienna University of Technology, Vienna, Austria esra@kr.tuwien.ac.at Alfredo Gabaldon National
More informationDeclarative Strategies for Agents with Incomplete Knowledge
Declarative Strategies for Agents with Incomplete Knowledge Gerhard Brewka and Hannes Strass Computer Science Institute University of Leipzig {brewka, strass}@informatik.uni-leipzig.de Michael Thielscher
More informationDecision-Theoretic Planning with Fuzzy Notions in Golog
International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems c World Scientific Publishing Company Decision-Theoretic Planning with Fuzzy Notions in Golog Stefan Schiffer Knowledge-Based
More informationLocal Conditional High-Level Robot Programs (extended version)
Local Conditional High-Level Robot Programs (extended version) Sebastian Sardiña Department of Computer Science University of Toronto Toronto, Canada M5S 1A4 ssardina@cs.toronto.edu, WWW home page: http://www.cs.toronto.edu
More informationGAME-THEORETIC GOLOG UNDER PARTIAL OBSERVABILITY
I N F S Y S R E S E A R C H R E P O R T INSTITUT FÜR INFORMATIONSSYSTEME ARBEITSBEREICH WISSENSBASIERTE SYSTEME GAME-THEORETIC GOLOG UNDER PARTIAL OBSERVABILITY ALBERTO FINZI THOMAS LUKASIEWICZ INFSYS
More informationarxiv:cs/ v1 [cs.ai] 19 Aug 2004
Under consideration for publication in Theory and Practice of Logic Programming 1 arxiv:cs/0408044v1 [cs.ai] 19 Aug 2004 FLUX: A Logic Programming Method for Reasoning Agents MICHAEL THIELSCHER Dresden
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Second Semester COMP2600/COMP6260 (Formal Methods for Software Engineering)
THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester 2016 COMP2600/COMP6260 (Formal Methods for Software Engineering) Writing Period: 3 hours duration Study Period: 15 minutes duration Permitted Materials:
More informationA Semantics for ADL as Progression in the Situation Calculus
A Semantics for ADL as Progression in the Situation Calculus Jens Claßen and Gerhard Lakemeyer Department of Computer Science RWTH Aachen 52056 Aachen Germany classen gerhard @cs.rwth-aachen.de Abstract
More informationAxiomatic Semantics. Hoare s Correctness Triplets Dijkstra s Predicate Transformers
Axiomatic Semantics Hoare s Correctness Triplets Dijkstra s Predicate Transformers Goal of a program = IO Relation Problem Specification Properties satisfied by the input and expected of the output (usually
More informationA First-Order Theory of Communication and Multi-Agent Plans: Appendix A
A First-Order Theory of Communication and Multi-Agent Plans: Appendix A Ernest Davis Courant Institute New York University davise@cs.nyu.edu Leora Morgenstern IBM Watson Labs leora@us.ibm.com March 14,
More informationREACTIVE PASCAL and the Event Calculus: A platform to program reactive, rational agents. Extended Abstract. Jacinto A.
REACTIVE PASCAL and the Event Calculus: A platform to program reactive, rational agents Exted Abstract Abstract Jacinto A. Davila Quintero j.davila@doc.ic.ac.uk Logic Programming Section Department of
More informationAxiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE
Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE 6341 1 Outline Introduction What are axiomatic semantics? First-order logic & assertions about states Results (triples)
More informationOnline agent supervision in the situation calculus - Extended version
Online agent supervision in the situation calculus - Extended version Bita Banihashemi, Giuseppe De Giacomo, and Yves Lespérance Technical Report EECS-2016-02 July 12 2016 Department of Electrical Engineering
More informationHoare Logic: Reasoning About Imperative Programs
Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building
More informationNotation for Logical Operators:
Notation for Logical Operators: always true always false... and...... or... if... then...... if-and-only-if... x:x p(x) x:x p(x) for all x of type X, p(x) there exists an x of type X, s.t. p(x) = is equal
More informationDenotational Semantics of Programs. : SimpleExp N.
Models of Computation, 2010 1 Denotational Semantics of Programs Denotational Semantics of SimpleExp We will define the denotational semantics of simple expressions using a function : SimpleExp N. Denotational
More informationExample: Robot Tasks. What is planning? Background: Situation Calculus. Issues in Planning I
What is planning? q A plan is any hierarchical process in the organism that can control the order in which a sequence of operations is to be performed. [Miller, Galanter and Pribram 1960] q Planning can
More information1 Introduction. 2 First Order Logic. 3 SPL Syntax. 4 Hoare Logic. 5 Exercises
Contents 1 Introduction INF5140: Lecture 2 Espen H. Lian Institutt for informatikk, Universitetet i Oslo January 28, 2009 2 Proof System 3 SPL 4 GCD 5 Exercises Institutt for informatikk (UiO) INF5140:
More informationG54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV
G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV Henrik Nilsson University of Nottingham, UK G54FOP: Lecture 17 & 18 p.1/33 These Two Lectures Revisit attempt to define denotational
More informationPart of this work we present an extension for Language PP and we show how this
Chapter 5 Planning problems Currently, we can find different definitions for Planning. For instance, McCarthy defines planning in [25] as the restricted problem of finding a finite sequence of actions
More informationFoundations of Computation
The Australian National University Semester 2, 2018 Research School of Computer Science Tutorial 6 Dirk Pattinson Foundations of Computation The tutorial contains a number of exercises designed for the
More informationProcess Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach
Process Scheduling for RTS Dr. Hugh Melvin, Dept. of IT, NUI,G RTS Scheduling Approach RTS typically control multiple parameters concurrently Eg. Flight Control System Speed, altitude, inclination etc..
More informationPlanning under Uncertainty as GOLOG Programs
Planning under Uncertainty as GOLOG Programs Jorge A Baier and Javier A Pinto Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile Casilla 306 - Santiago 22 - Chile Phone:
More informationAdaptive Multi-Agent Programming in GTGolog
Adaptive Multi-Agent Programming in GTGolog Alberto Finzi 1, 2 and Thomas Lukasiewicz 2, 1 1 Institut für Informationssysteme, Technische Universität Wien Favoritenstraße 9-11, A-1040 Vienna, Austria 2
More informationif t 1,...,t k Terms and P k is a k-ary predicate, then P k (t 1,...,t k ) Formulas (atomic formulas)
FOL Query Evaluation Giuseppe De Giacomo Università di Roma La Sapienza Corso di Seminari di Ingegneria del Software: Data and Service Integration Laurea Specialistica in Ingegneria Informatica Università
More informationA Framework for Decision-Theoretic Planning 1: Combining the Situation Calculus, Conditional Plans, Probability and Utility*
436 Poole A Framework for Decision-Theoretic Planning 1: Combining the Situation Calculus, Conditional Plans, Probability and Utility* David Poole Department of Computer Science University of British Columbia
More informationPREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2
PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2 Neil D. Jones DIKU 2005 14 September, 2005 Some slides today new, some based on logic 2004 (Nils Andersen) OUTLINE,
More informationTowards an Integration of Golog and Planning
Towards an Integration of Golog and Planning Jens Claßen + and Patrick Eyerich and Gerhard Lakemeyer + and Bernhard Nebel + Department of Computer Science, RWTH Aachen, 52056 Aachen, Germany classen gerhard
More informationStatic Program Analysis
Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de
More informationDeductive Verification
Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant
More informationLecture Notes: Axiomatic Semantics and Hoare-style Verification
Lecture Notes: Axiomatic Semantics and Hoare-style Verification 17-355/17-665/17-819O: Program Analysis (Spring 2018) Claire Le Goues and Jonathan Aldrich clegoues@cs.cmu.edu, aldrich@cs.cmu.edu It has
More informationThe Algorithm (DSC): Mark all nodes as unscheduled WHILE there are unscheduled nodes DO In descending order of priority, sort list of free nodes In descending order of priority, sort list of partial free
More informationReasoning Under Uncertainty: Introduction to Probability
Reasoning Under Uncertainty: Introduction to Probability CPSC 322 Lecture 23 March 12, 2007 Textbook 9 Reasoning Under Uncertainty: Introduction to Probability CPSC 322 Lecture 23, Slide 1 Lecture Overview
More information