paraconsistent logic programs

28
João Alcântara, Carlos Damásio and Luís Moniz Pereira e-mail: jfla|cd|[email protected] Centro de Inteligência Artificial (CENTRIA) Depto. Informática, Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2825-114 Caparica, Portugal Paraconsistent Logic Programs Paraconsistent Logic Programs JELIA'02 Cosenza, September JELIA'02 Cosenza, September 2002 2002

Upload: harding-conway

Post on 30-Dec-2015

22 views

Category:

Documents


0 download

DESCRIPTION

Paraconsistent Logic Programs. João Alcântara, Carlos Damásio and Luís Moniz Pereira e-mail: jfla|cd|[email protected] Centro de Inteligência Artificial (CENTRIA) Depto. Informática, Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2825-114 Caparica, Portugal. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Paraconsistent Logic Programs

João Alcântara, Carlos Damásio and Luís Moniz Pereirae-mail: jfla|cd|[email protected]

Centro de Inteligência Artificial (CENTRIA)

Depto. Informática, Faculdade de Ciências e Tecnologia

Universidade Nova de Lisboa

2825-114 Caparica, Portugal

Paraconsistent Logic ProgramsParaconsistent Logic Programs

JELIA'02 Cosenza, September 2002JELIA'02 Cosenza, September 2002

Page 2: Paraconsistent Logic Programs

2

OutlineOutline

• Motivation• Bilattices • Paraconsistent Logic Programs • Example• Conclusions

Page 3: Paraconsistent Logic Programs

3

MotivationMotivation

• Uncertain reasoning in Logic Programming– Probability theory

– Fuzzy set theory

– Many-valued logic

– Possibilistic logic

• Monotonic frameworks without default negation

Page 4: Paraconsistent Logic Programs

4

MotivationMotivation

• General frameworks for uncertain reasoning– Monotonic Logic Programs: rules are constituted by

arbitrary isotonic body functions and by propositional symbols in the head.

A (isotonic function)

Note a function is isotonic (antitonic) iff the value of the function

increases (decreases) when we increase any argument while the

remaining arguments are kept fixed.

Page 5: Paraconsistent Logic Programs

5

MotivationMotivation

• Because of their arbitrary monotonic and antitonic operators over a complete lattice, these programs pave the way to combine and integrate into a single framework several forms of reasoning, such as fuzzy, probabilistic, uncertain, and paraconsistent ones

A 1 (isotonic function)

A 2 (antitonic function)

Antitonic Logic Programs:

Page 6: Paraconsistent Logic Programs

6

MotivationMotivation

• Specific treatment for the explicit negation in Antitonic Logic Programs is not provided

• Our approach– Arbitrary complete bilattice of truth-values, where both

belief and doubt are explicitly represented – Framework for Paraconsistent Logic Programs– Based on

• Fitting's bilattice• Lakshmanan and Sadri's work on probabilistic deductive

databases

Page 7: Paraconsistent Logic Programs

7

MotivationMotivation

• Our approach (cont)– Fitting's bilattices

• They support an elegant framework for logic programming involving belief and doubt.

• They lead to a precise definition of explicit negation operators

• We use these results to characterize default negation

– Lakshmanan and Sadri's work: convenience of explicitly representing both belief and doubt when dealing with incomplete knowledge, where different evidence may contradict one another

Page 8: Paraconsistent Logic Programs

8

MotivationMotivation

• A semantics for Paraconsistent Logic Programs– We have to deal with both contradiction and uncertain information

– We may have programs with various degrees of contradictory information

– Obedience to coherence principle: explicit negation entails default negation

– We can introduce any negation operator supported by Fitting's bilattice.

– Generalization of paraconsistent well-founded semantics for extended logic programs (WFSXp)

Page 9: Paraconsistent Logic Programs

9

BilatticeBilattice

Given two complete lattices < C, 1 > and < D, 2 > the structure B(C,D) = < C D, k, t > is a complete bilattice, where the partial orderings are defined as follows:

< c1, d1> k < c2,d2> if c1 1 c2 and d1 2 d2

< c1, d1> t < c2,d2> if c1 1 c2 and d2 2 d1

k – t –

We say a bilattice B(C,D) is interlaced if each of the operations k , k

, t , t , is monotone w.r.t. both orderings.

k (meet),

k (join)

t (meet),

t (join)

Page 10: Paraconsistent Logic Programs

10

Bilattice (Basic operations)Bilattice (Basic operations)

Negation: B(C,D) has a negation operation if there is a mapping : C D C D such that

1. a k b a k b;2. a t b b t a;3. a = a.

Conflation: B(C,D) enjoys a conflation operation if there is a mapping - : C D C D such that

1. a k b -b k -a;2. a t b -a t -b;3. --a = a.

Page 11: Paraconsistent Logic Programs

11

BilatticeBilattice

A k - A Consistent

A = - A Exact

A k - A Inconsistent

Given a complete bilattice B(C,D) and let A C D. If

Given the bilattice B([0,1],[0,1]) where -(< , >) = < 1 - , 1 - >

A = <0.4, 0.5> -A = <0.5,0.6> A is consistent

A = <0.4, 0.6> -A = <0.4,0.6> A is exact

A = <0.6, 0.7> -A = <0.3,0.4> A is inconsistent

Page 12: Paraconsistent Logic Programs

12

Bilattice (Default negation)Bilattice (Default negation)

Default negation: Let B(C,D) a bilattice. Consider and – respectively a negation and a conflation operator on B(C,D) . We define not : C D C D as the default negation operator where

not L = - L

Conflation operator results as moving to "default evidence"

In -L we are to count as "for'' whatever did not count as "against'' before, and "against'' what did not count as "for''. Thus, -L resembles not L

Page 13: Paraconsistent Logic Programs

13

Paraconsistent Logic ProgramsParaconsistent Logic Programs

• Antecedents

– Extended Logic Programs

– A framework for precisely characterize explicit negation

A Paraconsistent Logic Program P is a set of rules of the form

A [A1,..., Am|B1,..., Bn]

is isotonic w.r.t. A1,..., Am

is antitonic w.r.t. B1,..., Bn

Page 14: Paraconsistent Logic Programs

14

Paraconsistent Logic ProgramsParaconsistent Logic Programs

• Interpretation: I : C C

• Lattice of intepretations

• Partial intepretations

Î : Form() C C

Let I be a set of interpretations with I1 and I2

belonging to I. <I, > is a complete lattice where I1

I2 iff p I1(p) k I2(p)

Valuation

<It, Itu>true true or undefined

Given a bilattice B(C,C)

Page 15: Paraconsistent Logic Programs

15

Paraconsistent Logic ProgramsParaconsistent Logic Programs

Standard Ordering

Fitting Ordering

I1 s I2 iff I1t I2

t and I1tu I2

tu

I1 f I2 iff I1t I2

t and I2tu I1

tu

Given I1 = < I1t, I1

tu > and I2 = < I2t, I2

tu >

Models I is a model of P iff I satisfies all rules of P

Satisfaction A partial interpretation I satisfies a rule A of P iff Î() k I(A)

Page 16: Paraconsistent Logic Programs

16

Paraconsistent Logic ProgramsParaconsistent Logic Programs

Extending the Classical Immediate Consequences Operator

Let P be a monotonic logic program

TP(I)(A) = lub {Î() such that A P}

In Paraconsistent Logic Programs, we have to eliminate the antitonic part

Program Division P/I = {A [A1,..., Am|I(B1),..., I(Bn)}

s.t. A [A1,..., Am|B1,..., Bn] P

Page 17: Paraconsistent Logic Programs

17

Paraconsistent Logic ProgramsParaconsistent Logic Programs

Operator – Let P a paraconsistent logic program and J an interpretationP(J) = lfp TP/J = TP/J , for some ordinal

Semi-normal program – The semi-normal version of P is the program Ps obtained from P replacing every A in P by A k - A

We have to guarantee the Coherence Principle: A not A

Instance of necessitation principle: if something is known then it is believed

In a bilattice: A k not A A k - A A k - A

Page 18: Paraconsistent Logic Programs

18

Paraconsistent Logic Programs Paraconsistent Logic Programs (Semantics)(Semantics)

We say M = <M t,M tu> is a partial paraconsistent model for P iff M t = P (Ps(M t)) and M tu = Ps(M t).

We define the Paraconsistent Well-Founded Model (WFMp(P)) as the least partial paraconsistent model under the Fitting ordering

PropositionAll partial paraconsistent models obey the coherence principle; in particular, the paraconsistent well-founded model for a program P.

Page 19: Paraconsistent Logic Programs

19

ExampleExample

Using a paraconsistent logic program to encode a rather complex decision table based on rough relations

fever cough headache muscle-pain flu

no no no no no (in 99% of the cases)

yes no no no no (in 80% of the cases)

yes yes no no no (in 30% of the cases)

yes yes no no yes (in 60% of the cases)

yes yes yes yes yes (in 75% of the cases)

We resort to the bilattice B([0,1],[0,1]) to encode this decision table, where

(< , >) = < , >, -(< , >) = < 1 - , 1 - >, and k(<

, >, < , >) = < min(, ), min (, ) >

Page 20: Paraconsistent Logic Programs

20

ExampleExample

fever cough headache muscle-pain flu

no no no no no (99%)The first case

can be represented by

flu (<0.99,0.0> k fever k

cough k headache k muscle-pain )

flu (<0.99,0.0> k fever k

cough k headache k muscle-pain )

flu (<0.0, 0.99> k fever k

cough k headache k muscle-pain )(A k B) = (A k B)

Page 21: Paraconsistent Logic Programs

21

ExampleExample

fever cough headache muscle-pain flu

yes yes yes yes yes (75%)The last case

flu (<0.75,0.0> k fever k cough k headache k muscle-pain )

flu (<0.0, 0.99> k fever k cough k headache k muscle-pain )

flu (<0.75,0.99> k fever k cough kheadache k muscle-pain )

-If a patient has fever, cough, headache, and muscle-pain, then flu is a correct diagnosis with 0.75 of belief.

-If a patient doesn't have fever, doesn't have cough, doesn't have neither headache nor muscle-pain, then he doesn't have flu with 0.99 of belief.

Page 22: Paraconsistent Logic Programs

22

ExampleExample

The rules for diagnosing flu are

flu (<0.0, 0.3> k fever k

cough k headache k muscle-pain )flu (<0.6, 0.0> k fever k

cough k headache k muscle-pain )

flu (<0.0, 0.80> k fever k

cough k headache k muscle-pain )flu (<0.75, 0.99> k fever k

cough k headache k muscle-pain )

Page 23: Paraconsistent Logic Programs

23

ExampleExample

flu (<0.0, 0.3> k fever k cough k headache k muscle-pain )

flu (<0.6, 0.0> k fever k cough k headache k muscle-pain )

flu (<0.0, 0.80> k fever kcough k headache k muscle-pain )

flu (<0.75, 0.99> k fever k cough k headache k muscle-pain )

fever <0.4, 0.6>

cough <0.7, 0.3>

headache <0.7, 0.9>

muscle-pain <0.2, 0.7>

Paraconsistency in our semantics

P =

WFMp(P) ?

Page 24: Paraconsistent Logic Programs

24

ExampleExample

T component of WFMp(P) – Mt = PPs(M t)

flu (<0.0, 0.3> k fever k cough k headache k muscle-pain )

flu (<0.6, 0.0> k fever k cough k headache k muscle-pain )

flu (<0.0, 0.80> k fever k cough k headache k muscle-pain )

flu (<0.75, 0.99> k fever k cough k headache k muscle-pain )

fever <0.4, 0.6>

cough <0.7, 0.3>

headache <0.7, 0.9>

muscle-pain <0.2, 0.7>

<0.4, 0.6>

<0.7, 0.9>

<0.7, 0.3>

<0.2, 0.7>

<0.0, 0.3>

<0.0, 0.3>

<0.2, 0.3>

<0.4, 0.0>

lubk flu = <0.4, 0.3>

Page 25: Paraconsistent Logic Programs

25

ExampleExample

TU component of WFMp(P) – Mtu = Ps(M t)

flu (<0.0, 0.3> k fever k cough k headache k muscle-pain ) k -flu

flu (<0.6, 0.0> k fever k cough k headache k muscle-pain ) k -flu

flu (<0.0, 0.80> k fever k cough k headache k muscle-pain ) k -flu

flu (<0.75, 0.99> k fever k cough k headache k muscle-pain ) k -flu

fever <0.4,0.6>

cough <0.7, 0.3> k -cough

headache <0.7, 0.9> k -headache

muscle-pain <0.2, 0.7> k -muscle-pain

<0.4, 0.6>

<0.1, 0.3>

<0.7, 0.3>

<0.2, 0.7>

<0.0, 0.3>

<0.0, 0.3>

<0.1, 0.3>

<0.3, 0.0><0.3, 0.3>lubk flu =

k -fever

<0.1, 0.3>

<0.3, 0.8>

<0.7, 0.6>

<0.7, 0.6>

<0.7, 0.6>

<0.7, 0.6>

<0.7, 0.3>

<0.4, 0.6>

Page 26: Paraconsistent Logic Programs

26

ExampleExample

fever cough headache muscle-pain

flu

<0.4,0.6>

<0.4,0.6>

<0.7,0.3> <0.7,0.3>

<0.7,0.9> <0.1,0.3>

<0.2,0.7>

<0.2,0.7>

<0.4,0.3>

<0.3,0.3>M t =

M tu =

WFMp(P) = <M t, M tu>

M tu (headache) k M t (headache) - Inconsistency

M tu (flu) k M t (flu)

The truth-value assigned to flu is "contaminated" by the inconsistent value verified in headache.

Page 27: Paraconsistent Logic Programs

27

ConclusionConclusion

• We have combined and integrated several forms of reasoning into a single framework, namely fuzzy, probabilistic, uncertain, and paraconsistent.

• Introduction into a rather general framework of concepts that cope with explicit negation and default negation. It is certified that default negation complies with the coherence principle.

• Program rules have bodies corresponding to compositions of arbitrary monotonic and antitonic operators over a complete bilattice, and provide a precise way to present belief and doubt.

Page 28: Paraconsistent Logic Programs

28

ConclusionConclusion

• A logic programming semantics with corresponding model and fixpoint theory was defined, where a paraconsistent well-found model is guaranteed to exist for each program.

• We further provide a simple translation of Extended Logic Programs under WFSXp into Paraconsistent Logic Programs