27
11-Nov-19 1 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca – Argentina Conceptos de Inteligencia Artificial & Sistemas Inteligentes Artificiales Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Clase 17 – CIA Clase 10 – SIA Sistemas argumentativos y Programación Lógica Rebatible (DeLP) Temario Programación Lógica Rebatible. Defeasible Logic Programming (DeLP)

Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

1

Departamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur

Bahía Blanca – Argentina

Conceptos de Inteligencia Artificial &

Sistemas Inteligentes Artificiales

Dr. Luciano H. Tamargohttp://cs.uns.edu.ar/~lt

Clase 17 – CIAClase 10 – SIA

Sistemas argumentativos y Programación Lógica Rebatible (DeLP)

Temario

Representación de conocimiento y conflictos

Programación Lógica Rebatible. Defeasible Logic Programming (DeLP)

Page 2: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

2

• La clase pasada detallamos dos propuestas para representar información que permiten establecer una preferencia entre dos derivaciones.

• Esas propuestas ayudan a decidir entre conclusiones en conflicto.

• Veremos a continuación una nueva propuesta basada en argumentación que realiza un análisis exhaustivo de todos los conflictos involucrados.

• La propuesta considera todas las razones a favor y en contra de una conclusión.

3

Inferencia con información en conflicto

4

Información del domino Mer-val

Se asume definido un operador de negación “ ~ ”.

Las reglas (en verde) pueden obtenerse de expertos del dominio, y los hechos (en lila) pueden obtenerse (dinámicamente) de servicios (web) especializados.

comprar_acciones(X) :- buen_precio(X).

buen_precio(X) :- buen_precio_web(X).

~comprar_acciones(X) :- riesgosa(X).

riesgosa(X) :- en_fusion(X,Y).

en_fusion(X,Y) :- listado_fusiones_web(X,Y).

riesgosa(X) :- rumores_deuda_web(X).

~riesgosa(X) :- en_fusion(X,Y), fuerte(Y).

~riesgosa(X) :- fuerte(X).

fuerte(X) :- listado_fuertes_web(X).

buen_precio_web(acme) :- true.

listado_fusiones_web(acme, strong) :- true.

rumores_deuda_web(acme) :- true.

listado_fuertes_web(strong) :- true.

Page 3: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

3

comprar_acciones(X) :- buen_precio(X).

buen_precio(X) :- buen_precio_web(X).

~comprar_acciones(X) :- riesgosa(X).

riesgosa(X) :- en_fusion(X,Y).

en_fusion(X,Y) :- listado_fusiones_web(X,Y).

riesgosa(X) :- rumores_deuda_web(X).

~riesgosa(X) :- en_fusion(X,Y), fuerte(Y).

~riesgosa(X) :- fuerte(X).

fuerte(X) :- listado_fuertes_web(X).

buen_precio_web(acme) :- true.

listado_fusiones_web(acme, strong) :- true.

rumores_deuda_web(acme) :- true.

listado_fuertes_web(strong) :- true.

5

Derivación que sustenta comprar acme

c(a)

d1

Abreviaturas: a = acme, s = strongc(a) = comprar_acciones(acme)r(a) = riesgosa(acme)

Una derivación sustenta la conclusión.

6

Conclusiones en conflicto

c(a)

d1

~c(a)

d2

comprar_acciones(X) :- buen_precio(X).

buen_precio(X) :- buen_precio_web(X).

~comprar_acciones(X) :- riesgosa(X).

riesgosa(X) :- en_fusion(X,Y).

en_fusion(X,Y) :- listado_fusiones_web(X,Y).

riesgosa(X) :- rumores_deuda_web(X).

~riesgosa(X) :- en_fusion(X,Y), fuerte(Y).

~riesgosa(X) :- fuerte(X).

fuerte(X) :- listado_fuertes_web(X).

buen_precio_web(acme) :- true.

listado_fusiones_web(acme, strong) :- true.

rumores_deuda_web(acme) :- true.

listado_fuertes_web(strong) :- true.

Abreviaturas: a = acme, s = strongc(a) = comprar_acciones(acme)r(a) = riesgosa(acme)

Para resolver el conflicto debo establecer una preferencia.

Page 4: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

4

7

Motivación: más elementos a considerar

c(a)

d1

~c(a)

d2~r(a)

d3

r(a)

comprar_acciones(X) :- buen_precio(X).

buen_precio(X) :- buen_precio_web(X).

~comprar_acciones(X) :- riesgosa(X).

riesgosa(X) :- en_fusion(X,Y).

en_fusion(X,Y) :- listado_fusiones_web(X,Y).

riesgosa(X) :- rumores_deuda_web(X).

~riesgosa(X) :- en_fusion(X,Y), fuerte(Y).

~riesgosa(X) :- fuerte(X).

fuerte(X) :- listado_fuertes_web(X).

buen_precio_web(acme) :- true.

listado_fusiones_web(acme, strong) :- true.

rumores_deuda_web(acme) :- true.

listado_fuertes_web(strong) :- true.

Hay que considerar “ataques” a puntos

intermedios.

Hay que considerar que

d3 defiende a d1

?

8

Sistema argumentativo

• Un sistema argumentativo está formado por:

- un conjunto de “argumentos” que expresan razones a favor de ciertas conclusiones,

- y una relación de “ataque” que expresa el conflicto entre los argumentos.

Page 5: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

5

9

Tener en cuenta

Hay que considerar como resolver

situaciones “circulares”

?

Temario

Representación de conocimiento y conflictos

Programación Lógica Rebatible. Defeasible Logic Programming (DeLP)

Page 6: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

6

•DeLP es un sistema argumentativo estructurado.

• Está basado en la Programación Lógica.

•Provee un lenguaje de representación de conocimiento que permite usar información tentativa y potencialmente en conflicto.

• El mecanismo de inferencia de DeLP busca que sus conclusiones estén “garantizadas”.

•DeLP evalúa exhaustivamente todas las razones a favor y en contra que estén relacionadas con la conclusión a garantizar.

11

Defeasible Logic Programming (DeLP)

[1] Alejandro J. García. Programación Lógica Rebatible. (Capítulo 2) Tesis de Doctor en Ciencias de la Computación. (2000) http://www.cs.uns.edu.ar/~ajg/papers/AGarciaPhD.pdf

[2] Alejandro. J. García and Guillermo R. Simari. Defeasible logic programming: An argumentative approach. Journal of Theory and Practice of Logic Programming. (2004) http://www.cs.uns.edu.ar/~ajg/papers/2004TPLPGarciaSimari.pdf

12

Lenguaje de DeLP

• Un hecho es un literal fijo. Ej.: ~esta_limpio(pizarrón)

• Un literal es un átomo p(T1,...,TN) o un átomo negado ~p(T1,...,TN) dondeel símbolo “~” denota negación fuerte (strong negation).

• Una regla rebatible representa información tentativa y se denota Lo L1 ,L2 , ... ,Ln (con Li literales)

• Una regla rebatible “conclusión antecente” representa una conexión débil entre el antecedente y su conclusión:

• “si hay razones para creer en el antecedente, entonces hay una razón (rebatible) para creer en la conclusión”. Ejemplos:

comprar_acciones(X) < buen_precio(X).

~comprar_acciones(X) < riesgosa (X).

Page 7: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

7

13

Lenguaje de DeLP

• Un programa lógico rebatible es un conjunto de hechos, reglas estrictas y reglas rebatibles, el cual puede indicarse como el par ( , ), donde:˗ es el conjunto de hechos y reglas estrictas, y˗ es el conjunto de reglas rebatibles.

• Una regla estricta representa información segura y se denota Lo L1 ,L2 , ... ,Ln (Li literales)

con_deuda(X) balance_negativo(X).

fuerte(X) listado_fuertes_web(X).

14

Programa lógico rebatible (m , m) “mer-val”

comprar_acciones(X) < buen_precio(X). ~comprar_acciones(X) < riesgosa (X).buen_precio(X) < buen_precio_web(X).~buen_precio(X) < tendencia_en_baja_web(X).riesgosa(X) < en_fusion(X,Y).riesgosa(X) < rumores_deuda_web(X).riesgosa(X) < rumores_de_venta_web(X).~riesgosa(X) < en_fusion(X,Y), fuerte(Y).

m

~riesgosa(X) fuerte(X).

fuerte(X) listado_fuertes_web(X).

con_deuda(X) balance_negativo(X).

en_fusion(X,Y) listado_fusiones_web(X,Y).

tendencia_en_baja_web(macrosoft).

buen_precio_web(macrosoft).

buen_precio_web(acme).

listado_fusiones_web(acme, strong).

listado_fuertes_web(strong).

m

Page 8: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

8

16

Conjunto contradictorio

• En un programa lógico rebatible P = ( , ) se asume que el conjunto no es contradictorio. Esto es, los hechos y las reglas estrictas no puedeninferir conclusiones contradictorias.

• Un conjunto S de reglas estrictas y rebatibles se dice contradictorio si esposible obtener derivaciones rebatibles para un literal p y su complemento~p, a partir de S.

• Por ejemplo, el conjunto (m , m) del programa mer-val es contradictorio ya que es posible derivar: comprar_acciones(acme) y~comprar_acciones(acme).

• El conjunto m del programa mer-val no es contradictorio.

17

Argumento

• Un argumento para una conclusión h a partir de P = ( , ) es un par <A,h> donde h es un literal y A es un conjunto de reglas rebatibles que cumple estas condiciones:

1.(derivación) existe una derivación rebatible para h a partir del conjunto A

2.(consistencia) A no es contradictorio3.(minimalidad) no existe un subconjunto propio de A que cumpla con las

condiciones (1) y (2)

• Por ejemplo, a partir del programa (m , m) es posible construir el argumento <A, comprar_acciones(acme) >

comprar_acciones(acme) < buen_precio(acme).

buen_precio(acme) < buen_precio_web(acme).A =

Page 9: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

9

18

Ejemplos de argumentos• A partir del programa (m , m) también se obtienen:

< N, ~ comprar_acciones(acme) >

~comprar_acciones(acme) < riesgosa(acme).

riesgosa(acme) < en_fusion(acme,strong).

< R, ~riesgosa(acme) >

~riesgosa(acme) <en_fusion(acme,strong),

fuerte(strong).

N =

R =

< G, buen_precio_web(acme) >

G = { } (el conjunto vacío)

19

comprar_acciones(X) < buen_precio(X). ~comprar_acciones(X) < riesgosa (X).buen_precio(X) < buen_precio_web(X).~buen_precio(X) < tendencia_en_baja_web(X).riesgosa(X) < en_fusion(X,Y).riesgosa(X) < rumores_deuda_web(X).riesgosa(X) < rumores_de_venta_web(X).~riesgosa(X) < en_fusion(X,Y), fuerte(Y).

m

~riesgosa(X) fuerte(X).

fuerte(X) listado_fuertes_web(X).

con_deuda(X) balance_negativo(X).

en_fusion(X,Y) listado_fusiones_web(X,Y).

tendencia_en_baja_web(macrosoft).

buen_precio_web(macrosoft).

buen_precio_web(acme).

listado_fusiones_web(acme, strong).

listado_fuertes_web(strong).

m

R1

R2

R3

R4

Prioridad entre reglas:R1 >m R2R3 >m R4

Expertos del dominio Merval pueden indicar prioridades que existan

entre las reglas.

Prioridad entre reglas en “mer-val”

Page 10: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

10

20

Preferencia entre argumentos

~comprar_acciones(acme) < riesgosa(acme).

riesgosa(acme) < en_fusion(acme,strong).N =

comprar_acciones(acme) < buen_precio(acme).

buen_precio(acme) < buen_precio_web(acme).A =

Aquí N es es preferido a A dado que, según el orden entre reglas R1 >m R2 y no hay una regla en A que sea preferida a una de N.

~c

N

c

A

R1

R2

Comparación de argumentos “Prioridad entre reglas”:Sea (>) un orden dado entre reglas rebatibles.El argumento N es preferido a A si se cumple que:

1. existe R1 en N y R2 en A tal que R1 > R2

2. no existe R1 en N y R2 en A tal que R1 < R2

R1 >m R2

22

Preferencia entre argumentos

~comprar_acciones(acme) < riesgosa(acme).

riesgosa(acme) < en_fusion(acme,strong).N =

comprar_acciones(acme) < buen_precio(acme).

buen_precio(acme) < buen_precio_web(acme).A =

R1

R2

R1 >m R2

Aquí <N, ~c> es derrotador propio de <A, c> ya que se atacan mutuamente y <N, ~c> es preferido a <A, c>.

~c

N

c

A

Page 11: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

11

23

Derrota interna

~comprar_acciones(acme) < riesgosa(acme).

riesgosa(acme) < en_fusion(acme,strong).N =

Aquí <R,~r> es derrotador propio de <N,~c> ya que: ataca a un punto interno con sub-argumento de desacuerdo <X,r>, y además <R,~r> es preferido a<X,r>, dado que, según el orden entre reglas R3 >m R4.

R4

~riesgosa(acme) <en_fusion(acme,strong), fuerte(strong).R =

R3

~c

N

r

X ~r

R

X

R3 >m R4

24

Derrotas entre argumentos de (m , m)

• Observe que considerando el orden >m entre reglas rebatibles del programa (m , m) se obtiene que:

– <N,~c> es derrotador propio de <A,c>

– y <R,~r> es derrotador propio de <N,~c>.

• Como A es derrotado por N que a su vez es derrotado por R, entonces R “defiende” a A.

• Se verá a continuación, que en DeLP se consideran estas secuencias de derrotas y defensas, y además que para cada argumento pueden existir más de un derrotador.

~c

N

r

X

º

~r

R

c

A

Page 12: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

12

En (3 , 3):

• El argumento <A,g> tiene 4 “puntos de ataque”: { g, h, d, e }

• <C,~h> es un derrotador propio de <A,g>

• <B,f> <B,~e> y <D,~g> son derrotadores de bloqueo de <A,g>

• <E, ~d> no derrota a <A,g> 25

Ejemplo de múltiples puntos de ataque

3 =

~p g.

p f.

~e f.

b.

a.3 =

g< h.

h< d,e.

d< a.

e< b.

f< b.

~h< b.

~g< b.

~d< b.

g< h.

h< d,e.

d< a.

e< b.

A =

f< b.B =

~h< b.

~g< b.

(~h< b) >3 (h< d,e)

(d< a) >3 (~d< b).

~d< b.

C =

D =

E =

Prioridad entre reglas de 3 :

26

c

A

• En DeLP dado un argumento A para una conclusión “c”, se construyen todos los posibles derrotadores para A, y luego los derrotadores de los derrotadores, y así sucesivamente.

• Considerando de esta forma, todas las líneas de argumentación que comienzan en A.

Análisis exhaustivo de argumentos a favor y en contra

Page 13: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

13

• En DeLP una conclusión estará garantizada si existe un argumento A que la sustenta, y además:o bien no existen derrotadores para A, o bien todos los derrotadores de A están derrotados.

• Para ver si un argumento está derrotado hay que analizar si sus derrotadores están derrotados, y para ello los derrotadores de los derrotadores, y así siguiendo.

• Como se explicará a continuación, para computar si un literal está garantizado, en DeLP se realiza un análisis exhaustivo que considera toda línea de argumentación que existe para A.

27

Conclusiones garantizadas

28

Líneas de argumentación

A0

h0

B1B2 B3 B4

C2C1C3

C4

D3

L1=[A0, B1, C1]

L2=[A0, B2, C2]

L3=[A0, B2, C3, D3]

L4=[A0, B3]

L5=[A0, B4, C4]

Page 14: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

14

29

A0

h0

Línea de argumentación para un argumento

• Una línea de argumentación para <A0,h0>, es una secuencia finita deargumentos que comienza con A0 y a partir del segundo cada argumento esun derrotador (propio o de bloqueo) del anterior en la secuencia.

h3

A3

h4

A4

• Argumentos de soporte para <A0,h0> = {A0, A2, A4}

• Argumentos de interferencia para <A0,h0> = {A1, A3}

h1

A1

h2

A2

30

Línea de argumentación aceptable

Una línea de argumentación para A0 es aceptable si:

(1) Ningún argumento Ak es un sub-argumento de otro Ai que aparece previamente (i<k).

(2) El conjunto de argumentos de soporte para A0 no es contradictorio (ídem el de interferencia)

(3) Si Ak es un derrotador de bloqueo para Ak-1, entonces Ak+1 debe ser derrotador propio para Ak (no debe haber dos derrotadores de bloqueo consecutivos).

• En un árbol de dialéctica, toda línea de argumentación debe cumplir estas 3 propiedades que la hacen “aceptable” e impiden incurrir en situaciones no deseadas.

Page 15: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

15

31

(1) evitando líneas con ciclos (infinitos)

A0

h0h3

A3

h4

S

h1

A1

h2

A2

S

• Recuerde que todo argumento es sub-argumento de si mismo.

S no debe agregarse porque re-introduce un argumento ya expuesto

que llevaría a una argumentación circular.

Una línea de argumentación para A0 es aceptable si:

(1) Ningún argumento Ak es un sub-argumento de otro Ai que aparece previamente (i<k).

• Esta restricción evita que un argumento (o sub-argumento) de uno ya usado en la línea sea introducido nuevamente, generando un ciclo y por ende una línea infinita.

32

(2) evitando contradicciones

A0

h0 h1

A1

h2

A2

S

~h0

El argumento A2 no debe agregarse a la línea porque

es contradictorio con A0

Una línea de argumentación para A0 es aceptable si:

(1) …

(2) El conjunto de argumentos de soporte para A0 no es contradictorio (ídem el de interferencia)

(3) …

Page 16: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

16

34

(3) evitando doble bloqueo

h

A0

p

A1

• Como el bloqueo es simétrico, cuando A1 bloquea a A0 este último también bloquea a A1, por lo tanto, A1 ya está bloqueado agregue o no al argumento A2.

A2

a

Una línea de argumentación para A0 es aceptable si:

...

(3) Si Ak es un derrotador de bloqueo para Ak-1, entonces Ak+1 debe ser derrotador propio para Ak (no debe haber dos derrotadores de bloqueo consecutivos).

No puede haber dos derrotadores de bloqueo consecutivos en una

línea aceptable.

36

Árbol de dialéctica

A0

h0

B1B2 B3 B4

C2C1C3

C4

D3

Un árbol de dialéctica para A0

es un árbol de argumentos con raíz A0 y todo nodo hijo es un derrotador propio o de bloqueo de su padre.Las hojas no tienen derrotadores.

Page 17: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

17

38

Proceso de marcado de un árbol de dialéctica

A0

h0

D

U

U

U

D

Marcas posibles: D y U

D: Defeated (derrotado)

U: Undefeated (no derrotado)

Proceso de marcado:

Toda hoja es marcada “U”

y todo nodo interno:

• es marcado “D” si tiene al menos unhijo marcado “U”

• es marcado “U” si todos sus hijosestán marcados “D”

D

U

39

Árbol de dialéctica marcado

A0

h0

En un árbol de dialéctica para A0 todo camino desde la raíz hasta una hoja, es una línea de argumentación aceptable para A0 .

D: Defeated (derrotado)

U: Undefeated (no derrotado)

U U

U

U

UD D

D

D

D

Page 18: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

18

40

Árbol de dialéctica marcado con poda

A0

h0Durante el proceso de marcado se puede realizar una “poda” y no explorar aquellas líneas que no cambiarán la etiqueta del nodo padre.

U U

UD D

D

poda

poda

La poda depende del

orden en que se recorre

el árbol.

D: Defeated (derrotado)

U: Undefeated (no derrotado)

41

Conclusión garantizada

Una conclusión h se dirá garantizada por unprograma DeLP si existe al menos un árbol dedialéctica para <A,h> cuya raíz está marcadacomo U.

U

D

D

U

U

D

U

h h

B C A

h

D

U

U

U

D

D

U

Page 19: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

19

42

Respuestas del intérprete DeLP

Dado un programa (,) y un literal h, la respuesta del intérprete para laconsulta h será:

• yes: cuando h está garantizado por ( , ) .

•no: cuando comp(h)1 está garantizado por ( , ) .

•unknown: cuando el literal h no pertenece2 a (,).

•undecided: si no se da ninguna de las anteriores, i.e., h pertenece a (,),no está garantizado por (,) y comp(h) tampoco está garantizado por(,).

1 El complemento de un literal con respecto a “~” (negación fuerte) lo definimos como: comp(h) = ~h y

comp(~h) = h.2 Un literal h pertenece a un programa (,) cuando h o comp(h) está presente en alguna cabeza o cuerpo

de alguna regla o hecho de (,).

• Utilizando el programa “mer-val” (m , m)

43

Ejemplos de respuestas

Consulta Respuesta

vender(acme) unknown

comprar_acciones(acme) yes

~comprar_acciones(acme) no

~empresa_riesgosa(acme) yes

empresa_riesgosa(acme) no

buen_precio (macrosoft) undecided

~buen_precio (macrosoft) undecided

~empresa_riesgosa(strong) yes

empresa_riesgosa(strong) no

Page 20: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

20

Temario

Representación de conocimiento y conflictos

Programación Lógica Rebatible. Defeasible Logic Programming (DeLP)

Algunos detalles formales de DeLP

45

Programa lógico rebatible (n , n) “de_noche”

• Consideraremos un nuevo ejemplo de programa lógico rebatible a fin de mostrar ciertos conceptos en detalle.

n = n =

en_casa < de_noche.

preparo_cena < de_noche.

~preparo_cena < festejo.

acuesto_tarde < festejo.

~en_casa en_supermercado.

en_supermercado.

de_noche.

festejo.

Page 21: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

21

46

Argumentos

Un argumento para h a partir de ( , ) es un par <A, h> donde A es conjunto de reglas rebatibles que cumple:1- existe una derivación rebatible para h a partir de A2- A es no contradictorio3- no existe un subconjunto propio de A que cumpla con las condiciones (1) y (2)

n = n =

en_casa < de_noche.

preparo_cena < de_noche.

~preparo_cena < festejo.

acuesto_tarde < festejo.

~en_casa en_supermercado.

en_supermercado.

de_noche.

festejo.

47

Argumentos

• Por ejemplo, a partir de (n , n) existe un argumento A para preparo_cena y otro B para ~preparo_cena.

preparo_cena < de_nocheA=B=

n = n =

en_casa < de_noche.

preparo_cena < de_noche.

~preparo_cena < festejo.

acuesto_tarde < festejo.

~en_casa en_supermercado.

en_supermercado.

de_noche.

festejo.

~preparo_cena < festejo

Page 22: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

22

48

Argumentos y conjuntos que no lo son

• Por ejemplo a partir de (n , n) el conjunto R no es un argumento para en_casa; S no es un argumento para preparo_cena, ni para acuesto_tarde; y T tampoco lo es para preparo_cena ni ~preparo_cena.

en_casa < de_noche.

~preparo_cena < festejo. preparo_cena < de_noche.

preparo_cena < de_noche.

acuesto_tarde < festejo.

No satisface la condición (2) ya que hay una derivación estricta de

“~en_casa”

No satisface la condición (2)

No satisface la condición (3) note que A S

S =

R =

T =

• Pero no todo conjunto de reglas rebatibles es un argumento.

n = n =

en_casa < de_noche.

preparo_cena < de_noche.

~preparo_cena < festejo.

acuesto_tarde < festejo.

~en_casa en_supermercado.

en_supermercado.

de_noche.

festejo.

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

51

Relaciones entre argumentos

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.

g< a.A =

f< b.B =

• <A,g> y <B,f> están en desacuerdo ya que a partir de 2 {f,g} es posible derivar ~p y p.

• < A,g> y <C,~g> están en desacuerdo ya que a partir de 2 {g,~g} es posible derivar ~g y g.

Dado un programa (, ) dos argumentos <B,f> y <A,g> están en desacuerdoo en conflicto si {f,g} es un conjunto contradictorio (deriva dos literales complementarios).

~g< b.C =

Page 23: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

23

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

52

Relaciones entre argumentos

Sean de <A,h> y <S,q> dos argumentos. Decimos que <S,q> es un sub-argumento de <A,h> si se cumple que S A .

Observación: todo argumento es sub-argumento de si mismo.

Ejemplo: < B, f > es un sub-argumento de < D,e >.

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.

f< b.B = f< b , e< f D =

h

A

q

S

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

53

Relaciones entre argumentos

<B,p> ataca a (es contra-argumento para ) <A,h> si existe un sub-argumento<S,q> de <A,h> (llamado sub-argumento de desacuerdo) tal que <B,p> y<S,q> están en desacuerdo.

h

A

q

S

p

B

Ataque interno

Ataque directo

Obs. 1: el subargumento <S,q> puede ser el propio <A,h>.

Obs. 2: El literal q (o h en el directo) es llamado punto de ataque.

Obs. 3: {p,q} es un conjunto contradictorio.

h

A

p

B

Page 24: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

24

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

54

Ejemplos

<B,p> ataca a (es contra-argumento para ) <A,h> si existe un sub-argumento<S,q> de <A,h> (llamado sub-argumento de desacuerdo) tal que <B,p> y<S,q> están en desacuerdo.

Ejemplos:

<A,g> y <C,~g> se atacan uno al otro, y

<A,g> y <B, f> se atacan uno al otro ya que { g,f } es un conjunto contradictorio al permitir derivar p y ~p.

g< a.A =

~g< b.C =

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.

~g

C

g

A f< b.B =

f

B

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

55

Ejemplos

<B,p> ataca a (es contra-argumento para ) <A,h> si existe un sub-argumento<S,q> de <A,h> (llamado sub-argumento de desacuerdo) tal que <B,p> y<S,q> están en desacuerdo.

Ejemplos:

<B,f> ataca a <A,g>, y

<A,g> ataca a <D,e> con sub-argumento de desacuerdo <B,f>

g< a.A =

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.g

A f< b.B =

e

D

f

Be< f, f< bD =

Page 25: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

25

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

56

Relaciones entre argumentos

• En DeLP se puede usar cualquier orden de preferencia entre argumentos,de esta manera, se puede elegir el más apropiado para la aplicación que seestá desarrollando.

Comparación de argumentos “Prioridad entre reglas”:Sea (>) un orden dado entre reglas rebatibles.<A,h> es preferido a <B,p> si se cumple que:

1. existe R1 en A y R2 en B tal que R1 > R2

2. no existe R1 en A y R2 en B tal que R1 < R2

2 =

g< a.

f< b.

~g< b.

e< f.

Ejemplo de un criterio de comparación:

(~g< b) >2 (g< a) (g< a) >2 (f< b)(e< f) >2 (g< a)

Orden >2 entre reglas de2

57

Ejemplos

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.

g< a.A =~g< b.C = e< f, f< bD =

• <C,~g> es preferido a <A,g> ya que (~g< b) > (g< a)

• <A,g> no es preferido a <D,e> porque se cumple la primera condición, pero no se cumple la segunda.

• <A,g> es preferido a <B,f> ya que (g< a) > (f< b)

(~g< b) >2 (g< a) (g< a) >2 (f< b)(e< f) >2 (g< a)

Orden >2 entre

reglas de2

Comparación de argumentos “Prioridad entre reglas”:Sea (>) un orden dado entre reglas rebatibles.<A,h> es preferido a <B,p> si se cumple que:

1. existe R1 en A y R2 en B tal que R1 > R2

2. no existe R1 en A y R2 en B tal que R1 < R2

f< b.B =

Page 26: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

26

• Desacuerdo

• Sub-argumento

• Ataque

• Preferencia

• Derrota

58

Relaciones entre argumentos

<B,p> es un derrotador para <A,h>, si <B,p> ataca a <A,h> con sub-argumento dedesacuerdo <S,q> y además, o bién:

(a) <B,p> es preferido a <S,q> (derrota propia), o

(b) <B,p> no es comparable con <S,q> (bloqueo)

Ya sea un ataque directo o interno:• B es derrotador propio de A si B es preferido a S.

• B es derrotador de bloqueo de A si B y S no son

comparables.

h

A

q

S

p

B

h

A

p

B

59

Ejemplo de derrotador

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.

g< a.A =~g< b.C = e< f, f< bD = f< b.B =

(~g< b) >2 (g< a) (g< a) >2 (f< b)(e< f) >2 (g< a)

Orden >2 entre reglas de2

<C,~g> es derrotador propio de <A,g> ya que se atacan mutuamente y <C,~g> es preferido a <A,g>.

~g

C

g

A

Page 27: Temario - cs.uns.edu.arac/sia/downloads/Clases... · que realiza un análisis exhaustivo de todos los conflictos involucrados. •La propuesta considera todas las razones a favor

11-Nov-19

27

60

Ejemplo de derrotador

2 =

~p g.

p f.

b.

a.

2 =

g< a.

f< b.

~g< b.

e< f.

g< a.A =~g< b.C = e< f, f< bD =

<A,g> es un derrotador propio de <D,e> dado que:1) <A,g> ataca a <D,e> con sub-argumento de desacuerdo <B,f> 2) <A,g> es preferido a <B,f> ya que (g< a) > (f< b)

f< b.B =

g

A

e

D

f

B

(~g< b) >2 (g< a) (g< a) >2 (f< b)(e< f) >2 (g< a)

Orden >2 entre reglas de2

FIN

61

Gracias por su atención