View
1
Download
0
Category
Preview:
Citation preview
SISTEMAS BASADOS EN CONOCIMIENTO
CAPITULO 17, LIBRO INTELIGENCIA ARTIFICIAL , AUTOR: NILS NILSSON.
CAPITULO 1 Y 2: SISTEMAS EXPERTOS Y PROBABILIDADES, AUTOR: ENRRIQUE CASTILLO
No hace mucho tiempo se creía que algunos problemas como: Demostración de Teoremas, Reconocimiento de
Voz y Patrones, Juegos, Sistemas altamente complejos (Deterministicas/Estocasticos), Deberían ser resueltos
por los humanos porque su formulación y resolución requieren de ciertas habilidades que se encuentran en los
seres humanos.
Habilidades de los seres humanos: Pensar , Observar(Ver), Memorizar, Aprender, Escuchar(Oir), Razonar, Oler
Y Otras.
El amplio campo de la Inteligencia Artificial(IA) trata estos problemas en principio que parecían : Imposibles,
Intratables, y Difíciles de Formular utilizando las computadoras.
Definición de IA: Es un campo de estudio en Ciencias de la Computación que sigue la meta de hacer que una
computadora razone de manera similar a un humano.
Hoy en día IA engloba varias sub-áreas tales como:
• Sistemas expertos
• Demostración automática de Teoremas
• Juegos
• Reconocimiento de Voz y Patrones
• Procesamiento del lenguaje natural
• Visión Artificial
• Lógica Difusa
• Robótica
• Redes Neuronales
• Algoritmos Genéticos
EL ENFOQUE CON EL MUNDO
La investigación en IA ha encontrado que las aplicaciones como el diagnostico medico, Consulta de
Contribuciones o Diseño de equipos, por lo general necesitan de un amplio conocimiento del problema que
tratan.
El conocimiento en las aplicaciones descritas anteriores sugiere utilizar la frase: “Sistemas Basados en
Conocimiento”, para describir los programas que razonan utilizando grandes bases de Conocimiento.
Hay 3 grandes características de los sistemas de razonamiento lógico en concreto: Solidez, Completitud y
Decidibilidad.
• Para estar seguros de que una conclusión inferida es cierta, necesitamos solidez.
• Para estar seguros de que una inferencia tarde o temprano producirá una conclusión verdadera,
necesitamos la Completitud.
• Para estar seguros de que una inferencia es factible necesitamos la Decidibilidad.
Algunos autores hacen referencia que cálculo de predicados es Semidecidible, por tanto calculo de predicados
es inherentemente intratable.
De hecho ha llevado a muchos a perder esperanza en la utilización de los métodos lógicos formales en
problemas de razonamiento de gran tamaño.
Los humanos realizamos complejos razonamientos, por lo tanto deben existir formulaciones y heurísticas
especiales que permitan realizar Cálculos tratables.
CLAUSULAS DE HORN
Existe un tipo especial de Cláusula que es importante en la IA y en otros ámbitos de la Ciencia de la
Computación. Una Cláusula de Horn es una cláusula que tiene un literal positivo.
Ejemplos de Cláusulas de Horn:
Existen 3 tipos de Cláusulas de Horn:
1. Un Átomo simple – a menudo llamado “Hecho”
2. Una Implicación – a menudo llamado “Regla” cuyo antecedente consiste en una conjunción de
literales positivos y cuyo consecuente un solo literal positivo.
3. Un conjunto de literales negativos – escritos en forma de implicación, con un antecedente
compuesto por una conjunción de literales positivos y un consecuente vacio.
Ejemplo de los tres tipos de Clausulas de Horn:
No se considera clausulas de Horn a la Disyunción de literales positivos, ya que en P V Q se debe considerar
múltiples casos.
Los sistemas para demostrar objetivos a partir de reglas y hechos con cláusulas de Horn proporcionan por lo
general una ordenación de la información suministrada al sistema mediante la escritura de los hechos y reglas
en un cierto orden.
RAZONAMIENTO CON CLAUSULAS DE HORN
Las cláusulas de Horn son la base del lenguaje de programación PROLOG, en este lenguaje las Cláusulas de Horn
funcionan como las sentencias del lenguaje. Se pueden escribir en los siguientes formatos:
Ejemplo de un programa en PROLOG para demostrar que el brazo se moverá a partir de los hechos.
1. :- Se_mueve
2. Bateria_ok :-
3. Objeto_se_puede_coger:-
4. Se_mueve :- Bateria_ok, Objeto_se_puede_coger
La demostración se puede obtener mediante una estructura de árbol. Los nodos se etiquetan con los literales de
las sentencias del programa.
Se tiene dos tipos de arcos:
1. Arcos de emparejamiento (Doble Línea)
2. Arcos de Regla (Línea Simple) y finalmente símbolo ( ͝ ) para unir los arcos en una
regla.
Ejemplo de un programa en PROLOG para demostrar que el brazo se moverá a partir de los hechos.
Ejemplo 2: Mundo de los Bloques
Se utiliza el concepto de que un bloque esta encima de otro bloque, utilizando calculo de predicados.
Se puede definir encima en base a sobre en forma recursiva, con lo siguiente:
Con estas definiciones utilizamos el programa de PROLOG para demostrar si el Bloque A esta encima del bloque
C cuando A esta sobre B y B sobre C.
`1. :- Encima(A,C)
2. Sobre (A,B):-
3. Sobre (B,C):-
4. Encima(X,Y) :- Sobre(X,Y)
5. Encima(X,Y) :- Sobre(X,Z), Encima(Z,Y)
Demostrar si el Bloque A esta encima del bloque C cuando A esta sobre B y B sobre C.
Mantenimiento de bases de conocimiento dinámicas
El encadenamiento progresivo permite obtener hechos de las reglas existentes, pero no están disponibles
explícitamente en la BC hasta que son inferidas.
Estos hechos pueden utilizarse para producir mas hechos u obtener conclusiones finales.
La BC esta formada por átomos de calculo proposicional.
Mantenimiento de bases de conocimiento dinámicas.
A partir de ahora se llamara a los atomos premisas en vez de hechos.
Para ser mas concretos se puede indicar un ejemplo donde las premisas son P y Q.
Y las reglas son :
Las reglas son implicaciones con un único literal como consecuente en las clausulas de Horn.
El razonamiento hacia delante utilizando estas reglas permiten Añadir R y S a la BC como nuevos átomos.
Una forma de pensar en esta BC es como si fuera una hoja de calculo unidimensional, con una sola fila y varias
columnas.
A esta situación se podría llamar BC basada en tablas. Por ejemplo: Se dispone de P, Q, R y S. se tiene una celda
en cada columna para cada uno de los valores de estos átomos.
En cada celda de los valores de P y Q se puede insertar un 1 o 0, sin embargo los valores de R y S se calcula
según la formula.
Se puede extender la BC basada en tablas para que contenga cualquier numero de premisas y reglas.
Este tipo de estructura se puede interpretar como un tipo de Base de Conocimiento Dinámica.
En IA estas BC basadas en tablas se denominan sistemas de mantenimiento de la razón. Estas estructuras son
instancias de lo que se denomina SISTEMAS DE MANTENIMIENTO DE VERDAD (SMV).
Las formulas que se insertan en las celdas de las reglas se llaman justificaciones.
Por ejemplo puede que no se tenga todos los valores de las premisas.
En el vocabulario de los SMV a un átomo cuyo valor no es ni 1 ni 0 se denomina OUT.
Cuando la celda tiene el valor de 1 o 0 se dice que está IN.
Por ejemplo:
INTERACCIÓN
Así un Sistema experto es un tipo particular de un Sistema Basado en conocimiento, el que imita al Experto
Humano.
Hay S.B. en C. que no son sistemas expertos por Ej. Enciclopedia Electrónica.
Un S.B. en C. es un tipo de sistema inteligente en el sentido de almacenar/ gestionar/ estar relacionado con el
saber o capacidades humana.
SISTEMAS EXPERTOS BASADOS EN REGLAS
Una de las aplicaciones realizada con técnicas de razonamiento con hechos y reglas en IA con más éxito ha sido
la construcción de Sistemas Expertos que incorporan conocimiento sobre ámbitos específicos del conocimiento
humano, tales como la medicina, la ingeniería o los negocios.
Definición por Feigenbaum y McCorduck y Nii, 1988.
Los programas de IA que consiguen una capacidad a nivel de experto en la resolución de problemas
mediante la reproducción de un cuerpo de conocimiento se denominan sistemas basados en
conocimiento o sistemas expertos.
A menudo, el término sistemas expertos se reserva para los programas cuya BC contiene el
conocimiento de expertos humanos.
Personas que participan en el desarrollo de un Sistema Experto:
Experto Humano
Ingeniero de Conocimiento
Usuario
La estructura básica de un Sistema Experto es la siguiente:
Donde:
La BC esta compuesta por hechos y reglas del calculo de predicados o reglas de producción acerca del
ámbito de aplicación.
El Motor de Inferencia se compone de todos los procesos que manipulan la BC e información del usuario
para deducir la información pedida por el usuario. Los mecanismos de inferencia pueden ser
encadenamiento hacia atrás o hacia delante.
La Interfaz con el usuario podría basarse en algún tipo de sistema de procesamiento del lenguaje natural, que
permita al usuario interactuar con el sistema. También se tiene interfaz gráfica con menús, etc.
El subsistema de explicación analiza la estructura del razonamiento realizado por el sistema y da una explicación
al usuario, del PORQUE esta haciendo una pregunta y COMO ha encontrado la respuesta.
En la construcción de un sistema experto, el Ingeniero de Conocimiento trabaja con un experto o expertos sobre
el ámbito de aplicación para representar el conocimiento relevante del experto en alguna forma que pueda ser
insertado a la base de conocimiento.
Algunas Técnicas de representar el conocimiento son las siguientes:
Representaciones básicas:
- Tripletas (O-A-V)
- Reglas de producción
- Redes semánticas
- Frames (prototipos o marcos)
- Lógica de predicados
Tripletas Objeto- Atributo- Valor
Es un hecho que representa un valor particular de una propiedad de un objeto.
• Hechos con atributos y valores múltiples.
• Hechos con un atributo y múltiples valores.
Reglas
Una regla es una forma de conocimiento procedural, que asocia información a una acción.
Esta acción puede ser nueva información o algún procedimiento a ejecutar. Una regla describe cómo resolver
un problema. Tiene la siguiente forma de representación:
IF a THEN h
Donde a es una combinación de condiciones o premisas atómicas relacionadas por operadores lógicos (AND y
OR) y h es una conjunción de conclusiones.
Ejemplo:
IF el color del balón es rojo
THEN me gusta el balón
La conclusión puede ser una sentencia o una combinación unidas con el AND y también puede contener el ELSE.
Ejemplo:
IF es mas de las 10 a.m.
AND hoy es día de semana
AND estoy en casa
OR mi jefe me llamo y dijo que estoy retrasado
THEN estoy retrasado
ELSE no estoy retrasado
Funcionamiento de un SE basado en Reglas.
el color del balon es rojo
me gusta el balón
yo compraré el balón.
IF el color del balon es rojo
THEN me gusta el balón
IF me gusta el balón
THEN yo compraré el balón.
Base de conocimiento
Memoria de trabajo
Paso 3
Paso 5
Paso 2
Paso 4
Paso 1Q:Cuál es el
color de balon?
A: Rojo
Tipos de Reglas
Las reglas pueden representar diferentes formas de conocimiento:
Relación :
IF la batería esta dañada THEN el auto no arranca
Recomendación:
IF el auto no arranca
THEN alquilar un auto
Directiva:
IF el auto no arranca
AND el sistema de combustible esta bien
THEN revisar el sistema eléctrico
Estrategia:
IF el auto no arranca
THEN primero verificar el sistema de combustible, después revisar el sistema eléctrico
Heurística:
IF el auto no arranca
AND el auto es Ford del año 1957
THEN revisar el carburador
En algunas aplicaciones es necesario realizar la misma operación a un conjunto de objetos similares.
Una forma de hacer esto sería escribiendo una regla para cada objeto, pero esto es ineficiente y dificulta el
mantenimiento futuro del sistema, es por esto que algunos lenguajes y shells soportan reglas que manejan
variables.
Por ejemplo: Jhon Smith puede jubilarse
IF Jhon Smith es un empleado AND la edad de Jhon Smith en mayor a 65 años THEN Jhon Smith puede retirarse
Aplicando las reglas que manejan variables, el ejemplo anterior se representa de la siguiente manera:
IF X es un empleado
AND la edad de X > 65 años
THEN X puede retirarse
Técnicas de Representación
Representaciones avanzadas:
• Modelos cualitativos, temporales, causales
• Sistemas híbridos, capas, pizarrón
• Razonamiento basado en casos
• Razonamiento basado en probabilidades
• Redes neuronales y algoritmos genéticos
• Sistemas multifuncionales
Representación de incertidumbre:
• Técnicas no-numéricas (TMS)
• Factores de certeza
• Lógica difusa
• Redes probabilísticas
En el subsistema de adquisición de conocimiento también se busca las posibles inconsistencias o información
incompleta de la base de conocimiento.
Si el sistema responde de forma diferente a como lo haría el experto, se utiliza el subsistema de explicación para
ayudar al equipo de desarrollo a decidir que información e inferencias son las causantes de la discrepancia.
Los sistemas basados en reglas a menudo están basados en razonamiento con clausulas de Horn del calculo
proposicional.
Por ejemplo: Imaginar un asesor de prestamos de un banco utilizando este tipo de sistemas para ayudarle a
decidir si conceder o no un crédito personal a algún cliente.
Para el ejemplo supongamos lo siguiente:
APROBAR( El crédito se aprobaría)
GARANTIA( La garantía del crédito es satisfactoria)
PAGOS(El cliente puede pagar los pagos del crédito)
REPUTACION( La reputación financiera del cliente es buena)
TASACION( La tasación de la garantía es mayor que el crédito pedido)
VALORACION( El cliente tiene buena valoración sobre sus cuentas)
ENTRADAS( Las entradas del cliente superan sus gastos)
BALANCE( La cuenta del cliente tiene un balance positivo)
Entonces las siguientes reglas se podrían utilizar para tomar una decisión:
GARANTIA Λ PAGOS Λ REPUTACION ᴝ APROBAR
TASACION ᴝ GARANTIA
VALORACION ᴝ REPUTACION
ENTRADAS ᴝ PAGOS
BALANCE Λ REPUTACION ᴝ APROBAR
A continuación armar el árbol de búsqueda para la demostración.
• El objetivo del usuario es averiguar si APROBAR es cierto o no.
• Se tiene dos caminos: una probando BALANCE Y REPUTACIÓN o probando TASACION, PAGOS Y
REPUTACION.
• El usuario dirá si BALANCE, VALORACION, TASACION Y ENTRADAS son verdaderas o falsas.
• APROBAR, PAGOS, GARANTIA Y REPUTACION se obtendrán del razonamiento.
Podemos utilizar el mismo ejemplo para explicar el razonamiento del sistema al usuario.
USUARIO: Por que crees que el crédito seria aprobado?
SISTEMA: Porque la garantía del crédito es satisfactoria, el cliente puede realizar los pagos y tiene buena
reputación financiera.
USUARIO: Por que crees que el cliente tiene una buena reputación financiera?
SISTEMA: Porque el servicio de valoración de cuentas ha dicho que el cliente tiene una buena reputación
financiera.
USUARIO: Por que me has preguntado si las entradas del cliente superan sus gastos?
SISTEMA: Porque estaba intentando averiguar si el cliente puede realizar sus pagos.
USUARIO: Por que estabas intentando averiguar si el cliente puede realizar sus pagos?
SISTEMA: Porque es uno de los criterios para establecer si se aprueba o no el crédito.
USUARIO: Por que esta intentando establecer si se aprueba o no el crédito?
SISTEMA: Porque tu me lo has preguntado.
Componentes de un Sistema Experto
Etapas para el desarrollo de un SE, Propuesto por Weiss y Kulikowski (1984)
Planteamiento del problema
- Definición del problema a resolver.
- Esta etapa es la importante ya que el objetivo del SE es responder a preguntas y resolver problemas.
- Si el sistema esta mal definido se espera que el sistema suministre respuestas erróneas.
Encontrar Expertos Humanos
- Para que se pueda resolver el problema.
- Las bases de datos pueden jugar un papel importante, en lugar del experto
Diseño de un SE
- Diseño de estructuras para almacenar el conocimiento.
- Motor de Inferencia
- Subsistema de Explicación
- Interfaz de Usuario.
Elección de la Herramienta de Desarrollo
- Al realizar un SE a medida, se debe elegir un lenguaje de programación
- Un Lenguaje que satisface todos los requerimiento del diseño.
- La elección debe ser no solo por razones financieras sino también por razones de factibilidad.
Desarrollo y Prueba del Prototipo
- Si el prototipo no pasa las pruebas requeridas, las etapas anteriores deben ser repetidas, hasta que se
obtenga un prototipo satisfactorio.
Refinamiento y Generalización
- Se corrigen las fallas.
- Se incluyen nuevas posibilidades no incorporadas en el diseño inicial.
Mantenimiento y puesta al día.
- El usuario plantea problemas o defectos del prototipo.
- Corrige errores.
- Actualiza el producto con nuevos avances.
Todas las etapas influyen en la calidad del SE resultante, que siempre es evaluado en función de las aportaciones
del usuario.
Metodología de Jhon Durkin.
Técnicas de inferencia
En esta parte se considera como un sistema razona con el conocimiento y la información, para resolver un
problema.
Las técnicas de inferencia son las guían al SE combinando el conocimiento de la B.C. con los hechos de la M.T.
Las personas resuelven los problemas combinando hechos con el conocimiento; a este proceso llamamos
Razonamiento.
Que es razonamiento?
Es el proceso que trabaja con el conocimiento, hechos, y estrategias de resolución de problemas para sacar
conclusiones.
Que es Inferencia?
Proceso usado en un SE para derivar nueva información desde una información conocida.
Inferencia de los sistemas Expertos son dos:
- Encadenamiento hacia Adelante
- Encadenamiento hacia Atrás
Encadenamiento hacia Adelante
Es la estrategia de inferencia que comienza con un conjunto de hechos conocidos, derivando nuevos hechos
usando reglas, cuyas premisas emparejen con hechos conocidos, continuando este proceso hasta que un estado
meta es alcanzado o hasta que no existan reglas cuyas premisas se emparejen con hechos conocidos o
derivados.
Las acciones de emparejamiento darán como resultado una nueva información que es almacenada en la
memoria de trabajo.
EJEMPLO:
Estructura de las reglas:
RESOLUCION DE CONFLICTOS
La acción cíclica del emparejamiento hacia adelante puede resultar excluidas reglas útiles para el sistema.
Ejemplo:
If juega mi equipo favorito hoy a las 19:00
And tengo por lo menos Bs. 150
Then Debería ir al juego
If mi película favorita se estrena hoy a las 19:00
And tengo por lo menos Bs. 150
Then Debería ir al cine.
DEFINICION: RESOLUCION DE CONFLICTOS
Es una estrategia usada para escoger una regla cuando mas de una regla puede ser aplicada.
Los Sistemas Expertos que usan resolución de conflictos, el motor de inferencia sigue un proceso de 3 pasos:
1. Reconocimiento: Se emparejan las premisas de todas las reglas con los hechos listados en la M. de T. y se
identifican las reglas que pueden ser aplicadas.
2. RESOLVER: Si mas de una regla puede ser aplicada se escoge una de las reglas de acuerdo a alguna estrategia.
3. ACTUAR: Se aplica la regla escogida y se adiciona su conclusión a la Memoria de Trabajo.
ESTRATEGIAS TIPICAS DE RESOLUCION DE CONFLICTOS
1. La primera regla que empareje en el contenido de la memoria de trabajo.
2. La regla de mas alta prioridad.
3. La regla mas especifica.
4. La regla que se refiera al elemento mas recientemente adicionando a la M. de T.
5. No Aplicar una regla que ya ha sido aplicada.
Encadenamiento hacia Atras
Es la estrategia de inferencia que intenta probar una hipótesis recolectando información de apoyo.
Primitiva: Premisa de una regla que no es concluido por ninguna regla. (Debe introducir el usuario).
Encadenamiento hacia Atrás
1. Comienza con una meta a probar.
2. Inspecciona la memoria de trabajo para ver si la meta ha sido previamente probada.
3. Sino el sistema busca en sus reglas para ver si una o mas tienen esta meta en su parte del THEN este tipo
de regla se llama regla meta.
4. Luego el sistema ve si las premisas de la regla meta están listadas en la memoria de trabajo, las
premisas no listadas se tornan nuevas metas o sub-metas para ser probadas.
5. Este proceso continua de manera recursiva hasta que el sistema encuentra una premisa que no es
soportada por ninguna regla. (Primitiva).
Ejemplo:
Encadenamiento hacia Delante
VENTAJAS
- Trabaja bien cuando el problema comienza con la resolución de información y luego ve que puede ser
inferido de esta información.
- Puede proveer una considerable cantidad de información partiendo de una pequeña cantidad de datos.
- Excelente para ciertos tipos de problemas como Planificación, monitoreo, control y interpretación.
- Encadenamiento hacia Delante
DESVENTAJAS
- El SE puede hacer todas las preguntas posibles aun si fuera necesario hacer solo unas cuantas preguntas
para llegar a la solución.
- El SE puede hacer preguntas no relacionadas con el tema, lo que puede desconectar al usuario.
Encadenamiento hacia Atrás
VENTAJAS
- Trabaja bien cuando el problema comienza formando la hipótesis y luego busca probarla.
- Se enfoca en la meta dada, produce una serie de preguntas relacionadas con el tema.
- Busca solo la parte de la Base de Conocimiento que es relevante para el problema en cuestión.
- Es excelente para tareas, tales como diagnóstico, prescripción y corrección de errores.
DESVENTAJAS
- La principal desventaja es que continua siendo una línea de razonamiento.
QUE ENCADENAMIENTO ESCOGER?
Para escoger entre las dos técnicas considerar lo siguiente:
- Como resuelve el problema el experto humano.
- Si el experto primero recolecta datos y entonces ve que puede ser inferido.
- Se necesitan mas conclusiones que datos.
- Si el primero plantea una hipótesis y busca como probarla.
- Si se necesitan mas datos que conclusiones.
- Ver que camino se a escogido en el pasado en aplicaciones similares.
QUE ENCADENAMIENTO ESCOGER?
Recommended