razonamientoautomático tema 2: cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdftema...

32
Razonamiento automático Tema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Ch ´ avez y F.J. Mart´ ın Dpto. Ciencias de la Computaci ´ on e Inteligencia Artificial Universidad de Sevilla Razonamiento autom ´ atico (2004–05): Tema 2 – p. 1/3

Upload: others

Post on 22-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Razonamiento automático

Tema 2: Cálculo semántico proposicional con MACE

J.A. Alonso, J. Borrego, A. Chavez y F.J. Martın

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

Razonamiento automatico (2004–05): Tema 2 – p. 1/32

Page 2: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Sintaxis de la logica proposicional

El alfabeto proposicional:

símbolos proposicionales.

conectivas lógicas:

� (negación),

(conjunción),

(disyunción),

� (condicional),

� (equivalencia).

símbolos auxiliares: “(“ y “)”.

Las fórmulas proposicionales:

símbolos proposicionales

� � �

,� � �

,

� � �

,

� � �

,

� � �

.

Eliminación de paréntesis:

�Paréntesis externos.

Precedencia: ���� �

� ��� �

Asociatividad:

y

asocian por la derecha

Sintaxis en OTTER/MACE

Usual � � � � �

OTTER/MACE - & | -> <->

Razonamiento automatico (2004–05): Tema 2 – p. 2/32

Page 3: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Semantica: Verdad e interpretacion

Los valores de verdad:

verdadero

(en MACE , T)

falso

(en MACE , F)

Las funciones de verdad:i � �

1 00 1

i j i

j i

j i � j i � j

1 1 1 1 1 11 0 0 1 0 00 1 0 1 1 00 0 0 0 1 1

Razonamiento automatico (2004–05): Tema 2 – p. 3/32

Page 4: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Modelo de una formula

El significado de una fórmula en una interpretación

Fórmula:

� � ��� ��� � � �� ���

Interpretación:

,

� ��� � � �� � ��

� �� � �

� � � � � � �� � �

� � � � � � � � � �

� � � � � �

� � �

� �

es válida en

� �

es modelo de

� � � � �Razonamiento automatico (2004–05): Tema 2 – p. 4/32

Page 5: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Modelo de una formula

Significado de una fórmula en una interpretación

Fórmula:

� � ��� ��� � � �� ���

Interpretación:

,

� �� � ��

� � � � � �� � �

� � � � � � �� � �

� � � � � � � � � �

� � � � � �

� � �

� �

no es válida en

� �

no es modelo de�

� � �� � �Razonamiento automatico (2004–05): Tema 2 – p. 5/32

Page 6: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Comprobacion de modelo con MACE

Determinar si la la interpretación

definida por

� � � � � �� � �

,� �� � �

es un modelo de la fórmula

� � � � � � �� ���

Formalización en MACE”modelo_fla_1.in”

1 formula_list(usable).2 (p | q) & (-q | r).3 end_of_list.4

5 list(mace_constraints).6 assign(p,T).7 assign(q,F).8 assign(r,T).9 end_of_list.

Ejecución en MACE :mace2 -p < modelo_fla_1.in > modelo_fla_1.out

Razonamiento automatico (2004–05): Tema 2 – p. 6/32

Page 7: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Comprobacion de modelo con MACE

Determinar si la la interpretación

definida por

� �� � ��

� � � � �

y

� �� � �

es un modelo de la fórmula

� � � � � � �� ���

Formalización en MACE”modelo_fla_2.in”

1 formula_list(usable).2 (p | q) & (-q | r).3 end_of_list.4

5 list(mace_constraints).6 assign(p,F).7 assign(q,F).8 assign(r,T).9 end_of_list.

Ejecución en MACE :mace2 -p < modelo_fla_2.in > modelo_fla_2.out

Razonamiento automatico (2004–05): Tema 2 – p. 7/32

Page 8: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Formulas satisfacibles e insatisfacibles

Def.:

es satisfacible syss

tiene modelo

Def.:

es insatisfacible syss

no tiene modelo

Ejemplo:��� � � � �� � �

es satisfacible� ��� � � �� � � �� � �

� � �� es insatisfacible

� �� � � ��

� � �

� � �

Razonamiento automatico (2004–05): Tema 2 – p. 8/32

Page 9: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Satisfacibilidad con MACE

Determinar si la fórmula

� � � � � �� � �

es satisfacible

Formalización en MACE”satisfacibilidad_1.in”

1 formula_list(sos).2 (p -> q) & (q -> r).3 end_of_list.

Ejecución en MACE :mace2 -p < satisfacibilidad_1.in

> satisfacibilidad_1.out

Razonamiento automatico (2004–05): Tema 2 – p. 9/32

Page 10: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Satisfacibilidad con MACE

Determinar si la fórmula � � �� es satisfacible

Formalización en MACE”satisfacibilidad_2.in”

1 formula_list(sos).2 p & -p.3 end_of_list.

Ejecución en MACE :mace2 -p < satisfacibilidad_2.in

> satisfacibilidad_2.out

Razonamiento automatico (2004–05): Tema 2 – p. 10/32

Page 11: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Formulas validas

Def.:

es válida syss toda interpretación de

es modelo de

Fórmula:

� � ��� � � � �� � �

� � ��� � � �� � � ��� � � � �� � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � �

� �� � ��� � � Razonamiento automatico (2004–05): Tema 2 – p. 11/32

Page 12: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Satisfacibilidad y validez

Problemas de satisfacibilidad y validez

El problema de la satisfacibilidad: Dada

determinar si essatisfacible.

El problema de la validez: Dada

determinar si es válida.

Relaciones entre validez y satisfacibilidad:

� �

es válida �� � �

es insatisfacible

� �

es válida �� �

es satisfacible

� �

es satisfacible

��� � �

es insatisfacible

El problema de la satisfacibilidad es NP–completo

Razonamiento automatico (2004–05): Tema 2 – p. 12/32

Page 13: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Validez con MACE

Determinar si la fórmula

� � � � � �� � �

es válida

Formalización en MACE”validez_1.in”

1 formula_list(usable).2 -((p -> q) | (q -> p)).3 end_of_list.

Ejecución en MACE :mace2 -p < validez_1.in > validez_1.out

Razonamiento automatico (2004–05): Tema 2 – p. 13/32

Page 14: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Validez con MACE

Determinar si la fórmula � � � es válida

Formalización en MACE”validez_2.in”

1 formula_list(usable).2 -(p -> q).3 end_of_list.

Ejecución en MACE :mace2 -p < validez_2.in > validez_2.out

Razonamiento automatico (2004–05): Tema 2 – p. 14/32

Page 15: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Modelos de un conjunto de formulas

Def.:

es modelo de

syss para toda

� � ��

� � � �

� � � � �

Ejemplo:

� � � � � ��� � � �� ��� � � � � �

���

��� � ��

���

�� � ��

��

�� � � �� ��

� � �

���

��� � ��

���

�� � ��

��

�� � � �� ��

�� � �

Razonamiento automatico (2004–05): Tema 2 – p. 15/32

Page 16: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Comprobacion de modelos con MACE

Determinar si la interpretación

definida por

� ��� � �

,� �� � �

,� �� � �

es un modelo del conjunto de fórmulas

� � � � � ��� � � �� ��� � � � � �

Formalización en MACE”modelo_cjt_1.in”

1 formula_list(usable).2 (p | q) & (-q | r).3 q -> r.4 end_of_list.5

6 list(mace_constraints).7 assign(p,T).8 assign(q,F).9 assign(r,T).

10 end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 16/32

Page 17: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Comprobacion de modelos con MACE

Determinar si la interpretación

definida por

� ��� � �

,� �� � �

,� �� � �

es un modelo del conjunto de fórmulas

� � � � � ��� � � �� ��� � � � � �

Formalización en MACE”modelo_cjt_2.in”

1 formula_list(usable).2 (p | q) & (-q | r).3 q -> r.4 end_of_list.5

6 list(mace_constraints).7 assign(p,F).8 assign(q,T).9 assign(r,F).

10 end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 17/32

Page 18: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Conjuntos consistentes

Def.:

es consistente syss

tiene modelo

Def.:

es inconsistente syss

no tiene modelo

Ejemplo:

� � � �� � ��� ��� � � � � �

es consistente

Ejemplo:

� � � �� � ��� ��� � � � � � �� �

es inconsistente:

� � � � � ��� � �� �� � � � � � � �� ��� � � � ��

��

� � � � � � � �

��

� � � � � � � �

���

� � � � � � � �

���

� � � � � � � �

��� � � � � � � � �

���

� � � � � � � �

��� � � � � � � � �

��� � � � � � � � �

Razonamiento automatico (2004–05): Tema 2 – p. 18/32

Page 19: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Consistencia con MACE

Determinar si el conjunto

� � � � � � ��� ��� � � � � �

es consistente

Formalización en MACE”consistencia.in”

1 formula_list(sos).2 (p | q) & (-q | r).3 p -> r.4 end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 19/32

Page 20: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Consistencia con MACE

Determinar si el conjunto

� � � � � � ��� ��� � � � � � �� �

inconsistente

Formalización en MACE”inconsistencia.in”

1 formula_list(sos).2 (p | q) & (-q | r).3 p -> r.4 -r.5 end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 20/32

Page 21: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Consecuencia logica

� �

es consecuencia de

syss todos los modelos de�

son modelosde

Representación:

� � � �

Ejemplo:

� � � � � � � � � � � � � �

� � � � � � � � � � � �

��

� � � � � �

��

� � � � � �

��� � � � � � �

���

� � � � � �

��� � � � � � �

��

� � � � � �

���

� � � � � �

��� � � � � � �

Ejemplo:

� � � �� � � � �

� � � � �

� � �

� � �

� � �

� � �

Razonamiento automatico (2004–05): Tema 2 – p. 21/32

Page 22: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Consecuencia, validez y consistencia

Las siguientes condiciones son equivalentes:

� � �� � � � � �

��

� � �

� � � �� �

� � �

� ��

� � � �� �

� � �

� ��

es insatisfacible

� � �� � � � � �

�� � � �

es inconsistente

Razonamiento automatico (2004–05): Tema 2 – p. 22/32

Page 23: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Consecuencia logica con MACE

Determinar si

� � � � � � � � � �� � �� � � � �

Formalización en MACE”no-consecuencia.in”

1 formula_list(sos).2 p <->q.3 r <-> (p & q).4 -(p & r).5 end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 23/32

Page 24: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Consecuencia logica con MACE

Determinar si

� � � � � � � � � �� � � � � � �

Formalización en MACE”consecuencia.in”

1 formula_list(sos).2 p <->q.3 r <-> (p & q).4 -(p <-> r).5 end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 24/32

Page 25: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema de los animales con MACE

Base de conocimiento

Base de reglas:1. Si el animal tiene pelos es mamífero2. Si el animal da leche es mamífero3. Si el animal es un mamífero y tiene pezuñas es ungulado4. Si el animal es un mamífero y rumia es ungulado5. Si el animal es un ungulado y tiene cuello largo es una jirafa6. Si el animal es un ungulado y tiene rayas negras es una cebra

Base de hechos:1. El animal tiene pelos2. El animal tiene pezuñas3. El animal tiene rayas negras

Consecuencia:El animal es una cebra

Razonamiento automatico (2004–05): Tema 2 – p. 25/32

Page 26: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema de los animales con MACE

Formalización en MACE

”animales_1.in”

formula_list(sos).tiene_pelos | da_leche -> es_mamifero.es_mamifero & (tiene_pezuñas | rumia) -> es_ungulado.es_ungulado & tiene_cuello_largo -> es_jirafa.es_ungulado & tiene_rayas_negras -> es_cebra.

tiene_pelos & tiene_pezuñas & tiene_rayas_negras.

-es_cebra.end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 26/32

Page 27: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema de los animales con MACE

Modelo del problema de los animales

Formalización en MACE

”animales_2.in”

formula_list(sos).tiene_pelos | da_leche -> es_mamifero.es_mamifero & (tiene_pezuñas | rumia) -> es_ungulado.es_ungulado & tiene_cuello_largo -> es_jirafa.es_ungulado & tiene_rayas_negras -> es_cebra.

tiene_pelos & tiene_pezuñas & tiene_rayas_negras.

% -es_cebra.end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 27/32

Page 28: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema del coloreado de pentagonos

Demostrar que es imposible colorear los vértices de un pentágonode rojo o azul de forma que los vértices adyacentes tengan coloresdistintos

Representación: Se numeran los vértices consecutivos delpentágono con los números 1, 2, 3, 4 y 5. Se usan los símbolos � �

(

� � � � �

) para representar que el vértice�

es rojo y los símbolos ��

(

� � � � �

) para representar que el vértice

es azul

Razonamiento automatico (2004–05): Tema 2 – p. 28/32

Page 29: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema del coloreado de pentagonos

Formalización en MACE

”pentagono_2.in”

formula_list(usable).% El vértice i (1 <= i <= 5) es azul o rojo:a1 | r1. a2 | r2. a3 | r3.a4 | r4. a5 | r5.% Dos vértices adyacentes no pueden ser azules:-(a1 & a2). -(a2 & a3). -(a3 & a4).-(a4 & a5). -(a5 & a1).% Dos vértices adyacentes no pueden ser rojos:-(r1 & r2). -(r2 & r3). -(r3 & r4).-(r4 & r5). -(r5 & r1).end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 29/32

Page 30: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema del coloreado de pentagonos

Demostrar que es posible colorear los vértices de un pentágono derojo, azul o negro de forma que los vértices adyacentes tengancolores distintos

Representación: Se numeran los vértices consecutivos delpentágono con los números 1, 2, 3, 4 y 5. Se usan los símbolos � �

(

� � � � �

) para representar que el vértice�

es rojo, los símbolos ��

(

� � � � �

) para representar que el vértice

es azul y los símbolos ��

(

� � � � �

) para representar que el vértice

es negro

Razonamiento automatico (2004–05): Tema 2 – p. 30/32

Page 31: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Problema del coloreado de pentagonos

Formalización en MACE

”pentagono_3.in”

formula_list(usable).% El vértice i (1 <= i <= 5) es azul, rojo o negro:a1 | r1 | n1. a2 | r2 | n2. a3 | r3 | n3.a4 | r4 | n4. a5 | r5 | n5.% Dos vértices adyacentes no pueden ser azules:-(a1 & a2). -(a2 & a3). -(a3 & a4).-(a4 & a5). -(a5 & a1).% Dos vértices adyacentes no pueden ser rojos:-(r1 & r2). -(r2 & r3). -(r3 & r4).-(r4 & r5). -(r5 & r1).% Dos vértices adyacentes no pueden ser negros:-(n1 & n2). -(n2 & n3). -(n3 & n4).-(n4 & n5). -(n5 & n1).end_of_list.

Razonamiento automatico (2004–05): Tema 2 – p. 31/32

Page 32: Razonamientoautomático Tema 2: Cálculo semántico ...jalonso/cursos/d-ra-04/temas/tema-2.pdfTema 2: Cálculo semántico proposicional con MACE J.A. Alonso, J. Borrego, A. Chav´

Bibliografıa

Bundy, A. The computer modelling of mathematical reasoning.(Academic Press, 1983)

Cap. 2 “Arguments about propositions”

Cap. 3: “The internal structure of propositions”

Chang, C.L. y Lee, R.C.T Symbolic logic and mechanical theoremproving. (Academic Press, 1973)

Cap. 2 “The propositional logic”

Genesereth, M.R. Computational logic

Cap. 2 “Propositional logic”

Cap. 3 “Truth table method”

Nilsson, N.J. Inteligencia artificial (Una nueva síntesis).(McGraw–Hill, 2000)

Cap. 13 “El cálculo proposicional”

Razonamiento automatico (2004–05): Tema 2 – p. 32/32