3. ESTRUCTURA DE LOS SISTEMAS EXPERTOS.
3.1 LOGICA PROPOSICIONAL
3.2 LOGICA DE PRIMER ORDEN
3.3 MOTOR DE INFERENCIA
3.4 BASE DE CONOCIMIENTO
3.5 BASE DE HECHOS
3.6 ENCADENAMIENTO HACIA ADELANTE
3.7 ENCADENAMIENTO HACIA ATRAS
3.8 ENCADENAMIENTO MIXTO
3.9 APRENDIZAJE
3.10 ARQUITECTURAS
3.1 LOGICA PROPOSICIONAL
Una lógica proposicional es un sistema formal cuyos elementos más simples representan proposiciones, y cuyas constantes lógicas, llamadas conectivas, representan operaciones sobre proposiciones, capaces de formar otras proposiciones de mayor complejidad.
Conectivas lógicas
A continuación hay una tabla que despliega todas las conectivas lógicas que ocupan a la lógica proposicional, incluyendo ejemplos de su uso en el lenguaje natural y los símbolos que se utilizan para representarlas.
En la lógica proposicional, las conectivas lógicas son tratados como funciones de verdad. Es decir, como funciones que toman conjuntos de valores de verdad y devuelven valores de verdad. Por ejemplo, la conectiva lógica no es una función que si toma el valor de verdad V, devuelve F, y si toma el valor de verdad F, devuelve V. Por lo tanto, si se aplica la función no a una letra que represente una proposición falsa, el resultado será algo verdadero. Si es falso que «está lloviendo», entonces será verdadero que «no está lloviendo».
El significado de las conectivas lógicas no es nada más que su comportamiento como funciones de verdad. Cada conectiva lógica se distingue de las otras por los valores de verdad que devuelve frente a las distintas combinaciones de valores de verdad que puede recibir. Esto quiere decir que el significado de cada conectiva lógica puede ilustrarse mediante una tabla que despliegue los valores de verdad que la función devuelve frente a todas las combinaciones posibles de valores de verdad que puede recibir.
Límites de la lógica proposicional
La maquinaria de la lógica proposicional permite formalizar y teorizar sobre la validez de una gran cantidad de argumentos. Sin embargo, también existen argumentos que son intuitivamente válidos, pero cuya validez no puede ser probada por la lógica proposicional. Por ejemplo, considérese el siguiente argumento:
- Todos los hombres son mortales.
- Sócrates es un hombre.
- Por lo tanto, Sócrates es mortal.
Como este argumento no contiene ninguna de las conectvias «no», «y», «o», etc., según la lógica proposicional, su formalización será la siguiente:
- p
- q
- Por lo tanto, r
Pero esta es una forma de argumento inválida, y eso contradice nuestra intuición de que el argumento es válido. Para teorizar sobre la validez de este tipo de argumentos, se necesita investigar la estructura interna de las variables proposicionales. De esto se ocupa la lógica de primer orden. Otros sistemas formales permiten teorizar sobre otros tipos de argumentos. Por ejemplo la lógica de segundo orden, la lógica modal y la lógica temporal.
3.2 LOGICA DE PRIMER ORDEN
La lógica de primer orden, también llamada lógica de predicados o cálculo de predicados, es un sistema formal diseñado para estudiar la inferencia en los lenguajes de primer orden. Los lenguajes de primer orden son, a su vez, lenguajes formales con cuantificadores que alcanzan sólo a variables de individuo, y con predicados y funciones cuyos argumentos son sólo constantes o variables de individuo.La lógica de primer orden tiene el poder expresivo suficiente para definir a prácticamente todas las matemáticas.
Un predicado es una expresión lingüística que puede conectarse con una o varias otras expresiones para formar una oración. Por ejemplo, en la oración «Marte es un planeta», la expresión «es un planeta» es un predicado que se conecta con la expresión «Marte» para formar una oración. Y en la oración «Júpiter es más grande que Marte», la expresión «es más grande que» es un predicado que se conecta con dos expresiones, «Júpiter» y «Marte», para formar una oración.
Cuando un predicado se conecta con una expresión, se dice que expresa una propiedad (como la propiedad de ser un planeta), y cuando se conecta con dos o más expresiones, se dice que expresa una relación (como la relación de ser más grande que). La lógica de primer orden no hace ningún supuesto, sin embargo, sobre si existen o no las propiedades o las relaciones. Sólo se ocupa de estudiar el modo en que hablamos y razonamos con expresiones lingúisticas.
En la lógica de primer orden, los predicados son tratados como funciones. Una función es, metafóricamente hablando, una máquina que recibe un conjunto de cosas, las procesa, y devuelve como resultado una única cosa. A las cosas que entran a las funciones se las llama argumentos,4 y a las cosas que salen, valores o imágenes. Considérese por ejemplo la siguiente función matemática:
f(x) = 2x
Esta función toma números como argumentos y devuelve más números como valores. Por ejemplo, si toma el número 1, devuelve el número 2, y si toma el 5, devuelve el 10. En la lógica de primer orden, se propone tratar a los predicados como funciones que no sólo toman números como argumentos, sino expresiones como «Marte», «Mercurio» y otras que se verán más adelante. De este modo, la oración «Marte es un planeta» puede transcribirse, siguiendo la notación propia de las funciones, de la siguiente manera:
Planeta(Marte)
O, más abreviadamente:
P(m)
En la matemática existen además funciones que toman varios argumentos. Por ejemplo:
f(x,y) = x + y
Esta función, si toma los números 1 y 2, devuelve el número 3, y si toma el -5 y el -3, devuelve el -8. Siguiendo esta idea, la lógica de primer orden trata a los predicados que expresan relaciones, como funciones que toman dos o más argumentos. Por ejemplo, la oración «Caín mató a Abel» puede formalizarse así:
Mató(Caín,Abel)
O abreviando:
M(c,a)
Este procedimiento puede extenderse para tratar con predicados que expresan relaciones entre muchas entidades. Por ejemplo, la oración «Ana está sentada entre Bruno y Carlos» puede formalizarse:
S(a,b,c)
3.3 MOTOR DE INFERENCIA
El motor de inferencias en los sistemas expertos
El Motor de Inferencias (MI) es un programa de control cuya función es seleccionar las reglas posibles a satisfacer el problema, para ello se vale de ciertas estrategias de control sistemáticas o de estrategias heurísticas.
Estrategias de control sistemático:
Encadenamiento hacia adelante o hacia atrás.
Búsqueda en profundidad o a lo ancho.
Régimen de control irrevocable o por tentativa.
Estas estrategias son de forma sistemática las cuales deben llevar a la solución del problema. Podemos decir que el control sistemático es un programa de control hecho de forma "algorítmica" que aplican una heurística de propósito general cuya función es una exploración exhaustiva y metódica de la base de conocimientos.
Estos mecanismos de control son muy generales y a veces resultan ineficientes ya que siguen una secuencia de búsqueda demasiado rígida, para resolver esto se idearon las estrategias de control heurísticas.
Las estrategias de control heurísticas son programas de control que utilizan una heurística más específica y su función es una selección más restringida orientada por las necesidades del problema. Estas estrategias actúan sobre el control sistemático y en ciertos casos toma el control y dirige la búsqueda hacia ciertos criterios rompiendo así el control sistemático, una vez logrado su objetivo le devuelve el control nuevamente al sistemático.
Estrategias de control heurísticas:
Orden de las reglas.
Mayor credibilidad en las reglas.
Menor número de cláusulas no instanciadas.
Mayor número de conclusiones en las reglas.
Podemos decir que un sistema experto, es un sistema informático que utiliza técnicas apropiadas para la representación de conocimientos y la manipulación de este, de forma tal que exhiba el comportamiento de un avezado especialista en un determinado dominio del saber.
Estrategias de control sistemático:
Encadenamiento hacia adelante o hacia atrás.
Búsqueda en profundidad o a lo ancho.
Régimen de control irrevocable o por tentativa.
Estas estrategias son de forma sistemática las cuales deben llevar a la solución del problema. Podemos decir que el control sistemático es un programa de control hecho de forma "algorítmica" que aplican una heurística de propósito general cuya función es una exploración exhaustiva y metódica de la base de conocimientos.
Estos mecanismos de control son muy generales y a veces resultan ineficientes ya que siguen una secuencia de búsqueda demasiado rígida, para resolver esto se idearon las estrategias de control heurísticas.
Las estrategias de control heurísticas son programas de control que utilizan una heurística más específica y su función es una selección más restringida orientada por las necesidades del problema. Estas estrategias actúan sobre el control sistemático y en ciertos casos toma el control y dirige la búsqueda hacia ciertos criterios rompiendo así el control sistemático, una vez logrado su objetivo le devuelve el control nuevamente al sistemático.
Estrategias de control heurísticas:
Orden de las reglas.
Mayor credibilidad en las reglas.
Menor número de cláusulas no instanciadas.
Mayor número de conclusiones en las reglas.
Podemos decir que un sistema experto, es un sistema informático que utiliza técnicas apropiadas para la representación de conocimientos y la manipulación de este, de forma tal que exhiba el comportamiento de un avezado especialista en un determinado dominio del saber.
3.4 BASE DE CONOCIMIENTO
El más importante aspecto de una base de conocimiento es la calidad de la información que esta contiene. Las Mejores Bases de Conocimiento tienen artículos cuidadosamente redactados que se mantiene al día, un excelente sistema de recuperación de información (Motor de Búsqueda), y un delicado formato de contenido y estructura de clasificación. Una Base de Conocimiento puede usar una ontología para especificar su estructura(tipos de entidades y relaciones) y su esquema de clasificación. Una ontología, junto con un grupo de instancias de sus clases constituyen una Base de Conocimiento.
Determinando qué tipo de información es capturada, y dónde se encuentra la información en una base de conocimiento es algo que es determinado por los procesos que respaldan al sistema. Una estructura robusta de procesos es la columna vertebral de cualquier Base de Conocimiento. Algunas Bases de Conocimiento tienen un componente de inteligencia artificial. Este tipo de Bases de Conocimiento pueden sugerir soluciones a problemas esporádicos en la retroalimentación por el usuario, y son capaces de aprender de la experiencia (sistemas expertos). Representación de Conocimiento, Razonamiento automatizado y argumentación son las áreas activas de la investigación de la inteligencia artificial.
3.5 BASE DE HECHOS
Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. El sistema empareja esta información con el conocimiento disponible en la base de conocimientos para deducir nuevos hechos.
3.6 ENCADENAMIENTO HACIA ADELANTE
3.7 ENCADENAMIENTO HACIA ATRAS
Encadenamiento hacia adelante y hacia atras
Un grupo de múltiples reglas de inferencia que contiene un problema con su solución se llama cadena.
Una cadena que realiza una búsqueda o camino desde el problema a la solución se llama una cadena hacia adelante.
Este tipo de cadena va desde los hechos hsta las conclusiones que siguen a partir de los hechos.
Una cadena que transita hacia atrás desde una hipótesis hasta los hechos que soportan tal hipótesis se llama una cadena hacia atrás. Otra forma de definirla es en términos de una meta que puede estar formada por submetas que se han cumplido.
El encadenamiento se puede expresar con cierta facilidad en términos de inferencia si suponemos que tenemos reglas del tipo Modus-poner.
p->q
p _____________ :. q |
conejo(x)->mamifero(x)
mamifero(x)->animal(x) |
Por tanto una cadena causal de encadenamiento hacia adelante se representa mediante una secuencia de enlaces que conectan el consecuente de una regla con el antecedente de la siguiente.
Ejemplo:
conejo(Bugs Bunny)
conejo(Bugs Bunny)
conejo(x)->
|
mamifero(x)
| |
mamifero(x)->
|
animal(x)
| |
aminal(Bugs Bunny)
|
Un enlace, por otra parte también indica la unificación de variables a hechos. Por ejemplo la variable x en el predicaco
conejo(x)
debe ser unificada en el primer lugar con el hecho conejo(Bugs Bunny)
antes de que la regla conejo se pueda aplicar, por lo que la cadena causal será en realidad una sucesión de implicaciones y unificaciones
En el encadenamiento hacia atrás el proceso es el inverso: queremos probar la hipótesis de
animal(Bugs-Bunny)
. El problema central del encadenamiento hacia atrás es encontrar una cadena de enlace entre la evidencia y la hipótesis.
El hecho
conejo(Bugs Bunny>)
se llama la evidencia en el encadenamiento hacia atrás, para indicar que se usará para sostener la hipótesis, siendo esta evidencia usada para probar dicha hipótesis. Tenemos una estructura de claúsulas.
Los encadenamientos hacia adelante y hacia atrás son en realidad caminos a través de un espacio de estados de un problema. En este espacio de estados del problema los estados intermedios se corresponden con hipótesis intermedias bajo el encadenamiento hacia atrás o conclusiones intermedias bajo el encadenamiento hacia adelante.
Características comunes
Conozco más el encadenamiento hacia atrás ya que conozco el pasado, pero el futuro no.
En un sistema basado en reglas tenemos el siguiente grafico:
Encadenamiento hacia atrás:
En el encadenamiento hacia atrás, el orden a probar la hipótesis h deberá de probarse al menos una de las hipótesis intermedias. Se observa que el diagrama, en este caso se describe como un diagrama AND/OR para indicar que en algún caso, tal como h2 todas las hiótesis de nivel inferior deben estar presentes para sostener h2.
En otros casos, tal como la hipótesis de nivel superior h solo es necesario una hipótesis de nivel inferior para que se verifique.
En el encadenamiento hacia atrás, el sistemas, por lo general, obtendrá evidencia del usuario, con el fin de probar o no la hipótesis, lo que contrasta con el sistema de encadenamiento hacia adelante, en el que todos los hechos relevantes se conocen por lo general con antelación.
3.8 ENCADENAMIENTO MIXTO
- Encadenamiento hacia adelante: El motor de inferencia parte de los hechos para llegar a los resultados, esto es, selecciona las reglas que verifiquen las condiciones de la parte izquierda (premisas).
- Encadenamiento hacia atrás: En este caso el motor de inferencia parte de los resultados y trata de volver a los hechos para comprobar si encajan con el problema planteado.
- Encadenamiento mixto: Este modo ofrece varias posibilidades que resultan de combinar el encadenamiento hacia adelante y hacia atrás para paliar sus limitaciones y mantener las ventajas.
- Algoritmos de búsqueda heurística: En los casos en los que la naturaleza de la base de conocimiento permita construir una estructura de árbol, el proceso de inferencia se convierte en un problema de búsqueda en un árbol. Existen diversos métodos, y la elección dependerá, por lo tanto, de la naturaleza del problema.
- Herencia: Es el método de inferencia utilizado en entornos orientados a objetos. Un objeto hijo hereda propiedades y hechos de sus padres. Así, la asignación de nuevas propiedades a un objeto se realiza a través de las relaciones entre ese objeto y el resto.
Dentro de los modos de razonamiento los factores de incertidumbre son valores asignados a hechos o reglas que indican la certeza o grado de confianza que el experto tiene en una regla o el usuario en un hecho. No representan, ni mucho menos, una probabilidad en el sentido estricto de la palabra.
Un sistema que usa factores de incertidumbre asociados a las reglas o propiedades de los objetos puede realizar varias recomendaciones indicando el grado de confianza o nivel de certidumbre de cada una.no todos los problemas requieren un conocimiento basado en grados de incertidumbre, es conveniente que la herramienta para el desarrollo de un sistema basado en el conocimiento incluya este conocimiento probabilístico porque incorpora una utilidad que refleja en gran manera la forma de trabajar de los expertos en mucha áreas. Asimismo, es necesario tener claro el algoritmo o método que se utiliza para calcular el grado de incertidumbre asociado a una recomendación o acción final.
3.9 APRENDIZAJE
El aprendizaje es el proceso a través del cual se adquieren o modifican habilidades, destrezas, conocimientos, conductas o valores como resultado del estudio, la experiencia, la instrucción, el razonamiento y la observación. Este proceso puede ser analizado desde distintas perspectivas, por lo que existen distintas teorías del aprendizaje. El aprendizaje es una de las funciones mentales más importantes en humanos, animales y sistemas artificiales.
3.10 ARQUITECTURAS
La arquitectura de un sistema experto esta basada en una entrada de datos realizada por el usuario a fin de efectuar la oportuna consulta. Las entradas no solamente están compuestas de estas consultas. El aprendizaje del sistema y las condiciones especificas del problema a tratar también han de encontrarse en la entrada.
Junto a ello, se encuentra la administración del sistema, compuesta por un interfaz encargado del manejo de la sintaxis del lenguaje y de la maquina de inferencias,que se encarga de efectuar la búsqueda en la base de conocimientos y en la base de datos. Por ultimo, se tienen los resultados.