• No se han encontrado resultados

Paradigmas de Lenguajes de Programación

N/A
N/A
Protected

Academic year: 2021

Share "Paradigmas de Lenguajes de Programación"

Copied!
19
0
0

Texto completo

(1)

Paradigmas de

Lenguajes de

Programación

Clase Práctica

Resolución I

Primer cuatrimestre de 2008

(2)

Resolución en proposicional

 Dadas unas premisas P1… Pn y una conclusión C

1) Calculamos la Forma Normal Conjuntiva (FNC) de cada premisa y de la negación de la conclusión

2) Aplicamos repetidamente la Regla de Resolución a la unión de todas las cláusulas obtenidas en el paso anterior

3) Si llegamos a la cláusula vacía:

 P1 ∧ … ∧ Pn ∧ ¬ C es insatisfactible

 Por lo tanto, P1 ∧ … ∧ Pn → C es tautología

Si no llegamos a la cláusula vacía:

 P1 ∧ … ∧ Pn ∧ ¬ C es satisfactible

(3)

Forma Normal Conjuntiva (FNC)

Una fórmula está en FNC si es una conjunción de

disyunciones de literales.

(p ∨ q ∨ ¬ r) ∧ ( r ∨ q) ∧

t

cláusula

(4)

Forma Normal Conjuntiva (FNC)

 Notación conjuntista

(p ∨ q ∨ ¬ r)

(r ∨ q)

t

{

{p,q,¬r}

,

{r,q}

, {t} }

(5)

Ejemplo FNC

 (p

q)

(p

r)  (p

p)

(p

r)

(q

p)

(q

r) (ya es FNC)  p

(p

r)

(q

p)

(q

r)  p

(q

r) 

{

{p}, {q,r}

}

(notación conjuntista)

(6)

Aplicación de la regla de resolución

 Regla de resolución { A1, … ,An, B1, … ,Bm} { A1, … ,An,Q } { B1, … ,Bm,¬Q } resolvente  Aplicación

 En cada paso, se aplica la regla de resolución a dos cláusulas del

conjunto. El resolvente de las mismas se agrega al conjunto (si no estaba previamente) y si es posible, se hace una nueva aplicación.

(7)

Ejercicio resolución en proposicional

¿Se deduce (p ∧ q) de (¬p → q) ∧ (p → q) ∧ (¬p → ¬q)?

1)

Pasar a FNC las premisas y la negación de la conclusión

¬(p ∧ q) ¬p

¬q {¬p, ¬q}

¬p → q p

q {p, q}

p → q ¬p

q {¬p, q}

¬p → ¬q p

¬q {p, ¬q}

(8)

Ejercicio (cont.)

2) Aplicar la regla de resolución y ver de llegar a la cláusula vacía 1. {¬p, ¬q} 2. {p, q} 3. {¬p, q} 4. {p, ¬q} 5. (de 1. y 4.) {¬q} 6. (de 2. y 3.) {q} 7. (de 5. y 6.) 3) Luego de (¬p → q) ∧ (p → q) ∧ (¬p → ¬q) se puede deducir (p ∧ q).

(9)

Resolución general en primer orden

Dado un conjunto de premisas P1… Pn y una conclusión C

 Calcular la Forma Normal de Skolem de cada cláusula y la de la

negación de la conclusión

 Calcular la Forma Clausal de cada resultado del paso 2

 Hacer que las cláusulas resultado del paso 2 tengan variables

disjuntas

 Testear utilizando la Regla de Resolución General sobre la unión

de las cláusulas resultado del paso 3

 Si llegamos a la cláusula vacía:

 P1 ∧ … ∧ Pn ∧ ¬ C es insatisfactible

 Por lo tanto, P1 ∧ … ∧ Pn → C es tautología

Si no llegamos a la cláusula vacía:

 P1 ∧ … ∧ Pn ∧ ¬ C es satisfactible

(10)

Forma Normal de Skolem

 Elimina los cuantificadores existenciales

 Para calcular la Forma Normal de Skolem de una

fórmula se deben realizar los siguientes pasos

 Calcular la Forma Normal Negada. Para realizar esto se debe

expresar la fórmula sólo en función de cuantificadores, conjunción, disyunción y negación (esta última sólo sobre fórmulas atómicas).

 Reemplazar cada variable ligada por un cuantificador

existencial por:

a. Una nueva constante, si esa variable no está en el alcance de

ningún cuantificador universal

b. Un término de tipo función, cuyo símbolo de función es nuevo y

sus parámetros corresponden a las variables cuantificadas universalmente cuyo alcance incluya a la variable ligada al cuantificador existencial

(11)

Forma Normal de Skolem: Ejemplo

Pasaje a Forma Normal Negada

∀ x.( ( P(x) ∧ Q(x) ) → ∀ y. ( Q(y) → ∃ z. R(z) ) ) ∧ ∃ t. Q(t)

∀ x.( ( P(x) ∧ Q(x) ) → ∀ y. (¬ Q(y) ∨ ∃ z. R(z) ) ) ∧ ∃ t. Q(t)

(12)

Forma Normal de Skolem: Ejemplo

Cálculo de la Forma Normal de Skolem

∀ x.(¬ P(x) ∨ ¬ Q(x) ∨ ∀ y. (¬ Q(y) ∨ ∃ z. R(z) ) ) ∧ ∃ t. Q(t)

y

x

(13)

Forma Prenexa

 Una fórmula está en Forma Prenexa si no tiene

cuantificadores o si es de la forma C1x1.C2x2. … Cnxn.B

 Cada Ci es un cuantificador existencial o universal  B es una fórmula sin cuantificadores

∀ x.(¬ P(x) ∨ ¬ Q(x) ∨ ∀ y. (¬ Q(y) ∨ R(f(x,y)) ) ) ∧ Q(c)

∀ x. ∀ y. (¬ P(x) ∨ ¬ Q(x) ∨ ¬ Q(y) ∨ R(f(x,y)) ) ∧ Q(c)

(14)

Forma Clausal

 Llamamos literales a fórmulas atómicas (literal positivo)

o a fórmulas atómicas negadas (literal negativo).

 Una cláusula es una disyunción de literales en Forma

Prenexa.

 Una sentencia está en Forma Clausal si es una

conjunción de cláusulas. Cada cláusula debe poseer variables ligadas distintas a las de otras cláusulas.

(15)

Pasaje a Forma Clausal

1. Convertir la fórmula a Forma Prenexa

2. Luego convertir el resultado a Forma Normal Conjuntiva 3. Distribuir los cuantificadores sobre cada conjunción

∀ x. ( A ∧ B) ∀ x. A ∧ ∀ x. B

4. Asegurarse que los cuantificadores sean disjuntos

(16)

Forma Clausal: Ejemplo

 La Forma Prenexa de nuestro ejemplo ya está en

Forma Normal Conjuntiva.

 Distribuimos los cuantificadores en la conjunción.

∀ x. ∀ y. ( (¬ P(x) ∨ ¬ Q(x) ∨ ¬ Q(y) ∨ R(f(x,y)) ) ∧ Q(c) )

∀ x. ∀ y. ( (¬ P(x) ∨ ¬ Q(x) ∨ ¬ Q(y) ∨ R(f(x,y)) )) ∧

(17)

Forma Clausal: Notación conjuntiva

 Notamos cada cláusula como un conjunto. La notación

conjuntiva de la fórmula completa será el conjunto formado por los mismos.

{ {¬ P(x), ¬ Q(x), ¬ Q(y), R(f(x,y))} , {Q(c)}}

La notación no explicita los cuantificadores universales. Dado que la sentencia estaba en Forma Normal de Skolem entonces necesariamente las variables que aparecen tienen que estar cuantificadas universalmente.

∀ x. ∀ y. ( (¬ P(x) ∨ ¬ Q(x) ∨ ¬ Q(y) ∨ R(f(x,y)) )) ∧

(18)

Regla de resolución general

 Regla de resolución σ{ A1, … ,An, C1, … ,Cr} { A1, … ,An,B1, … ,Bm } { C1, … ,Cr,¬D1, … , ¬Ds } resolvente σ es el MGU de {B1, … ,Bm,D1, … , Ds}  Aplicación

 En cada paso, se aplica la regla de resolución a dos cláusulas del

conjunto. El resolvente de las mismas se agrega al conjunto (si no estaba previamente) y si es posible, se hace una nueva aplicación.

(19)

Primer Orden: Ejercicio

 Premisas

 P1: Todos los sabuesos aúllan de noche

 P2: Todos los que tienen gatos no tienen ratones  P3: Javier tiene un gato o un perro que no aúlla

 Conclusión

 C: Javier no tiene ratones

 Primero, expresemos estas sentencias en primer orden utilizando:

Predicados: Sabueso(x), Aúlla(x), Tiene(x,y), Gato(x), Ratón(x)‏  La constante Javi para representar a Javier

Referencias

Documento similar

A través de la experiencia de un reconocido productor mexicano Alfonso Rosas Priego, tendrás una visión general de todo el proceso que lleva el iniciar la aventura

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

"No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Tome el MacRm media libra de Manecca de puerca ,media Je Manmca de Bac media de A- yre Rolado ,media de Azeyre Violado, y re poMc'tn holla vi- driadaafuegommfo,paza que

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

¿Es viable la creación de una empresa enfocada en la comercialización de luminarias Led alimentadas con energía eléctrica o solar que contribuyan a la

"Región" por un suelto en el que se comentaba los aten- tados contra la Guardia civil, al final de cuyo suelto se dice que lo más gra- ve de todo esto es que, cuándo en el

“La unificación de la clasificación de empresas otorgada por las CC.AA.”, “La unificación de criterios en la acreditación de los servicios de prevención de riesgos