Una introducción a la Inteligenca Artificial (IA)



Descargar 2.01 Mb.
Página9/29
Fecha de conversión20.03.2018
Tamaño2.01 Mb.
Vistas519
Descargas0
1   ...   5   6   7   8   9   10   11   12   ...   29

2.19 Lógica preposicional.

En la lógica preposicional o de primer orden Los símbolos pueden representar proposiciones completas.


Ejemplos:

P: Juan es un estudiante

Q: Juan trabaja los fines de semana
Concectivos boléanos. Símbolos que permiten combinar oraciones para formar oraciones más complejas (and, or, si entonces, si y solo si)
Símbolos:

Constantes lógicas Verdadero / Falso

Símbolos proposicionales P, Q, R, S, T, etc.

Conectivos lógicos , , , ,



Reglas de sintaxis:


  1. Las constantes lógicas Verdadero / Falso constituyen oraciones por sí mismas.

  2. Un símbolo proposicional es una oración en sí mismo.

  3. Encerrar entre paréntesis una oración produce una nueva oración.

  4. Una oración compleja se forma combinando oraciones más sencillas con uno de los 5 conectores lógicos:

Conjunción (), Disyunción (), Implicación (),

Equivalencia (), Negación ()

Reglas de Semántica.


  1. Un símbolo de proposición significa lo que se quiera que signifique.

  2. La oración Verdadero siempre quiere decir aquello que sucede en la realidad

  3. La oración Falso siempre quiere decir aquello que no existe en el mundo

  4. El significado de una oración compleja se obtiene del significado de cada una de sus partes (principio de Frege).

  5. El significado de los conectores lógicos se obtienen a partir de las tablas de verdad

Tablas de verdad de conectores logicos



P

Q

P

PQ

PQ

PQ

PQ

V

V

F

V

V

V

V

V

F

F

F

V

F

F

F

V

V

F

V

V

F

F

F

V

F

F

V

V


Validez e Inferencia.


  1. Las tablas de verdad sirven para probar la validez de las oraciones.




  1. Si al construir la tabla de verdad de una oración el resultado es una tautología, la expresión es válida.

Ejemplos: (poner varios ejemplos de tablas)


La tierra es redonda o la tierra no es redonda

P: La tierra es redonda

P  P


P

P

PP

V

F

V

F

V

V

((PH)  H)  P




P

H

PH

(PH)H

((PH)  H)  P

V

V

V

F

V

V

F

V

V

V

F

V

V

F

V

F

F

F

F

V



Reglas de inferencia de la lógica proposicional


Modus ponens

P Þ Q, P
implica Q

Si se sabe que P y P=>Q son verdaderas, entonces podemos inferir Q


Modus tolens

P Þ Q, ØQ
implica ØP

Si se sabe que P=>Q es verdadero, y se sabe que Q es falso,

podemos inferir ¬P



Silogismo disyuntivo

P Ú Q, ØQ
implica P


Si se sabe que P v Q es verdadero y que Q es falso,

Podemos inferir P.



Doble negación

ØØP

implica P



P doblemente negado es P

Transitividad o Resolución

PÞQ, QÞR

implica PÞR



Si P=>Q es verdadero y Q=> R también es verdadero, se puede inferir que

P=>R


Y – Eliminación

P Ù Q implica P

Si P Ù Q es verdad, entonces P y Q son verdad.

O – Introducción

P

implica P Ú Q



Si P es verdadero entonces P v Q también será verdadero.


2.20. Lógica de predicados

En la lógica de predicados se considera que el mundo está constituido por objetos , es decir, entes con identidades individuales y propiedades que los distinguen de otros objetos. Entre estos objetos existen diversos tipos de relaciones, algunas de las cuales son funciones: relaciones en que a una “entrada” corresponde a un solo “valor”.



Objetos: entes con identidades individuales

Propiedades: distinguen a los objetos de otros objetos.
Relaciones: existen entre los objetos

Funciones: relaciones en donde a una entrada corresponde un solo valor.


Ejemplos:
Objetos: gente, casas, números, teorías, colores. guerras, etc.
Relaciones: hermano de, mayor que, dentro de, parte de, sucedió luego de, etc.
Propiedades: rojo, redondo, de varios pisos, falso, etc.
Funciones: padre de, mejor amigo de, uno más que, etc.
Ejercicio 2.3


Determine los objetos, relaciones, propiedades y funciones de las siguientes oraciones






  1. “Uno más dos es igual a tres”(1,2,3 objetos), (= 3, relacion),(1+2 funccion)

  2. “Los libros que están en la mesa roja son nuevos”(libros,mesa=objetos),(estan en 1a mesa= relacion),(roja, nuevos= propiedades), (son nuevos= funciones)

  3. “Juan el malvado gobernó Inglaterra en 1200” (juan, Inglaterra= objetos), (en 1200= relacion),(goberno inglaterra= funccion)


2.20.1. Sintaxis de la LPO




Oración  Oración atómica | Oración conector Oración


| Cuantificador Variable… Cuantificador |  Oración

| (Oración)


(atomo=objeto)

Oración atómica  Predicado(Término,…) | Término = Término


Término  Función (Término,…) | Constante | Variable
Conector   |  |  | 
Cuantificador   | 
Constante  A | X1 | Juan |….
Variable  a | b | x | s | …
Predicado  Antes | Lloviendo | Tiene Color | …
Función  Madre De | Pierna Izquierda De | …

La lógica preposicional facilita un modelo para un razonamiento bivalente (falso / verdadero) que involucra el análisis de la relación entre los enunciados, pero no proporciona ningún procedimiento adicional para obtener el significado de los enunciados por ellos mismos.


Considera el siguiente razonamiento simple:
Todas las computadoras funcionan
La DG4 es una computadora (1)
Por lo tanto, la DG4 funciona
Aunque para nosotros el argumento debe ser juzgado como “válido”, su validez no depende de la estructura de los enunciados y no podríamos obtener que sea válido siguiendo la lógica proposicional. La inferencia en (1) requiere de un análsis que “rompa” los enunciados. Específicamente, se deben considerar las relaciones sujeto-predicado. Además, se debe tomar en cuenta el significado de la palabra todas.
La lógica de primer orden es una extensión de la lógica proposicional y nos permite “entrar” a un enunciado y obtener conclusiones a partir de la estructura interna de dicho enunciado.
Para manejar la lógica de primer orden se necesita introducir nuevas definiciones. Para empezar, un término puede ser una variable, una constante o una función. En español un término puede ser un pronombre o un sustantivo. La variable x, donde x se establece para cualquier objeto, es un término. En (1), la constante DG4 es una instancia de x que se establece para cualquier tipo de computadoras. Cuando una variable toma el valor de una constante conocida, se dice que la variable está instanciada.
Si COMPUTADORA(y) indica el hecho de que el objeto y es una computadora, y si FUNCIONA(x) indica el hecho de que el objeto x está funcionando, se dice que COMPUTADORA( ) y FUNCIONA( ) son predicados. Cuando todas las variables de un predicado son instanciadas la expresión se convierte en un enunciado, el cual puede ser falso o verdadero. Por ejemplo, COMPUTADORA(DG4) significa que “DG4 es una computadora” y puede ser falso o verdadero (dependiendo del mundo). Sin embargo, ¿que pasa con la expresión COMPUTADORA(x) ? Evidentemente el resultado de la expresión depende del valor de x y mientras no se sepa este valor la expresión no puede considerarse como una proposición y por lo tanto no tiene valor de verdad
La expresión COMPUTADORA(x) se convierte en proposición cuando x se instancia. Terminológicamente, el conjunto de objetos con que se puede instanciar x se le conoce como el universo del discurso.
La expresión  x [ FUNCIONA(x) ] significa que todos los x están funcionando. El símbolo se le conoce como el cuantificador universal y significa “para todos” o “cualquiera”. Por otra parte, la expresión  x [FUNCIONA (x) ] significa que al menos existe una x que está funcionando. El símbolo se le conoce como el cuantificador existencial y significa “existe uno”, “hay un … tal que…”. Utilizando esta notación, (1) se puede simbolizar como
 x [COMPUTADORA (x)  FUNCIONA (x) ]
COMPUTADORA (DG4)
Por lo tanto, TRABAJA (DG4)
Ejemplo:
Considera el conjunto Y de las siguientes cuatro entidades:


  1. Un carro funcionando, denotado por JAG

  2. Una pluma inservible, denotada por PEN

  3. La computadora DG4

  4. Otra computadora, denotada por Z7

Por lo tanto, se tiene


Y = {JAG, PEN. DG4, Z7}
Si la expresión

 x [COMPUTADORA (x)  FUNCIONA(x)] es verdadera


y si
COMPUTADORA = {DG4, Z7} y FUNCIONA = {JAG, DG4, Z7}
entonces
FUNCIONA(JAG) es verdadera
FUNCIONA(DG4) es verdadera
FUNCIONA(PEN) es falsa

 x [ FUNCIONA(x)] es falsa


 x [ FUNCIONA(x)] es verdadera
Ejercicio Realiza el problema de los cubos en LPO


2.20.2. Inferencia en la lógica de primer orden.

Dadas las reglas que utiliza la Lógica Proposicional: Modus Ponen, Modus Tollen, Y-Eliminación, Y-Introducción, O-Introducción, Silogismo Hipotético y Silogismo Disyuntivo. Estas reglas también son válidas en la LPO, pero se necesitan reglas adicionales para poder manejar las oraciones de la lógica de primer orden con cuantificadores.


Para poder aplicar estas reglas emplearemos la notación SUST(d, a) para representar el resultado de aplicar la sustitución d en la oración a. Es decir,
  Conjunto de sustituciones

  Oración


SUST(, )  Resultado de aplicar las sustituciones  en .
Ejemplo:

SUST({x/Sam, y/Pam}, Le_gusta(x, y)) = Le_gusta(Sam, Pam)


Las tres nuevas reglas de inferencia son las siguientes
Eliminación Universal. Para toda oración , variable v y constante g:





x Le_gusta(x, helado) podemos inferir Le_gusta(Ben, helado)
Eliminación existencial. Para toda oración , variable v y símbolo constante k que no aparezca en ninguna parte de la BC:





x Matar(x, victima) podemos inferir Matar(asesino, victima)
Introducción existencial: Para toda oración , variable v que no esté en  y constante g:




Le_gusta(Jerry, helado) podemos inferir x Le_gusta(x, helado)
Es muy importante que la constante empleada para sustituir la variable en las reglas de la eliminación existencial sea un nombre nuevo. De no cumplir con este requisito es fácil que se den consecuencias ilógicas. Por ejemplo, considérese la oración  x Padre(x, Juan). Si se sustituye a la variable x por la constante Juan, se obtiene Padre(Juan, Juan), lo que evidentemente no es una consecuencia lógica de la oración original. Lo que la oración existencial está diciendo es que existe un cierto objeto que satisface la condición, y el proceso de eliminación lo que hace es precisamente dar un nombre a ese objeto. Es obvio que ese nombre no debe haber sido asignado con anterioridad a otro objeto.
Ejemplo de una demostración.
Considere la siguiente situación descrita en español:

“La ley establece que se considera como delito el que un estadounidense venda armas a naciones enemigas. El pais Nono, enemigo de Estados Unidos, tiene algunos proyectiles, todos los cuales le fueron vendidos por el coronel West, un estadounidense.”


Se require demostrar que West es un delincuente utilizando la LPO. Para lograrlo, lo primero que hay que hacer es representar la situación descrita anteriormente en LPO, para hacer esto represente las siguientes oraciones en LPO (Trata de hacer el ejercicio antes de pasar a la siguiente página):
1. “..es delito que un estadounidense venda armas a naciones enemigas”:

2. “Nono…tiene algunos proyectiles”:

3. “Todos sus proyectiles se los vendió el coronel West”:

4. También es necesario saber que los proyectiles son armas:

5. y que los enemigos de Estados Unidos se les considera como hóstiles:

6. “West, que es un estadounidense”:

7. “El pais Nono”:

8. “Nono, enemigo de Estados Unidos”:


La representación en LPO de la situación anterior queda descrita como se muestra a continuación

1.  x, y, z [Estadounidense(x)  Arma(y)  Nación(z)  Hostil(z)  Vende(x, z, y) 

Delincuente(x)]

2.  x [Posee(Nono, x)  Proyectil(x)]


  1.  x [Posee(Nono, x)  Proyectil(x)  Vende(West, Nono, x)]

  1.  x [Proyectil(x)  Arma(x)]

  2.  x [Enemigo(x, America)  Hostil(x)]

  3. Estadounidense(West)

  4. Nación(Nono)

  5. Enemigo(Nono, America)

  6. Nación(América)

La demostración consiste en una serie de aplicación de las reglas de inferencia

  1. Posee(Nono, M1)  Proyectil(M1) Eliminación existencial en 2)

  2. Posee(Nono, M1)

  3. Proyectil(M1) Y-Eliminación de 10)

  4. Proyectil(M1)  Arma(M1) Eliminación Universal de 4)

  5. Arma(M1) Modus Ponen 12) y 13)

  6. Posee(Nono, M1)  Proyectil(M1) 

Vende(West, Nono, M1) Eliminación universal de 3)

16. Vende(West, Nono, M1) Modus Ponen 15) y 10)



  1. Estadounidense(West)  Arma(M1) 

Nación(Nono)  Hostil(Nono)  Vende(West,Nono,M1) 

Delincuente(West) Eliminación universal de 1) tres veces



  1. Enemigo(Nono, America) 

Hostil(Nono) Eliminación universal de 5)

19. Hostil(Nono) Modus Ponen con 18) y 8)

20. Estadounidense(West)  Arma(M1) 

Nación(Nono)  Hostil(Nono) 

Vende(West,Nono,M1) Y-Introducción de 6) 7) 14) 16) y 19)

21. Delincuente(West) Modus Ponen con 17) y 20)


Si el procedimiento para encontrar una demostración se define como un proceso de búsqueda, es obvio que tal demostración es la solución al problema de búsqueda, e igualmente obvio es que el programa que se utilice deberá ser muy capaz, lo suficientemente como para encontrar una demostración sin cometer la equivocación de explorar rutas erróneas. En cuanto al problema de búsqueda, tendríamos:
Estado Inicial = BC (Oraciones 1..9)

Operadores = reglas de inferencia aplicables

Estado meta = BC en donde se encuentra Delincuente(West)

2.20.2.1 Modus Ponen Generalizado.

La idea del Modus Ponen Generalizado es reducir el tiempo de búsqueda. Por ejemplo, si tenemos las siguientes expresiones


Proyectil(M1)

Posee(Nono, M1)

x Proyectil(x)  Posee(Nono, x)  Vende(West, Nono, x)
podemos inferir en un solo paso la nueva oración
Vende(West, Nono, M1)
al combinar las reglas de
Y-Introducción Proyectil(M1)  Posee(Nono, M1)

Eliminación Universal Proyectil(M1)  Posee(Nono, M1)Vende(West, Nono, M1)



Modus Ponen Vende(West, Nono, M1)
Ejercicio 2.4.




Forma un equipo de dos personas y realiza la demostración del ejercicio anterior utilizando Modus Ponen Generalizado



2.20.2. 2 Forma canónica.

Lo que se quiere ahora es construir un mecanismo de inferencia que utilice únicamente una regla: el Modus Ponen Generalizado. Lo anterior implica que todas las oraciones de la base de conocimientos estén expresadas en forma tal que coincidan con una de las premisas del Modus Ponen. Es decir, la forma canónica del Modus Ponen determina que cada oración de la base de conocimientos sea una oración simple (sin cuantificadores) o una implicación con una conjunción de oraciones simples en el lado izquierdo y sólo una oración atómica del lado derecho. A este tipo de oraciones se les denomina oraciones de Horn.


La conversión de oraciones en oraciones de Horn se realiza cuando las oraciones son introducidas por primera vez en la base de conocimientos, utilizando los siguientes pasos:


  1. Aplicar la regla de Eliminación existencial a todas las oraciones cuantificadas existencialmente

  2. Aplicar la regla Y-Eliminación a las oraciones generadas por aplicar el paso 1

  3. Aplicar la regla de Eliminación Universal a todas las oraciones que tengan cuantificador universal.


Ejercicio 2.5.



Forma un equipo de dos personas. Convierte las oraciones de la demostración de que West es un delincuente a oraciones de Horn y realiza la demostración utilizando únicamente la regla de Modus Ponen Generalizado






Demostración utilizando Modus Ponen Generalizado.
Primero se convierten las oraciones de la Base de Conocimiento en oraciones de Horn


  1. Estadounidense(x)  Arma(y)  Nación(z)  Hostil(z)  Vende(x, z, y)  Delincuente(x)

  2. Posee(Nono, x)

  3. Proyectil(x)]

  1. Posee(Nono, x)  Proyectil(x)  Vende(West, Nono, x)

  2. Proyectil(x)  Arma(x)

  3. Enemigo(x, America)  Hostil(x)

  4. Estadounidense(West)

  5. Nación(Nono)

  6. Enemigo(Nono, America)

  7. Nación(América)

La demostración consta justo de cuatro pasos:




  1. Arma(M1) Modus Ponen Generalizado 3) y 5)

12. Hostil(Nono) Modus Ponen Generalizado 6) y 9)

13. Vende(West,Nono,M1) Modus Ponen Generalizado 2) 3) y 4)

21. Delincuente(West) Modus Ponen Generalizado con 7) 11) 8) 12) 13) y 1)

2.20.2. 3 Unificación.

Lo que hace la rutina de unificación (UNIFICAR) es convertir dos oraciones p y q en una sustitución mediante la que p y q resultan idénticas. En caso de no poder unificar las oraciones UNIFICAR regresaría una falla. Formalmente:


UNIFICAR(p, q) = SUST(t, q)
Ejemplo:
suponga que tenemos la siguiente regla:
Conoce(Juan, x)  Odia(Juan, x)
y queremos saber a quien odia Juan. Suponga que la Base de Conocimientos contiene las oraciones:
Conoce(Juan, Jane)

Conoce(y, Leónidas)

Conoce(y, Madre(y))

Conoce(x, Isabel)

al unificar el antecedente de la regla con la primera oración tenemos
UNIFICAR(Conoce(Juan, x), Conoce(Juan, Jane)) = {x/Jane}
Ejercicio. Realice la siguientes unificaciones
UNIFICAR(Conoce(Juan, x), Conoce(y, Leonidas)) =

UNIFICAR(Conoce(Juan, x), Conoce(y, Madre(y)) =

UNIFICAR(Conoce(Juan, x), Conoce(x, Isabel)) =
Encadenamiento hacia adelante.
Ahora que ya contamos con un lenguaje razonable para representar el conocimiento y con una regla razonable de inferencia, estudiaremos como construir un programa de razonamiento.
El algoritmo a utilizar se conoce como encadenamiento hacia adelante y se describe a continuación:
Empezar por las oraciones que estan en la base de conocimientos y generar nuevas conclusiones, de las que, a su vez, se pueden obtener nuevas inferencias.
Se activa con la incorporación de un nuevo hecho a la base de conocimientos.
Ejemplo. Problema del delito de la venta de proyectiles.

Se empieza con una base de conocimientos que sólo contenga implicaciones





  1. Estadounidense(x)  Arma(y)  Nación(z)  Hostil(z)  Vende(x, z, y) 

Delincuente(x)

  1. Posee(Nono, x)  Proyectil(x)  Vende(West, Nono, x)

  2. Proyectil(x)  Arma(x)

  3. Enemigo(x, America)  Hostil(x)






Compartir con tus amigos:
1   ...   5   6   7   8   9   10   11   12   ...   29


La base de datos está protegida por derechos de autor ©psicolog.org 2019
enviar mensaje

enter | registro
    Página principal


subir archivos