temario - cs.uns.edu.arac/sia/downloads/clases... · que realiza un análisis exhaustivo de todos...
TRANSCRIPT
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)
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.
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.
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.
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)
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).
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
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 =
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”
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
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
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
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]
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.
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) …
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.
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
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
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
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.
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
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 =
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
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 =
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 =
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
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