SlideShare una empresa de Scribd logo
1 de 75
Sistemas de Razonamiento Lógico
                    Inteligencia Artificial
Agenda
 Introducción
 Indización, Recuperación y Unificación
 Sistemas de Programación Lógicos
 Demostradores de Teoremas
 Sistemas de Producción por Encadenamiento
  hacia Adelante
 Sistemas de Marco y Redes Semánticas
 Lógicas para la Descripción
 Manejo de Retractaciones, Suposiciones y
  Explicaciones
Tipos de Problemas

  Demostradores de
      teoremas y            Sistemas de
                            producción
     lenguajes de
 programación lógicos



 Sistemas de cuadro y   Sistemas lógicos por
   redes semánticas          descripción
Tareas a Enfrentar

DECIR
• Incorporar algo nuevo a la BC
• Deducir hechos implicados

PREGUNTAR
• Decidir si una consulta está implicada por
  la BC
• Decidir si una consulta está en la BC
Implantación deOraciones y Términos

   Sintaxis de                     Representación
   oraciones                          interna


                     Definir
                    tipos de
                   oraciones
                   y términos

  Ejemplo: Sea c el compuesto P(x) ^ Q(x)
    OP[c] = ^           ARGS[c] = [P(x), Q(x)]
Guardar y Recoger
           Estrategia de
           búsqueda de
           PREGUNTAR

                            Costo de
                            cómputo
                              de la
                           inferencia
           Estructuras
           de datos de
           RECOGER




  Ejemplo: DECIR(BC, A ^ ~B)
            DECIR(BC, ~C ^ D)
      BC = [A, ~B, ~C, D]
Indización Basada en Tablas
Indización Basada en Tablas
Ejemplo:
  Hermano(Ricardo, Juan)
  Hermano(Eduardo, Jaime) ^ Hermano(Jaime, Roberto)
  ~Hermano(Ana, Samuel)
  Hermano(x, y) ==>Masculino(x)
  Hermano(x, y) ^ Masculino(y) ==> Hermano(y, x)
  Masculino(Jaime) ^ Masculino(Eduardo) ^ … ^ ~Masculino(Ana) ^ …

    Clave            Positivo               Negativo            Conclusión          Premisa

                                                                               Hermano(x, y) ^
                                                                               Masculino(y) =>
              Hermano(Ricardo, Juan)                        Hermano(x, y) ^
                                                                               Hermano(y, x)
  Hermano     Hermano(Ted, Jack)       ~Hermano(Ann, Sam)   Masculino(y) =>
              Hermano(Jack, Bobbie)                         Hermano(y, x)      Hermano(x, y) =>
                                                                               Masculino(x)
              Masculino(Jack)                                                  Hermano(x, y) ^
                                       ~Masculino(Ann)      Hermano(x, y) =>
  Masculino   Masculino(Ted)                                                   Masculino(y) =>
                                       …                    Masculino(x)
              …                                                                Hermano(y, x)
Indización Basada en Árboles
Ejemplo: Peruano(43684461, x)
Indización Basada en Árboles
Indización Combinada             Indización Cruzada
 Ejemplo:                        Ejemplo:
  Contribuyente(012-34-            RECOGER(Contribuyente(p,
  5678, 02138, 32000, 10)          02138, 20000, 3))


 Consulta:                       Rubros:
  RECOGER(Contribuyente(p, 021     Contribuyente(_, 02138, _, _)
  38, i, 10))                      Contribuyente(_, _, 20000, _)
                                   Contribuyente(_, _, _, 3)
 2ⁿ índices combinados
El Algoritmo deUnificación
funcion UNIFICAR(x, y) responde con una sustitución para hacer que x e y sean
        idénticas, de ser posible
    UNIFICAR-INTERNO(x, y, {})
funcion UNIFICAR-INTERNO(x, y, θ) responde con una sustitución para que x e y
        sean idénticas (tomando como base θ).
    entradas: x, una variable, una constante, una lista o un compuesto
              y, una variable, una constante, una lista o un compuesto
              θ, la sustitución que se haya configurado hasta ese momento
    si θ = falla entonces responder con falla
    o bien, si x = y entonces responder con θ
    o bien, si VARIABLE?(x) entonces responder con UNIFICAR-VAR(x, y, θ)
    o bien, si VARIABLE?(y) entonces responder con UNIFICAR-VAR(x, y, θ)
    o bien, si COMPUESTO?(x) y COMPUESTO?(y) entonces responder con
        UNIFICAR-INTERNO(ARGS[x], ARGS[y], UNIFICAR-INTERNO(OP[x], OP[y], θ))
    o bien, si LISTA?(x) y LISTA(y) entonces responder con
        UNIFICAR-INTERNO(REST[x], REST[y], UNIFICAR-INTERNO(PRIMERO[x],
                PRIMERO[y], θ))
    o bien, responder falla
función UNIFICAR-VAR(var, x, θ) responde con una sustitución
    entradas: var, una variable
              x, cualquier expresión
              θ, la sustitución construida hasta ese momento
    si {var/val} θ entonces responder con UNIFICAR-INTERVALO(val, x, θ)
    o bien, si {x/val} θ entonces responder con UNIFICAR-INTERNO(var, val, θ)
    o bien, si var esta presente en alguna parte de x /* verificar */
        entonces responder con falla
    o bien, responder con sumar {x/var} a θ
Sistemas de Programación Lógicos
 La programacion lógica considera al programa y a sus entradas como
  aseveraciones lógicas acerca del mundo, y al procedimiento de hacer
  explícitas las consecuencias como un proceso de inferencia.
 La relación entre lógica y algoritmo esta resumida en la ecuación de
  Robert Kowalski:
                       Algoritmo = Lógica + Control
 Los lenguajes de programacion permiten escribir algoritmos al
  complementar las oraciones lógicas con información para control del
  procedimiento de inferencia.
 Prolog ha sido hasta ahora el lenguaje de programacion lógica que
  más se ha utilizado para lo anterior. Sus usuarios ascienden a cientos
  de miles. Se le utiliza fundamentalmente como un lenguaje rápido
  para elaborar prototipos y en tareas donde hay que manejar
  signos, como en el diseño de compiladores y en el análisis gramatical
  del lenguaje natural. También se le ha utilizado en el diseño de
  aplicaciones de sistemas expertos en las áreas legal, financiera y
  otras.
El Lenguaje Prolog
En cuanto base de conocimientos lógica, el programa
Prolog tiene las siguientes características:
 El programa consta de una secuencia de oraciones, que guardan una
    relación implícita de coyuncion. Todas las variables tienen
    cuantificación universal implícita y cuando las variables aparecen en
    oraciones distintas se consideran como diferentes.
   Se aceptan únicamente oraciones en forma de clausula de Horm. Es
    decir, las oraciones son atómicas, o bien una implicación que no tiene
    antecedentes negados y un consecuente atómico.
   Los términos pueden ser signos de constante, variables o términos
    funcionales.
   En una consulta puede haber conjunciones, disyunciones, variables y
    términos funcionales.
   En vez de utilizar antecedentes negados en sus implicaciones, en
    Prolog se emplea un operador de negación como falla: una meta no P
    se considera demostrada si el sistema no logra demostrar P.
El Lenguaje Prolog
 Se cuenta con una gran cantidad de predicados incorporados
  para aritmética, de entrada/salida y diversas funciones del
  sistema y de la base de conocimientos. En la notación de
  Prolog ,la meta X es 4+3 se alcanza cuando X se vincula a 7.
  Por el contrario, no es posible demostrar la meta 5 es X+Y,
  puesto que las funciones integradas no tienen facultad para la
  resolución arbitraria de ecuaciones.
 El siguiente es un ejemplo del empleo del programa Prolog en
  la relación Miembro, expresados ambos en notación normal
  de lógica de primer orden y en formato que utiliza Prolog:
El Lenguaje Prolog
 Representación correspondiente a Prolog el consecuente o cabeza, esta
  del lado izquierdo; los antecedentes o cuerpo, a la derecha. Una clausula
  en Prolog se leería como “Para demostrar (la cabeza), demuestre (el
  cuerpo)”.
 Con el fin de mantener este tipo de lectura intuitiva junto con nuestra
  notación lógica, nos comprometeremos a escribir las clausulas de Prolog
  empleando una implicación en sentido izquierdo. Por ejemplo, la segunda
  clausula de la definición de Miembro se convierte en:




 La definición de Miembro puede servir para responder a diversos tipos de
   consultas. Puede utilizarse para confirmar que es verdadera. Además
   puede enumerar los tres valores de x que hagan verdadera a . También
   pueden buscar el valor de x tal que es verdadera. También puede servir
   para enumerar las listas para las cuales es verdadera.
Implantación
 Los diseñadores de Prolog realizaron su implantación con el fin
  de contar con un modelo sencillo y de rápida ejecución:
    Todas las inferencias se realizan por encadenamiento hacia atrás, con
     búsqueda preferente por profundidad. Es decir cuando en el proceso
     de demostración de una oración se tope con un callejón sin salida,
     Prolog retrocederá al paso inmediato anterior que ofrezca opciones.
    El orden de búsqueda a través de los conjuntos de un antecedente es
     siempre de izquierda a derecha, y las clausulas de la base de
     conocimientos se aplican en orden, de la primera a la ultima.
    La verificación de ocurrencia se omite en la rutina de unificación.

 Aunque la omisión de la verificación de ocurrencia podría restar
  confiabilidad a Prolog, en la practica los errores se producen
  muy rara vez. El empleo de la búsqueda preferente por
  profundidad no permite a Prolog ser completo, debido a las
  rutas infinitas que crean las oraciones circulares.
Implantación
 Los programadores deberán tener presente las grande ventajas de
  Prolog es que el modelo de ejecución es lo suficientemente sencillo
  como para que un programador con la capacitación necesaria pueda
  incorporar información de control y producir así un programa
  eficiente.
 La ejecución de un programa Prolog se realiza de dos maneras: por
  interpretación y por compilación.
 La primera consiste en que en vez de construir la lista de todas las
  respuestas posibles para cada submeta, antes de proceder con la
  siguiente, los intérpretes de Prolog generan una respuesta y una
  “promesa” para generar el resto una vez que la respuesta en cuestión
  haya sido explorada totalmente. A esta promesa se le denomina punto
  de elección. Una vez que la búsqueda preferente por profundidad
  concluye su exploración de las posibles soluciones aportadas por la
  respuesta en cuestión y retrocede al punto de elección, este se
  expande para producir así una nueva respuesta para la submeta y el
  nuevo punto de elección.
 Esta manera de proceder permite ahorrar tiempo y espacio.
La Segunda
 La Sencilla implantación del ENACADENAMIENTO-HACIA-ATRÁS
  invierte bastante tiempo en la generación de sustituciones y en
  aplicarlas a las listas de consulta. Prolog elimina la necesidad de un
  tipo de datos de sustitución al implementar variables lógicas capaces
  de recordar su vinculación actual. En todo instante, las variables de un
  programa están vinculadas o desvinculadas a cierto valor. En
  conjunto, tales variables y valores definen de manera implícita una
  sustitución.
 Desde luego, se produce solo una sustitución a la vez, pero no
  necesitamos más. La sustitución es la correcta para la ruta actual en el
  árbol de búsqueda. La ampliación de la ruta solo puede añadir nuevas
  vinculaciones de variables, puesto que si se intentara añadir una
  vinculación distinta a una variable que ya este vinculada, dará como
  resultado una falla en la unificación. Si llegara a fallar una ruta de la
  búsqueda, Prolog retrocederá a un punto de elección previo, y
  posiblemente allí deba desvincular algunas variables. Para ello, es
  necesario que lleve un registro de todas las variables vinculadas en
  una pila que se conoce con el nombre de pista.
Compilación de Programas Lógicos
 Toda la parte medular, para trabajo pesado, de la
  programación de Prolog se realiza mediante código
  compilado. La gran ventaja de la compilación es que
  cuando llega el momento de ejecutar el
  procedimiento de inferencia, se utilizan rutinas de
  inferencia específicamente diseñadas para las
  oraciones de la base de conocimientos. Prolog
  básicamente lo que hace es generar un demostrador
  de teoremas en miniatura para cada predicado
  diferente, con lo que se elimina mucho del exceso de
  interpretación. También permite la codificación
  abierta de la rutina de unificación por cada
  invocación distinta, lo que ahorra el tener que
  analizar explícitamente la estructura de los términos.
Otros Lenguajes de Programación Lógica
 Si bien Prolog es la norma aceptada en la programación lógica, existen
  muchos otros sistemas bastante útiles que básicamente lo que hacen es
  ampliar de una u otra manera el modelo fundamental de Prolog.
 Resulta obvio emprender la exploración de Prolog a través del paralelismo de
  Prolog a través del paralelismo. La primera, conocida como paralelismo-
  O, surge de la posibilidad de que una meta unifique con diversas y diferentes
  literales e implicaciones de la base de conocimientos. Cada una de ellas
  produce una rama independiente en el espacio de búsqueda y es susceptible
  de generar una solución potencial; todas estas ramas pueden ser resueltas en
  paralelo. La segunda, conocida como paralelismo-Y, proviene de la posibilidad
  de resolver cada uno de los coyuntos del cuerpo de una implicación en
  paralelo. El paralelismo Y es mas difícil de lograr, puesto que las soluciones de
  toda la conjución exigen la vinculación consistente de todas las variables. Cada
  rama conjuntiva debe comunicarse con las otras ramas para garantizar asi una
  solución global.
 Son muchos los proyectos que han tenido éxito en el logro de cierto grado de
  inferencia paralela, pero el mas avanzado quizá sea el proyecto PIM (Parallel
  Interfence Machine, Maquina de inferencia paralela), parte del proyecto
  Sistemas de Computo Quinta Generación, de Japón. PIM ha logrado alcanzar
  velocidades de hasta 64 millones de ILPS.
Recursos Avanzados deControl
 Regresando a nuestra base de conocimientos censal, tomemos por
  ejemplo la consulta “¿Cuál es el ingreso de la esposa del presidente” Lo
  anterior se expresaría en Prolog de la manera siguiente:
        Ingreso(s, i) ^ Casado(s, p) ^ Ocupación (p, Presidente)
 El cómputo de esta consulta podría resultar costoso, puesto que hay
  que enumerar todos los pares de ingreso de las personas, luego
  recoger el cónyuge correspondiente a cada persona (excepto en el
  caso de los que no están casados, o dar varias vueltas cuando alguien
  ha estado casado varias veces) y por ultimo buscar en las personas
  cuya ocupación ha sido la de presidente. Para responder con eficiencia
  a consultas conjuntivas como ésta, muchas veces es mejor dedicar
  previamente cierto tiempo a reorganizar los coyuntos, lo que
  disimulara el tiempo necesario de cómputo. En el caso de esta
  consulta, seria mejor ordenarla como sigue:
       Ocupación (p, Presidente) ^ Casado(s, p) ^ Ingreso(s, i)
 Se obtendría la misma respuesta, pero sin ninguna
  regresión, suponiendo que los predicados Ocupación y Casado se
  están indizando mediante su respectivo segundo argumento.
Recursos Avanzados deControl
 Este procedimiento de reordenamiento es un ejemplo de meta
  razonamiento, o del razonamiento acerca del razonamiento.
  Como en el caso de la búsqueda por satisfacción de
  restricciones, la heurística que estamos empleando para la
  ordenación de los coyuntos consiste en colocar en primer lugar
  aquellos con más restricciones. En este caso es evidente que
  solo una p satisface Ocupación (p, Presidente), pero no siempre
  es igual de fácil anticipadamente predecir cuantas soluciones
  habrá para un predicado. Y, aun si lo fuera, no seria practico
  probar todas las n. Permutaciones de una conjunción de n
  lugares, cuando tal n es grande. Lenguajes como MRS permite
  al programador escribir meta reglas para decidir que coyuntos
  son los que hay que probar primero. Por ejemplo el usuario
  podría definir una regla en donde se afirme que la meta que
  implica menos variables es la que debe probarse primero.
Recursos Avanzados deControl
 En algunos sistemas, en vez de reordenar los coyuntos, se
   modifica la manera como se efectúa la reversión. Por ejemplo, si
   se desea encontrar a todas aquellas personas x que vengan de
   un mismo poblado en calidad de presidente. Un ordenamiento
   ineficiente de esta consulta seria:
 Residente (p, ciudad) ^ Residente(x, ciudad) ^ Ocupación (p, Presidente)

 En Prolog se intentaría resolver lo anterior mediante la
   enumeración de todos los residentes p de cualquier población,
   luego enumerar todos los residentes c de dicha población y
   luego verificar si p es el presidente. Cuando la meta Ocupación
   (p, Presidente) falla, Prolog regresa al punto de elección mas
   reciente, que es la meta Residente(x, población). A esto se le
   conoce como reversión cronológica; si bien es sencilla, a veces
   resulta ineficiente. Es evidente que el generar una nueva x de
   nada servirá para que p ¡se convierta en presidente!
Recursos Avanzados deControl
 Mediante la técnica de salto reversivo se evita tener que hacer
  repeticiones inútiles. En este problema en particular, mediante
  el salto reversivo se retrocede dos pasos hasta llegar a Residente
  (p, poblado) y se genera una nueva vinculación para p. El
  determinar donde dar el salto reversivo durante la compilación
  no es difícil para un compilador que conserva información sobre
  el flujo de datos. A veces, además del salto reversivo a un sitio
  razonable, el sistema guarda la combinación de variables que
  causaron el ir a un callejón sin salida, con el fin de no repetirlas
  nuevamente en otra rama de la búsqueda. A lo anterior se le
  conoce como reversión dirigida por dependencia. En la
  práctica, la cantidad que implica el almacenamiento de todos los
  callejones sin salida resulta excesivamente grande, como en el
  caso de la búsqueda heurística, muchas veces la memoria es una
  restricción más importante que la del tiempo. En la practica, son
  mas los sistemas de salto reversivo que los sistemas dirigidos
  por dependencia.
Demostradores deTeoremas
 Los demostradores de teoremas (conocidos también
  como razonadores automatizados) se diferencian en
  dos aspectos de los lenguajes de programación
  lógica. En primer lugar, la mayoría de los lenguajes de
  programación lógicos sólo manejan clausulas de
  Horn, en tanto que los demostradores de teoremas si
  aceptan la lógica de primer orden. En segundo
  lugar, los programas de Prolog combinan lógica y
  control. El que un programador escoja entre escribir
  A  B ^ C en vez de, A  C ^ B afectará la ejecución
  del programa. En el caso de los demostradores de
  teoremas, el usuario puede utilizar cualquiera de las 2
  anteriores y los resultados serán exactamente los
  mismos.
Diseño de un Verificador deTeoremas (OTTER)

   Un conjunto de cláusulas conocido como conjunto de
    apoyo.
   Un conjunto de axiomas utilizables que no pertenezcan
    al conjunto de apoyo.
   Un conjunto de ecuaciones conocido como
    reelaboraciones o demoduladores.
   Un conjunto de parámetros y cláusulas que definen la
    estrategia de control.
 OTTER opera mediante la resolución continua de
  un elemento del conjunto de apoyo
  comparándolo con uno de los axiomas utilizables.
Algoritmo (OTTER)
procedimiento OTTER(sos, usable)
    entradas: sos, un conjunto de apoyo –clausulas que definen el problema
                  (una variable global)
              usable, conocimiento previo potencialmente relevante al
                  problema
    repetir
        clausula  el miembro mas ligero de sos
        mover clausula de sos a usable
        PROCESS(INFER(clausula, usable), sos)
    hasta sos = [] o ha sido encontrada una refutación

funcion INFER(clausula, usable) devuelve clausulas
    resolver clausula con cada miembro de usable
    devuelve la clausula resultante después de aplicar FILTER

procedimiento PROCESS(clausula, sos)
    para cada clausula en clausulas hacer
        clausula SIMPLIFY(clausula)
        intercalar literales idénticas
        descartar clausula si esta es una tautología
        sos  [clausula | sos]
        si clausula no tiene literales entonces
            se ha encontrado una refutación
        si clausula tiene una literal entonces
            buscar una unidad de refutación
    fin
Ampliación de Prolog
 En el DTTP son cinco los cambios más importantes
  que se efectuaron a Prolog para devolverle integridad
  y expresividad.
   La verificación de ocurrencia se devolvió a la rutina de
      unificación con el fin de hacerla más sólida.
     La búsqueda preferente por profundidad se sustituye por
      una búsqueda de profundización iterativa.
     Aceptar y literales negadas.
     Una cláusula que conste de n átomos se guarda en n reglas
      distintas.
     La inferencia se completa por la adición de la regla de
      resolución de entrada lineal, se trata de un razonamiento
      por contradicción.
Aplicaciones Prácticas
 SAM
 AURA
 BOYER – MOORE
 OTTER
Sistemas de Producción por
Encadenamiento Hacia Adelante
 Se aplica a la base de conocimientos reglas de
  inferencia, lo que producen nuevas
  aseveraciones. Éste procedimiento se repite
  indefinidamente, o hasta que se logra satisfacer
  cierto criterio de paro. Éste procedimiento es
  adecuado en el diseño de un agente: en cada
  ciclo, se incorporan las percepciones a la base de
  conocimientos y se ejecuta el encadenamiento
  hacía adelante, el cual elige qué acción realizar de
  acuerdo con un conjunto de reglas condición –
  acción.
Características de un Sistema de Producción
 El sistema mantiene una base de conocimiento
    conocida como memoria de trabajo.
   El sistema mantiene también una memoria de
    reglas independiente.
   En cada ciclo, el sistema calcula el subconjunto de
    reglas cuyo lado izquierdo se satisface con el
    contenido actual de la memoria de trabajo.
   El sistema decide entonces cuál de la reglas se va
    a ejecutar.
   El paso final de cada ciclo consiste en ejecutar las
    acciones de las reglas elegidas.
Fase deCotejo
 La unificación enfrenta el problema del cotejo de un par
  de literales, cada una de las cuales puede contener
  variables.
 El algoritmo rete empleado en el sistema de producción
  OPS – 5 fue el primero en abordar seriamente este
  problema.
 Supongamos que tenemos la siguiente memoria de
  reglas:



 Y la siguiente memoria de trabajo:
              {A(1), A(2), B(2), B(3), B(4), C(5)}
Fase deCotejo




 Una de las ventajas más obvias de la red rete es
  que elimina la duplicación en las reglas. Las tres
  reglas empiezan por una conjunción de A y B, y la
  red permite compartir esa parte.
Fase deSolución deConflictos
 Alguna de las estrategias que sean utilizados son
  la siguiente:
   No duplicación
   Novedad
   Especificidad
   Prioridad de operación
 Aplicaciones prácticas
   XCON
   ACT
   SOAR
Sistemas de Marco y Redes Semánticas

 Actualmente se acepta que toda red semántica o
  sistema de cuadro también puede definirse como
  oraciones de una lógica, y la mayoría está de acuerdo
  en que ésta sea la lógica de primer orden. Lo
  importante en todo lenguaje de representación
  reside en la comprensión de la semántica y en la
  teoría de la demostración; los detalles de la sintaxis
  son menos importantes.
 El que en lenguaje se utilicen cadenas Onadas y
  vínculos, y el que se le llame red semántica o
  lógica, es irrelevante para su significado o para su
  implantación.
Sistemas de Marco y Redes Semánticas

 La comprensión de algunas cosas se facilita
  mediante la notación gráfica; algunas otras son
  más claras cuando aparecen como cadenas de
  caracteres. Afortunadamente , no es necesario
  decidirse en definitiva por una u otra; el
  profesional en IA diestro es capaz de traducir en
  ambos sentidos las notaciones y elige aquella que
  mejor se adapta a sus necesidades del momento;
  lo que no puede es obtener intuiciones de otras
  notaciones.
Sistemas de Marco y Redes Semánticas
Además del atractivo de esos bonitos diagramas nodo-
vinculo, las redes semánticas han tenido aceptación por
la misma razón que Prolog se usa más que los
demostradores de teoremas de lógica de primer orden:
porque el modelo de ejecución de la mayoría de los
formalismos de la red semántica es muy sencillo.
Aunque un, programador llegue a construir una red
muy grande, aún así puede hacerse una buena idea de
qué consultas pueden ser eficientes, puesto que :
  Es fácil visualizar los pasos que se darán en el
   procedimiento de inferencia y
  Porque el lenguaje de la consulta es tan sencillo que
   impide formular consultas complicadas.
Sintaxis y Semántica de las Redes Semánticas
En las redes semánticas la atención está puesta en las
categorías de los objetos y las relaciones que existen entre
éstos. En ellas es muy natural establecer vínculos como:


Para afirmar que los gatos son mamíferos. Desde luego, se
trata de una forma sencilla de expresar la oración lógica


Pero cuando las redes semánticas se utilizaron por vez
primera en IA (alrededor de 1961). Este tipo de expresión no
gozaba de aceptación generalizada; se pensaba que para
utilizar la lógica era necesario escribir:
Sintaxis y Semántica de las Redes Semánticas

 Y que producía una respetuosa intimidación. Se
  consideraba también que no daba lugar a
  excepciones, en tanto que era una expresión más
  benevolente.
 Ahora se reconoce que la semántica es más
  importante que la notación.
 En la figura siguiente diapositiva se ofrece un
  ejemplo de una red basada en marco típica, y una
  traducción de la red en lógica de primer orden. Esta
  red puede servir para responder a la pregunta:
           quot;¿Cuántas piernas tiene Opus?“.
Herencia con Excepciones
                        Animales
                                T
                       Vivo
                       Moscas   F



                                     Mamíferos
         Pájaros
                   2
       Piernas                      Piernas    4
       Moscas      T
      Conjunt




                                    Conjunt
       Sub




                                     Sub
        o




                                      o
        Pingüinos                      Gatos        Murciélagos
                                                    Piernas 2
       Moscas      F
                                                    Moscas       T
                                     Miembr




                                                    Miembr
        Miembr




                                       o




                                                      o
          o




          Opus                        Memo            Pat
       Nombre: Opus                 Nombre: Bill   Nombre: Pat
       Amigo                        Amigo


                                                       (b) Traducción o lógica de primer orden
         (a)Una base de conocimientos
               basada en marco
Herencia con Excepciones
 Como vimos en el capitulo anterior, las clases naturales están llenas de
  excepciones. En la figura pasada(base de conocimientos basadas en
  cuadro) se afirma que los mamíferos tienen cuatro piernas, pero
  también se afirma que los murciélagos, que lambien son
  mamíferos, tienen dos piernas. De acuerdo con la semántica lógica
  directa, lo anterior es una contradicción.
 Para resolver el problema, se modifica la traducción semántica de un
  vinculo R que está dentro de una caja, de A a B para indicar así que
  todos los miembros de A deben tener una relación R con B a menos
  que exista una A' para lo cual Rel(R, A’, B').
 De esta manera, en la figura pasada se afirmará, sin dar lugar a
  contradicciones, que los murciélagos tienen dos piernas, no cuatro.
  Observe que Rel(R, A, B) ya no significa que todas las A están
  relacionadas con B mediante R;sino que B es el valor por omisión de la
  relación R para los miembros de A; pero los valores por omisión
  pueden resultar invalidados por alguna otra información.
Tipos deVínculos Estándar
Tipo de Vínculo   Semántica   Ejemplo
Herencia Múltiple
 En algunos sistemas de redes semánticas existe la
  herencia múltiple, es decir, cuando un objeto
  pertenece a más de una categoría, y por tanto,
  hereda propiedades de varias rutas. En algunos
  casos esto opera sin mayor problema. Por ejemplo,
  algunas personas podrían pertenecer tanto a las
  categorías de Multimillonario como a la de
  JugadorDePolo, en cuyo caso podemos inferir que
  son ricos y que pueden montar un caballo. Sin
  embargo, puede suceder que dos rutas de herencia
  produzcan respuestas conflictivas. En siguiente
  figura se muestra un ejemplo de una dificultad
  semejante.
Herencia Múltiple                    Animado



                           Personaje de           Pingüino                  Graznidos
Lenguaje   Vocalización                                      Vocalización
                          la tira cómica
 verbal




                                           Opus
  Opus es un pingüino, por lo que sólo quot;emitequot; graznidos. Opus
    es un personaje de una tira cómica, por lo tanto habla en
    español. En la sencilla traducción lógica presentada antes,
    podríamos haber inferido las dos conclusiones, las que, con el
    apropiado conocimiento de base, nos habría hecho llegar a
    una contradicción. Sin información adicional que indique
    cierta preferencia por una ruta, no hay manera de resolver el
    conflicto.
Herencia y Cambio
 Las bases de conocimiento no son de mucha utilidad para los agentes
  a menos que exista la posibilidad de ampliarlas. Los sistemas basados
  en la lógica de primer orden se valen de DECIR para incorporar una
  nueva oración a la base de conocimientos y, además, se cuenta con la
  propiedad dela mono tonicidad: si P se deduce de BC, entonces
  también se aumenta por DECIR(BC,S). Es decir:


 La herencia que no tiene excepciones se considera no monotónica. en
  la red semántica de la que hemos visto se deduce que Memo tiene
  cuatro piernas; pero, si se incorpora la nueva aseveración Rel(Piernas.
  Gatos. 3), ya no se cumple que Memo tiene cuatro piernas. Hay dos
  métodos para resolver lo anterior. Primero, cambiar de lógica de
  primer orden a lógica no monotónica, que explícitamente maneja
  valores por omisión. En la lógica monotónica se puede afirmar que una
  proposición P debe ser considerada como verdadera hasta que
  mediante evidencia adicional se demuestre que P es falsa.
Implantación de Redes Semánticas
 Una vez definido el significado de nuestras redes,
  podemos proceder a implantar la red. Desde luego
  que es posible implantarla mediante un demostrador
  de teoremas o con un lenguaje de programación
  lógica, lo que en algunos casos es la mejor opción.
  Sin embargo, en el caso de redes cuya semántica es
  sencilla, es posible utilizar una implantación más
  directa. El nodo de una red se representa mediante
  una estructura de datos, en la que hay campos para
  las conexiones taxonómicas básicas: de qué
  categorías se es miembro, qué elementos contiene,
  cuáles son los subconjuntos y supraconjunlos
  inmediatos. También cuenta con campos para otras
  relaciones en las que participa.
Expresividad de las Redes Semánticas
 Las redes de las que hemos hablado hasta ahora
  están excesivamente limitadas en cuanto a su
  expresividad. Por ejemplo, no es posible
  representar una negación (Opus no anda en
  bicicleta), una disyunción (Opus aparece tanto en
  el Times como en el Dispatch), ni una
  cuantificación (todos los amigos de Opus son
  personajes de tira cómica). Este tipo de
  construcciones son fundamentales en muchos
  dominios.
¿Qué nos pueden ofrecer las redes semánticas a
cambio de la falta de expresividad?
 Son capaces de capturar la información de herencia de
  manera modular; además, su sencillez facilita mucho su
  comprensión. La tercera ventaja es su eficiencia: puesto
  que la inferencia se efectúa al seguir vínculos, en vez de
  recuperar oraciones de una base de conocimientos y
  realizar unificaciones, necesitan de sólo unos cuantos
  ciclos de máquina por paso de inferencia. Pero si
  observamos el tipo de cálculos realizados por los
  programas Prolog, nos daremos cuenta de que no hay
  mucha diferencia. Un programa Prolog compilado para
  un conjunto de oraciones de subconjunto y de
  membrecía de conjunto, combinadas con las
  propiedades generales de las categorías, realizan los
  mismos cálculos de una red semántica.
Lógicas para la Descripción
 Están diseñadas para concentrarse en categorías
  y sus definiciones. Constituyen un medio
  modernamente complejo para definir categorías
  en función de relaciones existentes, con mucha
  mayor expresividad de los lenguajes de red
  semánticos típicos.
 Principales Tareas:

   Subsuposición

   Clasificación
Lógicas para la Descripción
 El lenguaje CLASSIC es un ejemplo típico de una
  lógica de descripción
Lógicas para la Descripción
 Por ejemplo, para expresar que los solteros son
  adultos que no están casados, escribiríamos:

 El equivalente de lo anterior en lógica de primer
  orden seria:

 La lógica de la descripción permite efectuar
  operaciones lógicas directas en los predicados, en
  vez de tener que crear primero oraciones que se
  unen mediante conectores.
Lógicas para la Descripción
 En CLASSIC, para describir el conjunto de
  hombres que por lo menos tengan tres
  hijos, estén desempleados y cuya esposa es
  doctora, y que además tengan como máximo dos
  hijas, ambas profesoras de física o química
  escribíamos:

  Y(Hombre, PorLoMenos(3, Hijos), CuantoMas(2, Hijas)),
      Todos(Hijo, Y(Desempleado, Casado, Todos(Esposa, Doctora))),
      Todos(Hija, Y(Profesora, Satisface(Departamento, Fisica, Quimica)))
Lógicas para la Descripción
 El énfasis en la lógica de descripciones, es
  garantizar que la prueba de subsuposición pueda
  ser resuelta en un tiempo que sea una función
  polinómica del tamaño de la descripción del
  problema.

      El lenguaje CLASSIC satisface esta
    condición y hasta la fecha, es el lenguaje
     mas completo que es capaz de hacerlo.
Aplicaciones Práctica de la Lógicas de
Descripción
   Administración Financiera


   Interfaces de Bases de Datos


   Sistemas de Información de Software


 A la gradual ampliación de la clase de lenguajes tratables
  y una mejor comprensión de qué tipo de estructuras
  causan la intratabilidad, la eficiencia LD de sistemas
  lógicos ha mejorado notablemente.
Manejo de
Retractaciones, Suposiciones y
 La mayoría de
Explicaciones los sistemas de razonamiento
  lógico, independientemente de cómo se les
  haya implantado, guardan relación con
  RETRACTAR.
 Deseamos tener capacidad para retractar una
  oración de la BC sin introducir inconsistencia
  alguna, y que la interacción con la BC sea
  eficiente.
Manejo de Retractaciones,
Suposiciones y Explicaciones
 Primero, es importante diferenciar entre
  RETRACTAR (BC, P) y DECIR (BC, ~P).
 En segundo lugar, si el sistema realiza algún
  encadenamiento hacia delante, RETRACTAR
  tiene más trabajo que realizar.
 Al procedimiento que consiste en llevar un
  control de qué proposiciones adicionales hay
  que retractar cuando se retracta P se le
  conoce como mantenimiento de la verdad.
Sistema de mantenimiento de la verdad
(SMV)
 Es un programa que lleva el control de las
  dependencias presentes entre las oraciones con
  el fin de hacer más eficiente la retractación.
 Un sistema SMV realiza 4 funciones:

   Primero: Permite la reversión controlada por
   dependencia

   Segundo: Ofrecer explicaciones de las
   proposiciones.
Sistema de mantenimiento de la verdad
(SMV)
 Si se pregunta “Explique por qué considera que P
  es verdad”, la prueba de P será una buena
  explicación.
 Por ejemplo, Si preguntamos: “Explique por qué
  no arranca el carro”.
 Una buena explicación sería: “Si damos por
  hecho que el auto tiene combustible, que éste
  llega a los cilindros, entonces la ausencia de
  actividad que se ha observado demuestra que
  debe haber una falla en el sistema eléctrico”.
Sistema de mantenimiento de la verdad
(SMV)
   Tercero: el razonamiento por omisión
 El decir que Opus es un pingüino no sanciona la
  inferencia irrefutable de que Opus tiene dos
  piernas, puesto que toda información adicional
  sobre Opus invalidaría la creencia deducida.
 Un SMV puede deducir la explicación de que
  Opus, en cuanto que es un pingüino, tiene dos
  piernas siempre y cuando no sea un pingüino
  anormal.
Sistema de mantenimiento de la verdad
(SMV)
 Los SMV ayudan a manejar las inconsistencias. Si
  la incorporación de P a la BC produce una
  contradicción lógica, un SMV es útil para señalar
  la explicación de lo que es la contradicción.
 Existen diversos tipos de SMV:
 El más sencillo es el sistema de mantenimiento
  de la verdad basado en la justificación o SMVJ.
Sistema de Mantenimiento de la Verdad
Basado en la Justificación (SMVJ)
 En cada una de las oraciones de la BC se indica
  cual justificación identifica las oraciones a partir
  de la cual la primera se infirió, si es que existen.

 Ejemplo si Q se infiere mediante Modus Ponens
  de P, el conjunto de oraciones {P, P  Q} serviría
  de justificación de la oración Q.
Sistema de Mantenimiento de la Verdad
Basado en la Justificación (SMVJ)
 En la mayoría de las implantaciones de SMVJ, se
  supone que las oraciones consideradas una vez,
  posiblemente se vuelvan a tomar en
  consideración.
 En vez de eliminar la oración de la BC cuando
  pierde su justificación, se marca la oración como
  fuera de la BC.
 Si una aseveración posterior le devuelve la
  justificación, marcamos la oración como dentro.
Sistema de Mantenimiento de la Verdad
Basado en la Justificación (SMVJ)
 Así, supondremos primero (aseveramos) que el
  auto tiene combustible y que llega a los cilindros.
  A estas oraciones se les etiquetará como dentro.
  Suponiendo que se cuenta con el conocimiento
  de base adecuado, la oración que representa el
  hecho de que el carro no arranca se etiquetará
  como fuera.
 Ahora podemos decir una explicación al SMVJ.
Sistema de Mantenimiento de la Verdad
Basado en Suposiciones (SMVS)
 El tipo más popular es el SMVS (sistema de
  mantenimiento de la verdad basado en
  suposiciones)
 La diferencia reside en que SMVJ representa un
  estado consistente del mundo a la vez.
 SMVS representa todos los estados que se han
  considerado, simultáneamente.
Sistema de Mantenimiento de la Verdad
Basado en Suposiciones (SMVS)
 Mientras que un SMVJ etiqueta cada una de las
  oraciones como dentro o fuera, el SMVS lleva el
  control, por cada oración, de qué suposiciones
  harán que la oración sea verdadera.
 Para resolver problemas mediante SMVS, se
  pueden hacer suposiciones (como Pi o
  “combustible en el auto”) en el orden que
  prefiramos.
Sistema de Mantenimiento de la Verdad
Basado en Suposiciones (SMVS)
 En vez de retractar las suposiciones cuando falla una
  línea de razonamiento, solo afirmamos todas las
  suposiciones que nos interesen, incluso si unas
  contradicen a otras.
 Luego procedemos a verificar una oración en
  particular para definir las condiciones en las que si se
  cumple.
 Una oración en la que uno de sus conjuntos de
  supuestos sea un conjunto vacio es verdadera; por
  no tener ninguna suposición. Una oración que no
  tenga conjuntos de suposición es falsa.
Gracias … totales!!!

Más contenido relacionado

La actualidad más candente

5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.K Manuel TN
 
Ejercicios con bucles repetitivos
Ejercicios con bucles repetitivosEjercicios con bucles repetitivos
Ejercicios con bucles repetitivosJoshe Varillas
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientosaaronastorga4
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserciónAlvaro Enrique Ruano
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Arbol rojo y negro
Arbol rojo y negroArbol rojo y negro
Arbol rojo y negroJuan Bass
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadJosé Antonio Sandoval Acosta
 
Operaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema HexadecimalOperaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema Hexadecimalpafalconi
 

La actualidad más candente (20)

5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Ejercicios con bucles repetitivos
Ejercicios con bucles repetitivosEjercicios con bucles repetitivos
Ejercicios con bucles repetitivos
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Arbol rojo y negro
Arbol rojo y negroArbol rojo y negro
Arbol rojo y negro
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Recorrido de anchura
Recorrido de anchuraRecorrido de anchura
Recorrido de anchura
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstra
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
 
Operaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema HexadecimalOperaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema Hexadecimal
 

Destacado

Inteligencia artificial unidad iii
Inteligencia artificial unidad iiiInteligencia artificial unidad iii
Inteligencia artificial unidad iiiGuadalupe Lopez
 
Tic (4)
Tic (4)Tic (4)
Tic (4)ticuic
 
Modelo actividad
Modelo actividadModelo actividad
Modelo actividadgomez777
 
3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamiento3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamientoHumberto Chalate Jorge
 
Tipos de formas de razonamiento.
Tipos de formas de razonamiento.Tipos de formas de razonamiento.
Tipos de formas de razonamiento.Gustavo Arcila Roy
 
Eje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemáticoEje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemáticoAraMalMarti
 
X RAZONAMIENTO Y TIPOS
X  RAZONAMIENTO Y TIPOSX  RAZONAMIENTO Y TIPOS
X RAZONAMIENTO Y TIPOS25_05_54
 
Unidade 2 As relación de parentesco
Unidade 2 As relación de parentescoUnidade 2 As relación de parentesco
Unidade 2 As relación de parentesconieveslopez
 
3. Representación del conocimiento y razonamiento.
3. Representación del conocimiento y razonamiento.3. Representación del conocimiento y razonamiento.
3. Representación del conocimiento y razonamiento.Humberto Chalate Jorge
 
Banco de preguntas razonamiento lógico 2011
Banco de preguntas  razonamiento lógico  2011Banco de preguntas  razonamiento lógico  2011
Banco de preguntas razonamiento lógico 2011sigherrera
 
El Razonamiento y su clasificación
El Razonamiento y su clasificaciónEl Razonamiento y su clasificación
El Razonamiento y su clasificaciónPablo Flores Cabrera
 
Guía de actividades 2014 i 00 - razonamiento lógico matemático
Guía de actividades 2014 i 00 - razonamiento lógico matemáticoGuía de actividades 2014 i 00 - razonamiento lógico matemático
Guía de actividades 2014 i 00 - razonamiento lógico matemáticoIgnacio Morales
 
Razonamiento Logico.
Razonamiento Logico.Razonamiento Logico.
Razonamiento Logico.Sam Arr
 
Tipos Razonamientos y Relaciones Lógicas
Tipos Razonamientos y Relaciones LógicasTipos Razonamientos y Relaciones Lógicas
Tipos Razonamientos y Relaciones LógicasAlejandro_jm
 
Formas de razonamiento
Formas de razonamientoFormas de razonamiento
Formas de razonamientoMNLLEON1978
 

Destacado (20)

Inteligencia artificial unidad iii
Inteligencia artificial unidad iiiInteligencia artificial unidad iii
Inteligencia artificial unidad iii
 
Sistemas de razonamiento
Sistemas de razonamientoSistemas de razonamiento
Sistemas de razonamiento
 
I ac007
I ac007I ac007
I ac007
 
Tic (4)
Tic (4)Tic (4)
Tic (4)
 
Modelo actividad
Modelo actividadModelo actividad
Modelo actividad
 
Razonamiento lógico ficha
Razonamiento lógico fichaRazonamiento lógico ficha
Razonamiento lógico ficha
 
3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamiento3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamiento
 
Tipos de formas de razonamiento.
Tipos de formas de razonamiento.Tipos de formas de razonamiento.
Tipos de formas de razonamiento.
 
Eje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemáticoEje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemático
 
X RAZONAMIENTO Y TIPOS
X  RAZONAMIENTO Y TIPOSX  RAZONAMIENTO Y TIPOS
X RAZONAMIENTO Y TIPOS
 
Unidade 2 As relación de parentesco
Unidade 2 As relación de parentescoUnidade 2 As relación de parentesco
Unidade 2 As relación de parentesco
 
3. Representación del conocimiento y razonamiento.
3. Representación del conocimiento y razonamiento.3. Representación del conocimiento y razonamiento.
3. Representación del conocimiento y razonamiento.
 
Banco de preguntas razonamiento lógico 2011
Banco de preguntas  razonamiento lógico  2011Banco de preguntas  razonamiento lógico  2011
Banco de preguntas razonamiento lógico 2011
 
Teoría del parentesco: Perú
Teoría del parentesco: PerúTeoría del parentesco: Perú
Teoría del parentesco: Perú
 
Razonamiento matematico
Razonamiento matematicoRazonamiento matematico
Razonamiento matematico
 
El Razonamiento y su clasificación
El Razonamiento y su clasificaciónEl Razonamiento y su clasificación
El Razonamiento y su clasificación
 
Guía de actividades 2014 i 00 - razonamiento lógico matemático
Guía de actividades 2014 i 00 - razonamiento lógico matemáticoGuía de actividades 2014 i 00 - razonamiento lógico matemático
Guía de actividades 2014 i 00 - razonamiento lógico matemático
 
Razonamiento Logico.
Razonamiento Logico.Razonamiento Logico.
Razonamiento Logico.
 
Tipos Razonamientos y Relaciones Lógicas
Tipos Razonamientos y Relaciones LógicasTipos Razonamientos y Relaciones Lógicas
Tipos Razonamientos y Relaciones Lógicas
 
Formas de razonamiento
Formas de razonamientoFormas de razonamiento
Formas de razonamiento
 

Similar a Sistemas de Razonamiento Lógico

Calculo de predicados e inferencias logicas
Calculo de predicados e inferencias logicasCalculo de predicados e inferencias logicas
Calculo de predicados e inferencias logicasRicardo Santaella
 
proceso de inferencia
proceso de inferencia proceso de inferencia
proceso de inferencia Keiber Herrera
 
Instituto universitario tecnologico
Instituto universitario tecnologicoInstituto universitario tecnologico
Instituto universitario tecnologicoReaCarlos19
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosBertha Canaviri
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosBertha Canaviri
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosBertha Canaviri
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosBertha Canaviri
 
Logica de primer orden
Logica de primer ordenLogica de primer orden
Logica de primer ordensamuel viñas
 
Calculo De Proposiciones
Calculo De ProposicionesCalculo De Proposiciones
Calculo De ProposicionesAdan Aguirre
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje Cefrenpedro92
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en clagq
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)Oliver Centeno
 
Deduccion predicados
Deduccion predicadosDeduccion predicados
Deduccion predicadosJacky Leyva
 
Logica de predicados1
Logica de predicados1Logica de predicados1
Logica de predicados1Cesar Mujica
 
Operadores en prolog
Operadores en prologOperadores en prolog
Operadores en prologMarco Sanchez
 

Similar a Sistemas de Razonamiento Lógico (20)

Calculo de predicados e inferencias logicas
Calculo de predicados e inferencias logicasCalculo de predicados e inferencias logicas
Calculo de predicados e inferencias logicas
 
Algebra
AlgebraAlgebra
Algebra
 
proceso de inferencia
proceso de inferencia proceso de inferencia
proceso de inferencia
 
Instituto universitario tecnologico
Instituto universitario tecnologicoInstituto universitario tecnologico
Instituto universitario tecnologico
 
Prolog2010
Prolog2010Prolog2010
Prolog2010
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Guia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntosGuia de practicas de logica y teoria de conjuntos
Guia de practicas de logica y teoria de conjuntos
 
Fbf
FbfFbf
Fbf
 
Logica de primer orden
Logica de primer ordenLogica de primer orden
Logica de primer orden
 
Calculo de Predicados
Calculo de PredicadosCalculo de Predicados
Calculo de Predicados
 
Calculo De Proposiciones
Calculo De ProposicionesCalculo De Proposiciones
Calculo De Proposiciones
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje C
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en c
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)
 
álgebra
álgebraálgebra
álgebra
 
Deduccion predicados
Deduccion predicadosDeduccion predicados
Deduccion predicados
 
Logica de predicados1
Logica de predicados1Logica de predicados1
Logica de predicados1
 
Operadores en prolog
Operadores en prologOperadores en prolog
Operadores en prolog
 

Más de Jonathan Muñoz Aleman

Más de Jonathan Muñoz Aleman (11)

Normalización de las telecomunicaciones en el perú
Normalización de las telecomunicaciones en el perúNormalización de las telecomunicaciones en el perú
Normalización de las telecomunicaciones en el perú
 
La Metodología de Wilson y la Cruz de Malta
La Metodología de Wilson y la Cruz de MaltaLa Metodología de Wilson y la Cruz de Malta
La Metodología de Wilson y la Cruz de Malta
 
Computadores RISC
Computadores RISCComputadores RISC
Computadores RISC
 
Introducción a la Teoría General de Sistemas
Introducción a la Teoría General de SistemasIntroducción a la Teoría General de Sistemas
Introducción a la Teoría General de Sistemas
 
Introducción a la Tecnología Java
Introducción a la Tecnología JavaIntroducción a la Tecnología Java
Introducción a la Tecnología Java
 
Introducción a la Comunidad OSUM
Introducción a la Comunidad OSUMIntroducción a la Comunidad OSUM
Introducción a la Comunidad OSUM
 
Asignación de Probabilidades a Eventos en Simulación de Combate
Asignación de Probabilidades a Eventos en Simulación de CombateAsignación de Probabilidades a Eventos en Simulación de Combate
Asignación de Probabilidades a Eventos en Simulación de Combate
 
TI en el Control de la Gestión
TI en el Control de la GestiónTI en el Control de la Gestión
TI en el Control de la Gestión
 
Auditoría de Redes
Auditoría de RedesAuditoría de Redes
Auditoría de Redes
 
Proyecto Sistema Web EAPISI
Proyecto Sistema Web EAPISIProyecto Sistema Web EAPISI
Proyecto Sistema Web EAPISI
 
Administrador de Tabla de Símbolos
Administrador de Tabla de SímbolosAdministrador de Tabla de Símbolos
Administrador de Tabla de Símbolos
 

Último

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

Sistemas de Razonamiento Lógico

  • 1. Sistemas de Razonamiento Lógico Inteligencia Artificial
  • 2. Agenda  Introducción  Indización, Recuperación y Unificación  Sistemas de Programación Lógicos  Demostradores de Teoremas  Sistemas de Producción por Encadenamiento hacia Adelante  Sistemas de Marco y Redes Semánticas  Lógicas para la Descripción  Manejo de Retractaciones, Suposiciones y Explicaciones
  • 3.
  • 4. Tipos de Problemas Demostradores de teoremas y Sistemas de producción lenguajes de programación lógicos Sistemas de cuadro y Sistemas lógicos por redes semánticas descripción
  • 5. Tareas a Enfrentar DECIR • Incorporar algo nuevo a la BC • Deducir hechos implicados PREGUNTAR • Decidir si una consulta está implicada por la BC • Decidir si una consulta está en la BC
  • 6.
  • 7. Implantación deOraciones y Términos Sintaxis de Representación oraciones interna Definir tipos de oraciones y términos Ejemplo: Sea c el compuesto P(x) ^ Q(x) OP[c] = ^ ARGS[c] = [P(x), Q(x)]
  • 8. Guardar y Recoger Estrategia de búsqueda de PREGUNTAR Costo de cómputo de la inferencia Estructuras de datos de RECOGER Ejemplo: DECIR(BC, A ^ ~B) DECIR(BC, ~C ^ D) BC = [A, ~B, ~C, D]
  • 10. Indización Basada en Tablas Ejemplo: Hermano(Ricardo, Juan) Hermano(Eduardo, Jaime) ^ Hermano(Jaime, Roberto) ~Hermano(Ana, Samuel) Hermano(x, y) ==>Masculino(x) Hermano(x, y) ^ Masculino(y) ==> Hermano(y, x) Masculino(Jaime) ^ Masculino(Eduardo) ^ … ^ ~Masculino(Ana) ^ … Clave Positivo Negativo Conclusión Premisa Hermano(x, y) ^ Masculino(y) => Hermano(Ricardo, Juan) Hermano(x, y) ^ Hermano(y, x) Hermano Hermano(Ted, Jack) ~Hermano(Ann, Sam) Masculino(y) => Hermano(Jack, Bobbie) Hermano(y, x) Hermano(x, y) => Masculino(x) Masculino(Jack) Hermano(x, y) ^ ~Masculino(Ann) Hermano(x, y) => Masculino Masculino(Ted) Masculino(y) => … Masculino(x) … Hermano(y, x)
  • 11. Indización Basada en Árboles Ejemplo: Peruano(43684461, x)
  • 12. Indización Basada en Árboles Indización Combinada Indización Cruzada  Ejemplo:  Ejemplo: Contribuyente(012-34- RECOGER(Contribuyente(p, 5678, 02138, 32000, 10) 02138, 20000, 3))  Consulta:  Rubros: RECOGER(Contribuyente(p, 021 Contribuyente(_, 02138, _, _) 38, i, 10)) Contribuyente(_, _, 20000, _) Contribuyente(_, _, _, 3)  2ⁿ índices combinados
  • 13. El Algoritmo deUnificación funcion UNIFICAR(x, y) responde con una sustitución para hacer que x e y sean idénticas, de ser posible UNIFICAR-INTERNO(x, y, {}) funcion UNIFICAR-INTERNO(x, y, θ) responde con una sustitución para que x e y sean idénticas (tomando como base θ). entradas: x, una variable, una constante, una lista o un compuesto y, una variable, una constante, una lista o un compuesto θ, la sustitución que se haya configurado hasta ese momento si θ = falla entonces responder con falla o bien, si x = y entonces responder con θ o bien, si VARIABLE?(x) entonces responder con UNIFICAR-VAR(x, y, θ) o bien, si VARIABLE?(y) entonces responder con UNIFICAR-VAR(x, y, θ) o bien, si COMPUESTO?(x) y COMPUESTO?(y) entonces responder con UNIFICAR-INTERNO(ARGS[x], ARGS[y], UNIFICAR-INTERNO(OP[x], OP[y], θ)) o bien, si LISTA?(x) y LISTA(y) entonces responder con UNIFICAR-INTERNO(REST[x], REST[y], UNIFICAR-INTERNO(PRIMERO[x], PRIMERO[y], θ)) o bien, responder falla función UNIFICAR-VAR(var, x, θ) responde con una sustitución entradas: var, una variable x, cualquier expresión θ, la sustitución construida hasta ese momento si {var/val} θ entonces responder con UNIFICAR-INTERVALO(val, x, θ) o bien, si {x/val} θ entonces responder con UNIFICAR-INTERNO(var, val, θ) o bien, si var esta presente en alguna parte de x /* verificar */ entonces responder con falla o bien, responder con sumar {x/var} a θ
  • 14.
  • 15. Sistemas de Programación Lógicos  La programacion lógica considera al programa y a sus entradas como aseveraciones lógicas acerca del mundo, y al procedimiento de hacer explícitas las consecuencias como un proceso de inferencia.  La relación entre lógica y algoritmo esta resumida en la ecuación de Robert Kowalski: Algoritmo = Lógica + Control  Los lenguajes de programacion permiten escribir algoritmos al complementar las oraciones lógicas con información para control del procedimiento de inferencia.  Prolog ha sido hasta ahora el lenguaje de programacion lógica que más se ha utilizado para lo anterior. Sus usuarios ascienden a cientos de miles. Se le utiliza fundamentalmente como un lenguaje rápido para elaborar prototipos y en tareas donde hay que manejar signos, como en el diseño de compiladores y en el análisis gramatical del lenguaje natural. También se le ha utilizado en el diseño de aplicaciones de sistemas expertos en las áreas legal, financiera y otras.
  • 16. El Lenguaje Prolog En cuanto base de conocimientos lógica, el programa Prolog tiene las siguientes características:  El programa consta de una secuencia de oraciones, que guardan una relación implícita de coyuncion. Todas las variables tienen cuantificación universal implícita y cuando las variables aparecen en oraciones distintas se consideran como diferentes.  Se aceptan únicamente oraciones en forma de clausula de Horm. Es decir, las oraciones son atómicas, o bien una implicación que no tiene antecedentes negados y un consecuente atómico.  Los términos pueden ser signos de constante, variables o términos funcionales.  En una consulta puede haber conjunciones, disyunciones, variables y términos funcionales.  En vez de utilizar antecedentes negados en sus implicaciones, en Prolog se emplea un operador de negación como falla: una meta no P se considera demostrada si el sistema no logra demostrar P.
  • 17. El Lenguaje Prolog  Se cuenta con una gran cantidad de predicados incorporados para aritmética, de entrada/salida y diversas funciones del sistema y de la base de conocimientos. En la notación de Prolog ,la meta X es 4+3 se alcanza cuando X se vincula a 7. Por el contrario, no es posible demostrar la meta 5 es X+Y, puesto que las funciones integradas no tienen facultad para la resolución arbitraria de ecuaciones.  El siguiente es un ejemplo del empleo del programa Prolog en la relación Miembro, expresados ambos en notación normal de lógica de primer orden y en formato que utiliza Prolog:
  • 18. El Lenguaje Prolog  Representación correspondiente a Prolog el consecuente o cabeza, esta del lado izquierdo; los antecedentes o cuerpo, a la derecha. Una clausula en Prolog se leería como “Para demostrar (la cabeza), demuestre (el cuerpo)”.  Con el fin de mantener este tipo de lectura intuitiva junto con nuestra notación lógica, nos comprometeremos a escribir las clausulas de Prolog empleando una implicación en sentido izquierdo. Por ejemplo, la segunda clausula de la definición de Miembro se convierte en:  La definición de Miembro puede servir para responder a diversos tipos de consultas. Puede utilizarse para confirmar que es verdadera. Además puede enumerar los tres valores de x que hagan verdadera a . También pueden buscar el valor de x tal que es verdadera. También puede servir para enumerar las listas para las cuales es verdadera.
  • 19. Implantación  Los diseñadores de Prolog realizaron su implantación con el fin de contar con un modelo sencillo y de rápida ejecución:  Todas las inferencias se realizan por encadenamiento hacia atrás, con búsqueda preferente por profundidad. Es decir cuando en el proceso de demostración de una oración se tope con un callejón sin salida, Prolog retrocederá al paso inmediato anterior que ofrezca opciones.  El orden de búsqueda a través de los conjuntos de un antecedente es siempre de izquierda a derecha, y las clausulas de la base de conocimientos se aplican en orden, de la primera a la ultima.  La verificación de ocurrencia se omite en la rutina de unificación.  Aunque la omisión de la verificación de ocurrencia podría restar confiabilidad a Prolog, en la practica los errores se producen muy rara vez. El empleo de la búsqueda preferente por profundidad no permite a Prolog ser completo, debido a las rutas infinitas que crean las oraciones circulares.
  • 20. Implantación  Los programadores deberán tener presente las grande ventajas de Prolog es que el modelo de ejecución es lo suficientemente sencillo como para que un programador con la capacitación necesaria pueda incorporar información de control y producir así un programa eficiente.  La ejecución de un programa Prolog se realiza de dos maneras: por interpretación y por compilación.  La primera consiste en que en vez de construir la lista de todas las respuestas posibles para cada submeta, antes de proceder con la siguiente, los intérpretes de Prolog generan una respuesta y una “promesa” para generar el resto una vez que la respuesta en cuestión haya sido explorada totalmente. A esta promesa se le denomina punto de elección. Una vez que la búsqueda preferente por profundidad concluye su exploración de las posibles soluciones aportadas por la respuesta en cuestión y retrocede al punto de elección, este se expande para producir así una nueva respuesta para la submeta y el nuevo punto de elección.  Esta manera de proceder permite ahorrar tiempo y espacio.
  • 21. La Segunda  La Sencilla implantación del ENACADENAMIENTO-HACIA-ATRÁS invierte bastante tiempo en la generación de sustituciones y en aplicarlas a las listas de consulta. Prolog elimina la necesidad de un tipo de datos de sustitución al implementar variables lógicas capaces de recordar su vinculación actual. En todo instante, las variables de un programa están vinculadas o desvinculadas a cierto valor. En conjunto, tales variables y valores definen de manera implícita una sustitución.  Desde luego, se produce solo una sustitución a la vez, pero no necesitamos más. La sustitución es la correcta para la ruta actual en el árbol de búsqueda. La ampliación de la ruta solo puede añadir nuevas vinculaciones de variables, puesto que si se intentara añadir una vinculación distinta a una variable que ya este vinculada, dará como resultado una falla en la unificación. Si llegara a fallar una ruta de la búsqueda, Prolog retrocederá a un punto de elección previo, y posiblemente allí deba desvincular algunas variables. Para ello, es necesario que lleve un registro de todas las variables vinculadas en una pila que se conoce con el nombre de pista.
  • 22. Compilación de Programas Lógicos  Toda la parte medular, para trabajo pesado, de la programación de Prolog se realiza mediante código compilado. La gran ventaja de la compilación es que cuando llega el momento de ejecutar el procedimiento de inferencia, se utilizan rutinas de inferencia específicamente diseñadas para las oraciones de la base de conocimientos. Prolog básicamente lo que hace es generar un demostrador de teoremas en miniatura para cada predicado diferente, con lo que se elimina mucho del exceso de interpretación. También permite la codificación abierta de la rutina de unificación por cada invocación distinta, lo que ahorra el tener que analizar explícitamente la estructura de los términos.
  • 23. Otros Lenguajes de Programación Lógica  Si bien Prolog es la norma aceptada en la programación lógica, existen muchos otros sistemas bastante útiles que básicamente lo que hacen es ampliar de una u otra manera el modelo fundamental de Prolog.  Resulta obvio emprender la exploración de Prolog a través del paralelismo de Prolog a través del paralelismo. La primera, conocida como paralelismo- O, surge de la posibilidad de que una meta unifique con diversas y diferentes literales e implicaciones de la base de conocimientos. Cada una de ellas produce una rama independiente en el espacio de búsqueda y es susceptible de generar una solución potencial; todas estas ramas pueden ser resueltas en paralelo. La segunda, conocida como paralelismo-Y, proviene de la posibilidad de resolver cada uno de los coyuntos del cuerpo de una implicación en paralelo. El paralelismo Y es mas difícil de lograr, puesto que las soluciones de toda la conjución exigen la vinculación consistente de todas las variables. Cada rama conjuntiva debe comunicarse con las otras ramas para garantizar asi una solución global.  Son muchos los proyectos que han tenido éxito en el logro de cierto grado de inferencia paralela, pero el mas avanzado quizá sea el proyecto PIM (Parallel Interfence Machine, Maquina de inferencia paralela), parte del proyecto Sistemas de Computo Quinta Generación, de Japón. PIM ha logrado alcanzar velocidades de hasta 64 millones de ILPS.
  • 24. Recursos Avanzados deControl  Regresando a nuestra base de conocimientos censal, tomemos por ejemplo la consulta “¿Cuál es el ingreso de la esposa del presidente” Lo anterior se expresaría en Prolog de la manera siguiente: Ingreso(s, i) ^ Casado(s, p) ^ Ocupación (p, Presidente)  El cómputo de esta consulta podría resultar costoso, puesto que hay que enumerar todos los pares de ingreso de las personas, luego recoger el cónyuge correspondiente a cada persona (excepto en el caso de los que no están casados, o dar varias vueltas cuando alguien ha estado casado varias veces) y por ultimo buscar en las personas cuya ocupación ha sido la de presidente. Para responder con eficiencia a consultas conjuntivas como ésta, muchas veces es mejor dedicar previamente cierto tiempo a reorganizar los coyuntos, lo que disimulara el tiempo necesario de cómputo. En el caso de esta consulta, seria mejor ordenarla como sigue: Ocupación (p, Presidente) ^ Casado(s, p) ^ Ingreso(s, i)  Se obtendría la misma respuesta, pero sin ninguna regresión, suponiendo que los predicados Ocupación y Casado se están indizando mediante su respectivo segundo argumento.
  • 25. Recursos Avanzados deControl  Este procedimiento de reordenamiento es un ejemplo de meta razonamiento, o del razonamiento acerca del razonamiento. Como en el caso de la búsqueda por satisfacción de restricciones, la heurística que estamos empleando para la ordenación de los coyuntos consiste en colocar en primer lugar aquellos con más restricciones. En este caso es evidente que solo una p satisface Ocupación (p, Presidente), pero no siempre es igual de fácil anticipadamente predecir cuantas soluciones habrá para un predicado. Y, aun si lo fuera, no seria practico probar todas las n. Permutaciones de una conjunción de n lugares, cuando tal n es grande. Lenguajes como MRS permite al programador escribir meta reglas para decidir que coyuntos son los que hay que probar primero. Por ejemplo el usuario podría definir una regla en donde se afirme que la meta que implica menos variables es la que debe probarse primero.
  • 26. Recursos Avanzados deControl  En algunos sistemas, en vez de reordenar los coyuntos, se modifica la manera como se efectúa la reversión. Por ejemplo, si se desea encontrar a todas aquellas personas x que vengan de un mismo poblado en calidad de presidente. Un ordenamiento ineficiente de esta consulta seria: Residente (p, ciudad) ^ Residente(x, ciudad) ^ Ocupación (p, Presidente)  En Prolog se intentaría resolver lo anterior mediante la enumeración de todos los residentes p de cualquier población, luego enumerar todos los residentes c de dicha población y luego verificar si p es el presidente. Cuando la meta Ocupación (p, Presidente) falla, Prolog regresa al punto de elección mas reciente, que es la meta Residente(x, población). A esto se le conoce como reversión cronológica; si bien es sencilla, a veces resulta ineficiente. Es evidente que el generar una nueva x de nada servirá para que p ¡se convierta en presidente!
  • 27. Recursos Avanzados deControl  Mediante la técnica de salto reversivo se evita tener que hacer repeticiones inútiles. En este problema en particular, mediante el salto reversivo se retrocede dos pasos hasta llegar a Residente (p, poblado) y se genera una nueva vinculación para p. El determinar donde dar el salto reversivo durante la compilación no es difícil para un compilador que conserva información sobre el flujo de datos. A veces, además del salto reversivo a un sitio razonable, el sistema guarda la combinación de variables que causaron el ir a un callejón sin salida, con el fin de no repetirlas nuevamente en otra rama de la búsqueda. A lo anterior se le conoce como reversión dirigida por dependencia. En la práctica, la cantidad que implica el almacenamiento de todos los callejones sin salida resulta excesivamente grande, como en el caso de la búsqueda heurística, muchas veces la memoria es una restricción más importante que la del tiempo. En la practica, son mas los sistemas de salto reversivo que los sistemas dirigidos por dependencia.
  • 28.
  • 29. Demostradores deTeoremas  Los demostradores de teoremas (conocidos también como razonadores automatizados) se diferencian en dos aspectos de los lenguajes de programación lógica. En primer lugar, la mayoría de los lenguajes de programación lógicos sólo manejan clausulas de Horn, en tanto que los demostradores de teoremas si aceptan la lógica de primer orden. En segundo lugar, los programas de Prolog combinan lógica y control. El que un programador escoja entre escribir A  B ^ C en vez de, A  C ^ B afectará la ejecución del programa. En el caso de los demostradores de teoremas, el usuario puede utilizar cualquiera de las 2 anteriores y los resultados serán exactamente los mismos.
  • 30. Diseño de un Verificador deTeoremas (OTTER)  Un conjunto de cláusulas conocido como conjunto de apoyo.  Un conjunto de axiomas utilizables que no pertenezcan al conjunto de apoyo.  Un conjunto de ecuaciones conocido como reelaboraciones o demoduladores.  Un conjunto de parámetros y cláusulas que definen la estrategia de control.  OTTER opera mediante la resolución continua de un elemento del conjunto de apoyo comparándolo con uno de los axiomas utilizables.
  • 31. Algoritmo (OTTER) procedimiento OTTER(sos, usable) entradas: sos, un conjunto de apoyo –clausulas que definen el problema (una variable global) usable, conocimiento previo potencialmente relevante al problema repetir clausula  el miembro mas ligero de sos mover clausula de sos a usable PROCESS(INFER(clausula, usable), sos) hasta sos = [] o ha sido encontrada una refutación funcion INFER(clausula, usable) devuelve clausulas resolver clausula con cada miembro de usable devuelve la clausula resultante después de aplicar FILTER procedimiento PROCESS(clausula, sos) para cada clausula en clausulas hacer clausula SIMPLIFY(clausula) intercalar literales idénticas descartar clausula si esta es una tautología sos  [clausula | sos] si clausula no tiene literales entonces se ha encontrado una refutación si clausula tiene una literal entonces buscar una unidad de refutación fin
  • 32. Ampliación de Prolog  En el DTTP son cinco los cambios más importantes que se efectuaron a Prolog para devolverle integridad y expresividad.  La verificación de ocurrencia se devolvió a la rutina de unificación con el fin de hacerla más sólida.  La búsqueda preferente por profundidad se sustituye por una búsqueda de profundización iterativa.  Aceptar y literales negadas.  Una cláusula que conste de n átomos se guarda en n reglas distintas.  La inferencia se completa por la adición de la regla de resolución de entrada lineal, se trata de un razonamiento por contradicción.
  • 33. Aplicaciones Prácticas  SAM  AURA  BOYER – MOORE  OTTER
  • 34.
  • 35. Sistemas de Producción por Encadenamiento Hacia Adelante  Se aplica a la base de conocimientos reglas de inferencia, lo que producen nuevas aseveraciones. Éste procedimiento se repite indefinidamente, o hasta que se logra satisfacer cierto criterio de paro. Éste procedimiento es adecuado en el diseño de un agente: en cada ciclo, se incorporan las percepciones a la base de conocimientos y se ejecuta el encadenamiento hacía adelante, el cual elige qué acción realizar de acuerdo con un conjunto de reglas condición – acción.
  • 36. Características de un Sistema de Producción  El sistema mantiene una base de conocimiento conocida como memoria de trabajo.  El sistema mantiene también una memoria de reglas independiente.  En cada ciclo, el sistema calcula el subconjunto de reglas cuyo lado izquierdo se satisface con el contenido actual de la memoria de trabajo.  El sistema decide entonces cuál de la reglas se va a ejecutar.  El paso final de cada ciclo consiste en ejecutar las acciones de las reglas elegidas.
  • 37. Fase deCotejo  La unificación enfrenta el problema del cotejo de un par de literales, cada una de las cuales puede contener variables.  El algoritmo rete empleado en el sistema de producción OPS – 5 fue el primero en abordar seriamente este problema.  Supongamos que tenemos la siguiente memoria de reglas:  Y la siguiente memoria de trabajo: {A(1), A(2), B(2), B(3), B(4), C(5)}
  • 38. Fase deCotejo  Una de las ventajas más obvias de la red rete es que elimina la duplicación en las reglas. Las tres reglas empiezan por una conjunción de A y B, y la red permite compartir esa parte.
  • 39. Fase deSolución deConflictos  Alguna de las estrategias que sean utilizados son la siguiente:  No duplicación  Novedad  Especificidad  Prioridad de operación  Aplicaciones prácticas  XCON  ACT  SOAR
  • 40.
  • 41. Sistemas de Marco y Redes Semánticas  Actualmente se acepta que toda red semántica o sistema de cuadro también puede definirse como oraciones de una lógica, y la mayoría está de acuerdo en que ésta sea la lógica de primer orden. Lo importante en todo lenguaje de representación reside en la comprensión de la semántica y en la teoría de la demostración; los detalles de la sintaxis son menos importantes.  El que en lenguaje se utilicen cadenas Onadas y vínculos, y el que se le llame red semántica o lógica, es irrelevante para su significado o para su implantación.
  • 42. Sistemas de Marco y Redes Semánticas  La comprensión de algunas cosas se facilita mediante la notación gráfica; algunas otras son más claras cuando aparecen como cadenas de caracteres. Afortunadamente , no es necesario decidirse en definitiva por una u otra; el profesional en IA diestro es capaz de traducir en ambos sentidos las notaciones y elige aquella que mejor se adapta a sus necesidades del momento; lo que no puede es obtener intuiciones de otras notaciones.
  • 43. Sistemas de Marco y Redes Semánticas Además del atractivo de esos bonitos diagramas nodo- vinculo, las redes semánticas han tenido aceptación por la misma razón que Prolog se usa más que los demostradores de teoremas de lógica de primer orden: porque el modelo de ejecución de la mayoría de los formalismos de la red semántica es muy sencillo. Aunque un, programador llegue a construir una red muy grande, aún así puede hacerse una buena idea de qué consultas pueden ser eficientes, puesto que :  Es fácil visualizar los pasos que se darán en el procedimiento de inferencia y  Porque el lenguaje de la consulta es tan sencillo que impide formular consultas complicadas.
  • 44. Sintaxis y Semántica de las Redes Semánticas En las redes semánticas la atención está puesta en las categorías de los objetos y las relaciones que existen entre éstos. En ellas es muy natural establecer vínculos como: Para afirmar que los gatos son mamíferos. Desde luego, se trata de una forma sencilla de expresar la oración lógica Pero cuando las redes semánticas se utilizaron por vez primera en IA (alrededor de 1961). Este tipo de expresión no gozaba de aceptación generalizada; se pensaba que para utilizar la lógica era necesario escribir:
  • 45. Sintaxis y Semántica de las Redes Semánticas  Y que producía una respetuosa intimidación. Se consideraba también que no daba lugar a excepciones, en tanto que era una expresión más benevolente.  Ahora se reconoce que la semántica es más importante que la notación.  En la figura siguiente diapositiva se ofrece un ejemplo de una red basada en marco típica, y una traducción de la red en lógica de primer orden. Esta red puede servir para responder a la pregunta: quot;¿Cuántas piernas tiene Opus?“.
  • 46. Herencia con Excepciones Animales T Vivo Moscas F Mamíferos Pájaros 2 Piernas Piernas 4 Moscas T Conjunt Conjunt Sub Sub o o Pingüinos Gatos Murciélagos Piernas 2 Moscas F Moscas T Miembr Miembr Miembr o o o Opus Memo Pat Nombre: Opus Nombre: Bill Nombre: Pat Amigo Amigo (b) Traducción o lógica de primer orden (a)Una base de conocimientos basada en marco
  • 47. Herencia con Excepciones  Como vimos en el capitulo anterior, las clases naturales están llenas de excepciones. En la figura pasada(base de conocimientos basadas en cuadro) se afirma que los mamíferos tienen cuatro piernas, pero también se afirma que los murciélagos, que lambien son mamíferos, tienen dos piernas. De acuerdo con la semántica lógica directa, lo anterior es una contradicción.  Para resolver el problema, se modifica la traducción semántica de un vinculo R que está dentro de una caja, de A a B para indicar así que todos los miembros de A deben tener una relación R con B a menos que exista una A' para lo cual Rel(R, A’, B').  De esta manera, en la figura pasada se afirmará, sin dar lugar a contradicciones, que los murciélagos tienen dos piernas, no cuatro. Observe que Rel(R, A, B) ya no significa que todas las A están relacionadas con B mediante R;sino que B es el valor por omisión de la relación R para los miembros de A; pero los valores por omisión pueden resultar invalidados por alguna otra información.
  • 48. Tipos deVínculos Estándar Tipo de Vínculo Semántica Ejemplo
  • 49. Herencia Múltiple  En algunos sistemas de redes semánticas existe la herencia múltiple, es decir, cuando un objeto pertenece a más de una categoría, y por tanto, hereda propiedades de varias rutas. En algunos casos esto opera sin mayor problema. Por ejemplo, algunas personas podrían pertenecer tanto a las categorías de Multimillonario como a la de JugadorDePolo, en cuyo caso podemos inferir que son ricos y que pueden montar un caballo. Sin embargo, puede suceder que dos rutas de herencia produzcan respuestas conflictivas. En siguiente figura se muestra un ejemplo de una dificultad semejante.
  • 50. Herencia Múltiple Animado Personaje de Pingüino Graznidos Lenguaje Vocalización Vocalización la tira cómica verbal Opus  Opus es un pingüino, por lo que sólo quot;emitequot; graznidos. Opus es un personaje de una tira cómica, por lo tanto habla en español. En la sencilla traducción lógica presentada antes, podríamos haber inferido las dos conclusiones, las que, con el apropiado conocimiento de base, nos habría hecho llegar a una contradicción. Sin información adicional que indique cierta preferencia por una ruta, no hay manera de resolver el conflicto.
  • 51. Herencia y Cambio  Las bases de conocimiento no son de mucha utilidad para los agentes a menos que exista la posibilidad de ampliarlas. Los sistemas basados en la lógica de primer orden se valen de DECIR para incorporar una nueva oración a la base de conocimientos y, además, se cuenta con la propiedad dela mono tonicidad: si P se deduce de BC, entonces también se aumenta por DECIR(BC,S). Es decir:  La herencia que no tiene excepciones se considera no monotónica. en la red semántica de la que hemos visto se deduce que Memo tiene cuatro piernas; pero, si se incorpora la nueva aseveración Rel(Piernas. Gatos. 3), ya no se cumple que Memo tiene cuatro piernas. Hay dos métodos para resolver lo anterior. Primero, cambiar de lógica de primer orden a lógica no monotónica, que explícitamente maneja valores por omisión. En la lógica monotónica se puede afirmar que una proposición P debe ser considerada como verdadera hasta que mediante evidencia adicional se demuestre que P es falsa.
  • 52. Implantación de Redes Semánticas  Una vez definido el significado de nuestras redes, podemos proceder a implantar la red. Desde luego que es posible implantarla mediante un demostrador de teoremas o con un lenguaje de programación lógica, lo que en algunos casos es la mejor opción. Sin embargo, en el caso de redes cuya semántica es sencilla, es posible utilizar una implantación más directa. El nodo de una red se representa mediante una estructura de datos, en la que hay campos para las conexiones taxonómicas básicas: de qué categorías se es miembro, qué elementos contiene, cuáles son los subconjuntos y supraconjunlos inmediatos. También cuenta con campos para otras relaciones en las que participa.
  • 53. Expresividad de las Redes Semánticas  Las redes de las que hemos hablado hasta ahora están excesivamente limitadas en cuanto a su expresividad. Por ejemplo, no es posible representar una negación (Opus no anda en bicicleta), una disyunción (Opus aparece tanto en el Times como en el Dispatch), ni una cuantificación (todos los amigos de Opus son personajes de tira cómica). Este tipo de construcciones son fundamentales en muchos dominios.
  • 54. ¿Qué nos pueden ofrecer las redes semánticas a cambio de la falta de expresividad?  Son capaces de capturar la información de herencia de manera modular; además, su sencillez facilita mucho su comprensión. La tercera ventaja es su eficiencia: puesto que la inferencia se efectúa al seguir vínculos, en vez de recuperar oraciones de una base de conocimientos y realizar unificaciones, necesitan de sólo unos cuantos ciclos de máquina por paso de inferencia. Pero si observamos el tipo de cálculos realizados por los programas Prolog, nos daremos cuenta de que no hay mucha diferencia. Un programa Prolog compilado para un conjunto de oraciones de subconjunto y de membrecía de conjunto, combinadas con las propiedades generales de las categorías, realizan los mismos cálculos de una red semántica.
  • 55.
  • 56. Lógicas para la Descripción  Están diseñadas para concentrarse en categorías y sus definiciones. Constituyen un medio modernamente complejo para definir categorías en función de relaciones existentes, con mucha mayor expresividad de los lenguajes de red semánticos típicos.  Principales Tareas: Subsuposición Clasificación
  • 57. Lógicas para la Descripción  El lenguaje CLASSIC es un ejemplo típico de una lógica de descripción
  • 58. Lógicas para la Descripción  Por ejemplo, para expresar que los solteros son adultos que no están casados, escribiríamos:  El equivalente de lo anterior en lógica de primer orden seria:  La lógica de la descripción permite efectuar operaciones lógicas directas en los predicados, en vez de tener que crear primero oraciones que se unen mediante conectores.
  • 59. Lógicas para la Descripción  En CLASSIC, para describir el conjunto de hombres que por lo menos tengan tres hijos, estén desempleados y cuya esposa es doctora, y que además tengan como máximo dos hijas, ambas profesoras de física o química escribíamos: Y(Hombre, PorLoMenos(3, Hijos), CuantoMas(2, Hijas)), Todos(Hijo, Y(Desempleado, Casado, Todos(Esposa, Doctora))), Todos(Hija, Y(Profesora, Satisface(Departamento, Fisica, Quimica)))
  • 60. Lógicas para la Descripción  El énfasis en la lógica de descripciones, es garantizar que la prueba de subsuposición pueda ser resuelta en un tiempo que sea una función polinómica del tamaño de la descripción del problema. El lenguaje CLASSIC satisface esta condición y hasta la fecha, es el lenguaje mas completo que es capaz de hacerlo.
  • 61. Aplicaciones Práctica de la Lógicas de Descripción Administración Financiera Interfaces de Bases de Datos Sistemas de Información de Software  A la gradual ampliación de la clase de lenguajes tratables y una mejor comprensión de qué tipo de estructuras causan la intratabilidad, la eficiencia LD de sistemas lógicos ha mejorado notablemente.
  • 62.
  • 63. Manejo de Retractaciones, Suposiciones y  La mayoría de Explicaciones los sistemas de razonamiento lógico, independientemente de cómo se les haya implantado, guardan relación con RETRACTAR.  Deseamos tener capacidad para retractar una oración de la BC sin introducir inconsistencia alguna, y que la interacción con la BC sea eficiente.
  • 64. Manejo de Retractaciones, Suposiciones y Explicaciones  Primero, es importante diferenciar entre RETRACTAR (BC, P) y DECIR (BC, ~P).  En segundo lugar, si el sistema realiza algún encadenamiento hacia delante, RETRACTAR tiene más trabajo que realizar.  Al procedimiento que consiste en llevar un control de qué proposiciones adicionales hay que retractar cuando se retracta P se le conoce como mantenimiento de la verdad.
  • 65. Sistema de mantenimiento de la verdad (SMV)  Es un programa que lleva el control de las dependencias presentes entre las oraciones con el fin de hacer más eficiente la retractación.  Un sistema SMV realiza 4 funciones: Primero: Permite la reversión controlada por dependencia Segundo: Ofrecer explicaciones de las proposiciones.
  • 66. Sistema de mantenimiento de la verdad (SMV)  Si se pregunta “Explique por qué considera que P es verdad”, la prueba de P será una buena explicación.  Por ejemplo, Si preguntamos: “Explique por qué no arranca el carro”.  Una buena explicación sería: “Si damos por hecho que el auto tiene combustible, que éste llega a los cilindros, entonces la ausencia de actividad que se ha observado demuestra que debe haber una falla en el sistema eléctrico”.
  • 67. Sistema de mantenimiento de la verdad (SMV) Tercero: el razonamiento por omisión  El decir que Opus es un pingüino no sanciona la inferencia irrefutable de que Opus tiene dos piernas, puesto que toda información adicional sobre Opus invalidaría la creencia deducida.  Un SMV puede deducir la explicación de que Opus, en cuanto que es un pingüino, tiene dos piernas siempre y cuando no sea un pingüino anormal.
  • 68. Sistema de mantenimiento de la verdad (SMV)  Los SMV ayudan a manejar las inconsistencias. Si la incorporación de P a la BC produce una contradicción lógica, un SMV es útil para señalar la explicación de lo que es la contradicción.  Existen diversos tipos de SMV:  El más sencillo es el sistema de mantenimiento de la verdad basado en la justificación o SMVJ.
  • 69. Sistema de Mantenimiento de la Verdad Basado en la Justificación (SMVJ)  En cada una de las oraciones de la BC se indica cual justificación identifica las oraciones a partir de la cual la primera se infirió, si es que existen.  Ejemplo si Q se infiere mediante Modus Ponens de P, el conjunto de oraciones {P, P  Q} serviría de justificación de la oración Q.
  • 70. Sistema de Mantenimiento de la Verdad Basado en la Justificación (SMVJ)  En la mayoría de las implantaciones de SMVJ, se supone que las oraciones consideradas una vez, posiblemente se vuelvan a tomar en consideración.  En vez de eliminar la oración de la BC cuando pierde su justificación, se marca la oración como fuera de la BC.  Si una aseveración posterior le devuelve la justificación, marcamos la oración como dentro.
  • 71. Sistema de Mantenimiento de la Verdad Basado en la Justificación (SMVJ)  Así, supondremos primero (aseveramos) que el auto tiene combustible y que llega a los cilindros. A estas oraciones se les etiquetará como dentro. Suponiendo que se cuenta con el conocimiento de base adecuado, la oración que representa el hecho de que el carro no arranca se etiquetará como fuera.  Ahora podemos decir una explicación al SMVJ.
  • 72. Sistema de Mantenimiento de la Verdad Basado en Suposiciones (SMVS)  El tipo más popular es el SMVS (sistema de mantenimiento de la verdad basado en suposiciones)  La diferencia reside en que SMVJ representa un estado consistente del mundo a la vez.  SMVS representa todos los estados que se han considerado, simultáneamente.
  • 73. Sistema de Mantenimiento de la Verdad Basado en Suposiciones (SMVS)  Mientras que un SMVJ etiqueta cada una de las oraciones como dentro o fuera, el SMVS lleva el control, por cada oración, de qué suposiciones harán que la oración sea verdadera.  Para resolver problemas mediante SMVS, se pueden hacer suposiciones (como Pi o “combustible en el auto”) en el orden que prefiramos.
  • 74. Sistema de Mantenimiento de la Verdad Basado en Suposiciones (SMVS)  En vez de retractar las suposiciones cuando falla una línea de razonamiento, solo afirmamos todas las suposiciones que nos interesen, incluso si unas contradicen a otras.  Luego procedemos a verificar una oración en particular para definir las condiciones en las que si se cumple.  Una oración en la que uno de sus conjuntos de supuestos sea un conjunto vacio es verdadera; por no tener ninguna suposición. Una oración que no tenga conjuntos de suposición es falsa.