capitulo iv: sistemas basados en el conocimiento. 4.1....

43
Inteligencia Artificial. - Sistemas basados en el conocimiento. 129 CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. En los capítulos anteriores estudiamos las diversas F.R.C. y un gran número de M.S.P. En este capítulo analizaremos cómo utilizar e integrar lo estudiado en los Sistemas Basados en Conocimiento (S.B.C.). Comenzamos el estudio de los sistemas expertos, los cuales han sido uno de los principales éxitos comerciales de la IA y constituyen un modelo computacional de nuevo tipo, pues en ellos están perfectamente delimitadas las dos componentes de un modelo. 4.1. Definición de Sistema Experto. Los expertos son personas que resuelven tipos específicos de problemas. Su habilidad proviene, generalmente, de una vasta experiencia y de un conocimiento detallado, especializado de los problemas que manejan. Se pueden citar como ejemplos los médicos especialistas, intérpretes de datos de satélite, ingenieros expertos que diagnostican y reparan equipos de alta tecnología, entre otros. El conocimiento de un experto humano presenta dos aspectos: - Conocimiento formal o público: Está basado en las leyes conocidas de la naturaleza, como por ejemplo las leyes de Newton, y en métodos formales de razonamiento. Este conocimiento está, usualmente, incluido en los libros de texto relativos al tema y, como está formalizado, puede ser transferido a otras personas con relativa facilidad. - Conocimiento informal o privado: Según el juicio, la opinión o el criterio del experto, consta de sugerencias y de cálculos aproximados. Constituye la parte más importante del conocimiento de los expertos. Se presume que el mejor experto es el que posee un conjunto más rico de este tipo de conocimiento. La experticidad o pericia es, entonces, el conocimiento tanto público como privado que existe en determinado campo y las habilidades conocidas para resolver problemas dentro de ese campo. El conocimiento privado es el que diferencia a un experto de un novato, pues este último sólo posee conocimiento público sobre dicho campo. El concepto de Sistema Experto (S.E.) fue introducido por Feigenbaum como consecuencia de la experiencia del proyecto DENDRAL. El surgimiento de estos sistemas está directamente vinculado al cambio de concepción ocurrido a fines de la década del 60, pues de los intentos de emular el pensamiento humano mediante potentes métodos de razonamiento se pasó a dar mayor énfasis a los sistemas de razonamiento de propósito específico. El conocimiento propio de un dominio de aplicación pasó a ser más importante que el M.S.P. empleado. Los Sistemas Expertos (SE) constituyen uno de los éxitos comerciales más importantes de la Inteligencia Artificial. Estos son programas sofisticados de computación que tratan de imitar funciones de un experto en algún dominio

Upload: others

Post on 06-Apr-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

129

CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. En los capítulos anteriores estudiamos las diversas F.R.C. y un gran número de M.S.P. En este capítulo analizaremos cómo utilizar e integrar lo estudiado en los Sistemas Basados en Conocimiento (S.B.C.). Comenzamos el estudio de los sistemas expertos, los cuales han sido uno de los principales éxitos comerciales de la IA y constituyen un modelo computacional de nuevo tipo, pues en ellos están perfectamente delimitadas las dos componentes de un modelo.

4.1. Definición de Sistema Experto. Los expertos son personas que resuelven tipos específicos de problemas. Su habilidad proviene, generalmente, de una vasta experiencia y de un conocimiento detallado, especializado de los problemas que manejan. Se pueden citar como ejemplos los médicos especialistas, intérpretes de datos de satélite, ingenieros expertos que diagnostican y reparan equipos de alta tecnología, entre otros.

El conocimiento de un experto humano presenta dos aspectos:

- Conocimiento formal o público: Está basado en las leyes conocidas de la naturaleza, como por ejemplo las leyes de Newton, y en métodos formales de razonamiento. Este conocimiento está, usualmente, incluido en los libros de texto relativos al tema y, como está formalizado, puede ser transferido a otras personas con relativa facilidad.

- Conocimiento informal o privado: Según el juicio, la opinión o el criterio del experto, consta de sugerencias y de cálculos aproximados. Constituye la parte más importante del conocimiento de los expertos. Se presume que el mejor experto es el que posee un conjunto más rico de este tipo de conocimiento.

La experticidad o pericia es, entonces, el conocimiento tanto público como privado que existe en determinado campo y las habilidades conocidas para resolver problemas dentro de ese campo. El conocimiento privado es el que diferencia a un experto de un novato, pues este último sólo posee conocimiento público sobre dicho campo.

El concepto de Sistema Experto (S.E.) fue introducido por Feigenbaum como consecuencia de la experiencia del proyecto DENDRAL. El surgimiento de estos sistemas está directamente vinculado al cambio de concepción ocurrido a fines de la década del 60, pues de los intentos de emular el pensamiento humano mediante potentes métodos de razonamiento se pasó a dar mayor énfasis a los sistemas de razonamiento de propósito específico. El conocimiento propio de un dominio de aplicación pasó a ser más importante que el M.S.P. empleado. Los Sistemas Expertos (SE) constituyen uno de los éxitos comerciales más importantes de la Inteligencia Artificial. Estos son programas sofisticados de computación que tratan de imitar funciones de un experto en algún dominio

Page 2: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

130

del conocimiento, es decir, manipulan conocimientos de expertos para resolver, eficiente y efectivamente, problemas de un área específica, tal como lo hacen los expertos humanos. Incorporan operativamente el conocimiento de una o varias personas experimentadas. Resuelven problemas de forma “inteligente” y son capaces de explicar y justificar sus respuestas. Son creados para actuar como asistentes “inteligentes” en los procesos de tomas de decisión. El mecanismo que facilita este comportamiento “inteligente” está basado en el uso de los conocimientos. Un experto humano o un programa de computación es más inteligente mientras mayor cantidad de conocimiento posea y emplee. La razón por la que los S.E. pueden alcanzar un comportamiento similar al de los expertos humanos es, precisamente, que usan el conocimiento informal o privado para resolver problemas. Los S.E. pueden ser considerados como una aplicación práctica de los principios de la I.A. Su finalidad y principal actividad no es copiar los procesos mentales humanos en la manera más fiel, sino lograr las mejores respuestas a preguntas de datos reales. Básicamente un S.E. se divide en tres módulos:

- Base de Conocimiento (B.C.): En ella se almacena el conocimiento sobre algún dominio de aplicación mediante alguna F.R.C. Es el corazón del S.E.

- Máquina de Inferencia (M.I.): Implementa algún M.S.P. que manipula el conocimiento almacenado en la B.C. e informaciones sobre estados iniciales, estados actuales de la solución del problema, etc., las cuales procesan dinámicamente en una estructura que se le llama Base de Datos (B.D.) o Memoria de Trabajo.

- Interface con el Usuario (I.U.): Mediante ella el usuario plantea los problemas al S.E., recibe preguntas del mismo y ofrece las explicaciones necesarias. La IU se compone de: Preguntas, Frases y Menúes. Pueden incluir módulos de explicaciones asociadas a cada regla para proveer información suplementaria. Usualmente la información que procesa la IU debe suministrarse con una sintaxis estricta, formateada de alguna forma.

En principio el SE se construía partiendo desde cero, generalmente en Lisp. Luego se vio que tenían bastante en común y así surgen los Shell o armazones. El conjunto formado por la máquina de inferencia y la interface con el usuario recibe el nombre de Sistema Experto Vacío o Esencial (SHELL), y puede ser empleado en la creación de diversos SE siempre que los dominios de aplicación de éstos sean similares respecto al formalismo necesario para representar el conocimiento y la línea de razonamiento que se emplea en la solución de problemas. El concepto de SE vacío apareció en el período 1977-1981. Cada SE vacío define un modelo computacional. La arquitectura del S.E.es mostrada en la figura 4.1. Los shell se caracterizan por:

- No contienen B.C. - La única diferencia entre un S.E. y otro que usen el mismo shell es el

contenido de sus B.C. - Permite procesar B.C. diferentes y crear, por tanto, S.E. diferentes que se

correspondan con la F.R.C. que procesa la M.I. y la I.U.

Page 3: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

131

- Contienen, por lo general, facilidades de edición que permiten entrar el conocimiento con un formato predeterminado y editarlo si se requiere.

- Actúan como un compilador o intérprete en el sentido de que las reglas entradas en el editor son compiladas por el shell y llevadas a un código final que usan la M.I. y la I.U.

SHELL

B.C. M.I.

I.U.

Usuario

Fig. 4.1. Arquitectura de un Sistema Experto.

4.2. Caracterización de los Sistemas Expertos. Los Sistemas Expertos son un tipo de modelo computacional con características especiales por las razones que se describen a continuación.

4.2.1. Rasgos de un S.E.

A pesar de que existen muchas implementaciones de S.E., hay rasgos comunes que los distinguen:

- La acumulación y codificación del conocimiento. La B.C. contiene el conocimiento tanto público como privado que posee el experto para la solución de problemas en un dominio de aplicación concreto. Existen diversas formas de representar ese conocimiento. La selección adecuada de la F.R.C. desempeña un papel muy importante e influye sustancialmente en la efectividad de todo el sistema.

- El conocimiento del S.E. es explícito y accesible. El conocimiento de los expertos es expresado bastante explícitamente en forma de un fichero en la computadora. De esta manera, la B.C. es fácilmente accesible por los expertos y modificada por ellos. La B.C. se almacena de forma independiente a la M.I., por lo que una misma M.I. puede ser utilizada en áreas de aplicación diferentes.

- Alto nivel de experticidad. Es el rasgo más útil. Los S.E. resuelven problemas que requieren años de entrenamiento a los humanos.

- Habilidad para ofrecer facilidades de entrenamiento para personal clave y miembros importantes del grupo. Los S.E. contienen el conocimiento necesario y la habilidad para explicar su proceso de razonamiento

- Puede actuar como una teoría de procesamiento de información. El S.E. permite al usuario evaluar los efectos potenciales de nuevos datos y comprender la relación entre ellos. Igualmente puede evaluar el efecto de nuevas estrategias o procedimientos mediante la inclusión o modificación

Page 4: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

132

de las reglas, o sea, permite analizar cómo se comporta el S.E. ante un cambio de los datos iniciales.

- Es un modelo computacional para ayudar a la toma de decisiones. Los S.E. constituyen un nuevo modelo computacional donde el formalismo para representar el conocimiento es independiente del método de solución empleado.

- Es una memoria institucional. Si la base de conocimientos fue desarrollada a través de la interacción con el personal clave de una institución, entonces esta compilación de conocimientos se convierte en un consenso de opiniones de alto nivel, luego representa la política actual de esa institución.

- Son capaces de tomar decisiones inteligentes en un área de aplicación relativamente estrecha.

- Ellos deben ser capaces de tener atributos similares a los de los expertos humanos como la capacidad de adquirir nuevos conocimientos y perfeccionar el que posee.

- Tienen facilidad de explicación. Los S.E. son capaces de justificar cómo obtuvieron sus conclusiones y explicar el por qué hacen una pregunta. Esto implica exponer las líneas de razonamiento y las operaciones realizadas en cada paso. Precisamente por estas características, los S.E. permiten entrenar a personas no especialistas en el problema que aborda.

4.2.2. Comparación entre la experticidad humana y la artificial.

Al comparar la experticidad humana con la artificial existen aspectos, algunos de los cuales favorecen a los SE y otros a los humanos.

Experticidad humana Experticidad artificial - Puede perderse, pues la vida - Es permanente. humana es limitada. - Impredecible, por razones - Consistente, pues no está

emocionales. relacionada con el estado “físico o mental” del S.E. ni con la frecuencia de su uso.

- Difícil de transferir, pues la - Fácil de transferir. Bastaría educación humana es un proceso copiar un fichero en la largo y costoso. computadora. - Difícil de documentar. - Fácil de documentar. - Costosa, pues los expertos - Relativamente barata. Los S.E. humanos son escasos. son caros para desarrollar, pero

de bajo costo para operar. - Se agota durante un trabajo - Puede trabajar las 24 horas del

intenso. día. - Creativo e imaginativo. - Sin inspiración, se comporta de

modo rutinario. - Adaptable a las condiciones - Se necesita enseñarles todo el

cambiantes. conocimiento, pues las técnicas de aprendizaje automatizado no están lo suficientemente desarrolladas.

- Espectro ancho, pues tiene en - Espectro estrecho, pues aíslan

Page 5: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

133

cuenta las relaciones con el el problema. resto del mundo.

- Conocimiento con sentido común. - Conocimiento técnico.

Podemos concluir que los S.E. no sustituyen a los expertos, sino más bien ayudan a las personas a progresar, participando en actividades más desafiantes intelectualmente, por lo que el conocimiento contenido en un S.E. es una nueva fuente práctica de conocimientos. Ellos frecuentemente son usados como un consultante o ayuda a usuarios expertos o novatos de algún dominio de aplicación.

4.2.3. Comparación entre los programas convencionales y los S.E.

Los programas convencionales pueden ser divididos en: el algoritmo, el cual contiene todo el conocimiento y los datos a los que se le aplica dicho algoritmo. La arquitectura típica de los S.E. es diferente. Ellos están constituidos por el shell y la B.C. Si un programa convencional necesita ser modificado para incluir nueva información, entonces hay que examinar el programa completo hasta encontrar la línea o bloque donde se necesita insertar dicha información. Sin embargo, en los S.E. podemos realizar estas modificaciones fácilmente, pues basta modificar la B.C. y no hay necesidad de afectar la estructura del programa. Esta flexibilidad de los S.E. proporciona una mayor eficiencia en la programación y la comprensibilidad y precisamente, los distingue como un modelo computacional nuevo. Mientras los programas convencionales son usados para llevar a cabo una predeterminada secuencia fija de instrucciones, sin tener “en mente” el fin o la meta de su actividad, los S.E. tienen “en mente” la obtención de ese fin. Los S.E. contienen “hechos” y “medios” de utilización de sus hechos para alcanzar los fines. Además la habilidad para aprender nuevos conocimientos a partir de la experiencia puede ser implementada en forma natural y efectiva por los S.E.

4.2.4. Requerimientos para emplear los S.E.

Para desarrollar un S.E. en un dominio de aplicación concreto deben tenerse en cuenta algunos requerimientos:

- La solución de las tareas en este dominio no requiere de sentido común. - La solución de las tareas sólo requiere el empleo de habilidades

cognoscitivas, no físicas. - Existen expertos genuinos en el dominio de aplicación. - Los expertos pueden articular sus métodos. - Las tareas en este dominio están bien comprendidas pues, en caso

contrario, se necesita desarrollar previamente investigaciones básicas para hallar las soluciones.

4.3 Justificación para desarrollar un SE. Cualquiera de las situaciones siguientes pueden justificar que se desarrolle un

Page 6: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

134

SE: - La solución de las tareas del dominio de aplicación da un resultado de

mucho valor. - La experticidad humana puede perderse. - La experticidad humana escasea. - La experticidad humana se necesita en muchos lugares. - La experticidad humana se necesita en ambientes hostiles.

4.4. Aplicaciones de los S.E.

Los S.E. constituyen uno de los éxitos comerciales más importantes de la I.A. y representan la avanzada en el paso de las técnicas de I.A., desde los laboratorios académicos al ambiente productivo. Son muchas las áreas de aplicación de los S.E. Entre ellas podemos mencionar:

- Interpretación: Inferir la descripción de situaciones a partir de datos sensoriales. Implica el análisis de datos para determinar su significado.

- Predicción: Inferir las consecuencias de situaciones dadas. - Diagnóstico: Inferir el mal funcionamiento de un sistema a partir de

observaciones. - Diseño: Configurar objetos bajo ciertas restricciones. - Planificación: Determinar la secuencia óptima de operadores para

transformar un estado inicial en un estado final. La mayoría de los sistemas de planificación actuales están basados en el método “generar y comprobar”.

- Monitoreo: Comparar observaciones para detectar situaciones esperadas. Implica el análisis continuo de señales y la puesta en marcha de acciones y/o alarmas según proceda.

- Instrucción: Controlar y actuar sobre el comportamiento del estudiante. - Control: Gobernar parcial o completamente el comportamiento de

sistemas.

Algunos S.E. famosos son: MYCIN, desarrollado en la Universidad de Stanford en 1976; PROSPECTOR, creado por Richard Duda, Peter Hard y Rene Reboh en 1978; R1, luego llamado XCON, AL/X, FEL-EXPERT, DIPMETER ADVISOR, entre otros. Los S.E. actuales han alcanzado un gran estado de utilización práctica y una actividad comercial muy lucrativa. Por ejemplo, en 1980 PROSPECTOR descubrió un depósito de molibdeno, cerca del Monte Tolman, en Eastern Washington, que ha sido evaluado en cien millones de dólares. La compañía DEC estableció que el S.E. R1/XCON para el diseño de la configuración de computadoras reporta una ganancia de diez millones de dólares anualmente. Mientras que los costos del desarrollo en cinco años del sistema DIPMETER ADVISOR para la evaluación de la calidad en la perforación de pozos petroleros ha alcanzado la suma de 21.5 millones de dólares, la ganancia por su aplicación para la firma Schlumberger es alrededor de 200 millones de dólares anuales.

Existen decenas de herramientas para la construcción de S.E., ya sea para el esquema de representación del conocimiento como para la M.I., entre las que se encuentran:

- Shells de S.E. Ejemplos: EMYCIN, KAS, ARIES, y otros.

Page 7: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

135

- Herramientas para la construcción de Sistemas Basados en Reglas. Ejemplos: OPS5 y SOAR de la Universidad Carnegie-Mellon, M.1 y S.1 de la Teknowledge, entre otros.

- Lenguajes para la creación de Sistemas Basados en Marcos. Ejemplos: FRL, OWL, KL-ONE, etc.

- Herramientas para construir Sistemas de Programación Lógica. Ejemplos: las versiones de PROLOG FIT de la Universidad de Hamburgo y POPLOG de la Universidad de Sussex.

- Lenguajes para la Programación Orientada a Objetos. Ejemplos: SMALLTALK, BORLAND C++, EIFFEL, entre otros.

4.5 Limitaciones actuales de los SE

A pesar de todo lo anterior, los S.E. presentan algunas limitaciones, como por ejemplo:

- Dominio estrecho de experiencia. - Incapacidad de realizar razonamiento con sentido común. Ej: si se describe

que un paciente tiene 130 años y pesa 40 libras el sistema no puede darse cuenta de la inversión de los datos.

- Las M.I. son demasiado simples y no permiten una visión global de los procesos de inferencia.

- El conocimiento profundo y casual no es explotado. - Rango limitado de la capacidad de explicación. - Posibilidades restringidas de comunicación, pues los lenguajes orientados a

un problema no son flexibles ni lo suficientemente naturales. - Incapacidad del S.E. para reconocer el límite de su habilidad. Constituye la

limitación más seria. No tienen un conocimiento profundo acerca de su propia gestión. No pueden razonar sobre su campo de acción y limitaciones.

- La presencia del Ingeniero del Conocimiento es inevitable. Las herramientas actuales para el desarrollo de los SE no son buenas para:

- realizar la adquisición del conocimiento, - refinar la base de conocimientos, - manipular el conocimiento almacenado usando formas de representación

del conocimiento mixtas y complejas.

4.6 Implementación de un SE vacío. Para desarrollar un sistema experto vacío (shell) es necesario implementar un método de solución de problemas y tener en cuenta cómo se manipula la certidumbre de la información, y además el módulo de interface con el usuario.

4.6.1 Implementación de la MI. La máquina de inferencia (MI) es el módulo de un SE encargado de encontrar la solución a un problema dado a partir del conocimiento almacenado en la base de conocimientos y los datos iniciales del problema. La implementación de la MI depende de la forma de representación elegida para almacenar el conocimiento y del método de solución de problemas seleccionado. La FRC

Page 8: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

136

usada más frecuentemente para crear la base de conocimientos es la regla de producción, en este caso las máquinas de inferencias son implementadas como Sistemas de Producción.

La M.I. está compuesta por: - Método de Solución de Problemas. - Principios de control “ad hoc”. - Mecanismo de explicación. - Técnicas de procesamiento de la información con incertidumbre.

Los distintos M.S.P. existentes fueron estudiados detalladamente en el capítulo 3. Entre los principios de control “ad hoc” utilizados por los S.E. podemos mencionar:

- Agenda. Del proceso de solución del problema, un grupo colateral de

subtareas se crea y/o reorganiza. La creación es invocada por vínculos asociativos que pueden ocurrir de las reglas de razonamiento exacto. Cada tarea posee una lista de justificaciones y cada justificación representa una medida absoluta del valor de dicha razón. Al ser resuelta una subtarea, la tarea parcial en el tope de la pila se considera puede ser resuelta en el próximo paso. Este principio posibilita una efectiva dirección de la aplicación y fue usado, primeramente, por el sistema AM (Lenat 1980).

- Demonios. Este método parte de la idea de demonios que están sentados

silencio-samente observando el proceso de inferencia. Ellos sólo interfieren en este proceso bajo situaciones específicas y predefinidas. El “demonio” es un procedimiento activado por cambios importantes de los resultados presentes o por adición de nuevos datos.

- Inferencia no monótona. Algunos S.E. actuales son capaces de realizar este tipo de inferencia.

Este razonamiento está basado en algunas suposiciones que pueden convertirse posteriormente en inaceptables o irrealizables. Las M.I. no monótonas tienen que ser capaces de reparar adecuadamente la situación actual, una vez que se han destruído las suposiciones iniciales.

- Pizarrón. Es frecuente encontrar un problema que, por ser muy vasto y

complejo, no puede ser resuelto por un solo experto o B.C. La comunicación de la información entre varios expertos o varias B.C., conocidos en este caso como fuentes de conocimientos, se realiza a través de un mecanismo llamado pizarrón. El pizarrón es una estructura, en la que la información importante obtenida de una fuente de conocimiento es “colocada” o escrita. Así, cualquier otra fuente de conocimiento puede referirse a esta información para alcanzar sus objetivos. Cada fuente de conocimiento es responsable de resolver su problema particular, por lo que debe conocer qué clase de información necesita y dónde encontrarla en el pizarrón, pero no le hace falta conocer cómo ésta fue deducida. La comunicación entre las fuentes de conocimiento es indirecta y algo costosa, por lo que se aconseja utilizar este modelo en problemas que puedan ser descompuestos en tareas casi independientes. La

Page 9: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

137

noción de fuentes múltiples de conocimiento se utilizó, por primera vez, en el sistema HEARSAY-II, el cual era capaz de realizar consultas en lenguaje natural a un sistema de B.D. Para el S.E. MDX, el pizarrón sirve como instrumento de comunicación entre varios expertos en diagnóstico, cada uno con una especialidad diferente.

Un SE debe reunir las dos capacidades siguientes, además de cumplir con su tarea fundamental:

- Explicar sus razonamientos: En el diagnóstico los médicos no aceptarán los resultados sino están convencidos del razonamiento que se hizo.

- Adquirir nuevos conocimientos y modificar los antiguos: Una manera de plasmar el conocimiento en un programa es a través de la interacción con el experto humano. Otra forma es que el programa aprenda el comportamiento del experto a partir de los datos en bruto.

Una de las características de los SE es poder explicar su trabajo, principalmente esta posibilidad se presenta en dos aspectos:

- Poder explicar cómo se alcanzó un resultado, esta pregunta la hace el usuario cuando tiene dudas sobre el resultado o desea aprender como se alcanzó.

- Poder explicar por qué se hace una pregunta (esta posibilidad aparece cuando se utiliza como método de solución de problema un método como el encadenamiento hacia atrás), al usuario le interesa saber por qué se le hace una pregunta cuando ésta le parezca irrelevante o en caso que la respuesta requiera un esfuerzo adicional por parte del usuario.

El tipo de mecanismo de explicación más común se basa en el razonamiento retrospectivo, éste explica cómo el sistema alcanzó un estado particular. Otras variantes de explicación son el razonamiento hipotético , donde el sistema explica qué podría haber sucedido al variar algunos de los parámetros usados en el razonamiento; y el razonamiento contrario, donde el sistema explica por qué una conclusión esperada no fue obtenida. El razonamiento retrospectivo se puede implementar por dos vías: a) Secuencia de estados visitados:

Una forma de responder a cómo se alcanzó un resultado es mostrando la secuencia de estados visitados durante la búsqueda de una solución, en este caso pueden eliminarse los estados que provocaron un retroceso en la búsqueda. Similarmente se puede responder a por qué se hace una pregunta presentando la secuencia de estados recorrida y que lleva a la situación donde es necesario preguntar información al usuario.

En ambos casos es conveniente tener una traducción de los estados que facilite la explicación.

Si la MI se basa en un sistema de producción, a éste se le añade una componente para dar las explicaciones. La respuesta a “por qué” es mostrar una cadena de reglas y objetivos que relacionan la información preguntada con la pregunta original del usuario; la respuesta a “cómo” es presentar las reglas y subobjetivos de los cuales se obtiene la conclusión. Nótese como la secuencia de reglas para explicar el “por qué” se puede formar a partir de la pila de objetivos creada durante la búsqueda de la solución con encadenamiento hacia atrás. Para responder al “cómo” es suficiente ver en la memoria de trabajo el número de la regla mediante la cual se alcanzó el

Page 10: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

138

resultado y presentarla, analizar cuáles atributos forman la premisa de esta regla y ver cómo fueron evaluados, si fueron avaluados por una regla se presenta ésta y se repite el proceso hasta llegar a los atributos evaluados por el usuario.

Este estilo de explicación es útil pero difícil de implementar cuando en la secuencia aparecen muchas reglas. Además, la explicación sólo ofrece un agregado de fragmentos de pequeñas inferencias sin sintetizarlas. Otra desventaja de esta forma de explicación es que no siempre todos los especialistas están de acuerdo con las reglas tal y como se han elaborado, pues sólo ven una parte del conocimiento aisladamente.

MYCIN usa el método de secuencia de estados visitados. El módulo de MYCIN que se encarga de la explotación se llama TEIRESIAS. El modelo de sistema de producción es muy general y estos son difíciles de mantener sin algunas restricciones por todo tipo de explicaciones que un humano podría solicitar. SALT es un programa de adquisición de conocimientos que se utiliza en la construcción de SE que diseñan artefactos a través de una estrategia de propuesta y revisión. SALT es capaz de responder a preguntas “ por qué no” (¿por qué no ha asignado el valor x a este parámetro?) y “ qué si” (¿Qué pasaría si lo hace?). Esto ayudaría al proceso de construcción y refinamiento del conocimiento.

b) Justificación Otra variante de explicación se conoce como justificación. En ella la justificación de un resultado presenta los hechos (atributos) que han contribuido a este resultado. La justificación está constituida por un conjunto que contiene los hechos que han establecido o negado el resultado.

Parámetro Valor Marca Contribución

La marca (POS o NEG) indica si el hecho contribuye al resultado por su presencia (POS) o por su ausencia (NEG). La marca no es necesaria cuando el parámetro tiene un valor numérico o de tipo SI/NO. Es decir, la justificación de un resultado no es más que mostrar las unidades de información que han sido tomadas en cuenta durante la búsqueda de la solución, de modo que los expertos pueden rápidamente verificar la validez del razonamiento sin tener que estudiar cada paso de la búsqueda (cada regla de la secuencia). Las ventajas de este método son: - Ofrece una visión general del proceso de búsqueda de la solución. - La justificación puede ser usada por un procedimiento de validación para

chequear la consistencia de la base de conocimientos o detectar las contradicciones entre los datos.

4.6.2 Implementación de la interfaz con el usuario.

Al implementar la interfaz con el usuario se deben tener en cuenta ciertos criterios: - La interfaz permite desarrollar ambientes interactivos con grandes

facilidades para el desarrollo de diálogos, lo cual es muy necesario para hacer y responder a las preguntas ¿Por qué? (Why) y ¿Cómo? (How).

- Se deben poder definir ayudas que puedan ser activadas fácilmente. - Es conveniente tener la posibilidad de crear ventanas, encadenamientos de

ventanas, etc.

Page 11: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

139

- Permitir su interacción con un gran entorno de programación, o sea, con otros sistemas.

4.7. Desarrollo de un S.E.

Para el estudio de cómo desarrollar un S.E. es importante conocer los siguientes conceptos:

- Ingeniería del Conocimiento: Es la disciplina relacionada con la forma en que se organizan, construyen y verifican las B.C. de un S.E.

- Adquisición del Conocimiento: Es el proceso de extracción, codificación y verificación del conocimiento de un experto humano. Si la F.R.C. usada por el S.E. es la Regla de Producción, la extracción se refiere a la formulación de las reglas, la codificación, a la escritura de las mismas en una determinada sintaxis y la verificación, al refinamiento de la B.C. La adquisición del conocimiento es conocida como el “Cuello de Botella” de las aplicaciones de los S.E.

- Ingeniero de Conocimiento (I.C.): Es la persona responsabilizada con desarrollar las tareas de la ingeniería del conocimiento. Debe ser capaz de conocer y comprender los S.E., saber usar las herramientas para crear los mismos, ser un buen programador en un lenguaje de I.A. y un hábil entrevistador.

4.7.1. Etapas del desarrollo de un S.E.

En la construcción de los S.E. es necesario seguir ciertos pasos en aras de lograr la eficiencia del aseguramiento programativo y una mayor agilidad en la confección del sistema en cuestión. Estas etapas son: I) Etapa de identificación.

En esta etapa se caracteriza el problema según sus aspectos más relevantes. Esto incluye las siguientes tareas:

a) Selección de los participantes y determinación del papel a desempeñar por cada uno de ellos.

Antes del proceso de adquisición del conocimiento es necesario determinar quiénes van a participar en el mismo. Lo más usual es que sólo participe un experto y un I.C. No obstante, pudieran participar otros expertos en el tema y más de un I.C. Es necesario, por tanto, asignarle a cada uno de ellos la tarea que va a desempeñar, determinando, por supuesto, el experto y el I.C. jefes.

b) Identificación del problema. Esta tarea es desarrollada por el experto y el I.C de una manera

conjunta. Su objetivo es dar respuesta a las preguntas siguientes: ¿Qué clase de problemas el S.E. debe resolver?

¿Cómo pueden caracterizarse o definirse estos problemas? ¿Cuáles son los subproblemas importantes? ¿Cuáles son los datos con los que va a trabajar el S.E.? ¿Cuáles son los términos importantes y las relaciones entre ellos? ¿Cuál es el formato de la solución y qué conceptos son usados en ella?

Page 12: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

140

¿Qué aspectos de la experticidad humana son esenciales en la solución de estos problemas?

¿Qué situaciones pudieran impedir el logro de las soluciones? ¿Cuáles son los impedimentos que afectan al S.E.?

c) Identificación de los recursos. Esta tarea consiste en identificar los recursos necesarios para adquirir el conocimiento e implementar y probar el sistema. Ejemplos de recursos típicos lo constituyen las fuentes del conocimiento, el tiempo necesario, el equipamiento computacional requerido, el costo del desarrollo del sistema, entre otros.

d) Identificación del objetivo. En esta tarea se identifican los objetivos de la construcción del S.E. Se hace de forma independiente a la identificación del problema, pues es útil separar los objetivos de las tareas específicas del problema a realizar.

II) Etapa de conceptualización.

En esta etapa se definen explícitamente los conceptos y relaciones claves identificados en la etapa anterior. Esta se desarrolla mediante interacciones constantes entre el experto y el I.C. y consume una gran cantidad de tiempo. Para ello es necesario responder a las preguntas siguientes:

¿Qué tipo de datos están disponibles? ¿Qué se da y qué se infiere? ¿Tienen nombres las subtareas? ¿Tienen nombres las estrategias? ¿Existen hipótesis parciales usadas frecuentemente?. ¿Cuáles son éstas? ¿Cómo se relacionan los objetos en el dominio?

¿Se puede establecer una jerarquía y etiquetar relaciones causales, inclusión en conjuntos, relaciones parte-de, etc?

¿Qué procesos intervienen en la solución del problema? ¿Qué retricciones poseen estos procesos? ¿Cuál es el flujo de información?

¿Se puede identificar y separar el conocimiento necesario para resolver el problema del necesario para justificar su solución?

III) Etapa de formalización.

En esta etapa se crea una representación formal, basada en las herramientas de la Ingeniería del Conocimiento, de todas las características analizadas en la etapa anterior. En ella el I.C. desempeña un papel más activo, explicándole al experto los instrumentos existentes y la forma idónea para representar su problema. Como resultado de la misma se obtiene un conjunto de especificaciones parciales que describen cómo el problema puede representarse dentro de la herramienta seleccionada. Para ello se responden las siguientes preguntas: ¿Cuál es el espacio de hipótesis? ¿Qué modelo se va a usar para representar el conocimiento? ¿Los datos son insuficientes, completos, redundantes e inconsistentes? ¿Existe incertidumbre en los datos? ¿La interpretación lógica de los datos depende de su orden de ocurrencia? ¿Cuál es el costo de adquisición de los datos? ¿Qué clases de preguntas son necesarias hacer para obtener los datos? ¿Qué formalismo se va a usar para representar el conocimiento? ¿Qué M.S.P. se va a utilizar?

Page 13: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

141

IV) Etapa de implementación.

El conocimiento formalizado en la etapa previa se lleva a la forma de representación escogida, quedando conformada la B.C. Se implementa además el M.S.P seleccionado, especificando las estructuras de datos, las reglas de inferencia y los mecanismos de control, construyéndose un programa ejecutable. Como resultado de esta etapa se obtiene un prototipo del S.E., capaz de ser ejecutado y probado.

V) Etapa de prueba. Se evalúa el prototipo usando dos o tres ejemplos. Cuando éste se ejecute correctamente con éstos, se debe probar con una variedad de casos, que incluyan tanto los más comunes como las más raros, para determinar las debilidades de la B.C.: si se hacen preguntas inadecuadas o ambiguas, si la entrada de los datos es poco amistosa, si las conclusiones son adecuadas, si la salida tiene un nivel de detalle apropiado, si no hay errores en el razonamiento, si no hay reglas incorrectas, incompletas o inconsistentes, si el mecanismo de control usado es adecuado, o sea, si se escogen primero las reglas deseadas, etc. La medición de los resultados de un S.E. es difícil porque no se sabe cómo cuantificar el uso del conocimiento. No se pueden presentar pruebas concluyentes formales de su corrección. Lo que se puede hacer es oponerlo a un experto humano en la solución de problemas reales. Ej: MYCIN obtuvo una mayor puntuación que la de una lista de expertos en la evaluación de 10 casos.

VI) Revisión del prototipo. Normalmente, el refinamiento del prototipo incluye el reciclaje a través de las etapas de implementación y prueba para ajustar las reglas y las estructuras de control. Esta etapa debe conducir a que el razonamiento sea estable y el sistema eficiente. Aquellos aspectos que lo afecten deben ser modificados. Estas etapas no son independientes y están muy relacionadas entre sí. Por ejemplo, fallas al implementar las reglas y el mecanismo de control en la etapa de implementación pueden ocasionar cambios en la etapa de formalización. Además, la última etapa puede ocasionar la revisión parcial de las etapas anteriores.

4.7.2. Adquisición del conocimiento.

La calidad de la B.C. tiene una importancia crucial para el buen comportamiento de un S.E. Es por ello que debemos profundizar en las técnicas empleadas para la adquisición del conocimiento.

4.7.2.1. Fuentes de adquisición del conocimiento.

El conocimiento necesario para el desarrollo de un S.E. se puede obtener desde diversas fuentes, como libros, artículos, bases de datos, estudio de casos, datos empíricos y la experiencia personal de los expertos, siendo esta última la principal.

Page 14: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

142

Debido a que el I.C. no es un experto en el dominio del problema que se quiere resolver, debe interactuar con un experto en la materia. El vocabulario sobre el problema usado por el experto es inadecuado para resolverlo, por lo que el I.C. y el experto deben trabajar juntos en la extensión y refinamiento del conocimiento. Esta interacción se desarrolla, comúnmente, mediante entrevistas sistemáticas e intensas durante varios meses en la que se transfiere y codifica el conocimiento. Esta manera de adquisición del conocimiento presenta algunos problemas que pudieran, hasta cierto punto, parecer contradictorios, como:

- Es difícil para el experto expresar explícitamente las reglas que emplea cuando resuelve algún problema. El puede aplicar su conocimiento aunque no está consciente de las reglas que usa en la toma de decisión. Generalmente, el experto está dispuesto a proporcionar los conceptos importantes dentro del dominio del problema, pero tiene grandes dificultades cuando se le pide describir la estructura del conocimiento sin contradicciones y, casi siempre, falla si se requiere asignar incertidumbre numérica a partes del conocimiento. Obviamente, un experto humano resuelve sus problemas sin trabajar explícitamente con este tipo de representación.

- Para crear un S.E. el I.C. y el experto no deben ser la misma persona. - No se debe creer ciegamente en todo lo que el experto dice. - La reacción inicial de los expertos es ser hostiles a colaborar en el desarrollo

del S.E., pues ellos tratan de proteger el conocimiento acumulado durante años de estudio y trabajo. La tarea del I.C. es convencerlo y nunca criticar-lo o enjuiciarlo por esta actitud.

- Trabajar con varios expertos es más difícil pero es mejor, pues de esta manera se enriquece y refina el conocimiento adquirido.

- El secreto de trabajar con múltiples expertos es mantenerlos separados y entrevistarlos individualmente. Sólo después que el I.C. ha llegado a conclusiones debe someterlas al análisis conjunto.

- Cuando se trabaja con varios expertos es necesario que uno sea el jefe, de modo que éste tome las decisiones finales en caso de conflictos o diferencias.

- La transferencia de conocimiento consume mucho tiempo y es un proceso aburrido y agobiante para el experto.

SISTEMA EXPERTO MAQUINA DE INFERENCIA INGENIERO EXPERTO DEL INTERFACE CON EL USUARIO CONOCIMIENTO BASE DE CONOCIMIENTOS

Fig. 4.2. Papel del Ingeniero de Conocimiento en el desarrollo de un S.E.

4.7.2.2. Secuencia de trabajo del ingeniero de conocimientos.

Page 15: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

143

En el desarrollo e implementación del S.E., el I.C. debe realizar las tareas correspondientes a las etapas explicadas anteriormente siguiendo un orden específico. Una secuencia lógica de estos pasos pudiera ser:

I. Familiarizarse con el problema y el dominio de aplicación. Esto incluye la localización de la fuentes de conocimiento: libros, expertos humanos que quieran colaborar y otros materiales, y aprender de ellas lo más posible sobre el problema que se quiere resolver.

II. Caracterizar tentativamente los tipos de tareas de razonamiento que deben ejecutarse.

III. Luego de varias semanas realizando el estudio informal el I.C. es capaz de conversar inteligentemente con el experto. Para organizar el trabajo, primeramente planifica una serie de reuniones con cada experto con el objetivo de identificar el problema y caracterizarlo informalmente. Durante estas reuniones se decide hasta dónde se restringe el alcance del S.E. con el objetivo de mantener el problema tratable.

IV. Después de haber restringido adecuadamente el problema, el I.C. comienza a determinar los conceptos principales que se requieren para ejecutar cada tarea. En las entrevistas con los expertos determina los conceptos básicos, las relaciones primitivas y las definiciones necesarias para hablar acerca del problema y sus soluciones, así como intenta comprender qué conceptos y estrategias usa el experto para resolver cada tarea, pidiéndole en todo momento que justifique su razonamiento, para lo que es conveniente dar respuesta a las preguntas siguientes:

¿Qué hechos el experto trata de establecer primero? ¿Qué tipo de preguntas el experto hace primero? ¿El experto parte de suposiciones iniciales? ¿Cómo el experto determina las preguntas a realizar para profundizar

en el problema? ¿En qué orden el experto ejecuta cada subtarea? ¿El orden establecido para las subtareas varía de acuerdo al caso?

V. Una vez estudiado el problema con profundidad el I.C. escoge un formalismo de representación y diseña la B.C. e implementa el M.S.P. más adecuado al problema, quedando conformado un prototipo del S.E.

VI. El I.C. valida todo lo asumido mediante la prueba de las reglas y los conceptos. Generalmente se ejecutan las reglas y se muestran los resultados a varios expertos para conocer sus opiniones. Como consecuencia de esto, se desarrolla el proceso de refinamiento de la B.C., pudiéndose añadir o eliminar reglas, rediseñar la misma o reformular conceptos.

VII. Si llega el punto en que el IC valora que el prototipo se ha vuelto inmanejable como resultado de las modificaciones reiteradas el IC puede decidir rediseñar el mismo.

Para extraer el conocimiento de un experto humano, el I.C. puede usar algunas de las siguientes técnicas.

- Observar en forma pasiva al experto resolver problemas reales en su trabajo.

- Presentar al experto una serie de problemas reales a ser resueltos. - Discusión de problemas. El I.C. debe seleccionar un conjunto de

problemas representativos dentro del dominio de aplicación concreto e, informalmente, discutirlos con el experto, con el objetivo de determinar cómo éste organiza el conocimiento para resolver el problema, representa

Page 16: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

144

los conceptos y relaciones entre ellos y maneja las imprecisiones de los datos.

- Descripción de problemas. Pedir al experto que describa un problema prototipo para cada categoría de respuesta posible y analizar cómo éste resuelve cada uno.

- Presentar los casos resueltos por el experto y por el S.E. prototipo a otros expertos, con el objetivo de comparar sus resultados y perfeccionar al S.E.

4.7.2.3. Determinación de los conceptos y las relaciones entre ellos.

En la sección 4.6.1 estudiamos que un aspecto importante en la etapa de conceptualización del desarrollo de un S.E. es la determinación de los conceptos y las relaciones que pueden establecerse entre ellos, la cual se puede hacerse en tres etapas. Etapa I

- Determinar los conceptos primitivos. El primer paso en la modelación es separar los objetivos relevantes de los

irrelevantes en la realidad que se modela; esta identificación se realiza a partir de la percepción de la realidad y teniendo en cuenta los propósitos del sistema que queremos construir. El paso siguiente es agrupar los objetos relevantes en clases de objetos

llamados categorías semánticas. Como se pueden hacer innumerables divisiones en categorías semánticas, muchos de los cuales son inadecuados, se han elaborado tres principios básicos para definir las categorías semánticas: familiaridad: respecto a los conceptos que son de uso común en una

realidad y cuyos hechos sobre esos conceptos son percibidos directamente por observación o inferencia inmediata.

adherencia: indica que un concepto debe estar internamente ligado a las actividades sobre las que estamos elaborando el modelo.

amplitud: se deben escoger todas las clases de objetos relevantes.

El símbolo asignado a cada categoría es, desde el punto de vista de las bases de datos una entidad, y desde el punto de vista de las bases de conocimientos un símbolo predicativo (predicado unario).

Supongamos por ejemplo, que estamos resolviendo un problema relacionado con la carrera de Ciencias de la Computación. Las categorías semánticas serían disciplina, asignatura, profesor y estudiante. Los objetos relevantes dentro de la categoría disciplina podrían ser Inteligencia Artificial, Matemática Discreta, Programación y Algoritmos, entre otros.

El otro paso es determinar las relaciones.

Una relación puede definirse sobre objetos de la misma categoría o categorías diferentes, una relación puede ser binaria, terciaria, etc. Las relaciones son objetos de segundo orden y se denotan por el verbo que la representa. En lógica de primer orden los objetos que participan en las relaciones son sustantivos. Ejemplo :

Page 17: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

145

enseña ( Antonio , Física ) Otro elemento a determinar son las propiedades. Los cuales se describen mediante predicados binarios. Ejemplo :

nació ( 1112 , Camagüey ) llamase ( 1112, Luis )

Hasta aquí llega la etapa I (modelación de hechos brutos) en el proceso de modelación de conocimiento. Todos los predicados definidos en esta etapa sirven para definir los hechos en la base de conocimientos.

Etapa II

- Determinar los conceptos derivados y las relaciones que permiten definirlos. Una vez definidos los conceptos primitivos, debemos determinar los conceptos que podemos derivar de éstos. A los mismos se les conoce como conceptos derivados. Para su obtención se definen predicados y se introducen reglas en la B.C. que determinan que un individuo lo cumpla (estos predicados no aparecen en la B.C. nunca definiendo hechos) Esto es lo que se conoce como conocimiento inducido. Un ejemplo de concepto derivado es el predicado académico, el cual se obtiene de las categorías semánticas profesor y estudiante, mediante la regla:

Si profesor(X) o estudiante(X), entonces académico(X).

Al igual que los conceptos derivados, deben analizarse las relaciones derivadas. Este tipo de relación surge para convertir en explícito el conoci-miento sobre la participación de individuos en otras relaciones. Las relaciones derivadas se representan por predicados y es necesario definir reglas para ellas. Un ejemplo de una relación derivada es:

Si compró(X,Y) o alquiló(X,Y), entonces usó(X,Y)

Otra forma de obtener relaciones derivadas es mediante la composición de relaciones. Ejemplo :

Si orientado_por (x,y) y enseña (y,z) y no estudia (x,y) entonces monitor (x,y)

Los predicados (definidos en esta etapa) que permiten definir los conceptos y relaciones derivadas aparecen como consecuentes de las reglas en la B.C.

Etapa III En la consolidación del conocimiento se tienen en cuenta dos cosas:

1. Coherencia semántica La coherencia semántica se refiere a hacer explícito al sistema de procesamiento, mediante reglas, los tipos de argumentos de las relaciones. Ejemplo :

Si alumno (X) y profesor (Y) entonces orienta (y,x)

Page 18: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

146

Esta regla dice que la relación orienta (x,y) tiene como primer argumento objetos de la categoría semántica "profesor" y como segunda objetos de la categoría semántica "alumno".

2. Propiedades de las relaciones.

Las reglas que definen propiedades de las relaciones sirven, además de para filtrar el conocimiento chequeando su integridad, para responder preguntas sobre la realidad. Un aspecto importante en la consolidación del conocimiento es la coherencia semántica, lo cual significa hacer explícito en la B.C. los tipos de argumentos de la relaciones. Esto se logra mediante reglas, tales como:

Si profesor(X) ∧ estudiante(Y), entonces enseña(X,Y), la cual expresa que el primer argumento del predicado “enseña” pertenece a la categoría semántica “profesor” y el segundo a “estudiante”.

Algunas propiedades de las relaciones que se pueden definir como reglas (en las cuales aparece una sola relación) son: reflexibilidad, simetría, transitividad y antisimetría. Estas reglas permiten mantener la integridad de la B.C. y responder a preguntas sobre el problema real. Ejemplos de éstas son:

simetría: Si primo(X,Y), entonces primo(Y,X) . transitividad: Si hermano(X,Y) y hermano(Y,Z), entonces hermano(X,Z). antireflexiva: Si hermano (x,y) entonces diferente (x,y) antisimétrica: Si orienta (x,y,z) entonces NOT orienta (y,x,z) Nótese que la antisimetría de "orienta" se establece si se desea especificar respecto a qué se orienta, pues si no se especifica pudiera existir simetría.

Otros tipos de propiedades entre relaciones se expresan también en la B.C. mediante reglas.

Si enseña (x,y) entonces puede_enseñar (x,y) Si hombre (x) entonces NOT mujer (x)

La esencia de la determinación de conceptos y relaciones es: - Determinar los conceptos primitivos. - Determinar los conceptos derivados. - Determinar las relaciones que permiten definir los conceptos

derivados (con ellas surgen las reglas). - Analizar las propiedades de las relaciones (simetría, transitividad,

antireflexividad y antisimetría) para crear nuevas reglas que permiten mantener la integridad del conocimiento.

Page 19: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

147

4.7.3. Automatización de la adquisición del conocimiento. Las técnicas de aprendizaje automatizado (machine learning) pueden ser de gran valor para automatizar algunos aspectos de la adquisición de conocimientos. Hay al menos tres formas en que el aprendizaje automatizado (AA) facilita la adquisición de conocimiento:

- Los sistemas de AA pueden ayudar a la construcción inicial de la base de conocimientos (varios sistemas son capaces de derivar un conjunto inicial de reglas a partir de casos ejemplos).

- Los sistemas de AA pueden refinar bases de conocimientos existentes. - Los sistemas de AA pueden ser útiles en adaptar una base de

conocimientos a ciertos requerimientos.

Diversas causas han llevado a la automatización de la adquisición del conocimiento:

- El descenso en el costo de los soportes de software y hardware para los SE han creado una situación favorable para el desarrollo de los mismos, esto ha conducido a un incremento en la demanda de SE superior a las cantidades necesarias de ingenieros de conocimientos entrenados o de experiencia.

- El movimiento hacia una actividad humana intensiva como la ingeniería de conocimiento es contraria a todas las tendencias en la industria, en particular es contraria a la tendencia hacia las técnicas de programación automática en la industria de software.

- El papel del ingeniero de conocimiento como un intermediario entre el experto y la tecnología se cuestiona no sólo porque incrementa los costos sino también por su efectividad (puede perderse conocimiento).

Desafortunadamente, hasta el momento, todo el trabajo mental del I.C. no puede ser sustituido por un sistema automático, pero existen herramientas que permiten facilitar el trabajo creativo. Estas herramientas se dividen en tres grupos:

- Herramientas de apoyo simples: editores de B.C., módulos explicativos especiales, subsistemas para la prueba automática en los conjuntos de datos reales, entre otros.

- Medios para la extracción efectiva del conocimiento del experto: Un ejemplo es el sistema ETS, el cual ayuda al experto a formular el conocimiento haciendo uso de las técnicas de diálogo basadas en la teoría psicoterapéutica del comportamiento personal.

- Técnicas de aprendizaje automatizado.

En los intentos de automatizar el proceso de adquisición del conocimiento han influido varios factores: el éxito alcanzado por los S.E. ha traído por consecuencia una gran demanda de I.C. para el desarrollo de S.E. en múltiples áreas de aplicación; el desarrollo industrial actual está dirigido a la automatización en todos los frentes, lo cual entra en contradicción con el papel fundamental que desempeña el I.C. en el diseño de los S.E. y se cuestiona cada vez más el trabajo del mismo, por los altos costos y por los errores que puede cometer en el proceso de adquisición del conocimiento. Es precisamente por esto que han surgido los Ingenieros del Conocimiento Automatizados (I.C.A.).

Page 20: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

148

Para que un I.C.A. sea eficaz es necesario que cumpla los requisitos siguientes:

- Debe ser independiente del dominio de aplicación. - No debe haber intermediarios entre él y el experto humano, si no, no

tiene razón de existir. - Debe adquirir el conocimiento de diversas fuentes, incluyendo los

libros de texto. - Debe ser capaz de manipular los criterios de varios expertos, aún cuando

algunos pudieran ser contradictorios. - Debe abarcar varias F.R.C.

B.C. INGENIERO DE EXPERTO CONOCIMIENTO

I.C.A.

Fig. 4.3. Papel del Ingeniero de Conocimiento Automatizado.

Entre las técnicas de aprendizaje automatizado que pueden implementarse en un I.C.A. podemos mencionar:

- Generación de reglas a partir de una base de datos. Si el conocimiento se tiene registrado en una base de casos, el I.C.A. pudiera transformar cada artículo de la B.D. en una regla, considerando que los primeros campos de cada artículo corresponden a las condiciones y el último, a la conclusión. Este método permite obtener conocimiento mediante la síntesis de la experiencia registrada en ficheros de casos.

- Transferencia interactiva de experiencias. El ICA dialoga con el experto mientras éste, guiado por el sistema, produce nuevas reglas y critica las existentes.

- Aprendizaje basado en similaridad. Dado un conjunto de ejemplos y contraejemplos de un concepto, el I.C.A induce las reglas, generalizando las características de los ejemplos sin incluir la de los contraejemplos. Los ejemplos positivos permiten al sistema generalizar y los negativos especializar los conceptos.

- Refinamiento de la B.C. La fase de refinamiento se caracteriza no tanto por la adquisición de reglas completas como por la adición, eliminación o modificación de componentes de la regla. El ICA focaliza su atención en un subconjunto de reglas como candidatas potenciales para ser corregidas, el subconjunto puede ser por ejemplo todas aquellas que tienen el mismo consecuente. El refinamiento puede hacerse por generalización o especialización. Por generalización de la regla se entiende cualquier modificación a una regla (eliminar o modificar alguna condición o componente de la premisa o variar el valor de certeza o factor de certidumbre de la regla) que hace que su conclusión sea más fácilmente aceptada. Por especialización se entiende lo contrario, es decir, es la modificación de la regla que hace que sea más difícil aceptar su conclusión.

Page 21: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

149

- Aprendizaje de parámetros. La tarea del ICA puede ser ajustar los parámetros numéricos de cierta parte del conocimiento, por ejemplo los coeficientes de las reglas de producción.

Como hemos visto, las técnicas de aprendizaje automatizado aceleran y mejoran la adquisición del conocimiento, pues facilitan la construcción de las B.C., ayudan en el proceso de refinamiento y son útiles para adaptar una B.C. a nuevos requerimientos. Las investigaciones actuales en esta área están dirigidas al incremento del número de sistemas que permitan la adquisición del conocimiento de forma automática y a resolver sus dos principales dificultades: 1) estos sistemas trabajan con un lenguaje de representación fijado por el diseñador y 2) la detección de errores en los datos de entrada.

4.7.4. Estados en el desarrollo de un Sistema Experto. En su desarrollo, el S.E. transita por cinco estados fundamentales:

- Prototipo demostrativo. El sistema resuelve una porción del problema (uno o dos casos) mientras que el enfoque es adecuado y el desarrollo del sistema es factible. La B.C. contiene entre 50 y 100 reglas. Se alcanza en tres meses.

- Prototipo de investigación. El sistema muestra resultados creíbles sobre todo el problema, pero no está totalmente probado y revisado. Su B.C. contiene entre 200 y 500 reglas y resuelve un gran número de casos. Requiere de uno a dos años de trabajo. La mayoría de los S.E. llegan hasta este estado.

- Prototipo de campo. El sistema muestra buenos resultados y ha sido completamente revisado en el medio de trabajo del usuario. Su B.C. contiene de 500 a 1000 reglas. Se alcanza a los dos o tres años de trabajo. Sólo algunos S.E. llegan a este estado.

- Modelo de producción. El sistema exhibe alta calidad, confiabilidad, rapidez y eficiencia en el medio de trabajo del usuario. Su B.C. contiene de 500 a 1500 reglas. Requiere de dos a cuatro años de labor. Pocos S.E. alcanzan este estado.

- Sistema comercial. El sistema se usa comercialmente. Este estado se alcanza al cabo de 5 ó 6 años de desarrollo.

4.8. Tratamiento de la incertidumbre.

El razonamiento en general se refiere a diferentes clases de actividades, entre ellas extraer conclusiones desde un conjunto de hechos, diagnosticar posibles causas para alguna situación, analizar y organizar datos, etc. En el desarrollo de un proceso de razonamiento intervienen, al menos, tres elementos: el conocimiento sobre el dominio de aplicación, un método para procesar este conocimiento y ciertas observaciones vinculadas con el objeto de razona-

Page 22: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

150

miento. El razonamiento con incertidumbre denota un proceso de razonamiento en el que alguno de estos elementos no es totalmente preciso, o sea, el razonamiento se realiza sobre la base de una información parcial y, por lo tanto, los resultados de éste son sugeridos pero no asegurados por las premisas del mismo. A diferencia de la I.A., el software algorítmico tradicional no puede lidiar con información incompleta. Si algún dato es incorrecto, la respuesta será incorrecta.

4.8.1. Fuentes de incertidumbre.

La presencia de incertidumbre en los sistemas de razonamiento es causada por varias fuentes, entre ellas se pueden mencionar:

- Imprecisiones en la definición de los conceptos y sus relaciones que integran el conocimiento sobre el dominio de aplicación. Ejemplo: en un S.P. se puede ver como que las reglas de producción son inciertas.

- Imprecisiones y pobre seguridad de los instrumentos usados para hacer las observaciones.

- Imprecisiones del lenguaje de representación en el cual se trasmite la información. Ejemplo: la frase “a menudo” en la regla “Si el motor de su automóvil se sobrecalienta, entonces, a menudo, no hay suficiente líquido refrigerante en el sistema de enfriamiento.”

- Falta de idoneidad de un formalismo para representar cierta clase de conocimiento.

- Agregación de información desde múltiples fuentes. Ejemplo: puede haber una que no sea totalmente fiable como un profesor honesto pero despistado.

- Falta de seguridad en: si un elemento dado pertenece a un conjunto bien definido, o en: la pertenencia parcial de un elemento dado a un conjunto cuyas cotas no están definidas rigurosamente.

- El mundo relevante es realmente aleatorio. Ejemplo: el movimiento de los electrones en un átomo, la distribución de personas que caerán enfermas durante una epidemia o la distribución de las alturas de las personas.

- El mundo relevante no es aleatorio dada la suficiente cantidad de datos, pero nuestro programa no siempre tendrá acceso a todos esos datos. Por ejemplo, la probabilidad de éxito de un medicamento para combatir una enfermedad en un paciente concreto.

Durante el razonamiento, la incertidumbre proveniente de estas fuentes se combina produciendo resultados parciales y finales que tienen su propia incertidumbre. A este proceso se le llama propagación de la incertidumbre.

4.8.2. Enfoques para representar la incertidumbre. Los enfoques existentes para representar la incertidumbre se dividen en dos categorías básicas:

- Caracterizaciones numéricas.

Page 23: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

151

Las representaciones numéricas son propias para representar y manipular la incertidumbre dada por la información imprecisa, pues ellas permiten trabajar con valores de confidencia. Es posible, además, definir un cálculo que ofrece un mecanismo para propagar la incertidumbre a través del proceso de razonamiento. Sin embargo, la representación numérica no puede ofrecer una explicación clara de las razones que conducen a una conclusión dada. Entre los enfoques numéricos están:

- Regla de Bayes. - Regla de Bayes modificada. - Teoría de la confirmación. - Teoría de Dempster-Shafer. - Razonamiento evidencial. - Espacio evidencia. - Teoría de la necesidad y la posibilidad. - Valores lingüísticos.

- Caracterizaciones simbólicas. Los modelos basados en este enfoque están, en su mayor parte, designa-dos para manipular el aspecto de la incertidumbre derivado de la información incompleta, pues, al carecer de medidas para cuantifi-car los niveles de confidencia, son inadecuados para manipular la información imprecisa y son más apropiados para permitir seguir la traza desde las fuentes de información a las conclusiones. Algunos de los enfoques simbólicos son:

- Suposiciones razonadas. - Lógica no monotónica. - Circunscripción. - Enfoque monotónico. - Análisis Bayesiano. - Conjuntos difusos y lógica difusa. - Teoría de Cohen.

Las seis primeras técnicas para la representación y manipulación simbólica de la incertidumbre se basan en un enfoque formal mediante el cual se realiza el razonamiento. La lógica no monotónica, la teoría de circunscripción y el enfoque monotónico se basan en la lógica, mientras que el análisis bayesiano y la lógica difusa se basan en cierta medida (aplicar ciertas formas de peso numérico a la información y propagar esas medidas, los pesos son vistos como medidas, algo relacionadas a la posibilidad, no siempre en el sentido estadístico). La teoría de Cohen se basa en el empleo de un conjunto de reglas dependientes del contexto (enfoque heurístico). Un análisis detallado de algunos de estos enfoques de tratamiento de incertidumbre pueden verse en [BDSE], [IPN88] e [IPN89]. Nosotros sólo estudiaremos algunos de los más utilizados.

4.8.2.1. Regla de Bayes y Regla de Bayes modificada.

Page 24: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

152

De la teoría de Probabilidades sabemos que la probabilidad de que ocurra un evento X es la razón del número de ocurrencias favorables y el número total de eventos. A veces esta teoría puede usarse con éxito en la I.A. Veamos el ejemplo de jugar un juego de cartas, por ejemplo la brisca. No tenemos acceso a la información completa sobre el estado actual del problema, pues no conocemos las cartas que tienen los otros jugadores. Sin embargo, podemos estimar las probabilidades de las diversas distribuciones de cartas. Supongamos que necesitamos conocer quién tiene el as de bastos y cuántos pinchos tiene cada oponente. Calculamos primero la probabilidad de que cada uno tenga el as y, en ausencia de información, la supondremos 0.5. Luego calculamos las probabilidades de las distribuciones posibles de pinchos y por último, la probabilidad conjunta de que una persona tenga el as y algún número concreto de pinchos, esto es, P(A y B) = P(A) * P(B) si A y B son independientes. Para evaluar el mérito de cada una de las jugadas que podemos realizar, evaluamos su resultado para cada distribución de cartas. Para esto calculamos:

Tanteo Pii

Valori= ∗∑ ( ) ,

o sea multiplicamos el mérito de cada uno de tales resultados por la probabilidad de que ocurra. Esto nos proporciona una medida de la posición promedio que podemos esperar lograr haciendo un determinado movimiento. Una regla puede tener varios antecedentes, cada uno con su probabilidad. Pudiera calcularse la probabilidad múltiple del antecedente, multiplicando las probabilidades de cada una de las condiciones, pero esto sólo es cierto si son independientes unas con otras. Sin embargo, esto generalmente no ocurre, por lo que se utiliza un procedimiento especial conocido como la regla de Bayes, el cual permite calcular la probabilidad de que ocurra un evento dado que ha ocurrido otro evento. Antes de enunciar la regla de Bayes, analicemos, primeramente, la terminología a usar:

E = {e1,e2,...,em} → conjunto de evidencias. P(E/hi) → probabilidad de que la evidencia E será observada si la hipótesis

hi es cierta. Ejemplo: E podría ser un síntoma y hi una enfermedad.

P(hi/E) → probabilidad de que la hipótesis hi sea cierta dada la evidencia E. P(hi) → probabilidad a priori de que hi sea cierta en ausencia de cualquier

evidencia a favor o en contra. Ejemplo: si hi es una enfermedad, entonces P(hi) es la probabilidad de que cualquier persona tenga dicha enfermedad. La probabilidad a priori de que al lanzar una moneda caiga cara es 0.5.

n → número de hipótesis posibles.

Dado un conjunto de hipótesis H = {h1,h2,..,hn} y una secuencia de evidencias {e1,e2,..,em}, la Regla de Bayes, derivada de la fórmula de probabilidad condicional, enuncia que la probabilidad posterior P(hi/{e1,..,em}) puede ser

Page 25: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

153

calculada a partir de una función de la probabilidad condicional P({e1,e2,..,em}/hi) y la probabilidad a priori P(hi):

P h e eP e e h P h

P e e h P hi m

m i i

m j jj

n( / { , ... , })({ , ... , } / ) ( )

({ , ... , } / ) ( )1

1

11

=

∗=

Esta regla se basa en dos suposiciones fundamentales:

- Cada hipótesis hi es mutuamente excluyente con cualquier otra hipó-tesis del conjunto de hipótesis H, y el conjunto H es completo,

i) P(hi,hj) = 0 para i≠j

ii) P hii

n

( ) ==∑ 1

1

- Cada evidencia ej es condicionalmente independiente bajo cada hipótesis,

P e e h P e hm i j ij

m

({ , ... , } / ) ( / )11

==

La Regla de Bayes modificada añade la imposición de que cada evidencia ej sea condicionalmente independiente bajo la negación de cada hipótesis,

P e e h P e hm i j ij

m

({ , ... , } / ) ( / )11

¬ = ¬=

A pesar de su utilidad, este enfoque tiene las siguientes desventajas:

- Este método requiere una gran cantidad de datos para determinar los estimados para las probabilidades a priori y a posteriori, lo cual a veces no es fácil de obtener, pues no se dispone de valores exactos sino de estimaciones subjetivas.

- La evaluación de la fórmula de Bayes en un dominio complejo requiere gran cantidad de cálculos, pues deben considerarse muchas probabilida-des, las cuales pueden contribuir mínimamente a la precisión de las respuestas.

- Si se añade un cambio a la B.C. existente hay que cambiar las probabilidades, pues la suma de las probabilidades de todos los resultados posibles, o sea, la suma de las probabilidades de todas las hipótesis posibles que revelan la evidencia E debe ser 1. Ejemplo: si añadimos una nueva hipótesis (por ejemplo si identificamos una nueva enfermedad con un síntoma común a un conjunto de enfermedades existentes) hay que calcular de nuevo todos los valores.

- Para que la fórmula de Bayes dé una estimación precisa de la probabilidad de un resultado concreto todos los resultados posibles deben ser disjuntos. Nunca pueden darse dos de ellos a la vez. Ejemplo: una paciente puede tener dos o más infecciones.

- La precisión de la fórmula de Bayes depende también de la disponibilidad de un conjunto completo de hipótesis. En otras palabras, siempre debe ser cierta como mínimo una de las hipótesis conocidas. Ejemplo: un paciente puede tener una enfermedad que nadie haya diagnosticado anteriormente.

Page 26: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

154

- El valor único combina la evidencia en favor o en contra de una hipótesis, sin indicar la proporción que hay de cada una y nada acerca de su precisión.

- La información conflictiva no se detecta sino se propaga.

Por estas razones, el teorema de Bayes no parece solucionar todos los problemas que surgen con el razonamiento incierto, aunque sirve de base para algunos sistemas de I.A. como PROSPECTOR.

4.8.2.2. Teoría de la confirmación o certidumbre. La teoría de la certidumbre (Shortliffe y Buchanan, 1975) fue desarrollada para utilizarla en los S.E. en un intento de superar algunos de los problemas asociados a la teoría de la probabilidad. El factor de certidumbre FC(h,e) de una hipótesis dada h es la diferencia entre una medida de credibilidad MB(h,e), que representa el grado de sustentación de una evidencia favorable e, y una medida de descredibilidad MD(h,e) que representa el grado de refutación de una evidencia desfavorable e. El factor de certidumbre FC(h,e) se define como:

Los valores intermedios indican una medida de la certidumbre o incertidumbre de h, donde:

Una variante propuesta por Shortliffe a la definición del factor de certidumbre es: MB(h,e) - MD(h,e)

FC(h,e) = 1-min(MB(h,e) , MD(h,e))

=<=>

=

=

falsa) es(h 0 P(h) si 1- P(h) P(h/e) si e)MD(h,-

nada) sabe se (no P(h) P(h/e) si 0 P(h) P(h/e) si e)MB(h,

) verdaderaes(h 1 P(h) si 1

e)FC(h,

>

= contrario casoen 0

P(h) P(h/e) si P(h) - 1

P(h)-P(h/e) e)MB(h,

<

=contrario casoen 0

P(h) P(h/e) si P(h)

P(h/e)-P(h) e)MD(h,

Page 27: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

155

Posteriormente, Heckerman derivó una nueva definición por el factor de certidumbre que permite la conmutatividad y tiene una interpretación probabilística consistente: P(h/e) - P(h)

FC(h,e) = P(h/e)(1-P(h))+P(h)(1-P(h/e))

Este enfoque es usado en MYCIN. En él las reglas se escriben con el siguiente formato:

Si A, entonces B con F.C. = c,

lo cual significa que si A es verdadera, o sea su F.C. es 1, entonces B se cumple con una certeza de c. Ejemplo: una regla de MYCIN es la siguiente:

Si i) la coloración del organismo es gram-positiva y ii) la morfología del organismo es cocus y iii) la conformación de crecimiento del organismo es una masa

informe, Entonces, hay evidencia sugestiva (0.7) de que el organismo es un

estafilococus. El valor de certidumbre de 0.7 indica que la evidencia sugiere fuertemente la conclusión pero no con certeza.

Este enfoque tiene las siguientes ventajas:

- Los valores de certidumbre resultantes oscilan siempre entre -1 y 1 y el significado de los valores -1,0 y 1 están bien definidos.

- Si se aplican dos reglas contradictorias, de tal forma que la certidumbre de una sea igual a la de la otra, entonces sus efectos se destruyen.

- Se combinan en el factor de certidumbre la medida de creencia MB y de descreencia MD.

Sin embargo, presenta las desventajas siguientes:

- ¿cómo interpretar el valor del factor de certidumbre, o sea, cuál es su semántica?

- se supone la independencia de las evidencias. - no se puede distinguir entre ignorancia y conflicto.

4.8.2.3. Teoría de Cohen. Cohen propuso una teoría de razonamiento heurístico acerca de la incertidumbre. Ella se basa en la recopilación explícita de la justificación para una sentencia, como en un sistema de mantenimiento de la verdad. Las justificaciones se clasifican de acuerdo al tipo de evidencia: a favor o en contra, y se definen las acciones posibles para resolver la incertidumbre de cada evidencia. Esta información ofrece un buen mecanismo para las explicaciones, ya que se crea y mantiene la historia completa de las justificaciones de una sentencia y la relevancia de cualquier proposición respecto a un objetivo.

Page 28: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

156

Un problema de esta teoría es cómo propagar las justificaciones. Cuando se alcanza una conclusión parcial, ésta es producto de una combinación de las justificaciones de sus premisas, por lo que es necesario especificar explícitamente cómo combinar las justificaciones para cada contexto particular, creando potencialmente problemas combinatorios.

4.8.2.4. Conjuntos difusos y lógica difusa. El enfoque de razonamiento difuso desarrollado inicialmente por Zadeh tiene como punto inicial la teoría de conjuntos difusos. La teoría de conjuntos clásica plantea que para cualquier conjunto y cualquier elemento, el elemento pertenece absolutamente o no al conjunto, lo cual se puede expresar por la función:

Un conjunto difuso es una función del dominio en cuestión al intervalo [0,1]. Puntos donde esa función se aproxima a 0 “están menos” en el conjunto difuso, en tanto que los puntos donde la función se aproxima a 1 “están más” en dicho conjunto. Para distinguir al conjunto difuso de la función que lo define, se le llama a ésta característica del conjunto. En la teoría de conjuntos difusos la función característica es reemplazada por una medida Ms, la cual para cualquier x da la medida de la pertenencia de x a S, 0 ≤ Ms(x) ≤ 1. Al igual que en la teoría de conjuntos clásica, se puede definir un álgebra de conjuntos difusos, donde la característica de la intersección de dos conjuntos difusos es el producto de sus características, la característica de la unión es la suma de las características de los conjuntos y la característica del complemento es 1 menos la característica del conjunto. Paralela a la teoría de conjuntos difusos, Zadeh propuso una lógica proposicional difusa, la cual asigna valores entre 0 y 1 a las proposiciones, en lugar de los valores bivalentes usuales: verdadero y falso. 4.8.2.5. Lógica no monotónica. En casi todos los sistemas lógicos si una proposición C puede ser derivada de un conjunto de proposiciones S, y si S es un subconjunto de S', entonces C puede también ser derivada de S'. Esto es, añadir información sin eliminar ninguna, NO puede eliminar vinculaciones deductivas: cuando un sistema incrementa sus premisas, sus posibles conclusiones al menos se mantienen constantes (o se incrementan). Los sistemas deductivos con esta propiedad se llaman monotónicos.

=S a pertenece no x si 0

S a pertenece x si 1 Cs(x)

Page 29: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

157

El término lógica no monotónica (nonmonotonic logic) fue acuñado por Marvin Minsky en el trabajo "A Framework for representing knowledge" en 1975. El enfoque no monotónico se caracteriza porque las conclusiones obtenidas sobre la base de un conjunto de evidencias pueden ser desechadas a la luz de nuevas evidencias. Alrededor de 1980 surgieron dos formalismos distintos que intentaron modelar la esencia del razonamiento no monotónico. • Formalismo de McDermott y Doyle.

En este formalismo se extiende la lógica de primer orden ordinaria introduciendo un operador modal M. Dada una proposición p, Mp significa que p es deductivamente consistente con todas las creencias presentes y las hipótesis. Luego el significado de Mp puede cambiar con el estado de creencias presentes. Las proposiciones del sistema de McDermott y Doyle tienen la forma general (q y Mp) => p, lo cual expresa: si se conoce q, y no se conocen razones para que no se cumpla p, entonces se infiere p. Por ejemplo: Del conjunto de proposiciones:

a) (a y M(b)) => b b) a c) c => not b se puede inferir b. Pero si a este conjunto se añade la proposición d) c

NO se infiere b de nuevo.

Por eso, añadir esta característica al sistema de inferencia lo hace no monotónico, porque inferencias previamente permitidas son rechazadas por la adición de nuevo conocimiento.

• Formalismo de Reiter.

La esencia de este formalismo se puede ilustrar con el siguiente ejemplo: si una base de datos que contiene la información de los vuelos de una línea aérea NO tiene información sobre cierto vuelo, se justifica concluir que tal vuelo no existe. Lo cual puede ser generalizado así: Para cualquier hecho consistente de una relación R y X1, X2 ,..., Xn, si el sistema no puede probar R(X1, X2, X3, ..., Xn) éste puede concluir not R(X1, X2, ..., Xn).

4.8.3. Requerimientos del razonamiento con incertidumbre.

El enfoque utilizado para el razonamiento con incertidumbre debe satisfacer los requerimientos siguientes:

- Debe haber una representación explícita de la cantidad de observaciones que son necesarias para aceptar una hipótesis dada.

- Debe haber una representación explícita de las razones que deben existir para aceptar o refutar cualquier hipótesis.

- La representación debe permitir al usuario describir la incertidumbre de la información con el nivel de detalle disponible.

- Debe estar disponible algún criterio de consistencia para detectar posibles conflictos e identificar los factores que contribuyen esencialmente en él.

Page 30: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

158

- Debe haber una representación explícita del desconocimiento para permitir que el usuario haga planteamientos inseguros.

- Debe haber una clara distinción entre un conflicto en la información o violación de la consistencia y el desconocimiento de la información.

- Debe poderse medir la incertidumbre de la medida de incertidumbre (un segundo orden de incertidumbre).

- La representación debe ser lo suficientemente simple y natural para facilitar al usuario describir la incertidumbre de la información inicial e interpretar la incertidumbre de los resultados del proceso de razonamiento.

- Debe permitirse seguir la traza de la propagación de la incertidumbre a través del proceso de razonamiento para poder resolver conflictos o contradicciones y explicar las conclusiones.

4.8.4. Manipulación de la incertidumbre en los sistemas expertos. La manipulación del conocimiento y los datos inciertos, inseguros e inexactos es típica de los S.E. El mecanismo de esta manipulación constituye una parte sustancial de la M.I. La incertidumbre se expresa, generalmente, por pesos, medidas, grados de confianza, factores de creencia, probabilidades subjetivas, etc. Estas medidas, generalmente, alcanzan valores en los intervalos [0,1] ó [-1,1]. Sólo en el caso de los sistemas de diagnóstico y los sistemas basados en reglas se ha presentado una teoría completa del procesamiento de la incertidumbre. Nuestro objetivo es introducir al lector en los métodos y problemas más importantes del procesamiento de la incertidumbre en los S.E. Nos restringiremos, por tanto, a los S.E. basado en reglas de producción. Una característica de los S.E. es el tratar con hechos, proposiciones y reglas que son inciertos, es decir, que no sabemos con absoluta certeza si son verdaderos. La incertidumbre en los S.E. proviene, fundamentalmente, de dos fuentes:

- Imprecisión en el valor de los hechos iniciales. - Existencia de implicaciones débiles debido a que el experto es incapaz de

establecer una correlación fuerte entre las premisas y la conclusión, lo cual hace que la implicación no sea categórica y permita la posibilidad de excepciones a la regla.

En el mecanismo de manipulación de incertidumbre en los S.E. se presentan las siguientes problemáticas:

- ¿Cómo determinar el grado de certeza de la condición si ésta es compuesta? Por ejemplo, si tenemos la regla:

Si A ∧ B ∨ C, entonces D con F.C. = v, ¿cómo calcular el factor de certidumbre (F.C.) del antecedente?

- ¿Cómo propagar el F.C. a través de la regla si el F.C. del antecedente no es 1?

- ¿Cómo calcular el F.C. de una conclusión si varias reglas conducen a ella? Por ejemplo, si se tienen las reglas:

Si A entonces B con F.C. = v1 Si C entonces B con F.C. = v2, ¿cómo calcular el F.C. de B?

Page 31: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

159

Cada S.E. usa su propio método de propagación de incertidumbre. Uno muy sencillo es el siguiente:

- Para el cálculo del F.C. en la premisa se usan: FC(A ∧ B) = mín(FC(A), FC(B)) FC(A ∨ B) = máx(FC(A), FC(B)) - Para el cálculo del F.C. de la conclusión si el antecedente no es

totalmente cierto se usa: Si A entonces B con F.C. = v FC(B) = FC(A) * v - Para el cálculo del F.C. cuando varias reglas tienen el mismo

consecuente se usa: R1: Si A entonces B con F.C. = v1 R2: Si C entonces B con F.C. = v2

FC(B) = FC(R1) + FC(R2) - FC(R1) * FC(R2)

Analicemos un ejemplo: R1: Si la temperatura es alta y la presión de los gases es alta, entonces

cerrar la válvula de inyección de combustible del horno de cemento con F.C.=0.8.

R2: Si el proceso de quemado es incompleto, entonces cerrar la válvula de inyección de combustible del horno de cemento con F.C.=0.75.

Supongamos que los F.C. de las proposiciones son las siguientes:

Proposición A: temperatura alta. F.C. = 0.8. Proposición B: presión de los gases alta. F.C. = 0.9.

Proposición C: proceso de quemado incompleto. F.C. = 0.65. Proposición D: cerrar la válvula de inyección de combustible del horno de

cemento.

Calculemos el F.C. de D. FC(D)= FC(R1) + FC(R2) - FC(R1) * FC(R2) FC(A ∧ B)= mín(FC(A),FC(B))= 0.8 FC(R1)= 0.8 * 0.8 = 0.64 FC(R2)= 0.65 * 0.75 = 0.4875 FC(D)= 0.64 + 0.4875 - 0.64 * 0.4875 = 0.8155

El tratamiento de la incertidumbre en PROSPECTOR puede verse en [Bra86] e [IPN88] y el de MYCIN en [IPN88], [IPN89] y [Ric88].

4.9. Razonamiento basado en casos. 4.9.1. Sistemas Basados en el Conocimiento Los Sistemas Basados en el Conocimiento (S.B.C.) son un modelo computacional de más alto nivel que el paradigma de la programación convencional, en el cual los sistemas están formados por tres componentes: la base de conocimiento (B.C.), la máquina de inferencia (M.I.) y la interfase con el usuario: ¡ S.B.C. = B.C. + M.I. + I.U. El conocimiento que se almacena en la B.C. es de diferentes tipos:

Page 32: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

160

- simbólico, sobre cómo resolver los problemas del dominio. Se usan las F.R.C. estudiadas.

- probabilidades o frecuencias que modelan como se relacionan los valores de los diferentes rasgos que caracterizan el dominio

- pesos de una red neuronal - casos o ejemplos de problemas del dominio

Estos diferentes tipos de conocimiento dan lugar a diferentes tipos de S.B.C.:

- Sistemas Basados en Reglas, Sistemas Expertos - Sistemas Basados en Probabilidades - Sistemas Expertos Conexionistas o Redes Expertas - Sistemas Basados en Casos.

Características de estos tipos de S.B.C. Tipo F.R.C. M.S.P. Fuentes de conocimiento S.B.R. reglas de producción Forward, backward

chaining expertos, ejemplos, publicaciones

S.B.P. Probabilidad, frecuencia teorema de Bayes ejemplos R.N.A. Pesos Algo. de aprendizaje ejemplos R.B.C. Casos Recuperación y

adaptación ejemplos

S.B.R. Ingeniería del conoc. B.C MSP datos - entrevistas Conjunto solución - análisis de casos de reglas S.B.P. Procesamiento estadístico B.C. MSP datos - análisis de ejemplos probabilidades solución o frecuencias R.N.A. Entrenamiento de la red B.C. MSP datos - ejemplos pesos solución R.B.C. B.C. recuperación y adaptación datos del problema Ejemplos Casos semejantes solución La envergadura del proceso de adquisición del conocimiento dependerá del tipo de conocimiento. En la figura se esquematiza este proceso en cada tipo de S.B.C. En los sistemas de producción se desarrolla un proceso complejo y prolongado en el que la extracción se refiere a la formulación de las reglas, la codificación a la escritura de las reglas según la sintaxis del lenguaje seleccionado y la verificación consiste en el refinamiento de la base de conocimientos. En los sistemas basados en probabilidades la adquisición del conocimiento consiste en coleccionar muestras y realizar un procesamiento estadístico que produzca las probabilidades o frecuencias que forman la base de conocimientos. En las R.N.A. la adquisición del conocimiento incluye la selección de los ejemplos, el diseño de su topología y el entrenamiento de la red para hallar el conjunto de pesos. En los sistemas

Page 33: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

161

basados en casos la adquisición del conocimiento se reduce a la selección de un conjunto de ejemplos o casos resueltos y su organización en la base de casos. Los trabajos básicos sobre el enfoque basado en casos fueron desarrollados por Roger Schank en la universidad de Yale en los años 80. Al final de esa década el Defense Advanced Research Proyects Agency (DARPA) comenzó a centrar esfuerzos en la aplicación de esta tecnología. Componentes de un sistema de razonamiento

- La F.R.C. (lógica, frames, redes semánticas, reglas, etc) - Un conjunto de reglas de inferencia (resolución, instaciación de los frames,

etc) - Mecanismo de control para guiar la búsqueda (forward y backward

chaining, búsqueda heurítica, a ciegas, etc) El razonamiento basado en casos representa un nuevo paradigma de búsqueda pues el formalismo que se utiliza sirve para representar no conocimiento explícito, sino ejemplos de problemas resueltos del dominio de aplicación, las reglas de inferencia se emplean para construir la solución de un nuevo problema a partir de las soluciones dadas a problemas resueltos previamente y los mecanismos de control están orientados a mejorar la búsqueda de los problemas semejantes al nuevo.

4.9.2. El papel de la memoria en la solución de problemas. Gracias a la memoria el hombre puede adquirir experiencias y conocimientos; pues la memoria es pieza fundamental en el aprendizaje. La memoria puede organizar las experiencias, generalizarlas y usarlas en la solución de nuevos problemas. La memoria es también una pieza clave en el sentido común. Cuando pedimos una comida en un restaurant frecuentemente basamos la decisión en lo que posiblemente ellos elaboren bien de acuerdo a otras experiencias en ese restaurant; al planificar las actividades hogareñas se recuerda lo que se hizo y dejó de hacer previamente y usamos esa información para crear el nuevo plan. Conociendo que una de las limitaciones actuales de los sistemas expertos es la imposibilidad de resolver problemas que requieran sentido común, su empleo representa una alternativa en el estudio de variantes para lograr incorporar a los S.E. elementos de sentido común. Según Rubinstein [RUB65] aprender algo de memoria, o sea, el recordar una cosa de modo organizado desde el punto de vista fisiológico significa organizar los estímulos que actúan sobre el cerebro según el modo en que se presentan (concentrados o distribuidos, etc) . ... los resultados que se obtienen de aprender una cosa de memoria dependen no sólo de lo que se estudia, es decir, del material que se ha de aprender, sino dependen también de la manera que el individuo trabaja con dicho material, del modo como lo analiza, lo agrupa, lo generaliza, etc.

Page 34: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

162

La memoria humana se divide en dos, una memoria temporal (MT) y una memoria permanente (MP). En la MT sólo es posible almacenar poca información, y como su nombre lo indica la información permanece en ella poco tiempo, sólo sirve de memoria de trabajo (como en los sistemas basados en reglas). Por su parte la MP tiene una gran capacidad, se divide en memoria episódica y memoria semántica. La memoria episódica contiene información sobre las experiencias personales pasadas, usualmente almacenada desde un punto de vista autobiográfico. La memoria semántica contiene hechos los cuales no están conectados con las experiencias personales, generalmente se modela mediante una red semántica. Características de la memoria humana a tener en cuenta al enfocar su empleo computacionalmente. • El carácter asociativo de la memoria y por ende, del recuerdo juega un

papel determinante en el razonamiento. • Lo que se recuerda es el resultado de un proceso de reconstrucción de

conocimientos precedentes sobre la base de la experiencia y la lógica colectiva y en ningún momento debemos verlo como una simple reproducción.

• En la mente del hombre no puede aparecer un pensamiento cuyos elementos no se encuentren registrados en la memoria, inclusive las ideas nuevas que fundamentan los descubrimientos científicos no constituyen una excepción de la regla.

• La solución de problemas no puede realizarse a no ser por medio de la experiencia de los conocimientos y de los medios de solución incorporados a la habilidad del sujeto.

• La memoria nunca se desborda, el volumen de la memoria no influye en la velocidad de recuperación de la información, ella se autoorganiza dinámicamente para reflejar lo nuevo. La memoria está ricamente indexada, de modo que las experiencias se relacionan mutuamente de forma compleja y abstracta.

• El carácter asociativo de la memoria juega un papel determinante en el razonamiento. Se recuerda lo que es relevante.

• El aprendizaje está dirigido por fallas. Cada vez que se falla al resolver un problema se revisan las conexiones entre las partes de la memoria que intervinieron en el proceso. En general, la segunda vez que se intenta resolver algún problema o hacer alguna tarea es más fácil que la primera porque recordamos y repetimos la solución previa. Somos más competentes la segunda vez porque recordamos los errores cometidos y tratamos de evitarlos. Ejemplo: los médicos al evaluar lo apropiado de una terapia o juzgar cuál entre varias es la apropiada recuerdan momentos en los que este procedimiento terapéutico fue empleado.

• Nuestra memoria dinámica se autoorganiza de modo que es capaz de ajustarse para reflejar lo nuevo. Los expertos, quienes conocen mucho sobre temáticas particulares, pueden recordar hechos de su dominio de experticidad mucho más fácilmente que los no expertos, quienes presumiblemente tienen menos hechos que recordar. Esto es porque tan pronto como se aprenden nuevos hechos éstos se integran, no se suman con los ya conocidos, reorganizándose la memoria para hacer los hechos importantes accesibles. El conocimiento previo ayuda a decidir dónde y cómo colocar los nuevos hechos en la memoria.

Page 35: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

163

4.9.3. Caracterización del razonamiento basado en casos. El Razonamiento Basado en Casos denota un método, en el cual la solución de un nuevo problema se realiza a partir de las soluciones conocidas para un conjunto de problemas previamente resueltos (o no resueltos) del dominio de aplicación. El RBC es una alternativa entre otras metodologías para construir sistemas basados en el conocimiento. La esencia del RBC se puede ilustrar con el ejemplo siguiente. Supóngase que se tiene una gran base de datos relacional de registros de pacientes médicos con rasgos Edad, Sexo, Síntomas, Diagnóstico, Tratamiento, etc. Cuando se presente al sistema un nuevo caso, para el que sean conocidos solamente algunos rasgos, por ejemplo la Edad, el Sexo y Síntomas, el RBC opera proponiendo valores posibles para los rasgos objetivos, tales como Diagnóstico y Tratamiento, los cuales son conocidos para los pacientes en la base de datos pero no para el nuevo paciente. Esta inferencia de valores para los rasgos objetivos el sistema que usa el RBC la realiza, usando solamente la información contenida en la base de datos. La idea básica del RBC es recuperar, adaptar y validar las soluciones encontradas en experiencia previas en un intento de relacionarlas con un problema actual. Las experiencias previas están representadas como una biblioteca de casos que reside en memoria. Cuando se enfrenta con un nuevo problema, el sistema con RBC recupera un caso similar, y la solución del caso se adapta al nuevo problema en un intento para resolverlo. ¿Qué es un caso? Los casos contienen conocimiento a nivel operacional. Cada caso contiene:

- Descripción del problema o situación. - Solución al problema. - Si luego de la ejecución ocurrió algún error en la predicción:

explicación de las anomalías, la estrategia de reparación. la referencia al próximo resultado.

Fig. 4.4. Esquema general del R.B.C. El esquema general del R.B.C. se muestra en la figura 4.4. La memoria contiene los casos resueltos y sus soluciones. El método de búsqueda hace una búsqueda asociativa en la memoria. Esta búsqueda no es una búsqueda tradicional sino incompleta. Por ejemplo: dado un paciente con sus síntomas se quiere buscar en la memoria los pacientes cuyos síntomas se parecen más

Método de búsqueda de la Memoria

Módulo de adaptación

Nuevo

Page 36: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

164

al dado. El módulo de adaptación genera y adapta la solución dada a los pacientes conocidos al nuevo paciente y da un tratamiento a la enfermedad completando la información. El método de búsqueda pudo haber hecho un escalafón de pacientes parecidos.

Pasos para la inferencia basada en casos

1. Presentar como entrada al sistema una descripción del problema a resolver o problema actual (Presentación).

2. Encontrar aquellos casos en memoria que resuelven problemas similares al actual (Recuperación).

3. Determinar cuáles partes del viejo caso se deben focalizar para resolver el subproblema activo.

4. Derivar una solución (adaptando la solución previa a las restricciones del nuevo problema) o los medios de resolver el problema (Adaptación).

5. Chequear la consistencia del valor derivado con la descripción del problema a resolver, y aceptar o rechazar este (Validación).

6. Si se considera apropiada la solución validada se añade a la base de casos para ser usada en el futuro si se considera conveniente (Actualización).

El proceso de encontrar los casos relevantes comprende:

- caracterizar el problema de entrada asignando los rasgos apropiados a éste.

- recuperar los casos desde la memoria con esos rasgos. - seleccionar el caso o los casos que más se parecen a la descripción

dada. Como se puede apreciar el RBC es básicamente el procesamiento de la información apropiada recuperada en el momento oportuno. De modo que el problema central es la identificación de la información pertinente cuando se necesite. En la práctica cada uno de estos pasos puede ser implementado por diversos métodos. Por ejemplo, la recuperación de casos ha sido implementada usando algoritmos de reconocimiento de patrones como el vecino más cercano, árboles de decisión o memorias asociativas conexionistas; la representación de los casos puede realizarse en forma de documentos textos, registros de bases de datos, redes semánticas u otros modelos. Todos estos métodos se estudiarán en próximos seminarios. Los procesos principales involucrados en el RBC son recordar y adaptar. Para poder obtener un desempeño exitoso los sistemas con RBC tienen que atender a las cuestiones siguientes:

- ¿Cómo se adquieren los casos?. - ¿Cómo se organizan los casos en la memoria?. - ¿Cómo son los casos relevantes recuperados desde la memoria? ¿Cómo

puede un buen caso ser seleccionado?. - ¿Cómo se pueden adaptar los casos previos a los nuevos problemas? ¿Cómo

se pueden mezclar las memorias de varios problemas diferentes para formar una nueva solución?.

- ¿Cómo puede un razonador saber cuáles partes del caso recuperado debe focalizar?.

Page 37: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

165

- ¿Cómo puede el RBC ser integrado con otros métodos de resolver problemas?.

Page 38: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

166

Aplicabilidad de RBC El R.B.C. es particularmente útil para resolver problemas y tomar decisiones cuando:

- Es difícil formular reglas. - Existen casos disponibles. - Las reglas pueden ser formuladas, pero requieren mayor información de la

que normalmente se dispone. - Las reglas pueden ser formuladas, pero usarlas es costoso porque: el número de reglas es muy grande. la longitud promedio en la cadena de reglas necesaria para realizar una inferencia es muy larga.

- Los casos con soluciones similares tienen una formulación del problema similar.

- Verificar la utilidad de la solución es fácil.

Aplicaciones del RBC

- Diagnóstico: Dado un conjunto de síntomas encontrar una explicación a éstos. Ejemplo: CASEY (Koton, 1988) para diagnosticar problemas cardíacos, SHRINK (Kolodner, 1987) para el diagnóstico en psiquiatría y PROTOS (Bareiss, 1989) para el diagnóstico de trastornos auditivos.

- Diseño: Dado un conjunto de objetivos y restricciones crear un artefacto que cumpla estos requerimientos de la mejor forma posible. Ejemplos: JULIA (Kolodner, 1987; Hinrichs, 1989) para el diseño de menúes, KRITIK (Goel y Chandrasekaran, 1989) para el diseño de pequeños ensambles mecánicos, CLAVIER (Barletta, 1989) para determinar la disposición de piezas, XBE (Pankakoski, 1991) para diseñar sistemas de manufactura, ARCHIE (Pearce, 1992) para ayudar a los arquitectos en tareas de alto nivel de diseño conceptual y CYCLOPS (Narinchandra, 1988) para el diseño de paisajes.

- Planificación: Dado un conjunto de objetivos y restricciones encontrar una secuencia de acciones que puedan ser ejecutadas para alcanzar los objetivos. Ejemplos: CHEF (Hammond, 1989) elaboración de recetas de cocina, PLEXUS (Alterman, 1988) orientado a demostrar las habilidades requeridas para dirigir un metro y SPA (Hanks y Weld, 1992) sistema de planificación independiente del dominio.

- Explicación: Dada una situación encontrar una interpretación que muestre la causa de dicha situación. Ejemplo: SWALE (Kas y Leake, 1988).

Ventajas del RBC

- El esfuerzo en la solución de problemas puede ser capturado para ahorrar trabajo en el futuro.

- Experiencias previas que hayan sido exitosas pueden ser utilizadas para justificar nuevas soluciones.

- Experiencias previas que no hayan sido exitosas se pueden ser utilizar para anticipar problemas.

- La comunicación entre el sistema y los expertos se realiza sobre la base de ejemplos concretos, lo que facilita la ingeniería del conocimiento.

- No se realizan retrocesos en la búsqueda. - Pueden explicar simplemente presentando los casos seleccionados.

Page 39: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

167

- El RBC es un algoritmo de aprendizaje incremental, el aprendizaje tiene lugar tan pronto como un nuevo ejemplo está disponible.

- El RBC permite proponer soluciones en dominios que no se comprenden completamente.

- Los casos ayudan a focalizar el razonamiento sobre las partes importantes de un problema señalando qué rasgos del problema son importantes.

- El RBC es aplicable a un amplio rango de problemas.

Desventajas

- El sistema no explora todo el espacio de soluciones, por lo que no puede encontrar soluciones óptimas.

- Requiere de una base de datos considerablemente grande y bien seleccionada.

- La consistencia entre varios casos es difícil de mantener. - El RBC depende de una adecuada función de semejanza la cual no es

fácil de encontrar para cada aplicación.

4.9.4. Relaciones del RBC con otros sistemas de razonamiento Razonamiento por analogía vs. RBC. El RBC es una forma de RA. La analogía y el RBC son dos lados de la misma moneda. El RBC es un método de realizar la solución de problemas por analogías, pero es una forma más novedosa del RA.

R.B.C. R.A. Intenta encontrar situaciones útiles Se tiende a buscar situaciones

similares La solución de problemas por analogía ha tendido a examinar analogías entre situaciones de dominios diferentes.

Se trata de establecer la semejanza entre problemas del mismo dominio.

Los problemas son más complejos, pues requieren ser resueltos por partes y necesitan de un esfuerzo de adaptación.

Usualmente requieren solamente de reinstanciación de variables

La solución de problemas por RBC generalmente necesita interacción con el mundo real y posibilidades de explicar cómo se recupera el caso semejante. Los trabajos sobre recuperación han tenido mas prioridad que los de adaptación dentro de la comunidad de RBC.

No requiere interacción con el usuario.

Una correspondencia exacta se considera perfecta.

Una correspondencia exacta no se considera una relación analógica.

Los sistemas basados en casos son pragmáticos y orientados a tarea.

Los sistemas analógicos tienen un alcance más amplio de razonar en aprendizaje y generalización.

Focaliza la adquisición y organización de los casos

Enfatiza en los procesos de transferencia de información de una situación a otra

Page 40: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

168

RBC vs Razonamiento basado en reglas

R.B.R. R.B.C.

Ingeniería del conocimiento más difícil. Se generan las reglas.

Ingeniería del conocimiento más fácil. Sólo se generan los ejemplos.

Se desarrollan más lento con menos requerimientos técnicos.

Se desarrollan más rápido con muchos requerimientos técnicos.

Sobre un hardware secuencial su eficiencia es superior.

Sobre un hardware paralelo su eficiencia es superior.

Usan reglas por lo que es más propenso a las imprecisiones.

No usan reglas como estructuras intermedias por lo que hay pocas oportunidades para inadvertidamente introducir imprecisiones.

Las reglas en la B.C. son patrones.

Los casos en la B.C. son constantes.

Las reglas igualan la entrada en forma exacta.

Los casos igualan la entrada en forma parcial.

No reconocen el límite de su habilidad.

Se puede evitar el riesgo de que el sistema ofrezca una solución equivocada, lo cual puede ocurrir cuando el problema que se enfrenta está en el límite del conocimiento existente en la base de conocimiento. Para esto es suficiente definir un rango permisible de semejanza entre los elementos de la memoria y el nuevo problema. Cuando ninguno de los casos resueltos tenga un grado de semejanza dentro del rango establecido el sistema podrá saber que él NO SABE resolver ese problema. (Ver **)

Se necesita un procedimiento de manipulación de incertidumbre.

El grado de veracidad de la solución encontrada se obtiene directamente a partir del grado de semejanza entre el problema y el caso recuperado.

Las reglas se escriben en formato IF-THEN.

Los casos se pueden representar de muchas formas: BD, estructuras, textos, etc.

La justificación de las acciones se realiza a partir de la cadena de inferencia

La justificación se elabora a partir de la semejanza y/o diferencia con un caso conocido

Ofrece medios para manejar grandes secuencias de relaciones de causalidad.

No ofrece medios para manejar grandes secuencias de relaciones de causalidad.

**Una variante interesante es integrar en un SBC el RBC con un sistema de producción, de modo que en la base de conocimientos del sistema de producción se almacenen las reglas para aquellos tipos de problemas del dominio de aplicación para el que no se tienen ejemplos resueltos; de este modo, dado un nuevo problema se intenta resolverlo usando el RBC y si no existe ningún elemento de la memoria con un grado de semejanza en el rango aceptable se pasa a utilizar el sistema de producción.

Page 41: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

169

RBC vs RNA - Los sistemas con RBC a diferencia de las RNA no requieren una etapa de

entrenamiento, ellos producen resultados inmediatamente. - Los sistemas con RBC son comprensibles, ellos pueden potencialmente

explicar cómo se alcanza una solución. - Ambas trabajan con un grupo de ejemplos.

4.9.5. El RBC en el contexto del aprendizaje automatizado. La adquisición del conocimiento es el clásico cuello de botella en el desarrollo de los S.E. debido a:

a) El incremento en la demanda de SE es superior a las cantidades de ingenieros de conocimiento con experiencia requeridos.

b) El movimiento hacia una actividad humana intensiva como la ingeniería de conocimiento es contraria a todas las tendencias de la industria, en particular, a la tendencia de programación automática en la industria del software.

c) El papel del ingeniero del conocimiento como un intermediario entre el experto y la tecnología se cuestiona no sólo porque incrementa los costos sino también por su efectividad.

El aprendizaje automatizado constituye un área principal de investigación de la IA pues está orientado al desarrollo de técnicas que permitan a los sistemas autoextenderse. El AA denota la posibilidad de cambiar que tiene el sistema, o sea, de ajustarse, de modo que ello permite al sistema hacer la misma tarea más eficientemente la próxima vez. El AA se puede ver como un proceso de reconstrucción del conocimiento del sistema. Si se toma como ejemplo un SBR esto se puede manifestar en especializar o generalizar reglas, ajustar parámetros, extraer casos especiales, etc. Actualmente existen tres direcciones de desarrollo del AA: el aprendizaje en las redes neuronales, el aprendizaje en los algoritmos genéticos y el aprendizaje en la Inteligencia Artificial Simbólica (IAS). La mayor eficiencia en el aprendizaje se alcanza en el primer caso y la peor en el último. Hay al menos tres formas en que el aprendizaje automatizado puede facilitar la adquisición del conocimiento:

• Construir la versión inicial de la B.C. a partir de un conjunto de ejemplos de casos resueltos.

• Refinar bases de conocimientos existentes. • Adaptar una base de conocimientos a un conjunto de

requerimientos dados. Pero para realizar esta tarea la adquisición automatizada del conocimiento tiene que atender a diferentes interrogantes como las siguientes:

¿En qué medida se corresponde la descripción del dominio de aplicación del experto con la existente en la B.C.?.

¿Cómo se debe modificar la B.C. a partir de la nueva información disponible para el refinamiento?.

¿Qué debe hacerse cuando la descripción del experto difiere de la existente?.

Page 42: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

170

Por la complejidad de esta problemática no se dispone realmente de herramientas poderosas y extendidas que realicen eficientemente una parte considerable del proceso de adquisición del conocimiento. En la actualidad se desarrollan los sistemas híbridos en los cuales se combinan los sistemas basados en el conocimiento con hipertextos, redes neuronales, algoritmos genéticos, multimedia, realidad virtual y razonamiento basado en casos. La combinación de los sistemas basados en el conocimiento con RBC produce un sistema capaz de procesar mayor variedad de información. El RBC permite al sistema híbrido manipular casos y realizar un razonamiento ancho y poco profundo. De este análisis se deriva la conclusión de que el RBC no resuelve totalmente el cuello de botella de la adquisición del conocimiento, pues en los sistemas híbridos el SBC cuenta con una B.C., pero el RBC sí representa una tecnología que ayuda en una medida considerable a dar solución a este problema, por cuanto una parte importante del conocimiento del dominio se puede almacenar como casos; pudiéndose llegar a la situación extrema en la que sea posible coleccionar la cantidad y variedad de casos suficientes como para cubrir todos los problemas del dominio, por lo que la adquisición del conocimiento se limita a la tarea de seleccionar y almacenar las memorias o problemas resueltos.

Bibliografía

[BDSE] Bases de Datos y Sistemas Expertos, Tomo II. Universidad de la Habana, 1991. [Bel92] Modelos Avanzados de Computación. Rafael Bello. Universidad Central de Las Villas, 1992. [Bel94] Algunas consideraciones sobre el razonamiento basado en casos. Rafael Bello. Resumen de COMPUMAT’94. Universidad Central de Las Villas, 1994. [Bra86] Prolog programming for Artificial Intelligence. Ivan Bratko. Addison-Wesley Publishing Company, Reading, Mass., 1986. [Bue86] Lógica I. Eramis Bueno y Luciano García. Editorial Pueblo y Educación, 1986. [Cha87] Artificial Intelligence and Turbo Pascal. Christopher F. Chabris. Multiscience Press Inc, 1987. [Fre87] Crash Course in Artificial Intelligence and Expert Systems. Louis E. Frenzel. Indianápolis, IN: Howard W.Sams, 1987. [Gar90] Introducción a la Matemática Discreta. Luciano García y Jorge Lemagne. Universidad de la Habana, 1990. [Gar91] Programación Lógica. Luciano García. Universidad de la Habana, 1991. [GCL84] Manual de Usuario del Golden Common LISP.

Page 43: CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO. 4.1. …roa.ult.edu.cu/bitstream/123456789/238/1/CAP4IA.pdf · 2016-12-09 · diferencia a un experto de un novato, pues este último

Inteligencia Artificial. - Sistemas basados en el conocimiento.

171

Gold Hill Computers, Cambridge, Massachusetts, 1984. [Hay83] Building Expert Systems. Frederick Hayes-Roth, Donald A. Waterman, Douglas B. Lenat. Addison-Wesley Publishing Company, Inc., 1983. [IPN88] Primer Curso Internacional de Sistemas Expertos. Informe Técnico.

Ana M. A. Martínez Enríquez, Guillermo Morales Luna y Zdenek Zdrahal.

Centro de Investigación y de Estudios Avanzados del IPN. Departamento de Ingeniería Eléctrica, Sección de Computación, 1988.

[IPN89] Segundo Curso Internacional de Sistemas Expertos. Guillermo Morales Luna. Centro de Investigación y de Estudios Avanzados del IPN.

Departamento de Ingeniería Eléctrica, Sección de Computación, 1989. [Lau90] Problem-Solving and Artificial Intelligence. Jean-Louis Laurière. Prentice Hall International, 1990. [Ric88] Inteligencia Artificial. E.Rich. Editorial Gustavo Gili, S.A., Barcelona, 1988. [Ste86] The art of PROLOG. Sterling,L. & E. Shapiro. Cambridge, MA: MIT Press, 1986.