En el artículo ¿Qué es un Sistema Experto? Vimos que consta de una Base de Conocimientos (BC), una Base de Hechos (BH) y un Motor (o Máquina) de Inferencias (MI). Y que estos sistemas no se miden por la cantidad de instrucciones o programas sino por la cantidad de reglas que hay contenida en su Base de Conocimientos.
Veamos cómo se representan las reglas
Representacion a través de reglas:
Si H1 y/o H2 y/o H3… entonces H4 y/o H5…
Ejemplos:
Si H1 y H2 entonces H3 y H4.
Si H3 o H4 entonces H5 y H6 o H7.
Si H2 y H7 o H6 entonces H9.
Vimos que en prolog las reglas del tipo:
Si H1 y H2 y H3,… entonces Hc (Si se cumplen todos los hechos entonces se cumple la conclusión).
Se representan como:
Hc si H1 y H2 y H3… (Para que se cumpla la conclusion tienen que cumplirse los siguientes hechos).
Y la sintaxis es la siguiente:
Hc :- H1, H2, H3, …
Donde los hechos son predicados que deben cumplirse.
R1: Si X>3 y Y=5 entonces Z =3 y A<5.
En caso que X no sea mayor que 3 la regla falla y se buscara otra regla. En esta caso debe cumplirse ambas condiciones (para la X y la Y)..
Si la regla se cumple se ejecuta la acción para Z y A.
R2: Si X2 entonces Z = 7
Aquí si la primera condición falla (X<5) se pasa la segunda condición. Basta con que se cumpla una de las dos condiciones.
Los hechos son afirmaciones que se refieren a los conceptos (clases y objetos) y a las relaciones (atributos) entre ellos.
Ejemplos de representación de los hechos en diferentes aplicaciones de la IA.
MYCIN
el organismo es un bacteroride
<sujeto> <relación> <concepto>
la coloración del organismo es gram+
<atributo> <sujeto> <valor>
DENDRAL
resonancia espectral con numero atómico igual a numero
<sujeto> <atributo> <valor>
M1 (shell)
Mejor color = tinto
<expresión> = <valor>
PROLOG
Gusta (maria, tenis)
<relación> (<concepto>, <concepto>)
EXSYS (shell)
<calificador (terminado en verbo)> <valor>
El costo de la computadora es el factor de mayor importancia
Ejemplos de reglas:
Regla 1: Si tiene espina dorsal
Y tiene cola horizontal
Y tiene un agujero para respirar
Y tiene sangre caliente.
Y los pequeños son alimentandos con leche materna
Y los hijos nacen directamente vivos
Entonces es un cetáceo.
Regla 2: Si es un cetáceo
Y mide mas de 25 pies
Entonces es una ballena
Regla 3: Si es un cetáceo
Y mide aproximadamente 6 pies
Y tiene la aleta tope vertical
Y tiene una nariz roma-pequeña
Y vive cerca de las costas
Entonces es una marsopa
Regla 4: Si es un cetáceo
Y mide aproximadamente 6 pies
Y tiene la aleta tope vertical
Y tiene una nariz en forma de pico
Y vive en el mar
Entonces es un delfín
Regla 5: Si tiene espina dorsal
Y tiene una aleta vertical
Y respira a través de branquias
Entonces es un pez.
Regla 6: Si es un pez
Y tiene la aleta tope triangular
Y tiene la boca debajo de la cabeza
Entonces es un tiburón
Observen que definieron las reglas para los cetáceos y a partir de esta se definió al delfín, la ballena, etc. Igual sucedió para los peces.
¿Cómo buscan los sistemas expertos?
Sabemos dado un estado inicial, se van generando estados a través de la aplicación de un conjunto de reglas, las cuales al aplicarse originan un nuevo estado, así sucesivamente hasta alcanzar el estado final.
Habrá en consecuencia un estado inicial y un estado final que serán definidos como:
1. Una base de hechos en la cual aparecerá un hecho que satisface ciertas características.
2. Una base de hechos en la cual habrán desaparecido todos los hechos a establecer.
3. Una base de hechos tal que ninguna regla puede aportar una nueva modificación.
Los puntos 1 y 3 son comúnmente adoptados por los motores de encadenamiento hacia delante, mientras el 2 es adoptado por motores con encadenamiento hacia atrás.
Ejemplo de búsqueda primero en profundidad
Tomemos el ejemplo de las tinas, donde se parte de dos tinas (recipientes para contener agua) y se quiere lograr que la de 4 galones tenga 2 galones. Las tinas no tienes marcas que indiquen la cantidad de galones.
Vamos a definir algunas reglas de forma general:
Restricciones
1) “Si una tina se lleno hasta el tope, no llenar la otra”.
2) “Si una tina se acaba de llenar hasta el tope, no se puede botar”.
Orden de las reglas:
1ro. Aplicar reglas para el criterio de solución.
2do. Aplicar reglas para llenar las tinas.
3ro. Aplicar reglas para vaciar de una para otra.
4to. Aplicar reglas para botar el contenido de una de ella.
Criterio de solución
R1: Si (la tina de 4) (tiene) (dos galones) entonces SOLUCION.
R2: Si (la tina de 3) (tiene) (dos galones) y (la tina de 4) (esta vacia) entonces (vaciar el contenido) (para) (la tina de 4)
R3: Si (la tina de 3) (tiene) (dos galones) y (la tina de 4) (no) (esta vacia) entonces (botar el contenido de) (la tina de 4)
Veamos cómo se va efectuando la búsqueda paso a paso
Estado inicial: (0,0) ambas tinas vacías
Estado 1: (0,0) -> (0,4) Se llena una de las tinas (la de 4 galones).
Estado 2: (0,4) -> (3,1,) Se vacía el contenido de la de 4 en la de 3 galones.
Estado 3: (3,1) -> (0,1) Se bota el contenido de la tina de 3 galones
Estado 4: (0,1) -> (1,0) Se vacía el contenido de la de 4 en la de 3 galones.
Estado 5: (1,0) -> (1,4) Se llena la tina de 4 galones.
Estado 6: (1,4) -> (3,2) Se vacía la tina de 4 en la de 3 galones
Estado final (3,2) Se alcanza la solución al quedar 2 galones en la tina de 4
Pueden ver ese ejemplo en ejecute un sistema sistema experto en HTML
Comentarios recientes