# Modelling uncertainty in 3APL Johan Kwisthout Master Thesis

## Presentation on theme: "Modelling uncertainty in 3APL Johan Kwisthout Master Thesis"— Presentation transcript:

Modelling uncertainty in 3APL Johan Kwisthout Master Thesis j.kwisthout@student.kun.nl

Motivation and Background 3APL uses logical formulae to represent and reason with agent beliefs which are either true or false, e.g. whether(rain)  temperature(low) However, in practice agents are confronted with uncertainty, e.g. ‘the chance or rain tomorrow is 70%’ How can we model this uncertainty in 3APL

Layout Introduction to 3APL Reasoning with uncertainty Dempster-Shafer theory Mapping Dempster-Shafer theory to logical formulae Reducing computational complexity Querying and updating Prototype implementation Conclusion and further research

Introduction to 3APL Agent programming language using beliefs, desires (goals) and intentions Basic actions revise belief base Practical reasoning rules reason on the goals and revise them {precondition} BasicAction {postcondition}{door_closed} OpenDoor {door_opened} Goals  guardNewGoalsTakeBus  bus_strikeTakeTaxi Concentrate on belief query and update

Reasoning with uncertainty Evidence: there is a bomb on location 3, with a certainty of 70% This could be denoted with a belief formula and a probability : b(3) : 0.7 But what does this exactly mean? 4 SAFE 3 BOMB? 2 BOMB 1 SAFE A mine-sweeper type of game with four locations

Reasoning with uncertainty With four locations, we have 16 possible worlds: s(1)  s(2)  s(3)  s(4) … b(1)  b(2)  b(3)  b(4) b(3) has a set of models, possible worlds in which b(3) is true Evidence of 0.7 that one of these is the actual world

Reasoning with uncertainty Various methods available: Bayesian networks Dempster-Shafer theory Fuzzy Logic systems Ad-hoc implementations (e.g. MYCIN certainty factors)

Bayesian Networks Network with nodes (variables) and causal relations between them Models causal structures: IF flu, THEN headache AND fever

Bayesian Networks Drawbacks: - All conditional probabilities must be known beforehand - Causal structure does not really fit in with 3APL belief structure - Statically vs. dynamic - No ignorance modeling possible

Dempster-Shafer theory Frame of discernment Ω: set of hypotheses relevant to this domain Mass function assigns a value  0 to every subset of Ω such that If no information is available, m(Ω) = 1 and m(X) = 0 for X  Ω For example:

Dempster-Shafer theory A simple support function has evidence for only one set of hypotheses, for example This is not a simple support function because it has evidence for more than one set of hypotheses

Dempster-Shafer theory Belief function is defined to denote the probability of a set

Dempster-Shafer theory Separate pieces of evidence can be combined using Dempster’s Rule of Combination

D/S theory and agent beliefs With X ²  b(3) denoting, that b(3) is the maximal subset of hypotheses in Ω that are models of b(3) Consider the basic belief formula b(3):0.7. This basic belief formula could be modeled in Dempster-Shafer theory as follows:

D/S theory and agent beliefs H 1 : S1S2S3S4 H 5 : S1B2S3S4 H 9 : B1S2S3S4 H 13 : B1B2S3S4 H 2 : S1S2S3B4 H 6 : S1B2S3B4 H 10 : B1S2S3B4 H 14 : B1B2S3B4 H 3 : S1S2B3S4 H 7 : S1B2B3S4 H 11 : B1S2B3S4 H 15 : B1B2B3S4 H 4 : S1S2B3B4 H 8 : S1B2B3B4 H 12 : B1S2B3S4 H 16 : B1B2B3B4 Y is the maximal subset of hypotheses from Ω that are models of b(3) = {H 3,H 4,H 7,H 8,H 11,H 12,H 15,H 16 }

D/S theory and agent beliefs Each logical formula in the belief base can be represented by a mass function b(3):0.7  Multiple beliefs can be represented by the combination of these mass functions b(3):0.7  s(2):0.2  m b(3)  m s(2)

D/S theory and agent beliefs However, Dempster’s Rule of Combination leads to a combinatorial explosion Combining k mass functions leads to a mass function with 2 k separate clauses… …but this can be reduced with restrictions on the frame of discernment and on the mass functions

Simplifying combination rule Dempsters Rule of Combination can be simplified to If: The frame of discernment Ω is such that the combination of any mass function leads to a non- empy subset of Ω, and The mass functions that represent the belief formulae are simple support functions

Mass calculation Using this simplified rule, the mass value of any clause in the combination of the mass functions that represent the basic belief formulae in the belief base can be computed using the probabilities of that basic belief formulae, without having to calculate the complete combined mass function and therefore without having a combinatorial explosion.

Mass calculation Belief base b(1):p 1 b(2):p 2 s(3):p 3 Mass function m b(1)  m b(2)  m s(3) m 1 2  3 ( X ²  b 1  b 2 ) = m b1 (X ²  b 1 )  m b2 (X ²  b 2 )  m s3 (X =  ) = p 1  p 2  (1 – p 3 ) Because ( X ²  b 1  b 2 ) = (X ²  b 1 )  (X ²  b 2 )  (X =  )

Updating the belief base Update the belief base by just adding that belief formula, or recalculating the belief using Dempsters Rule of Combination Belief base b(1):p 1 b(2):p 2 s(3):p 3 Mass function m b(1)  m b(2)  m s(3) Belief base b(1):p 1 b(2):p 2 s(3):p 3 s(4):p 4 Mass function m b(1)  m b(2)  m s(3)  m s(4) Belief base b(1):p 1 b(2):p 2 s(3):p 3 b(2):p 4 Mass function m b(1)  m b(2)  m s(3)  m b(2)’ Belief base b(1):p 1 b(2):p 2 +p 4 -(p 2  p 4 ) s(3):p 3 Mass function m b(1)  (m b(2)  m b(2)’ )  m s(3)

Querying the belief base Query if a formula is deductible within a certain range by calculating the Belief value A formula  is deductible from a belief base BB with a certainty of Bel(m BB (X ²   )) where m BB is the combination of all mass functions that represent basic belief formulae in the belief base

Querying the belief base Belief base b(1):p 1 b(2):p 2 s(3):p 3 Mass function M BB = m b(1)  m b(2)  m s(3) For example, we can calculate in how far b 1  b 2 is deductible from BB by calculating Bel(m BB (X ²  b 1  b 2 ))

Prototype implementation Algorithms implemented in Prolog, using interaction clauses for pre-condition, post- condition and guards 3APL interpreter uses Prolog Engine for logical reasoning With ‘real’ implementation, also graphical user interface needs to be adapted etc.

Prototype implementation ?- add_fact(b1,0.4). Yes ?- add_fact(b2,0.6). Yes ?- add_fact(and(b2,b3),0.2). Yes ?- add_fact(or(b3,and(b3,b1)),0.3). Yes ?- show. b1, 0.4 b2, 0.6 and(b2, b3), 0.2 or(b3, and(b3, b1)), 0.3

Prototype implementation ?- show. b1, 0.4 b2, 0.6 and(b2, b3), 0.2 or(b3, and(b3, b1)), 0.3 ?- support(or(b1,b2)). 0.808 ?- pre(or(b1,b2),[0.6,0.9]). Yes ?- pre(or(b1,b2),[0.9,1.0]). No

Prototype implementation ?- post([[and(b5,b2),0.2]]). Yes ?- show. b1, 0.4 b2, 0.6 and(b2, b3), 0.2 or(b3, and(b3, b1)), 0.3 and(b5, b2), 0.2 ?- support(or(b1,b2)). 0.8464

Conclusion and further work Dempster-Shafer theory is a convenient method to model uncertainty in 3APL Computational complexity can be controlled Efficient algorithm for calculating Bel(X) to be designed Some theoretical questions to be addressed (e.g. closed world assumption in relation to combination rule)

Questions?