199
Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo A A A l l l e e e j j j a a a n n n d d d r r r o o o P P P e e e ñ ñ ñ a a a A A A y y y a a a l l l a a a INSTITUTO POLITÉCNICO NACIONAL

Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

  • Upload
    ngodan

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Sistemas basados en Conocimiento:Una Base para su Concepción

y Desarrollo

AAAllleeejjjaaannndddrrrooo PPPeeeñññaaa AAAyyyaaalllaaa

INSTITUTO POLITÉCNICO NACIONAL

Page 2: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Alejandro Peña Ayala

Cursó la licenciatura en Informática en la UPIICSA del IPN. Posteriormente obtuvo el Diplomado en Java y Aplicaciones Web en el ITAM, la Especialidad y la Maestría en Inteligencia Artificial en la Fundación Arturo Rosenblueth. Actualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación del IPN, contando para ello del respaldo del CONACYT y del IPN a través de una beca. Entre sus distinciones académicas están: El haberse titulado por la opción de escolaridad en 1981, conforme al reglamento del IPN. El reconocimiento hecho por el CONCACYT y el Diario de México en el evento: “Los mejores estudiantes de México generación 1981”, como el mejor estudiante en la Licenciatura en Informática del IPN. Además de haber obtenido el grado de de Maestría en Inteligencia Artificial con mención honorífica. A la par de su desarrollo académico, Alejandro Peña ha ejercido la carrera magisterial, profesional, de investigación y ministerial. En 1981 ingresó a la planta docente de la UPIICSA, donde actualmente es profesor titular C e investigador. Durante el lapso 1989-1994 ofreció cátedra en la Maestría en Sistemas Computacionales del ITESM-CEM. Además de haber hecho lo propio en las Maestrías en Sistemas de Información y Ciencias de la Computación en la Fundación Arturo Rosenblueth. En el ámbito profesional de la Informática, desde 1978 se ha desenvuelto en los sectores privado, público, bancario y empresarial, desempeñando cargos como: Programador, analista y líder de proyecto en la entonces Secretaría de Comercio. Jefe de Soporte Técnico en el (desaparecido) Instituto Mexicano de Comercio Exterior. Subdirector de Sistemas en la Secretaría de Salud. Subgerente de Proyectos Especiales en el Banco Nacional de Comercio Exterior. Coordinador de Sistemas en Banamex. Fue fundador y Director General de la empresa Neuralware, dedicada a las Tecnologías de la Información. Como resultado de sus estudios doctorales orientados al ámbito de la Educación basada en Web, ha publicado: varios Reportes Técnicos, y presentado diversos trabajos en congresos nacionales e internacionales celebrados en ciudades de cuatro continentes, como por ejemplo: Washington-USA., Vancouver Canáda, Melbourne Australia, Bensaçon – Francia, Grindelwald – Suiza, y Bali – Indonesia. Las memorias de sus artículos han sido editadas por organizaciones como IEEE y Springer. Así mismo es autor de una colección de libros relacionados con la Informática y la Inteligencia Artificial. Actualmente, Alejandro Peña es Apóstol y Director General del World Outreach Light to the Nations Ministries (WOLNM), cuya visión es la formación de discípulos, mediante el uso de las Tecnologías de la Información y del Conocimiento, a nivel mundial dedicados a predicar el Evangelio. Por sus ocupaciones académicas, profesionales y ministeriales, Alejandro Peña ha tenido la oportunidad de visitar diversos países y regiones del mundo, amén de haber arribado a sitios extremos del planeta como: La Antártida, el océano glaciar Ártico, y el centro del desierto de Australia. También ha explorado islas exóticas como Hawai, Tahití, y Rarotonga; y otras remotas como Spitsbergen y Baffin. A raíz de tales experiencias, Alejandro Peña ofrece el testimonio de las maravillas naturales que Dios ha hecho en el mundo para deleite del ser humano, y en particular de sus hijos que son salvos a través de Jesucristo y llenos de su Espíritu Santo, quien les anima a clamar: ¡Abba, Padre!

Page 3: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Sistemas basados en Conocimiento: Una Base para su Concepción

y Desarrollo

Page 4: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación
Page 5: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Sistemas basados en Conocimiento: Una Base para su Concepción

y Desarrollo

AAAllleeejjjaaannndddrrrooo PPPeeñññaaa AAAyyyaaalllaaa e

INSTITUTO POLITÉCNICO NACIONAL

- México -

Page 6: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

PRIMERA EDICIÓN 2006. D.R. © 2006, Alejandro Peña Ayala INSTITUTO POLITÉCNICO NACIONAL Dirección de Publicaciones Revillagigedo 83, Centro Histórico, 06070, México, D.F. ISBN: 970-94797-4-1 Impreso en: México / Printed in México

Page 7: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

El autor reconoce que esta obra ha sido inspirada de manera especial por su Padre, Hermano Jesús y Consolador como parte de los proyectos de investigación de World Outreach Light to the Nations Ministries (WOLNM). Así mismo, el trabajo es el resultado de su experiencia profesional, como investigador y docente en la Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas (UPIICSA) del Instituto Politécnico Nacional (IPN) y fruto del desarrollo de su tesis doctoral en el Centro de Investigación en Computación del Instituto Politécnico Nacional.

Page 8: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación
Page 9: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

P R Ó L O G O

Page 10: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

X

Page 11: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Los Sistemas basados en Conocimiento representan un paso delante de los sistemas de información convencionales al pretender representar funciones cognitivas del ser humano como el aprendizaje y el razonamiento. Esta clase de aplicaciones descansan en las contribuciones de la Inteligencia Artificial en lo general y en la Ingeniería del Conocimiento en lo particular. Su orientación es la automatización del análisis de problemas, la búsqueda de soluciones, la toma de decisiones y el empleo de conocimiento especializado en un campo específico de aplicación. Entre los productos más significativos de los Sistemas basados en Conocimiento se encuentran los Sistemas Expertos, los cuales están encargados de representar el conocimiento de los especialistas de una rama en la procura de su aprovechamiento para tareas de diagnóstico, enseñanza y control. La composición de los Sistemas basados en Conocimiento consta de: Un mecanismo de aprendizaje, una base de conocimientos, un motor de razonamiento, y medios de comunicación hombre-máquina. Por tal motivo, en este ejemplar se dedica un capítulo para tratar cada uno de esos temas, en los que se expone los procedimientos que se realizan para la confección de los componentes y se describe las estructuras de representación de conocimiento apropiadas para su organización.

Page 12: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

XII

Page 13: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

TABLA DE CONTENIDO

INTRODUCCIÓN .....................................................................................................................................................................3

1. SISTEMAS BASADOS EN CONOCIMIENTO.................................................................................................................7 1.1 ALCANCES DE LOS SISTEMAS DE INFORMACIÓN ...........................................................................................7 1.2 EXTENSIÓN A LOS SISTEMAS BASADOS EN CONOCIMIENTO ......................................................................7 1.3 PROPIEDADES DE LOS SISTEMAS BASADOS EN CONOCIMIENTO ...............................................................7 1.4 TIPOS DE APLICACIONES DE LOS SISTEMAS BASADOS EN CONOCIMIENTO ...........................................8

2. SISTEMAS EXPERTOS.....................................................................................................................................................11 2.1 LA ELITE DE LOS SISTEMAS BASADOS EN CONOCIMIENTO.......................................................................11 2.2 DESCRIPCIÓN DE LOS SISTEMAS EXPERTOS ........................................................................................................11

2.2.1 DEFINICIÓN...........................................................................................................................................................11 2.2.2 CUALIDADES ..........................................................................................................................................................12 2.2.3 NIVELES DE APLICACIÓN.....................................................................................................................................12 2.2.4 ÁREAS DE DESARROLLO.......................................................................................................................................13

2.3 ARQUITECTURA...........................................................................................................................................................14 2.4 PERFIL GENERAL DEL FUNCIONAMIENTO DE UN SISTEMA EXPERTO ..........................................................16 2.5 EJEMPLOS DE SISTEMAS EXPERTOS....................................................................................................................... 16 2.6 OPERACIÓN DE PROTOTIPOS....................................................................................................................................18

3. CONSTRUCCIÓN DE SISTEMAS...................................................................................................................................21 3.1 LA INGENIERÍA DE CONOCIMIENTO.......................................................................................................................21 3.2 METODOLOGÍA PARA LA CONSTRUCCIÓN DE SISTEMAS EXPERTOS............................................................23 3.3 RECURSOS INVOLUCRADOS.....................................................................................................................................28 34 TIPO DE SOFTWARE APROPIADO A LA CREACIÓN DE SISTEMAS EXPERTOS................................................29 3.5 RECOMENDACIONES ..................................................................................................................................................35

4. APLICACIÓN DE SHELL’S .............................................................................................................................................39 4.1 DESCRIPCIÓN DEL SHELL M1 ............................................................................................................................. 39 4.2 COMPONENTES DE M1..........................................................................................................................................39 4.3 OPERACIÓN DE M1 ................................................................................................................................................40

4.3.1 DESCRIPCIÓN GENERAL ...............................................................................................................................40 4.3.2 EJECUCIÓN DE PROTOTIPOS.......................................................................................................................40

4.4 REPRESENTACIÓN DE CONOCIMIENTO...........................................................................................................42 4.5 INFERENCIA Y BÚSQUEDA..................................................................................................................................43 4.6 MANEJO DE COMANDOS......................................................................................................................................48 4.7 MANIPULACIÓN DE LA BASE DE CONOCIMIENTOS Y EL CACHÉ ..............................................................49 4.8 INTERACCIÓN CON EL USUARIO .......................................................................................................................50 4.9 RASTREO Y MONITOREO .....................................................................................................................................52

5. MECANISMO DE APRENDIZAJE..................................................................................................................................55 5.1 DESCRIPCIÓN DE UN MECANISMO DE APRENDIZAJE ........................................................................................55 52 INTEGRACIÓN DE UN MÓDULO DE APRENDIZAJE ...............................................................................................56

5.2.1 CICLO DE ADQUISICIÓN INICIAL DEL CONOCIMIENTO ANTES DE LA IMPLEMENTACIÓN....................56 5.2.2 COMPONENTES DE UN SISTEMA DE APRENDIZAJE........................................................................................57 5.2.3 MECANISMO DE APRENDIZAJE...........................................................................................................................58 5.2.4 CICLO DE ADQUISICIÓN DEL CONOCIMIENTO DESPUÉS DE QUE LA IMPLEMENTACIÓN HA COMENZADO ...................................................................................................................................................................58

5.3 MÉTODOS DE APRENDIZAJE.....................................................................................................................................60 5.4 TÉCNICAS DE APRENDIZAJE.....................................................................................................................................61

5.4.1 CONCEPTOS............................................................................................................................................................61

Page 14: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

XIV

5.4.2 GENERALIZACIÓN..................................................................................................................................................66 5.4.3 ANALOGÍA ...............................................................................................................................................................72 5.4.4 DESCUBRIMIENTO.................................................................................................................................................74

5.5 HERRAMIENTAS QUE FACILITAN EL APRENDIZAJE...........................................................................................76 5.6 APLICACIONES ORIENTADAS AL APRENDIZAJE .................................................................................................78 5.7 CONSTRUCCIÓN DEL MECANISMO DE APRENDIZAJE.......................................................................................80 5.8 EVALUACIÓN DEL MÓDELO DE APRENDIZAJE....................................................................................................83

6. BASE DE CONOCIMIENTOS ......................................................................................................................................93 6.1 DESCRIPCIÓN DE UNA BASE DE CONOCIMIENTOS .......................................................................................93

6.1.1 ROL DEL MÓDULO ...............................................................................................................................................93 6.1.2 CONSIDERACIONES...............................................................................................................................................94

6.2 FUNCIONAMIENTO DEL ADMINISTRADOR DE LA BASE DE CONOCIMIENTOS......................................95 6.3 EVALUACIÓN DE LAS TÉCNICAS DE REPRESENTACIÓN DE CONOCIMIENTOS .....................................95

6.3.2 CÁLCULO DE PREDICADOS.................................................................................................................................95 6.3.3REGLAS DE PRODUCCIÓN ....................................................................................................................................98 6.3.4 SUPOSICIONES .....................................................................................................................................................100 6.3.5 CONOCIMIENTO DIFUSO “FUZZY SETS” ........................................................................................................101 6.3.6 REDES SEMÁNTICAS............................................................................................................................................105 6.3.7 FRAMES .................................................................................................................................................................108 6.3.8 DEPENDENCIA CONCEPTUAL...........................................................................................................................111 6.3.9 SCRIPTS ................................................................................................................................................................113

6.4 SELECCIÓN DE LA REPRESENTACIÓN APROPIADA ....................................................................................115 6.4.1 DECLARATIVO ......................................................................................................................................................115 6.4.2 PROCEDURAL.......................................................................................................................................................115 6.4.3 CÁLCULO DE PREDICADOS...............................................................................................................................115 6.4.4 REGLAS DE PRODUCCIÓN .................................................................................................................................115 6.4.6 PROBABILIDAD ...................................................................................................................................................116 6.4.7 FUZZY SETS..........................................................................................................................................................116 6.4.8 REDES SEMÁNTICAS............................................................................................................................................116 6.4.9 FRAMES .................................................................................................................................................................117 6.4.10 DEPENDENCIA CONCEPTUAL.........................................................................................................................117 6.4.11 SCRIPTS ...............................................................................................................................................................117

6.5 CONSTRUCCIÓN DE UNA BASE DE CONOCIMIENTOS ................................................................................117 6.5.1 HERRAMIENTAS ...................................................................................................................................................117 6.5.2 METODOLOGÍA ...................................................................................................................................................118 7.5.3 CYCL.......................................................................................................................................................................121 7.5.4 EXIS .......................................................................................................................................................................123

7. MOTOR DE INFERENCIA .............................................................................................................................................131 7.1. NATURALEZA DEL MOTOR DE INFERENCIA......................................................................................................131

7.1.1. DESCRIPCIÓN......................................................................................................................................................131 7.1.2. PROPÓSITO..........................................................................................................................................................131 7.1.3. ELEMENTOS........................................................................................................................................................131

7.2. EVALUACIÓN DE MÉTODOS DE INFERENCIA....................................................................................................131 7.2.1. LÓGICA .................................................................................................................................................................131 7.2.2. SISTEMAS DE PRODUCCIÓN.............................................................................................................................134 7.2.3. FACTORES DE CERTIDUMBRE (“CF”) ............................................................................................................135 7.2.4. RAZONAMIENTO EN OBJETOS ESTRUCTURADOS.........................................................................................136 7.2.5. RAZONAMIENTO CONCEPTUAL .......................................................................................................................137 7.2.6. RAZONAMIENTO NO MONOTÓNICO................................................................................................................138 7.2.7. FUZZY LOGIC.......................................................................................................................................................141

7.3. COMPARACIÓN DE MÉTODOS ...............................................................................................................................143 7.4. INTEGRACIÓN DE LA INFERENCIA Y BÚSQUEDAS ..........................................................................................146

7.4.1. ANÁLISIS DEL TIPO DE PROBLEMAS A RESOLVER .......................................................................................146 7.4.2. PROGRAMACIÓN LÓGICA .................................................................................................................................146

Page 15: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

7.4.3. SISTEMAS DE PRODUCCIÓN.............................................................................................................................147 7.4.4. RAZONAMIENTO NO MONOTÓNICO................................................................................................................148

7.5 CONSTRUCCIÓN DEL MOTOR DE INFERENCIA ..................................................................................................155 Mantenimiento de Memoria en Fuzzy Expert System “Flops”........................................................................................156

8. INTERFASE HOMBRE - MÁQUINA ............................................................................................................................163 8.1 PROPÓSITO DEL MÓDULO .......................................................................................................................................163 8.2 CONSIDERACIONES ..................................................................................................................................................163

8.2.1 TIPO DE USUARIO ...............................................................................................................................................163 8.2.2 TEMA DE LA COMUNICACIÓN...........................................................................................................................163 8.2.3 RECURSOS.............................................................................................................................................................163 8.2.4 ARISTAS DE LA COMUNICACIÓN ......................................................................................................................163

8.3. MODELO......................................................................................................................................................................163 8.4. CICLO DE COMUNICACIÓN ....................................................................................................................................165

8.4.1 DESCRIPCIÓN.......................................................................................................................................................165 8.4.2 FLUJO ....................................................................................................................................................................165 8.4.3 CONCLUSIÓN........................................................................................................................................................165 8.4.4 JUSTIFICACIÓN....................................................................................................................................................166

8.5 FORMAS DE IMPLEMENTACIÓN.............................................................................................................................166 8.6 METACONOCIMIENTO..............................................................................................................................................166 8.7 ASPECTOS A EVALUAR ............................................................................................................................................167 8.7 RECOMENDACIONES ................................................................................................................................................168 8.8 CRITERIOS DE ÉXITO ................................................................................................................................................169

CONCLUSIONES..................................................................................................................................................................173

REFERENCIAS.....................................................................................................................................................................177

Page 16: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

XVI

Page 17: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

TABLA DE FIGURAS Fig. 1. Arquitectura general de los componentes de un Sistema Experto ..................................................................................14 Fig. 2. Ambiente de la Ingeniería de Conocimiento ..................................................................................................................21 Fig. 3. Tipos de conocimiento que se quieren representar .........................................................................................................22 Fig. 4. Modelo del ciclo de vida para el desarrollo de un Sistema Experto ...............................................................................24 Fig. 5. Proceso de identificación del problema.........................................................................................................................24 Fig. 6. Proceso de formalización del Sistema Experto...............................................................................................................27 Fig. 7. Ciclo para la adquisición inicial de conocimiento ..........................................................................................................56 Fig. 8. Componentes de un sistema de aprendizaje ...................................................................................................................58 Fig. 9. Ciclo para la actualización de conocimiento ..................................................................................................................59 Fig.10. Aprendizaje de los conceptos CASA, TIENDA y ARCO.............................................................................................63 Fig. 11. Descripción estructural .................................................................................................................................................63 Fig. 12. Descripción de un arco de acuerdo con el primer ejemplo...........................................................................................64 FIig. 13. Descripción del arco de acuerdo con el segundo ejemplo...........................................................................................65 FIig. 14. Descripción de arco después de integrar dos ejemplos ...............................................................................................65 Fig. 15. Descripción de arco después del ejemplo casi - equivocado ........................................................................................66 Fig. 16. Ejemplos para conocer un arco.....................................................................................................................................67 Fig. 17 Reglas de generación de enlace necesario .....................................................................................................................67 Fig..18 Regla de generalización de prohibición de enlace.........................................................................................................68 Fig. 19. Heurística de Ascenso de árbol....................................................................................................................................69 Fig. 20. Red de similitud...........................................................................................................................................................72 Fig. 21. Analogía Transformacional .........................................................................................................................................73 Fig. 22. Muestra un ejemplo de Analogía Transformacional.....................................................................................................73 Fig. 23. Analogía Derivacional ..................................................................................................................................................74 Fig. 24. Proceso del KBL...........................................................................................................................................................80 Fig. 25. Árbol de pruebas parcial determinado por el RSI.........................................................................................................82 Fig. 26 Esquema general para la Multiestrategia de aprendizaje ...............................................................................................89 Fig. 27. Relación entre base de conocimientos y otros módulos del Sistema Experto ..............................................................93 Fig. 28. Evolución del conocimiento .........................................................................................................................................93 Fig. 29. Diferentes niveles de detalle de la expresión “El niño corre rápido” ...........................................................................94 Fig. 30. Elementos fundamentales del Cálculo de predicados...................................................................................................96 Fig. 31. Elementos de un sistema de producción .......................................................................................................................98 Fig. 32. Enlace de las declaraciones en la BC..........................................................................................................................100 Fig. 33. Representación con Fuzzy sets del ejemplo “El Williams es un auto más rápido que el Ferrari”..............................101 Fig. 34.. Variables Lingüísticas ...............................................................................................................................................102 Fig. 35. Grado de membresía ...................................................................................................................................................102 Fig. 36. Representación mediante redes semánticas ................................................................................................................106 Fig. 37. El perro mordió al cartero...........................................................................................................................................107 Fig. 38. Todos los perros han mordido a algún cartero............................................................................................................107 Fig. 39. Todos los perros han mordido a todos los carteros.....................................................................................................108 Fig. 40. Represetación de un arco mediante frames.................................................................................................................109 Fig. 41. Representación de una sala.........................................................................................................................................109 Fig. 42. Descripción de los elementos de una oración.............................................................................................................110 Fig. 43. Representación de una acción y los elementos involucrados .....................................................................................110 Fig. 44. Instanciación de un evento .........................................................................................................................................111 Fig. 41. Representación del conocimiento mediante dependencia conceptual ........................................................................111 Fig. 42. Consideraciones para la selección de técnica de representación del conocimiento....................................................119 Fig. 43. Relación Ontología - Representación del conocimiento.............................................................................................120 Fig. 44. Estructura de CYC......................................................................................................................................................121 Fig. 45. Representación "A María le gusta únicamente la gente que programa en LISP”.......................................................122 Fig. 46. Arquitectura de EXIS .................................................................................................................................................123 Fig. 47. Elementos en la representación de EXIS....................................................................................................................124 Fig. 48. Aprendizaje.................................................................................................................................................................126

Page 18: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

XVIII

Fig. 49. Ejemplos de representación ........................................................................................................................................127 Fig. 50. Esquema del motor de inferencia................................................................................................................................131 Fig. 51. Interrelación del Motor de Inferencia con los componentes de un S.E. .....................................................................131 Fig. 52. Sistema de producción................................................................................................................................................134 Fig. 53. Cálculo del CF de una conclusión derivada por varios caminos ................................................................................135 Fig. 54. Razonamiento en objetos estructurados......................................................................................................................136 Fig. 55. Propiedades de las clases inherentes al objeto............................................................................................................136 Fig.57. Propiedades válidas de una clase de objetos y sus instancias no válidas.....................................................................136 Fig. 58. Conflicto de inherencia...............................................................................................................................................137 Fig. 59. Razonamiento conceptual ...........................................................................................................................................138 Fig. 60. Representación de Fórmulas y Modelos de Creencias ...............................................................................................139 Fig. 61. Consistencia de teoremas............................................................................................................................................139 Fig. 62. Representación mediante Fuzzy Logic .......................................................................................................................141 Fig. 63. Marco de referencia ....................................................................................................................................................143 Fig. 64. Tabla de evaluación ....................................................................................................................................................145 Fig. 65. Programación lógica ...................................................................................................................................................146 Fig. 66. Implementación del razonamiento no monotónico.....................................................................................................149 Fig. 67. Ilustración del retroceso dirigido sin dependencia .....................................................................................................150 Fig. 68. Ilustración del retroceso dirigido sin dependencia .....................................................................................................151 Fig. 69. Ejemplificación del retroceso dirigido por dependencia ............................................................................................152 Fig. 70. Ejemplificación del retroceso dirigido por dependencia ...........................................................................................153 Fig. 71. Ejemplificación de suposicones.................................................................................................................................153 Fig. 72. Desarrollo de un caso por medio de un sistema de mantenimiento de verdad ...........................................................154 Fig. 73. Desarrollo de un caso por medio de un sistema de mantenimiento de verdad ...........................................................155 Fig. 74. Polimorfismo ..............................................................................................................................................................156 Fig. 7.5. Arquitectura ...............................................................................................................................................................157 Fig. 76. Algoritmo del sistema de mantenimiento de memoria ...............................................................................................158

Page 19: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

LISTA DE TABLAS Tabla 1. Ventajas que poseen los expertos sobre los que no lo son..........................................................................................12 Tabla 2.a Ventajas que poseen los expertos sobre los que no lo son. ........................................................................................16 Tabla 2.b Descripción de Sistemas Expertos. ............................................................................................................................17 Tabla 2.c Descripción de Sistemas Expertos. ............................................................................................................................18 Tabla 3. Características de las Máquinas LISP. .........................................................................................................................30 Tabla 4. Características de algunas Herramientas Híbridas. ......................................................................................................31 Tabla 5. Características de algunas Herramientas de Adquisición de Conocimiento. ...............................................................32 Tabla 6.a Cuadro de Herramientas de Sistemas Expertos..........................................................................................................32 Tabla 6.b Cuadro de Herramientas de Sistemas Expertos. ........................................................................................................33 Tabla 6.c Cuadro de Herramientas de Sistemas Expertos..........................................................................................................34 Tabla 6.d Cuadro de Herramientas de Sistemas Expertos. ........................................................................................................35

Page 20: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

XX

Page 21: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

INTRODUCCIÓN

Page 22: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

2

Page 23: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

INTRODUCCIÓN

El conocimiento es un activo cada vez mas apreciado por la sociedad contemporánea, sus instituciones académicas, de investigación y producción se esfuerzan en adquirir mas conceptos, desarrollar modernas tecnologías, formular nuevas teorías y aportar significativos descubrimientos e invenciones en los todos los campos de las ciencias con el propósito de proveer un mayor bienestar a la población. El conocimiento acumulado a lo largo de la historia, evoluciona y se actualiza permanentemente en forma cada vez mas acelerada, expandiendo su alcance y repercusión social en cada ámbito de la actividad humana. Constituye el motor de transformación y desarrollo de una nación dentro del concierto mundial cada vez mas competido, donde los países que alcanzan un primer plano de crecimiento industrial, tecnológico y económico, repercutiendo sus beneficios entre los habitantes. Ellos se caracterizan por la gran inversión que realizan en la adquisición, desarrollo y explotación de conocimiento especializado. Las organizaciones reconocen que su principal recurso es el humano, entre las razones que justifican la afirmación destaca, el atributo de la persona como un ser dotado de habilidades y capacidades adecuadas en el ejercicio de funciones específicas gracias al nivel de preparación que ha adquirido a lo largo de su vida; donde a través del estudio, práctica y experiencias acumula un alto nivel de conocimientos. Por tal motivo, el individuo, la familia, las empresas y el gobierno reconocen como una prioridad el fomento de la educación, la investigación y el desarrollo tecnológico. Ya que este medio constituye la esperanza de un mejor futuro, puesto que es un instrumento que contribuye a colocar en una posición ventajosa a la persona, la organización y al país mismo dentro del ámbito donde se desenvuelven. La informática como un campo de la actividad, está dedicada a eficientar el ejercicio de diversas labores, por medio de la representación y empleo de conocimiento específico para la sistematización de las tareas, de tal forma que se realicen con un mayor grado de rapidez, exactitud y simplicidad, contribuyendo a elevar el bienestar de los usuarios. Para ello aplica un enfoque interdisciplinario, procura mejorar sus instrumentos y metodologías de trabajo, aspira a optimizar cada vez mas sus aplicaciones y extender su marco de acción. Entre sus pretensiones destaca la creación de “sistemas basados en conocimiento” dedicados a una aplicación específica. Para ello, utiliza las aportaciones de la inteligencia artificial en las áreas de aprendizaje, razonamiento, representación de conocimiento y comunicación. Con estos elementos, procura crear una aplicación mecanizada que almacene, explote y actualice los conocimientos que los especialistas en un campo pueden aportar para la solución de problemas específicos, dando vida a los “sistemas expertos”. El profesional de la informática debe adquirir los conocimientos y habilidades que le permitan encarar proyectos con un alto nivel de desarrollo tecnológico, entre ellos la creación de sistemas expertos que procuren explotar el acervo de los especialistas en forma sistematizada, destinándolos a campos específicos como el diagnóstico médico, control de procesos, evaluación de condiciones meteorológicas, entre otros. Dicha formación se obtiene por medio de cursos, herramientas y acervos pertenecientes a la ingeniería del conocimiento. Con ese propósito se ha compilado este material a lo largo de estudios, investigación y enseñanza en el campo de los “sistemas expertos”, que al ser redactados en formato de “apuntes” respaldan la cátedra del profesor y el estudio de los alumnos. En ellos se ofrece las argumentaciones necesarias para comprender los temas conforme al programa de la asignatura. Su contenido incluye un perfil de los sistemas basados en conocimiento; los alcances y elementos de los sistemas expertos. Explica la metodología y programación de un “shell” para construir sistemas. Brinda los conceptos y técnicas apropiadas en la creación del mecanismo de aprendizaje, base de conocimientos, motor de inferencia e interface hombre – máquina. Finaliza con la descripción del metaconocimiento. Expreso mi gratitud a la U.P.I.I.C.S.A. por incentivar la redacción de este material. También a los alumnos que participaron en su edición. De manera especial a Dios que como muestra de su amor “creó al hombre a su imagen y semejanza “ (Génesis 1.27), como un ser pensante capaz de adquirir y explotar conocimiento.

Page 24: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

4

Page 25: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 1. SISTEMAS BASADOS EN

CONOCIMIENTO

Page 26: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

6

Page 27: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

1. SISTEMAS BASADOS EN CONOCIMIENTO

1.1 ALCANCES DE LOS SISTEMAS DE INFORMACIÓN Los sistemas de información mecanizados son concebidos e implementados como instrumentos que procesan información con el propósito de: • Apoyar la toma de decisiones. • Contener “conocimiento técnico”. • Reducir a un grado mínimo el error humano. • Automatizar las operaciones repetitivas. • Transmitir información dentro de la organización. • Reducir el tiempo de realización de las operaciones. • Bajar costos. • Facilitar la tarea del usuario. • Ofrecer información: completa, eficiente, veraz, oportuna. • Manipular grandes volúmenes de información. • Satisfacer las necesidades del usuario.

1.2 EXTENSIÓN A LOS SISTEMAS BASADOS EN CONOCIMIENTO Los sistemas basados en conocimiento se consideran una extensión - un paso tecnológico - de los sistemas de información cuyos alcances y complejidad son mayores. Entre sus propósitos destacan: • Aprender. • Evolucionar. • Adaptar. • Razonar. • Tomar decisiones. • Contener conocimiento empírico, mundano y del lenguaje. • Analizar problemas. • Generar alternativas de solución. • Emular al experto humano. • Generar conocimiento a partir del que ya se posee.

1.3 PROPIEDADES DE LOS SISTEMAS BASADOS EN CONOCIMIENTO Entre las características más relevantes de los sistemas basados en conocimiento están: • Procedimientos no algoritmicos. • Manejo de incertidumbre. • 0 , 1 ó múltiples soluciones. • Conocimiento técnico y científico. • Busca generar la solución “óptima”. • Manipulación de conocimiento no monotónico. • Procesos interactivos. • Aprendizaje de los fracasos. • Empleo de métodos para la representación del conocimiento. • Capacidad para explicar su propio razonamiento, cuestionamiento y emisión de conclusiones. • Uso de búsquedas heurísticas. • Representación de conocimiento especializado del campo de aplicación. • Pueden utilizar razonamiento con base en probabilidades, creencias, pertenencias y suposiciones. • Procesamiento simbólico. • Utilizan sistema de mantenimiento de la verdad para afirmaciones y negaciones cambiantes. • Datos cualitativos más que cuantitativos.

Page 28: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

8 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

8

1.4 TIPOS DE APLICACIONES DE LOS SISTEMAS BASADOS EN CONOCIMIENTO El ámbito de aplicación de los sistemas basados en conocimiento incluye: • Lenguaje natural. • Realidad virtual. • Redes neuronales. • Juegos. • Sistemas expertos. • Robótica. • Sistemas de planeación. • Reconocimiento de imágenes. • Traductores. • Solución de problemas. • Sistemas evolutivos. • CAM Manufactura. Llevado a máquinas de control numérico. • Aprendizaje. • Sistemas Tutoriales.

Page 29: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 2. SISTEMAS EXPERTOS

Page 30: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

10

Page 31: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

2. SISTEMAS EXPERTOS

2.1 LA ELITE DE LOS SISTEMAS BASADOS EN CONOCIMIENTO La tecnología representada por los Sistemas Expertos actuales, surge de las técnicas de Inteligencia Artificial que han sido objeto de amplias e intensivas investigaciones desde finales de los 50’s. Las investigaciones referidas comenzaron en las matemáticas para apoyar el razonamiento simbólico. mediante el uso de IPL, el primer lenguaje simbólico orientado al procesamiento de listas. Más tarde surgió LISP, reconocido como lenguaje artificial. La investigación en el campo los Sistemas Expertos comenzó a mediados de los años sesenta con un alcance limitado y se orientaron hacia juegos o temas altamente académicos e idealizados. Posteriormente se iniciaron desarrollos en los campos de la medicina, química, industria y la administración. Los Sistemas Expertos se emplean para ejecutar una variedad de tareas que en el pasado solamente podían llevarse a cabo por un número limitado de personas expertas. A través de la aplicación de las técnicas de Inteligencia Artificial (IA), los Sistemas Expertos captan el conocimiento básico que permite a una persona desempeñarse como un experto frente a problemas complicados. Entre las características más relevantes de los Sistemas Expertos, que los distingue de la mayoría de las aplicaciones tradicionales de la computación, es su capacidad para enfrentar problemas que constituyen un reto del mundo real, por medio de la aplicación de procesos que reflejan el discernimiento y la intuición humanas. En el futuro, a medida que se produzcan nuevas arquitecturas de equipos que soporten de una manera directa la ejecución de Sistemas Expertos y se perfeccione la tecnología de Inteligencia Artificial, es razonable esperar un desarrollo de sistemas que se aproximen asintóticamente al comportamiento humano en muchas áreas. El desarrollo de tales sistemas nos permitirá ofrecer soluciones técnicas más completas y alimentar nuestro conocimiento del proceso del pensamiento humano. Por esta razón, los Sistemas Expertos constituyen el nivel especializado en la representación y explotación de aplicaciones basadas en conocimiento.

2.2 DESCRIPCIÓN DE LOS SISTEMAS EXPERTOS 2.2.1 DEFINICIÓN Un Sistema Experto es un sistema computacional que adquiere conocimiento especializado en un campo específico para explotarlo mediante métodos de razonamiento que emulan el desempeño del experto humano en la solución de problemas. Generalmente un Sistema Experto puede comprender: • Amplio conocimiento específico a partir del campo de interés. • Aplicación de técnicas de búsqueda y heurísticas. • Habilidad para inferir nuevos conocimientos a partir de los actuales y de las experiencias obtenidas durante su

operación. • Procesamiento simbólico. • Capacidad para explicar su propio razonamiento. • Empleo de diversas técnicas de solución de problemas. Para destacar la naturaleza de un Sistema Experto, se debe apreciar los rasgos del experto humano: Él es una persona competente en un área determinada del conocimiento que cuenta con un largo periodo de preparación y práctica, la cual al aprovecharse se traduce al siguiente desempeño en comparación con otra persona no especializada como se aprecia en la Tabla 1:

Page 32: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

12 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

12

Actividad Experto No experto

Tiempo de resolución de problemas de su área Grande Pequeño Eficacia Alta Baja Organización Alta Baja Posee estrategias y tácticas Si No Búsqueda de soluciones Heurística No heurística Cálculos aproximados Si No

Tabla 1. Ventajas que poseen los expertos sobre los que no lo son.

En su desempeño los Sistemas Expertos, deben resolver los problemas como lo hacen sus símiles humanos, es decir en menor tiempo, con mayor eficacia y precisión.

2.2.2 CUALIDADES Entre los rasgos más relevantes de los Sistemas Expertos destacan: • El proceso de buscar los conocimientos apropiados y a partir de éstos deducir nuevos conocimientos

constituye un elemento clave del procesamiento de un Sistema Experto. • Capacidad de representación simbólica del conocimiento y razonamiento. • Referencia a un dominio de conocimiento técnico y altamente especializado. • Capacidad de proceder heurísticamente más que algorítmicamente en la búsqueda de soluciones. • Está obligado a explicar sus razonamientos, preguntas y conclusiones. • Alto grado de efectividad en la resolución de problemas. • Genera múltiples soluciones por contemplar varias hipótesis. • Puede usar datos erróneos, reglas inciertas, manejo de incertidumbre. • Emplea generalmente interfaz de lenguaje natural. • Interacción con el humano o con el medio que controlan.

2.2.3 NIVELES DE APLICACIÓN Se puede concebir una escala creciente de alcance y complejidad entre los diversos niveles de aplicación, en donde de acuerdo a la naturaleza del sistema un nivel sirve de soporte a otro (es decir forma parte) o bien es una alternativa. Los principales niveles son: Los sistemas de interpretación. Realizan el análisis de datos observables para determinar su significado e inferir descripciones de situaciones del sistema medido por los datos. Un ejemplo de este tipo de sistemas es la interpretación de los datos obtenidos por un espectrómetro de masas de los fragmentos moleculares. La interpretación revela la determinación de una o más estructuras químicas. Estos sistemas deben encontrar interpretaciones correctas y consistentes con los datos, considerando sistemáticamente las posibles interpretaciones y descartando sólo aquéllas para las que hay suficiente evidencia para desecharlas. Esta categoría incluye los sistemas de vigilancia, entendimiento de voces, análisis de la imagen e interpretación de señales. Los sistemas de predicción. Prevén el curso futuro a partir de un modelo del pasado y presente. Por ejemplo la predección del clima con base al estado actual del tiempo. Los sistemas de diagnosis. Se orientan a la identificación de estados o fallas en un sistema basado en datos observables, por ejemplo, el diagnóstico de enfermedades infecciosas. Estos sistemas describen irregularidades observadas en el comportamiento del sistema, con sus causas subyacentes, para ello pueden usar una tabla de asociaciones entre comportamientos y diagnosis.

Page 33: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Sistemas Expertos 13

Los sistemas de diseño. Desarrollan configuraciones de objetos que satisfacen requerimientos o descripciones particulares, intentan minimizar una función objetivo que mide cortes y otras propiedades indeseables de diseños potenciales. Esta categoría incluye el diseño de circuitos, edificios, presupuestos, etc. Los sistemas de planificación. Se especializan en la creación de planes, concebidos como un programa de acciones que pueden ejecutarse para alcanzar metas. Un planificador debe construir un plan que alcance metas sin consumir excesivos recursos o violar restricciones. Si existen conflictos entre metas, el planificador establecerá prioridades y si los requerimientos de la planificación o los datos para la decisión no son completamente conocidos o cambian con el tiempo, entonces el planificador actuará tentativamente. También debe explicar planes posibles ya que en principio no puede saber las consecuencias de sus acciones. Estos sistemas incluyen programación automática, planes de robots, proyectos, rutas, comunicaciones, experimentos y planes militares. Los sistemas de monitorización. Interpretan señales continuamente y ponen en funcionamiento medidas de respuesta, como por ejemplo alarmas cuando se necesita una intervención. En un sistema de este tipo el reconocimiento de las señales de alarma se debe llevar a cabo en tiempo real y evitar falsas alarmas a efectos de credibilidad. Existen sistemas de monitorización para plantas nucleares, tráfico aéreo y enfermedades. Los sistemas de depuración. Prescriben remedios para mal funcionamiento de un sistema. Estas aplicaciones confían en las capacidades de planificación, diseño y predicción para crear especificaciones o recomendaciones para corregir un problema de diagnosticado. Entre sus aplicaciones destacan, la robótica, el mantenimiento industrial y el de plantas nucleares. Los sistemas de reparación. Desarrollan y ejecutan planes para administrar un remedio a algunos problemas diagnosticados. Tales sistemas incorporan capacidades de depuración, planificación y ejecución. Se aplican en dominios como redes, aeronáutica, mantenimiento de la computadora, etc. Los sistemas de instrucción. Para diagnóstico y mejoramiento del aprendizaje de los estudiantes. Típicamente este sistema empieza construyendo una descripción hipotética del conocimiento del estudiante para interpretar el comportamiento del mismo, entonces diagnostican la eficiencia y determina un remedio adecuado. Finalmente se planifica una tutoría interactiva para adquirir el conocimiento adecuado. Los sistemas de control. Gobierna adaptativamente el comportamiento global de un sistema, para lo cual debe interpretar repetidamente la situación actual, predecir el futuro, diagnosticar causas de problemas, formular un plan para remediarlos y monitorear su ejecución para asegurar el éxito. En este tipo de sistemas se incluye el control del tráfico aéreo, el manejo de negocios y el manejo de dirección virtual de una batalla,. 2.2.4 ÁREAS DE DESARROLLO Entre los campos donde se aplican los Sistemas Expertos destacan: Medicina. Gran parte de los Sistemas Expertos que se han desarrollado se aplican en el área de la medicina, donde su función es realizar diagnósticos de enfermedades basados en el cálculo de probabilidades. Finanzas. Es un campo importante debido a las grandes inversiones realizadas por entidades financieras, bancarias y aseguradoras. Industria: El reto de los Sistemas Expertos industriales se centra en la necesidad de que se comuniquen con dispositivos sensores, bases de datos, dispositivos de mando y accionamiento en tiempo real. Electrónica. Se orientan al diseño, diagnóstico y reparación. El uso de Sistemas Expertos se debe a la creciente complejidad de los circuitos y al gran número de parámetros a considera en los mismos. Militar. En actividades de monitoreo, diseño, planeación, educación y control. Aeronáutica. Orientado al control de la posición de los satélites y la interpretación de sus imágenes.

Page 34: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

14 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Agricultura. Diagnóstico y tratamiento de tierras, control de plagas y creación de nuevos herbicidas. Arqueología. Para determinar la antigüedad de los restos arqueológicos, composición de las piedras. Geología. Se emplea en la exploración de suelos, búsqueda de recursos, etc. Meteorología. Se aplica en la previsión meteorológica, control y administración de recursos hidrográficos. Química. Estudio de las propiedades de compuestos, interpretación de los resultados obtenidos en los análisis, planificación de los procesos de síntesis.

2.3 ARQUITECTURA Los Sistemas Expertos emplean una amplia variedad de arquitecturas específicas a las aplicaciones, sin embargo se puede generalizar un módulo de componentes que normalmente se deben integrar en cualquier ámbito, cuyos elementos se ilustran en la siguiente Figura 1:

14

Fig. 1. Arquitectura general de los componentes de un Sistema Experto

El usuario

usuario de un Sistema Experto puede operar la aplicación en cualquiera de las siguientes modalidades: El

Verificador: Intenta comprobar la validez del desempeño del sistema.

a está presente en el sistema.

Usuario

Mecanismo de Aprendizaje

Base de Conocimientos

Memoria de

Máquina de Inferencia

Interfaz Hombre-Máquina

• • Tutor: Brinda información adicional al sistema o modifica el conocimiento que y• Alumno: Busca rápidamente desarrollar pericia personal relacionada con el área específica mediante la

recuperación de conocimientos organizados y condensados del sistema. Cliente: Aprovecha la pericia del sistema en el desempeño de tareas específicas. •

Trabajo

Administrador

Administrador Base de

Datos

Page 35: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Sistemas Expertos 15

izaciones anteriores contrasta con la percepción de un simple papel (el cliente) e los sistemas de información tradicionales.

El reconocimiento de las caracterd Interfaz Hombre-Máquina

l subsistema responsable de: Es e

• cluye la sesión. Establecer el protocolo de diálogo: Mediante parámetros, menues, íconos, lenguaje natural o cualquier otro

del sistema: Debe ser capaz de argumentar las razones por las que formula cierta pregunta, hace un razonamiento y llega a una conclusión específica.

a completo en sí mismo, con sus propias base de conocimiento, motores de ferencias y áreas de trabajo.

Interactuar con el usuario: Inicia, desarrolla, suspende, reanuda y con•

medio de expansión, como el reconocimiento de voz y sensores y servomecanismos que operan en tiempo real. • Explicar el comportamiento

Este componente puede ser un sistemin

quina de inferencia Conocida como Motor, se encarga de:

• a la naturaleza del problema, diseña búsqueda ciegas, heurísticas o aplica métodos más ad-hoc, como agenda, alfa-beta y pizarrón.

e de conocimientos” establece el método de inferencia correspondiente; por ejemplo; al emplear reglas de predicados entonces

unificación.

l motor es considerado el núcleo del Sistema Experto donde descansa la parte “procedural”.

Bas

• Representar los mecanismos de solución: Son los procedimientos que identifican y resuelven el problema, además de evaluar las alternativas de solución.

Implementar los criterios de búsqueda: Conforme

• Fundamentar la inferencia: Congruente al tipo de conocimiento representado en la “bas

hará uso de la resolución E

e de Conocimientos Constituye el acervo de conocimiento especializado del Sistema Experto, consta de:

Un administrador: Responsable del almacenamiento, recuperación y actualización en las estructuras de ntes.

e conocimiento (reglas, hechos, objetos, etc.) efectuados por el motor de inferencia y el módulo de aprendizaje.

Me

• El formalismo para representar conocimiento: Emplea una o varias técnicas que permiten caracterizar y organizar conocimiento específico; por ejemplo; “frames”, “redes semánticas” y “scripts”.

•representación correspondie

• Servicio: Es el mecanismo encargado de responder a las demandas de acceso a elementos específicos d

canismo de Aprendizaje

Es el módulo responsable de adquirir nuevo conocimiento y actualizar el existente, alterando a los subsistemas:

Base de conocimientos: Mo • difica las declaraciones de conocimiento, agrega nuevas, verifica la consistencia

ntes. Interfase Hombre-Máquina: Entre más refinado sea el conocimiento y los mecanismos de inferencia, más

eficiente deberá ser la comunicación con el usuario. También sufrirán alteración los argumentos de . Inclusive, se puede “personalizar” el lenguaje en función al usuario y problema, como fruto de

entre ellas, resolviendo los conflictos. Máquina de Inferencia: Puede cambiar los mecanismos de inferencia, depurar las heurísticas y métodos de búsqueda, en aras de hacer más eficiente la solución de problemas, aprovechando la experiencia en la solución de problemas semeja

“explicación”las sesiones previas.

Base de Datos

l depósito de conocimiento complementario a la “base de conocimientos” que por su naturaleza, representación y Es e

manipulación se concibe como dato o información. El empleo que se deriva de este módulo es:

Page 36: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

16 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

16

ón: Ofrece los servicios de inserción, acceso, actualización y borrado de datos, seguridad, integridad, confiabilidad, respaldo y restauración y monitoreo de la información.

n de “Sistemas Manejadores de Bases de Datos

elacionales”).

• Almacenamiento de datos. Todos aquellos elementos del dominio de conocimiento del Sistema Experto, los específicos al problema y los particulares del usuario pueden registrarse en archivos o tablas convencionales.

• Administraci

Normalmente el Sistema Experto debe tener una interfaz con el software especializado en la administracióarchivos o bases de datos, tales como los “engine” de las RDBMS (R Memoria de Trabajo

l depósito de almacenamiento del código, conocimEs e iento y resultado de las inferencias que se genera a lo largo de la sión, donde se desarrolla la solución del problema. En esta área se realiza:

dos”: Que corresponda a la búsqueda de la solución. La administración de la red o estructura de conocimientos: Que se empleé para representar a los estados

iniciales, intermedios y finales del problema.

se • La representación del “espacion de esta•

Normalmente la “memoria de trabajo” se implementa en la “memoria principal” del ordenador con el posible respaldo del almacenamiento secundario.

2.4 PERFIL GENERAL DEL FUNCIONAMIENTO DE UN SISTEMA EXPERTO

De acuerdo al procedimiento que define el problema la “Interfase” xpresa las preguntas al usuario o se encarga de extraer los parámetros del ambiente que controla. También valida

unicación a que haya lugar entre el “motor de inferencia” y

La “interfase Hombre-Máquina“ es el módulo responsable de controlar la operación del Sistema Experto, activa el inicio de la sesión, su desarrollo y conclusión. elas respuestas y brinda las explicaciones pertinentes que permitan aclarar y justificar la interrogación.

Durante la búsqueda de soluciones, establecerá la comel “mecanismo de aprendizaje” con el usuario.

l final, expone las conclusiones con las justificaciones correspondientes que amplían la respuesta y sus razones. A

2.5 EJEMPLOS DE SISTEMAS EXPERTOS A continuación se presenta la Tabla 2 con la relación de Sistemas Expertos aplicados en el laboratorio o en el ámbi

to comercial acompañada por una descripción de su naturaleza:

Airplan

Planificación de lanzamientos y despegues, recuperación de aviones sobre una base o un portaavion

AL1, AL5

Expertos en ajedrez.

Arches

Experto en arqueología.

Argos-2

Simulación de la toma de decisión de un robot.

Cards

Experto en jugar al bridge.

Casnet. Diagnóstico y tratamiento del glucoma.

Cat

Eval

uación de una amenaza de abordo de un avión.

Csa Manejo de centrales nucleares. DAA. Diseño de circuitos con alto grado de integración.

Tabla 2.a Ventajas que poseen los expertos sobre los que no lo son.

Page 37: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Sistemas Expertos 17

Dart. Sistema inteligente de autodiagnóstico contenido.

Delta

Experto en reparación de locomotoras eléctricas y diesel.

Director Ideal. Del banco Santander. Valoración de la situación financiera de una empresa o cliente.

Drendal Es un sistema que determina la estructura molecular de los compuestos químicos a partir de una información primaria, procedente de ensayos.

Eao Guidon Enseñanza asistida por ordenador. Emycin

Es una versión independiente del dominio de Mycin, que contiene todo lo de este último, excepto su conocimiento sobre enfermedades infecciosas de la sangre, facilitando el desarrollo de aplicaciones de diagnósticos de otros tipo, como es el caso de Puff para enfermedades pulmonares.

Expert

Es un lenguaje de construcción de sistemas expertos que evoluciona a partir de Casnet. Se ha utilizado principalmente, para construir modelos e consulta en oftalmología, endocrinología y reumatología.

Expert Edge. Concesión de créditos y préstamos.

Fresh. Planeación estratégica y de misiones de sensores.

Hearsay II

Interpretación del lenguaje hablado.

IGC. Diagnósticos de control de calidad.

Macsyma

Desarrollado en el MIT para la realización de cálculos matemáticos clásicos (integración de funciones, ecuaciones diferenciales y cálculo matricial.

Metadrendal

Añade conocimiento de análisis a Drendal, para proponer y seleccionar reglas de fragmentación de estructuras orgánicas.

Mycin. Diagnóstico y terapia de enfermedades infecciosas bacterianas.

Neomycin. Basado en Mycin, para la enseñanza en medicina.

Neurologist. Neurología.

Pilot’s Associates. Manejo de vehículos y proyectiles semiautomáticamente.

Planpower. Planes de inversión.

Politics Estrategia a utilizar en las conversaciones de desarme.

Tabla 2.b Descripción de Sistemas Expertos.

Page 38: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

18 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

18

Prilling Advisor

Sistema Experto desarrollado para asesorar sobre la interpretación y operación de sondeos.

Prospector

Explorador de yacimientos minerales partiendo de información descriptiva de una zona.

R1

Desarrollado en Digital para configurar automáticamente equipos VAX.

Reactor. Detección y actuación en caso de alarmas y emergencias.

Rosie

Desarrollado en Rand Corporation, proporciona un sistema de programación de propósito general para construcción de sistemas expertos.

Tax Genus. Aplicación de impuestos y tasas.

Teiresias

Programa que ayuda a la construcción de grandes bases de conocimiento, facilitando la transferencia de la experiencia de los humanos a la base de conocimientos mediante un diálogo basado en un subconjunto del lenguaje natural.

Underwriting Advisor. Análisis de riesgos y diseño de seguros.

Tabla 2.c Descripción de Sistemas Expertos.

2.6 OPERACIÓN DE PROTOTIPOS Para ejemplificar la operación de un Sistema Experto consideraremos una descripción del funcionamiento de MYCIN, aplicación reconocida como un modelo típico de Sistema Experto: Es un Sistema Experto para la realización de diagnósticos, iniciado por De Feigenbaum y posteriormente desarrollado por E. Shortliffe y sus colaboradores. Su función es la de aconsejar a los médicos en la investigación y determinación de diagnósticos en el campo de las enfermedades infecciosas. El sistema MYCIN, al ser consultado por el médico, solicita primero datos generales sobre el paciente: nombre, edad, síntomas, etc. Una vez conocida esta información, el Sistema Experto plantea una hipótesis de la enfermedad. Para poder verificar comprueba primero la exactitud de las premisas de la regla. Esto se realiza mediante: • Búsqueda de enunciados correspondientes en la base de conocimientos: Estos enunciados pueden a su vez

estar de nuevo en la parte de consulta de otra regla, • Preguntas al usuario. Aquí se trata de preguntas del tipo ¿Se ha practicado en el paciente algún tipo de

intervención quirúrgica o de otro tipo en el tracto biliar? Con las respuestas que recibe, MYCIN verifica o rechaza las hipótesis planteadas.

Page 39: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 3. CONSTRUCCIÓN DE SISTEMAS

Page 40: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

20

Page 41: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

3. CONSTRUCCIÓN DE SISTEMAS

3.1 LA INGENIERÍA DE CONOCIMIENTO La Ingeniería de Conocimiento es la disciplina orientada a la creación de sistemas basados en conocimiento para el análisis y solución de problemas de un dominio específico como la visión, el lenguaje y el aprendizaje, tal como se muestra en la Figura 2. Área del experto Sistema Experto

SISTEMA BASADO EN

CONOCIMIENTOSINGENIERÍA

DE CONOCIMIENTO

FUENTE DE

CONOCIMIENTOS

Transformación de representaciones

Fig. 2. Ambiente de la Ingeniería de Conocimiento Aunque los conocimientos pueden conseguirse de una variedad de fuentes, incluyendo la documentación y los sistemas de información existentes, la mayor parte se obtiene de personas expertas. El conocimiento suministrado por el experto, tiene un alto grado de especialización orientada hacia un tema específico. El Ingeniero de Conocimientos. Es la persona que obtiene los conocimientos del experto y los representa en el sistema basado en conocimientos. El ingeniero plantea las preguntas al experto, estructura sus conocimientos y los implementa en el sistema. En la creación de la aplicación, el ingeniero y el experto trabajan muy unidos. El primer paso consiste en identificar los problemas que deben ser resueltos por el sistema, es decir, se precisa el ámbito de trabajo. Aquí se incluye ya al usuario, sus requerimientos técnicos y operacionales. Una vez delimitado el dominio, hay que extraer y representar los conocimientos del experto. Él debe comprobar constantemente si su conocimiento ha sido transmitido de la forma más conveniente. El ingeniero del conocimiento es responsable de una implementación correcta, pero no de la exactitud del conocimiento. La responsabilidad de esa precisión recae en el experto. La estricta separación entre usuarios, experto e ingeniero del conocimiento no deberá estar siempre presente. Pueden surgir situaciones en las que el experto es también el usuario. Este es el caso cuando existe un tema muy complejo cuyas relaciones e interacciones deben ser determinadas una y otra vez con un gran consumo de tiempo. De esta manera el experto puede ahorrarse trabajos repetitivos. La separación entre experto e ingeniero del conocimiento permanece, generalmente, aunque hay ocasiones en que una persona juega más de un rol. La función de adquisición de conocimientos es comúnmente, el aspecto de mayor dificultad en la construcción de Sistemas Expertos. Esto se debe principalmente al hecho de que el proceso requiere comunicación estrecha, entre el experto del área y el ingeniero de conocimientos y en consecuencia enfrenta los problemas asociados con las barreras técnicas.

Page 42: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

22 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

La Representación del Conocimiento. Es una combinación de estructuras y procedimientos interpretativos que se usan de forma adecuada por un programa, para emular un comportamiento inteligente. Involucra tanto al diseño de varias clases de estructuras para almacenar conocimiento en programas, como el desarrollo del procedimiento que permitan su manipulación inteligente para hacer inferencias. El conocimiento representa la piedra angular de la capacidad de un Sistema Experto, entre los tipos de conocimiento que se pueden representar están los mostrados en la Figura 3: Objetos: nieve blanca Sucesos: mañana lloverá Ejecución: probar teoremas Metaconocimiento : conocimiento del conocimiento

Fig. 3. Tipos de conocimiento que se quieren representar • Objetos. Representan clases y describen objetos: Por ejemplo “Los pájaros tienen alas, la nieve es blanca”. • Sucesos. Son las acciones y eventos del mundo, por ejemplo: “El sol se eclipsará mañana”. De manera que es

necesaria la representación de una secuencia de sucesos y sus relaciones causa-efecto. • Ejecución. Es el conocimiento de cómo hacer las cosas, envolviendo objetos y sucesos. Por ejemplo:

“componer sentencias o probar teoremas involucra un conocimiento de ejecución”. • Metaconocimiento. Es el conocimiento acerca de lo que nosotros conocemos. Por ejemplo: a menudo sabemos

la extensión y origen de nuestro conocimiento sobre un objeto particular, el grado de confianza de cierta información, o la importancia relativa de hechos específicos del mundo.

La consideración más importante en la representación del conocimiento es el uso que se va a dar al mismo. Su empleo está relacionado con: • Adquisición de más conocimientos: No sólo tiene que ver con la adquisición de conocimientos sobre algo

desconocido, sino también con la ampliación de lo que ya conoce, ya que, cuando se sabe de un tema, más fácilmente se aprenden cosas adicionales del mismo, lo que produce un proceso incremental.

• Recuperación de conocimiento: Para resolver un problema determinado, es necesario identificar el conocimiento útil para resolver el problema.

• Razonamiento: Para generar soluciones a partir de conceptos establecidos confiables es necesario producir nuevos elementos de conocimiento.

Por ejemplo , si tenemos un sistema cuyo conocimiento es: “Toda mujer liberada es una persona moderna”. “Toda persona moderna es una persona”. Podrá responder directamente a preguntas como: ¿Es una mujer liberada una persona moderna? SI ¿Es una persona moderna una persona? SI

22

Page 43: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 23

Pero si le preguntamos: ¿Es una mujer liberada una persona? El sistema tiene que razonar para responder a la pregunta. Existen diversos tipos de razonamiento como los siguientes: • Razonamiento Formal: Implica la manipulación sintáctica de estructuras de datos para deducir otras nuevas

siguiendo reglas de inferencias específicas de la lógica matemática. • Razonamiento Procedural: Ejecuta cálculos para responder cuestiones y resolver problemas. • Razonamiento por Analogía: Establece una analogía entre objetos para responder cuestiones sobre uno

basándose en el conocimiento que se tiene del otro. • Razonamiento por Generalización y Abstracción. Por ejemplo, si se sabe que: “Los colibríes tienen alas” “Las garzas tienen alas” “Las grullas tienen alas” Se puede llegar a inferir que todos los pájaros tienen alas por una generalización. Conocimiento Declarativo: El conocimiento se representa como una colección estática de hechos, acompañada por un conjunto de procedimientos generales para manipularlos. Los esquemas declarativos destacan el concepto de un enunciado simple que establece un elemento de verdad. Sus ventajas son: • Cada hecho sólo necesita almacenarse una vez con independencia del número de formas distintas en que

puede usarse. • Es fácil añadir nuevos hechos al sistema sin cambiar los conocidos. Esto proporcionará a los sistemas de este

tipo más flexibilidad y economía de recursos y medios, certidumbre en las deducciones y modificabilidad. • Transparencia: El conocimiento representado se almacena en forma explícita y sin ambigüedades. Es

relativamente fácil revisar los conocimientos debido a su transparencia. • Inferencia directa: La naturaleza estática y directa de la representación posibilita la inferencia explícita y

directa, en forma parecida a la inferencia matemática. • Todas estas estructuras comparten la noción de que entidades complejas pueden ser escritas como una

colección de atributos y sus valores asociados. Ejemplos de esta clase de representación son: el cálculo de predicados, las redes semánticas, marcos y guiones. Conocimiento procedural: El conocimiento se representa por procedimientos para el uso del mismo. Entre sus principales ventajas están: • La facilidad de representar el conocimiento de cómo hacer las cosas. • La capacidad de representar el conocimiento que no se ajusta bien en muchos esquemas declarativos simples,

tal como sucede con el conocimiento incierto o probabilístico. • Las técnicas de representación de este tipo de conocimiento son: scripts, esquemas, programación por

eventos.

3.2 METODOLOGÍA PARA LA CONSTRUCCIÓN DE SISTEMAS EXPERTOS La metodología para la creación de un Sistema Experto se representa como un modelo de “ciclo de vida”, donde se reconoce la naturaleza evolutiva del desarrollo del sistema. El ciclo de vida se divide a su vez en varios más pequeños que pretenden alcanzar metas muy concretas sujetas a revisión y corrección, como se muestra en la Figuras 4 y 5:

Page 44: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

24 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Selección del problema Construcción de Prototipo Formalización Construcción Implementación Evaluación Evolución a largo plazo

Re v i s i ó n Re v i s i ó n Re v i s i ó n

d e l d e e v o l u t i v a

p r o b l e ma f o r ma l i s mo s

Fig. 4. Modelo del ciclo de vida para el desarrollo de un Sistema Experto Selección del problema El proceso de selección del problema, se puede descomponer en los pasos siguientes:

Investigación Aplicabilidad del problema del dominio

24

Selección del Disponibilidad candidato del experto Identificación del problema Análisis del Alcance del candidato problema Selección final Análisis del candidato de costo/beneficios

Fig. 5. Proceso de identificación del problema

Page 45: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 25

Investigación del problema: Mediante la investigación de campo, análisis documental, observación, entrevistas y sesiones de “Lluvia de ideas” se procede a identificar los tipos de problema a resolver. Selección de candidatos: Reduce la lista de las aplicaciones que recibirán consideración seria. Para seleccionar aquellos candidatos, cada uno de los elementos en la lista original se evalúa con relación a un conjunto de criterios de filtración. Aplicabilidad del dominio: Este paso consiste en un análisis detallado de lo adecuado que resulta el dominio para la aplicación de un Sistema Experto. Los criterios para este análisis incluyen: • La tarea demanda razonamiento experto. • Los problemas del dominio se solucionan usando principalmente conocimiento simbólico. • La tarea primariamente debe ser cognoscitiva y no debe requerir manejo físico extenso.

Disponibilidad experta: Es imperativo que un experto apropiado esté disponible: • Debe existir un experto que esté posibilitado para resolver problemas del dominio del tema. • El experto debe ser capaz de describir el conocimiento del dominio y cómo se aplica. • El experto debe disfrutar de buena reputación entre los potenciales usuarios del sistema. • Múltiples expertos deben estar de acuerdo sobre las técnicas de solución de problemas.

Alcance del problema: Se deben dimensionar los alcances del proyecto sobre un tema específico.

Análisis de costo/beneficio: Es necesario hacer un análisis del costo de construir el sistema comparando con el benéfico esperado. Cada costo incluye la contratación del experto y del ingeniero de conocimientos, además del costo del equipo requerido y software. Construcción de prototipos Una vez que se haya seleccionado un problema, la próxima tarea es construir un prototipo que represente una pequeña parte del sistema final. Típicamente emprende 5 a 10 casos de prueba y requerirá desde unas semanas hasta unos pocos meses para completarlo, dependiendo del alcance y dificultad del problema. Los pasos en este proceso son: • Adquisición del conocimiento inicial • Modelo de consulta general • Selección del mecanismo de inferencia • Determinación del modelo de la representación de conocimientos • Selección de herramientas • Implementación del prototipo • Prueba del prototipo • Demostración del prototipo • Revisión del proyecto El proceso de construcción de un prototipo es análogo a la producción por un artista de un esquema a carboncillo de una pintura. Antes de que un artista comience a aplicar el óleo a un retrato, el artista comúnmente hace un esbozo del retrato completo con un lápiz. El prototipo, como el carboncillo puede ser visto como un agente activo en el proceso de diseño y planeación. Los propósitos específicos del prototipo son: • Ganar un entendimiento más profundo de la naturaleza y alcance del problema y de las técnicas asociadas en

la solución de problemas. • Demostrar la funcionalidad general del sistema. • Probar las decisiones de diseño iniciales

Page 46: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

26 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

26

La actividad de construcción del prototipo involucra normalmente al ingeniero de conocimientos y al experto en el dominio. Comienza con la adquisición inicial de conocimientos en la cual el ingeniero de conocimiento hace una investigación global intensiva del dominio mientras busca aprender tanto sea posible acerca de los aspectos críticos del tema. Después de haber adquirido el conocimiento fundamental disponible, el ingeniero de conocimientos se reúne con el experto para comenzar a discutir los estudios de casos específicos y clarificar el entendimiento del conocimientos obtenido. Una vez alcanzado un buen entendimiento del dominio, se inicia el proceso de desarrollar un enfoque del problema básico, el modelo de consulta general, el paradigma de inferencia y la representación del conocimiento. A continuación se selecciona una herramienta que operará con eficiencia el paradigma seleccionado y se escoge la representación del conocimiento adecuada para ejemplificar la implementación del prototipo. El prototipo luego es analizado para determinar la validez tanto del problema elegido como la de las técnicas de implementación. Finalmente se procede a realizar los ajustes necesarios. Formalización Los propósitos principales de la fase de formalización son: • Captar y registrar la comprensión clave que se desarrolló durante a fase de prototipo. • Forzar a que la planeación se haga, antes de comenzar la implementación completa. • Registrar las decisiones respecto a las estrategias de implementación. • Ofrecer visibilidad a todo tipo de pensamiento corriente para posibilitar que más gente contribuya al proyecto. • Ofrecer visibilidad de los puntos de verificación para posibilitar a la administración del proyecto y al usuario, a

involucrarse en el proyecto. • Posibilitar el desarrollo concurrente de pruebas, el despliegue y el soporte de medios a largo plazo. Las etapas que integran al proceso de formalización se muestran en la Figura 6. Definición detallada del problema: Se desarrolla una descripción funcional que defina claramente el problema que se va a resolver, los objetivos a lograr y lo más importante cualquiera de las restricciones que sirvan para limitar el alcance del proyecto y las experiencias del usuario. Planeación del producto: Describe las características físicas, operativas, aplicativas y comerciales del producto que se desea crear. Diseño: Produce el esquema conceptual detallado de los componentes del Sistema Experto, estructuras de conocimiento, mecanismos de búsqueda, inferencia y aprendizaje, así como los medios de comunicación con el usuario. Planeación del proyecto: Presenta un estimado de los recursos que se requerirán para completar el proyecto junto con un presupuesto que describe la forma como se asignarán los recursos. También incluye una declaración de la propuesta de programación del proyecto que muestra las tareas y su interdependencia. Cada una de estas tareas se asigna a un miembro del equipo del proyecto propuesto. Planeación de la prueba: Define los elementos requeridos para verificar la validez del sistema después de que éste se haya desarrollado. Esto incluye la identificación de los casos de prueba y los procedimientos para ejecutarlos. Los casos de prueba deben centrarse en la identificación de un conjunto de ejemplos nominables que fuercen al sistema a trabajar en condiciones límites. Planeación de la implementación: Identifica las actividades y recursos involucrados en la liberación y puesta en marcha del producto.

Page 47: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 27

Planeación del soporte: Determina los recursos, políticas y procedimientos para brindar el soporte técnico a usuarios y el mantenimiento del sistema.

SISTEMA DEFINICION DETALLADA EXPERTO DEL PROBLEMA * Descripción del problema * Declaración de objetivos * Restricciones Descripción funcional PLANEACION DEL PRODUCTO DISEÑO PLANEACION DE LA PRUEBA * Sistema de entrega * Características esenciales * Procedimientos de prueba * Presentación inicial del conocimiento * Identificación de casos de * Presentación beta * Arquitectura del sistema de prueba * Exposición limitada * Selección de herramientas * Requerimientos de “montaje” * Uso general * Descripción de la representa- * Evaluación del producto ción del conocimiento * Paradigma de inferencia * Modelo de consulta Plan de introducción Plan de evaluación Descripción Plan de del producto del producto del diseño prueba PLANEACION DEL PLANEACION DE LA PLANEACION DEL SOPORTE PROYECTO IMPLEMENTACION * Estimación de recursos * Determinación del sistema * Soporte a largo plazo * Programación del proyecto de desarrollo * Evaluación a largo plazo * Asignación de tareas * Adquisición de conocimientos * Control de versión * Presupuesto * Control de versiones * Pruebas regresivas * Definición del control * Análisis de subconjuntos * Mantenimiento de la pericia experta Plan de introducción Descripción de la Plan del del producto implementación soporte

Fig. 6. Proceso de formalización del Sistema Experto Construcción El ingeniero de conocimiento y el grupo de desarrolladores interpretan las especificacions funcionales y del diseño del producto establecidas en la “formalización” para crear los programas y editar las bases de conocimiento y de datos necesarias en el funcionamiento del Sistema Experto. De acuerdo con las políticas, estándares y técnicas de programación, se codifican y prueban cada uno de los módulos, depurando las fallas y errores que se detecten gracias a los casos de prueba considerados en el plan.

Page 48: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

28 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

28

Es responsabilidad del grupo de trabajo entregar un producto que cumpla eficazmente con las especificaciones del producto y que procure aprovechar eficientemente los recursos. Implementación Una vez creado el Sistema Experto y habiendo realizado las pruebas pertinentes, se procede a integrar el “cuerpo” completo de conocimiento y datos a las bases respectivas.También se realizan las pruebas “piloto” del sistema completo bajo condiciones “reales” de trabajo, procediendo a los ajustes finales. Se elabora la documentación técnica, operativa y promocional del producto y se hace su presentación ante los usuarios e interesados. Evaluación Generalmente el sistema se evalúa comparando las respuestas que brinda a problemas específicos con las ofrecidas por el experto humano. También es posible evaluar la estructura en vez de la función del sistema, esta clase de prueba se centra en la verificación de la completitud y consistencia del sistema por medio de la evaluación de la implementación interna. Finalmente las críticas del usuario son consideradas en cuanto a la facilidad de operación, claridad de la comunicación y credibilidad de sus respuestas. Evolución a largo plazo Como con cualquier sistema, un Sistema Experto evoluciona a lo largo de su vida motivado por las siguientes razones: • Incremento de la funcionalidad. • Correcciones. • Adiciones a la base de conocimientos para hacer una base más completa. • Expansión del dominio del sistema. • Revisiones requeridas por los expertos. El aspecto más significativo de la evolución a largo plazo resulta del efecto que tiene sobre un experto el desarrollo de un Sistema Experto. El beneficio indirecto es que un Sistema Experto obliga al experto a articular y estructurar conocimientos. En casi todos los casos la presencia de este gran cuerpo estructurado de conocimientos posibilitará al experto la revisión de su propio pensamiento para producir mejores soluciones. El proceso de evolución a largo plazo viene luego a ser un crecimiento combinado del experto y del sistema.

3.3 RECURSOS INVOLUCRADOS La construcción de un Sistema Experto requiere la concurrencia de diversos recursos, entre los que destacan: Humanos.- Existen cuatro roles: • Patrocinadores: Son aquellos interesados en la creación del sistema, que brindarán el respaldo financiero,

legal y de recursos necesario. • Experto: Son los especialistas en el dominio del problema a resolver con el sistema. • Ingenieros del Conocimiento: Lo constituyen los especialistas en Inteligencia Artificial responsables de la

construcción. • Usuarios: Son las personas beneficiadas con la operación del sistema. Computacionales.- Integrados por: • Ordenador: En función de la complejidad del sistema y volumen del conocimiento y datos a manipular puede

exigir el uso de “main frames” a computadores de proceso paralelo. • Software: Son las herramientas disponibles para crear, implementar y mantener el sistema; como los

lenguajes de programación de la Inteligencia Artificial y “shells”. Logísticos.- Está compuesto por: • El acervo de conocimiento: Son las fuentes de información a las que corresponde el dominio de los problemas

que resuelve el sistema.

Page 49: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 29

• Ingeniería del Conocimiento: La disciplina para la construcción del sistema. • Administración de Proyectos: Son las técnicas y procedimientos necesarios para la planeación, organización,

dirección y control de un proyecto de esta naturaleza. Materiales.- Se integran de: • Instalaciones. • Mobiliario. • Equipo de comunicación. • Papelería y accesorios • Financieros.- Brindan el sustento para la contratación de personal y la adquisición de los recursos necesarios.

34 TIPO DE SOFTWARE APROPIADO A LA CREACIÓN DE SISTEMAS EXPERTOS Existen varias clases de herramientas para crear Sistemas Expertos, con opciones de funcionalidad y requerimientos de equipo. En general, las herramientas para Sistemas Expertos se pueden pensar como cubriendo un espectro. Este espectro se mueve desde el nivel más inferior de los lenguajes de programación de propósito general hasta niveles más grandes de desarrollo, como se describe a continuación: Paradigmas Pueden desarrollarse Sistemas Expertos en diferentes lenguajes de programación, sin embargo hay algunos que son especialmente adecuados en función al paradigma de programación al que pertenecen. Entre los principales enfoques de programación están: • Procedimiento: Esta definición cubre la programación algorítmica. • Declarativos: Se especifica la naturaleza del problema y sus características, dejando la elección del

procedimiento de solución a los mecanismos de operación contenidos en la propia herramienta, que interpreta las especificaciones y genera la solución o genera un programa ad-hoc responsable de producirla.

• Lógica: Es la descripción de un problema con hechos y reglas. • Funcional: La solución de un problema se consigue con la aplicación de funciones. • Orientada al objeto: Las entidades del problema se definen como objetos y su funcionamiento se especifica

como métodos. Estos métodos producen resultados específicos. Lenguajes de programación Si bien se pudiera considerar el empleo de lenguajes convencionales como C, Pascal o Fortran en la creación de un Sistema Experto, es mucho más recomendable emplear aquellos pertenecientes al campo de la Inteligencia Artificial, como es el caso de: LISP Es el lenguaje más popular de la Inteligencia Artificial, orientado al proceso simbólico de conocimiento mediante el empleo de funciones y listas; a partir de una colección mínima el usuario construye sus propias funciones para crear aplicaciones complejas que usan la recursividad y el macroproceso. Prolog Presenta el conocimiento en forma de predicados que aparecen en forma de hechos, reglas y preguntas. Los hechos y reglas definen la base de conocimientos. Las preguntas son tratadas por el demostrador de teoremas que comprueba si el predicado a demostrar puede deducirse de la base de conocimientos. Este mecanismo de control usa la “unificación” y “backtrack”. INTERLISP-D El Interlisp-D es un sistema de programación LISP interactivo desarrollado para terminales de trabajo con capacidad de realización de gráficos, abarca funciones predefinidas y un entorno de programación, dispone de un intérprete y un compilador de gran ayuda en la programación de procesos paralelos y en la conexión de terminales de trabajo a una red de ordenadores. La interfase de usuario usa ventanas y menús.

Page 50: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

30 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

30

El sistema ofrece ayudas adicionales en el desarrollo y control de programas con los métodos auxiliares siguientes: • Editor orientado a la estructura: Con el editor pueden elaborarse estructuras LISP, es decir funciones y datos. • Break Package (Debugger): El usuario puede analizar el estado del sistema. • Inspector: Ofrece apoyo al análisis de estructuras complejas de datos y se modifican datos determinados en

estas estructuras. • DWIM: Corrige las erratas del usuario. • Pretty-printer: Visualiza funciones de forma claramente legibles. • Masterscope: Analiza el funcionamiento del programa. • Record/Datatype Package: Permite al usuario definir records y estructuras propias de datos. • Performance Analysis: Ejecuta análisis estadísticos de ejecuciones de programas. Shells Un shell es un Sistema Experto que contiene una base de conocimientos vacía, contiene el mecanismo de inferencia, el componente explicativo y a la interfase de usuario. Ya que el mecanismo de inferencia depende del problema, no existe ningún shell para todas las aplicaciones, sino que hay que buscar un shell apropiado para cada aplicación. También es posible que haya que desarrollar adicionalmente partes del mecanismo de inferencia. Según el tamaño de esta parte tendrá que pensar si la aplicación de un shell determinado sigue siendo apropiada. Cuando el ingeniero del conocimiento conoce bien el shell, es decir, sabe exactamente cómo son procesadas las reglas, entonces sólo tendrá que concentrarse en la creación de la base de conocimientos. Máquinas LISP - Prolog Como entornos de hardware para el desarrollo de sistemas expertos se utilizan a menudo máquinas “dedicadas”. Su microcódigo está orientado al lenguaje de programación al que representan. A mediados de 1970 se desarrolló en el laboratorio de inteligencia artificial del MIT una máquina especializada en la ejecución de Lisp. Varios sistemas comerciales han resultado de este esfuerzo, incluyendo aquellos obtenibles del LMI, Symbolics y Texas Instrument. Por el mismo tiempo, se desarrolló en forma independiente en el Centro de Investigaciones de la Xerox, en Palo Alto (PARC) , un sistema similar, e inclusive durante los 80’s en el IIMAS de la UNAM en México se construyó también una máquina similar. Los sistemas expertos más grandes y sofisticados tradicionalmente se han desarrollado en máquinas especializadas Lisp por la potencia y capacidad del equipo básico y además por los ambientes de software que corren en ellas. Algunas máquinas Lisp y características relevantes de ellas, se muestran en la Tabla 3:

Parámetro Symbolics 3600

LMI Lambda

TI Explorer

Xerox 1100

Tamaño de la palabra 36 bits 40 bits 32 bits 16 bits Memoria principal M-30MB 4-32MB 2-16MB 2-18MB Tiempo de acceso cache * 100 ns * 70 ns Tiempo de acceso memoria 200 ns 300 ns 300 ns 480 ns Espacio direccionable 1 GB 128 MB 128 MB 332 MB Máximo almacenamiento (disco) 3.5 GB 515 MB 528 MB 315 MB Comunicaciones Ethernet Ethernet Ethernet Ethernet Software Zetalisp Zetalisp Zetalisp Zetalisp Básico Common

lisp Common lisp

Common lisp

Interlisp

Principal Interlisp Prolog

Interlisp Prolog Unix

Interlisp Prolog

Interlisp Smalltalk Prolog

Tabla 3. Características de las Máquinas LISP.

Todas las máquinas populares Lisp, tienen en común: • Alta velocidad para el procesamiento de Lisp.

Page 51: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 31

• Alta resolución, despliegue de pantalla por mapa binario. • Enlace de comunicaciones. • Soporte para ambientes de desarrollo de sistemas expertos. Las máquinas PROLOG se están desarrollando en el Japón y en Inglaterra sobre todo en el marco del programa de la “Quinta Generación”. En la actualidad, todavía no están disponibles en el mercado comercial. Herramientas híbridas Una herramienta híbrida brinda un ambiente para resolver problemas complejos cuando diversas partes del problema requieren diferentes clases de soporte. Son usadas típicamente en estaciones de trabajo de inteligencia artificial. Hacen uso de gráficas de alta resolución de mapa binario, ventanería y ratón para proporcionar una interfaz con el usuario amable. Esta interfaz ayuda al desarrollador del sistema a construir el sistema precisa y rápidamente. Algunos ejemplos y características de esta clase de herramientas se ilustran en la Tabla 4:

S1 KEE ART LOOPS SRL + Inferencia Encadenamiento hacia adelante * * * * * Encadenamiento hacia atrás * * * * * Herencia * * * * * Representación Reglas * * * * * Marcos * * * * * Lógica No * * No * Valores activos No * No * * Incertidumbre incorporada Factores de certidumbre * No * No No Rastreo con dependencia No No * No No Interfaz con el usuario Editor gráfico No * * * * Menús * * * * * Ventanas múltiples * * * * * Seguimiento * * * * * Explicaciones incorporadas

* * * No *

Tabla 4. Características de algunas Herramientas Híbridas.

Herramientas para adquisición de conocimientos Debido a que la adquisición de conocimientos es una tarea difícil que consume tiempo, resulta útil auxiliar al ingeniero de conocimientos una herramienta que le permita junto con el experto construir el sistema conjuntamente. Tal herramienta posibilita que un experto que no esté familiarizado con las complejidades del diseño de un Sistema Experto construya un sistema casi en la misma forma en que la introducción del Fortran permitió a la comunidad científica escribir programas sin entender a los equipos de cómputo o lenguaje de máquina. Un ejemplo de estas herramientas se ilustra en la Tabla 5:

Page 52: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

32 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

32

Sistema Clase de

dominio Método Lenguaje

Objetivo Referencia

ETS Clasificación Simulación psicológica

OPS5 Boose, 184

More Clasificación Revisión de la base

de conocimientos existentes

OPS5 Kahn, 1985

Roget Clasificación Revisión de los

modelos de ejemplosEmycin Bennett, 1985

Salt Clasificación Identificación de

conocimientos de papeles

OPS5 Marcus, 1985

Salt Construcción Identificación de

conocimientos de papales

OPS5 Marcus,1985

Tabla 5. Características de algunas Herramientas de Adquisición de Conocimiento.

Finalmente, a manera de ilustración se presenta una relación de herramientas para construir Sistemas Expertos con características, ámbito de aplicación e institución involucrada, conforme a la muestra presentada en la serie de Tablas 6.

Nombre de la Herramienta

Representación del conocimiento

Aplicación especial

Empresa/ Institución

Observaciones

ACTOR Objetos son “actors” que

pueden comunicarse con otros “actors”

Investigación de la manipulación de datos con “paso de mensajes”

MIT Lenguaje de programación de inteligencia artificial

AGE Frameworks:

ej. backward chaining, blackboard

Desarrollo de marcos para mecanismos de control

SU Entorno de desarrollo de programación

AIMDS Lenguaje de

representación del conocimiento

AL/X Diagnóstico de

fallos al evaluar sistemas expertos

Universidad de Edinburgo

Shell

ANALYSEN PLUS

Análisis de proyectos, estimación de costes y tiempo (planificación)

Business Información Techniques

Sistema de desarrollo de programación

Tabla 6.a Cuadro de Herramientas de Sistemas Expertos.

Page 53: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 33

Nombre de la Herramienta

Representación del conocimiento

Aplicación especial

Empresa/ Institución

Observaciones

KS-300 TEKNOWLEDGE Shell LM Frames Programación de

robots industriales

Lenguaje de programación de inteligencia artificial

LOGLIPS Listas de objetos Syracuse

University Lenguaje de programación de inteligencia artificial. Dialecto LISP con características del PROLOG

LOOPS Xerox PARC Entorno de desarrollo de

programas LISP (COMMON LISP, ELISP, FRNAZLISP, INTERLISP, TLC-LISP,UCI-LISP VLIPS, ZETALISP

MIT Lenguaje de programación de inteligencia artificial

MBASE Sistemas

expertos para mecánica, estadística, problemas de medio ambiente

Universidad de Edinburgo

Shell implementado en PROLOG

MECS-AI Diagnóstico

médico Toshiba R&D

Center/Univ. De Tokyo Hosp.

Entorno de desarrollo de programas

MILORD Reglas y redes

semánticas Diagnósticos médicos

CSIC-Blanes Barcelona

Shell

OMEGA Delphia Sp. A Sistema de

representación del saber para Symbolics, T.I y LMI, máquinas LISP VAX

OPS (OPS4, OPS5, OPS7 OPS-83)

Sistemas de reglas de producción

Sistemas de reglas de producción

CMU Lenguaje de programación de inteligencia artificial en Franz-LISP

OWL MIT Lenguaje de

programación de inteligencia artificial

PLANNER MIT Lenguaje de

programación de inteligencia artificial

Tabla 6.b Cuadro de Herramientas de Sistemas Expertos.

Page 54: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

34 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

34

Nombre de la Herramienta

Representación del conocimiento

Aplicación especial

Empresa/ Institución

Observaciones

POP-2 Universidad de Edimburgo

Lenguaje de programación de inteligencia artificial

POP-11 Universidad de

Sussex Lenguaje de programación de inteligencia artificial

POPLOG Universidad de

Sussex Entorno de desarrollo de programas Entorno: VAX

PROLOG (C-PROLOG, M-PROLOG)

Universidad de Marsella

Lenguaje de programación de inteligencia artificial

PS I Síntesis de

programas SU Entorno de desarrollo de

programas RLL Slots y

mecanismos de herencia

SU Es un Sistema Experto para el desarrollo de sistemas expertos

ROSIE Activación de reglas

disparadas por datos o acontecimientos, jerarquías de conceptos, mecanismos de herencia

Modelado de situaciones complejas

RAND Corp. Santa Monica

Shell en Interlisp

ROSS Clasificación jerárquica de

clases de objetos Simulación de batallas aéreas

RAND Corp. Lenguaje de inteligencia artificial orientado al objeto

SAGE SPL Research

Centre, England Shell, reglas de producción escritas en PASCAL, backward chaining Entorno: VAX/VMS

SAIL Reconocimiento de

patrones SU Lenguaje de

programación de inteligencia artificial

SCHEME MIT Lenguaje de

programación de inteligencia artificial

S.1 Teknowledge Shell

SMALL TALK Objetos que envían y

reciben información (passing messages)

Desarrollos dinámicos y no secuenciales

XEROX PARC Lenguaje de programación de inteligencia artificial

Tabla 6.c Cuadro de Herramientas de Sistemas Expertos.

Page 55: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Construcción de Sistemas 35

Nombre de la Herramienta

Representación del conocimiento

Aplicación especial

Empresa/ Institución

Observaciones

TWAICE Reglas de producción, relación jerárquica entre objetos por árbol de objetos, trío objeto-atributo-valor para la representación de hechos

Campos de conocimiento asesor o diagnóstico

Nixddorf Paderborn Shell en PROLOG Entorno: Nixdorf8832 (Unix) 8890 (VM)

UNITS Reglas, frames SU Lenguaje de

representación del conocimiento

Tabla 6.d Cuadro de Herramientas de Sistemas Expertos.

3.5 RECOMENDACIONES Tradicionalmente se considera la creación de un Sistema Experto como un proyecto de investigación o académico, sin embargo cada vez aparecen aplicaciones orientadas al ambiente comercial, sobre todo aquel donde existe gran inversión informática y se reconoce el límite de los sistemas en cuanto a la evaluación de grandes cantidades de información y la toma de decisiones. Por ejemplo, en el ámbito financiero existe el buró de crédito que se alimenta de los créditos y cobros que las instituciones otorgan a los clientes, estas aplicaciones evalúan cada compromiso del usuario, su comportamiento en el pago de sus obligaciones en comparación a los términos de plazo e interés. Con base al registro de cada operación se determina el nivel de “cumplimiento” del interesado y sirve como antecedente para otorgar un nuevo préstamo. Ante el empleo de recursos computacionales más poderosos, el acceso a diversos bancos de información en cualquier parte del mundo, se hace evidente la falta de asimilación de tanto conocimiento que está disponible a las empresas y personas usuarias. Es por ello, que se requieren sistemas sofisticados capaces de aprovechar ese cúmulo de información, haciendo la interpretación y uso adecuados, conforme al ámbito de aplicación al cual están orientados. Se considera que los Sistemas Expertos representan una alternativa para atender esta clase de demandas.

Page 56: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

36 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

36

Page 57: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 4. APLICACIÓN DE SHELL’S

Page 58: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

38

Page 59: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

4. APLICACIÓN DE SHELL’S

4.1 DESCRIPCIÓN DEL SHELL M1 A continuación se presenta un perfil del shell “M1”: • Naturaleza: SHELL. • Orientación: Sistemas Expertos. • Objetivo: Ofrecer un medio para implementar Sistemas Expertos. • Ambiente: PC’ IBM y compatible. • Usuario :Ingeniero del Conocimiento. • Estructura.- Se compone de: • Interfase hombre-máquina en Lenguaje Natural. • Administrador de la Base de Conocimiento representado por reglas. • Motor de inferencias capaz de calcular incertidumbre.

Representación de Conocimiento.- Ofrece dos opciones: ∗ Absoluto, mediante reglas. ∗ Impreciso, a través de factores de certidumbre con rango [-100,100].

Búsqueda: ∗ Dirección inicial: Hacía atrás. ∗ Desarrollo : Profundidad. ∗ Orientación: ciega.

Inferencia: ∗ Dirección : Hacía atrás con oposición hacía adelante. ∗ Fundamento : Resolución con empleo de criterios de certidumbre.

Veracidad: A partir de 20 como factor de certidumbre.

4.2 COMPONENTES DE M1 Los principales elementos de M1 son:

Archivos de soporte: ∗ Ejecutable: M1. ∗ Configuración: m1cfg. m1.cfg. ∗ Ejemplos: Bases de Conocimiento. Utilerias para interfaces.

Tipos de archivos: ∗ Formato: ASCII. Fast-Load. ∗ Operación: Base de Conocimiento. Caché.

Ambiente: ∗ Sistema Operativo: M.1> ∗ Top level: Ambiente de Desarrollo. Ambiente de Consulta.

Integrantes: ∗ Intérprete M.1. ∗ Base de Conocimiento. ∗ Caché.

Page 60: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

40 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

4.3 OPERACIÓN DE M1 4.3.1 DESCRIPCIÓN GENERAL Operación del Shell ∗ Carga − Directa:

M1 base − Por medio del intérprete:

M1 > load base

load a load z

Inicio de la consulta ∗ go: común para expresiones en "goal", "initialdata" ∗ find expression: debug ∗ restart: reanudar

Respuestas del usuario ∗ Contestación normal: completa parcial, inicial, # ∗ Pedir lista de respuestas ∗ Pedir ayuda ∗ "Desconocido": "unknown" ∗ Pedir la justificación: "Why" ∗ Asociación de factores de certidumbre ∗ Por un comando: list ∗ Interrupción: abort, <ctrl-break> ∗ Terminación: exit, quit

Ambiente ∗ Top level-intérprete: M.1> comando ∗ Sesión de consulta

Generación de la respuesta ∗ built-in exp (funciones) ∗ Aritmética exp ∗ Conclusión almacenada en el "Caché" ∗ Consulta en la Base de Conocimiento ∗ Pregunta al usuario ∗ Sin éxito "was sought, but not value was concluded"

Teminación de la búsqueda ∗ Normal, (por alguna de las opciones anteriores) ∗ Single-value intoff ∗ Metafact : presuposition 4.3.2 EJECUCIÓN DE PROTOTIPOS Sesión del Sistema Experto Wine Advisor

Carga ∗ c:> M1 wine ↵ corrida del shell y carga de la Base de Conocimiento "wine" ∗ F9 pasar al ambiente de "desarrollo" ∗ M.1 > go ↵ iniciar la ejecución

Sesión simple ∗ >> question ?

40

Page 61: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Descripción de Shell’s 41

∗ answer complete palabra completa ∗ y yes ∗ si equivocación, emisión de respuestas válidas y corrección ∗ parcial answer las primeras letras de la palabra ∗ why pedir aclaración ∗ list conclussion expression lista todas las reglas de la BC que concluyen esa expresión ∗ word1 and word2 respuesta ∗ wine = .. hacer comentarios a las conclusiones ofrecidas

. ∗ show mostrar todas las conclusiones

Segunda sesión

∗ M.1> go ∗ >> question ? ∗ unknown respuesta desconocida ∗ word cf CF con CF asociado ∗ word1 cf CF and word2 cf CF con 2 palabras conjunta y sus CF asociada

Modificando la Base de Conocimiento

∗ M.1> go corrida donde se espera beber "Retsina" por comer "Comida ∗ griega" ∗ >> meat ∗ >> no ∗ >> yes ∗ >> unknown la ensalada contiene "olive oil" ∗ >> strong ∗ >>medium

∗ M.1> list wine=retsina Veamos si hay conclusiones que recomienden al vino "Retsina" ∗ M.1> add if feature=greek \ entonces agregaremos una ∗ then wine=retsina. Responde con la etiqueta de la regla ∗ M.1> go volver a ejecutar el "SE", ofrecer las mismas respuestas, ∗ para concluir "Retsina" ∗ wine = ¡No lo proporcionó! ∗ . ∗ . ∗ . ∗ M.1> list kb-28 Hay que rastrear el error, verificar la conclusión de retsina ∗ M.1> show feature ¿ Hubo conclusiones para feature?, es decir, ¿se cumplió? ∗ M.1> list feature veamos la representación de feature en la BC La regla no concluye feature = greek A corregir : ∗ M.1> add if has-sauce=yes and \ Primero agregar otra regla ∗ sauce = olive-oil and \ la etiqueta en el 29 ∗ has-lamb = yes \ ∗ then feature = greek. ∗ M.1> list sauce Revisemos la definición de sauce ∗ M.1> add kb-22 Agregar : olive-oil ∗ M.1> add kb-23 ∗ M.1> list wine = retsina Verificar las modificaciones ∗ M.1> list feature

Page 62: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

42 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

42

∗ M.1> list sauce ∗ M.1>go Vuelva a ejecutar el "SE" ∗ What is the value of has-lamb ? ¿Responde Yes? ∗ wine = retsina … ¡Por fin!

.

.

.

4.4 REPRESENTACIÓN DE CONOCIMIENTO M1 representa conocimiento por medio de las siguientes estructuras:

Hechos : label : EXPRESION = VALUE of INTEGER

goal = computadora_adhoc. Computadora_presentacion = [escritorio, torre, portatil, bolsillo]. If computadora_presentacion = Opciones then computadora_adhoc = Opciones.

Metahechos : goal = EXPRESION

goal = computadora_adhoc. If prefiere_calidad = si and prefiere_marca = si then computadora_adhoc = ‘IBM’. If prefiere_marca = si or prefiere_economia = si then computadora_adhoc = ‘ACER’.

Reglas : if PREMISE then CONCLUSION

goal = computadora_adhoc. If prefiere_bajo_precio = si then computadora_adhoc = ‘LANIX’ cf 90. If prefiere_marca_nacional = si then computadora_adhoc = ‘LANIX’ cf 80. If prefiere_marca_extranjera = si then computadora_adhoc = ‘LANIX’ cf -90. If prefiere_pagar_mucho = si then computadora_adhoc = ‘LANIX’ cf -80.

Page 63: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Descripción de Shell’s 43

∗ Premisa : 1 ó varias proposiciones ligadas con AND, OR, NOT

goal = computadora_adhoc. If prefiere_bajo_precio = si then computadora_adhoc = ‘ACER’ cf 90. If prefiere_marca_nacional = si cf 70 then computadora_adhoc = ‘LANIX’ cf 80. If prefiere_marca_extranjera = si cf N and N>60 then computadora_adhoc = ‘H.P.’ cf 85.

∗ Conclusión : 1 ó varias proposiciones conjuntas "AND" y para la misma EXPRESSION

goal = computadora_adhoc. If prefiere_calidad = si and prefiere_marca = si then computadora_adhoc = ‘IBM’. If prefiere_marca = si or prefiere_economía = si then computadora_adhoc = ‘ACER’. If not prefiere_calidad = si then computadora_adhoc = ‘PRINTAFORM’ and computadora_adhoc = ‘ACER’ cf 70.

∗ Expresiones : Análogas a las variables convencionales ∗ Variables: Reservan espacio para sustituirse por términos

4.5 INFERENCIA Y BÚSQUEDA La búsqueda e inferencia de soluciones en M1 se compone de varios elementos, cuyas características son:

Manejo de las premisas

En conjunciones

Todas deben ser válidas y con CF de cuando menos 20.

En disyunciones

∗ Se genera una respuesta con CF asociado por cada premisa válida y con CF de 20 o más. ∗ Al final se conjugan todos los CF de las respuestas, para obtener el CF definitivo, − if ( a = 1 or b = 2 ) and c = 5 then d = 4 CF 50 − 1ra. respuesta d = 4 , CF 50 ya que a = 1 and c = 5 − 2da. d = 4, CF 50 ya que a = 2 and c = 5 entonces: − conclusión d = 4, CF 75 ya que CF = CF1 + CF2 %(100-CF1) = 50+50%(100-50)

= 50+505%(50) = 50+25 = 75

Page 64: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

44 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

44

goal = computadora_adhoc. If prefiere_calidad = si and prefiere_marca = si then computadora_adhoc = ‘IBM’. If prefiere_marca = si or prefiere_economia = si then computadora_adhoc = ‘ACER’.

Cálculo de CF

Cuando las conclusiones tienen “CF” explícitamente

− if a = 1 then z = 9 CF 50 − if b = 2 then z = 8 CF 60 − if c = -3 then z = 7 CF -40 − if d = -4 then z = 6 CF -50 ∗ Cuando son positivos : − CF = CF1 + CF2 %(100-CF1) = 50+60%(100-50) = 50+60%(50) = 50+30 = 80 ∗ Cuando son negativos : CF = - (|CF1| + |CF2| %(100-|CF1|)) = - (|-40| + |-50| %(100-|-40|)) = - (40+50%(100-40)) = - (40+50%(60)) = - (40+30) = -70 ∗ Cuando son mixtos : Menor = min CF = - (|CF1| , |CF2|) = min (|50| , |-40|) = min (50,40) = 40 CF = (CF1 + CF2) * 100 / (100-Menor) = (50 + (-40)) * 100 / (100-40) =10*100/60 = 1000/60 = 16.6

goal = computadora_adhoc. If prefiere_bajo_precio = si then computadora_adhoc = ‘ACER’ cf 90. If prefiere_marca_nacional = si then computadora_adhoc = ‘ACER’ cf 80. If prefiere_marca_extranjera = si then computadora_adhoc = ‘ACER’ cf -90. If prefiere_pagar_mucho = si then computadora_adhoc = ‘ACER’ cf -80.

En respuestas para las premisas

CF = (CFconclusión * Cfpremisa)/100 − if a = 1 then z = 9 CF 80 − Si al contestar afirmativamente a = 1 se asocia un CF = 50

entonces el CF de la conclusión será = (80*50)/100 = 4000/100 = 40

Page 65: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Descripción de Shell’s 45

goal = computadora_adhoc. If prefiere_bajo_precio = si then computadora_adhoc = ‘ACER’ cf 90. If prefiere_marca_nacional = si cf 70 then computadora_adhoc = ‘LANIX’ cf 80. If prefiere_marca_extranjera = si cf N and N>60 then computadora_adhoc = ‘H.P.’ cf 85.

Definidos explícitamente en las premisas

∗ exacto : if a = alto CF 30 then b = apaga CF = 80 1ra. respuesta b = apaga, CF = 80, ya que a = alto con CF = 30 2da respuesta falso , ya que a = alto con CF = 50 3ra. respuesta falso , ya que a = alto con CF = 29 ∗ con variables : if a = alto CF N and N ≥ 30 then b = apaga CF = 80 1ra. respuesta b = apaga, CF = 80, ya que a = alto con CF = 30 2da respuesta b = apaga, CF = 80, ya que a = alto con CF = 50 3ra. respuesta falso , ya que a = alto con CF = 29

En premisas conjuntas

CF = min (|CFP1 , CFP2 ,…, CFPP )

En premisas disyuntas

CF = CF1 + CF2 % (100 - CF1)

En negaciones

No tienen valores intermedios. Son -100 falso ó +100 verdad

− if a = 5 and b = 8 then z = 9

− if c = 8 and d = 9 then x = 10

− if not e = 10 then y = 11

− Si se contesta a = 5 con CF = 90 b = 8 con CF = 70, c = 8 con CF = 60, d = 9 con CF = 40, e = 10 con CF = 90,

− la conclusión tendrá un valor para

z = 9, con CF = min(50,70) = 50 x = 10, con CF = 60+40%(100-60) = 76 y = 11, con CF = -100

Page 66: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

46 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

46

goal = computadora_adhoc. If prefiere_calidad = si and prefiere_marca = si then computadora_adhoc = ‘IBM’. If prefiere_marca = si or prefiere_economía = si then computadora_adhoc = ‘ACER’. If not prefiere_calidad = si then computadora_adhoc = ‘Compaq’ cf 95.

Empleo de las variables

En reglas

kb-1 if b-c = y kb-2 b-c= hola → r= hola then r= y

goal = computadora_adhoc. Computadora-barata = ‘PRINTAFORM’. computadora-POPULAR = ‘ACER’ CF 80. If computadora-demandada = Marca then computadora_adhoc = Marca. Question(computadora.V) = (‘proporciona una marca ‘,V,’ de computador’).

En hechos

kb-30 costo-r = 30 → costo-lager = 50 kb-31 costo-cerveza = 50 →costo-victoria = 50

En metafacts

question(quiere-B)= ('Quiere tomar',B, '?') y la expresión es quiere-refresco → ¿ Quiere tomar refresco ?

Restricciones para la instalación

∗ No puede buscar el valor de una expresión que contiene variables no instanciadas k3 : if x-nombre = juan then action = reprobado

∗ No puede almacenar hechos en el "Caché" que no estén instanciadas if ana = alumna then calificación = W

goal = computadora_adhoc. Computadora_presentacion = [escritorio, torre, portatil] cf 70. If computadora_presentacion = Opcion then computadora_adhoc = Opcion. If computadora_presentacion = Opcion then computadora_adhoc = Opcion.

Page 67: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Descripción de Shell’s 47

En control de la búsqueda

if falla = F and examina(F) is sought then prueba

goal = computadora_procesador. Computadora(PP) = ‘Pentium_pro’. Computadora(PII) = ‘Pentium_II’. If tipo_computadora 0 Tipo and computadora(Tipo) is sought and do(show computadora(_)) then computadora_procesador.

Alterando el proceso de inferencia

goal = computadora_adhoc. If prefiere_calidad = si and prefiere_marca = si then computadora_adhoc = ‘IBM’. If prefiere_marca = si or prefiere_economía = si then computadora_adhoc = ‘ACER’. Initialdata = [prefiere_economía, prefiere_marca].

Valores iniciales

∗ initialdata =[exp1, exp2, . . ., expn]

Presuposición

∗ presupposition(expression) = proposition ∗ presupposition(bending on nodo) = nodo = a

si es verdad la proposition con CF >=20 , hace la búsqueda, si no la interrumpe

goal = compuptadora_adhoc. If prefiere_calidad 0 si then computadora_adhoc = ‘IBM’. If prefiere_economía = si Then computadora_adhoc = ‘ACER’. Presupposition(prefiere_economia) = (prefiere_marca = si). Presupposition(prefiere_calidad) = (prefiere_marca = si).

Cuando se encuentra un valor para la expresión

∗ whencached(expression) [ = VALUE cf CF]) = LIST ∗ whenfound(exp …) = LIST

Evalúan la lista, después de almacenar un valor en el caché y de encontrar uno para cierta expresión, respectivamente.

Page 68: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

48 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

goal = computadora_procesador. Computadora(PP) = ‘Pentium_pro’. Computadora(PII) = ‘Pentium_II’. If tipo_computadora = Tipo and computadora(Tipo) is sought then computadora_procesador. Whencached(computadora(Tipo) = Procesador) = display(‘tipo de computador: ’,Tipo, ‘ Intel: ‘, Procesador). Whenfound(computadora(Tipo) = Procesador) = display(‘El Intel: ’,Procesador, ‘ es el procesador de la: ‘, Tipo).

∗ nocache

Borra el valor encontrado para la expresión, de la memoria caché.

4.6 MANEJO DE COMANDOS M1 dispone de diversos comandos para manipular las expresiones como son los que se presentan a continuación: Base de Conocimientos

goal = computadora_procesador. Computadora(PP) = ‘Pentium_pro’. Computadora(PII) = ‘Pentium_II’. If tipo_computadora 0 Tipo and computadora(Tipo) is sought and do(show computadora(_)) then computadora_procesador.

Carga de la base de conocimientos

load FILE limpia y carga load {a z } FILE carga al inicio o al final

Modificación de la Base de Conocimientos

∗ Agregar o reemplazar FACT add {a z } KBCENTRY KBCENTRY → {LABEL} METAFACT

RULE {∗ Remover expresiones

remove LABEL resetkb

∗ Editar expresiones edit edit LABEL

Salvar

∗ En fast-load fsave FILE la BC original

∗ En ASCII save FILE la BC original

∗ Los cambios savechanges FILE los cambios en la BC

48

Page 69: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Descripción de Shell’s 49

Listar

∗ list expresion expresion = value user EXPRESSION ∗ show

EXPRESSION {{

4.7 MANIPULACIÓN DE LA BASE DE CONOCIMIENTOS Y EL CACHÉ Cache

Sintaxis

EXPRESSION = VALUE cf CF because REASON

Inserción de ENTRIES

∗ reglas: conclusión ∗ hechos: provenientes de la base de conocimientos ∗ respuestas: del usuario

Salvar

∗ texto: savecache FILE ∗ fast-load: fsavecache FILE

Carga de FILE Cache

loadcache FILE

Borrado

b EXPRESSION

reset EXPRESSION = VALUE EXPRESSION = VALUE cf CF {

Modificación

fact set fact because REASON EXPRESSION is unknown {

Page 70: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

50 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

4.8 INTERACCIÓN CON EL USUARIO Creación de un archivo para el usuario final

make FILE

Términos predefinidos

goal = computadora_adhoc. Multivalued(computadora_adhoc). Question(marca_favorita) = ‘nombre de tu marca favorita de computadora’. Legalvals(marca_favorita) = [ibm,hp,acer, compaq]. Automaticmenu(marca_favorita). Enumeratedanswers(marca_favorita). Explanation(marca_favorita) = ‘me interesa tomar en cuenta tus preferencias’. Initialdata = marca_favorita. If quieres_una_computadora = si and marca_favorita = Nombre then computadora_adhoc = Nombre.

Metafacts

Búsqueda goal = {EXPRESSION [exp1,…, exPP]}

Definición de una EXPRESSION

∗ # valores multivalued {EXPRESSION LIST}

∗ Pregunta question (EXPRESSION) = text

∗ Menú automaticmenu all { EXPRESSION

enumeratedanswers {EXPRESSION}

∗ Valores legales metafacts integer legalvals(EXPRESSION) LIST of TERMS number real (LOW, HIGH)

∗ Explicación explanation {EXPRESSION LABEL} = text

{∗ Valor inicial

initialdata {EXPRESSION LIST}

Boleanas

∗ and ∗ or ∗ not

50

Page 71: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Descripción de Shell’s 51

goal = factorial. Initialdata = factor. Factoraje(1) = 1. If N>1 and N-1 = M and factoraje(M) = X and N*X = Resultado then factoraje(N) = Resultado. If factor = Numero and factoraje(Numero) = Resultado then factorial = Resultado.

Aritméticas

∗ Operadores : + - * / ∗ Funciones : fix(N), float(N), sqrt(N),truncate(N) ∗ Comparación : < > =< >= ∗ Asignación :

if N> 1 and N-1= M then display (M)

∗ Recursión : kb: 2 fac(1)=1 kb: 3 if N>1 and N-1 = M and fac(M) = X and N*X = Y then fac(N) = Y

Metapreposiciones

∗ Búsqueda en el caché cached(EXPRESSION)

∗ Desplegado display(TEXT)

goal = computadora_procesador. Computadora(PP) = ‘Pentium_pro’. Computadora(PII) = ‘Pentium_II’.. If tipo_computadora = Tipo and computadora(Tipo) is sought then computadora_procesador. Whencached(computadora(Tipo) = Procesador) = display(‘tipo de computador: ’,Tipo, ‘ Intel: ‘, Procesador). Whenfound(computadora(Tipo) = Procesador) = display(‘El Intel: ’,Procesador, ‘ es el procesador de la: ‘, Tipo).

∗ Ejecución de comandos como premisas

do(command EXPRESSION)

goal = computadora_procesador. Computadora(PP) = ‘Pentium_pro’. Computadora(PII) = ‘Pentium_II’. If tipo_computadora 0 Tipo and computadora(Tipo) is sought and do(show computadora(_)) then computadora_procesador.

Page 72: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

52 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

∗ Revisar el status

definite any value unique 1 value EXPRESSION is unknown no value ó CF < 20 sought busca value

∗ Listas length(LIST) = LENGTH listof(EXPRESSION) = LIST

{∗ Strings

substring(POSITION,LENGTH,STRING)= SUBSTRING

4.9 RASTREO Y MONITOREO Trace y logging

Rastreo

∗ Activa: Trace on Trace el Trace EXPRESSION

∗ Desactiva: Untrace

Direccionamiento

∗ Archivo: log FILE ∗ Impresora: log printer ∗ Desactiva: log off

52

Page 73: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 5. MECANISMO DE APRENDIZAJE

Page 74: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

54

Page 75: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

5. MECANISMO DE APRENDIZAJE

5.1 DESCRIPCIÓN DE UN MECANISMO DE APRENDIZAJE Máquinas inteligentes Una de las críticas más severas que suelen hacérsele a la Inteligencia Artificial es que “las máquinas no podrán llamarse inteligentes hasta que sean capaces de hacer cosas nuevas y adaptarse a nuevas situaciones, en vez de hacer las tareas simplemente como se les ha dicho que las hiciesen”. Ada Augusta, uno de los primeros filósofos sobre computación escribió que: “La máquina Analítica no tiene pretensiones de originar nada. Puede hacer cualquier cosa que nosotros sepamos como ordenarle realizar”. Esta observación ha sido interpretada por varios críticos como que “las computadoras no pueden aprender”. De hecho nada nos impide decir a una computadora cómo interpretar sus entradas de tal manera que su rendimiento mejore gradualmente. En vez de polemizar si es posible que las computadoras “aprendan”, es mucho más relevante describir que significa “aprendizaje” y que mecanismos deberían usarse para permitirnos realizar dicha actividad. Intentemos responder en primer lugar a la pregunta “¿ Qué es el aprendizaje?”. Aprendizaje El aprendizaje es el proceso por el cual las personas son capaces de aumentar su conocimiento acerca de las cosas, gracias a su experiencia o práctica producen un cambio relativo en su conducta. El aprendizaje denota la obtención de conocimiento, habilidades y entendimiento desde instrucciones, experiencia o reflexión. También se refiere al cambio de conducta de un sujeto frente a una situación dada, ocasionada por sus experiencias repetidas ante dicha circunstancia, al margen de que el cambio de conducta pueda explicarse con base a sus tendencias de respuestas innatas, maduración o estados temporales anímicos y físicos del sujeto (por ejemplo fatiga, drogas, etc.). Etapas de investigación

La década de 1960 fue la primera y más optimista, se centra en el estudio de sistemas capaces de cambiar su propia organización, es decir, sistemas que ante una serie de estímulos y teniendo suficientes grados de libertad serían capaces de modificarse a sí mismos mejorando su comportamiento. El optimismo inicial en esta etapa fue rápidamente opacado al descubrirse limitaciones teóricas. Los que siguen estudiando este tipo de sistemas, llamados sistemas adaptativos, los aplican en percepción visual y reconocimiento de formas.

La segunda etapa (durante 1970) viene marcada por el hecho de aceptar que el aprendizaje es un proceso muy complejo y hasta cierto punto desconocido. Esto condujo a los investigadores, de un lado, a centrarse en el aprendizaje de conceptos muy simples y por el otro, a incorporar en los sistemas de aprendizaje gran cantidad de conocimiento de tipo contextual que les permite descubrir conceptos de más alto nivel.

La etapa iniciada en 1980 señala las líneas de investigación actuales, partiendo de la necesidad de adquirir nuevo conocimiento por medio de los Sistemas Expertos y el empleo de redes neuronales. Perspectivas

Herbert Simon define el aprendizaje como “cualquier proceso por el cual un sistema es capaz de evaluar su propio aprendizaje”. Se asume que el sistema tiene una tarea que desarrollar y que puede evaluar su rendimiento aplicando métodos definidos con objeto de hacer su trabajo más preciso o más rápido. Una línea de investigación se orienta a desarrollar sistemas que sean capaces de mejorar las estadísticas de su rendimiento.

Page 76: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

56 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

La adquisición de conocimiento explícito representa una línea de investigación donde los Sistemas Expertos

representan su conocimiento como grandes colecciones que han sido previamente adquiridas y organizadas. Los investigadores trabajan actualmente en el desarrollo de subsistemas de adquisición del conocimiento capaces de descubrir nuevos conceptos a partir de ejemplos o bien a partir de los expertos directamente “aprendiendo con el maestro”, integra en forma coherente en la base de conocimiento del sistema.

Una tercera opción es considerar el aprendizaje como adquisición de pericia. Las personas adquieren habilidad para hacer tareas con la práctica. La forma como ellas aprenden con la práctica representa una línea de investigación muy interesante.

Los trabajos sobre formación de teorías atienden cómo los científicos las construyen para describir y explicar fenómenos complejos. Una parte de la formación de una teoría es la hipótesis es hallar una o más hipótesis para explicar un conjunto de hechos en el contexto de una teoría más general. Otro aspecto de la formación de una teoría es la inferencia inductiva, proceso por el cual se infieren leyes generales de ejemplos particulares.

52 INTEGRACIÓN DE UN MÓDULO DE APRENDIZAJE 5.2.1 CICLO DE ADQUISICIÓN INICIAL DEL CONOCIMIENTO ANTES DE LA IMPLEMENTACIÓN Una técnica efectiva para la adquisición del conocimiento consta de las etapas de la Figura 7: Extraer Conocimiento

de Expertos

Documentación

Simulación Manual en casos de Prueba

Análisis de Expertos en Casos de Prueba Comparación

Fig. 7. Ciclo para la adquisición inicial de conocimiento Extraer conocimiento: Recupera información de documentos y comentarios de los expertos sobre el ámbito de aplicación. Documentación: Representa formalmente el conocimiento adquirido y el mecanismo para su obtención y actualización. Simulación: Prueba el conocimiento a través de:

Tomar el análisis realizado por el experto en una nueva situación (un nuevo conjunto de datos), o utilizando los resultados de un análisis previo. 56

Page 77: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 57

Analizar la misma situación utilizando la simulación manual del conocimiento documentado. Por ejemplo , si todo el conocimiento se encuentra en forma de regla, se decide cuál se ejecutara en primera instancia, cuál será la siguiente y así sucesivamente hasta que el análisis se complete.

Comparar los resultados del análisis por parte del experto contra los resultados generados por la simulación manual.

Si los resultados difieren, encontrar las reglas o procedimientos que producen la discrepancia, esto consiste en unir tanto al equipo de expertos como el de adquisición del conocimiento y seguir el razonamiento de la simulación manual paso por paso hasta que una diferencia por parte del razonamiento experto sea encontrado.

Regresar al primer paso y encontrar nuevo conocimiento del experto acerca de la forma de modificar las reglas y procedimientos que causaron la discrepancia de forma tal que exista una congruencia con el análisis por parte de los expertos. El proceso de adquisición del conocimiento continúa en un ciclo a través de estos pasos, revisando y expandiendo el conocimiento documentado, hasta que una estructura sólida de conocimiento sea encontrada e implementada. Esta técnica es útil cuando no se ha integrado suficiente conocimiento acerca de una subtarea de interés , para garantizar la implementación en forma transparente, además es útil en aquellos casos en los que el conocimiento se encuentra en constante cambio y cuando la implementación del conocimiento esta siendo desarrollada pero los responsables no llegan a captar completamente el conocimiento adquirido. En todos estos casos, ninguna implementación de forma computacional es lo suficientemente dinámica para añadir conocimiento. Tradicionalmente el diseño de Sistemas Expertos ha involucrado un proceso de interacción entre el dominio del experto y el ingeniero del conocimiento. Durante esta relación llamada “adquisición de conocimiento”, el ingeniero formaliza el conocimiento del experto por medio de diversos modelos que representan e infieren conocimiento, sin embargo, hay varios problemas con esta aproximación:

El desarrollo de un sistema experto puede requerir un enorme esfuerzo, un sistema puede fallar al ejecutarse en el dominio de la aplicación y requerir modificaciones adicionales. Típicamente esto involucra continuas interacciones entre el experto y el ingeniero, durante el cual el sistema es gradualmente modificado en la medida en que las fallas se vayan originando.

La contribución del experto no garantiza que pueda expresar adecuadamente sus propios conocimientos. Dificultad para determinar cuando la base de conocimientos es correcta, consistente y completa.

Para confrontar estos problemas la máquina de aprendizaje intenta facilitar la adquisición de conocimientos para integrar la base de conocimientos requerida por el Sistema Experto, a través de las siguientes iniciativas a cargo del sistema de aprendizaje:

Contribuir a una inicial construcción de una base de conocimientos, esto es: la colocación de reglas, frames, y redes iniciales.

Refinar la base de conocimientos existente. Ayudar en la adaptación del sistema basado en conocimiento, por ejemplo; acomodar el estilo del usuario

experto. Proveer un método para construir Sistemas Expertos basados en conocimiento, remplazando el proceso de

interacción de la adquisición del conocimiento entre el ingeniero, el conocimiento y el experto. 5.2.2 COMPONENTES DE UN SISTEMA DE APRENDIZAJE En particular, consideramos un sistema que usa un modelo de representación específico llamado “ER”. Este esquema de representación denota todas las posibles opciones que el sistema puede construir usando “ER” específicamente. Vemos las tareas de aprendizaje como la búsqueda para una aceptable representación en el dominio de la aplicación. Durante esta búsqueda el sistema es sujeto a una secuencia de experiencias desde el dominio de la aplicación llamándose a esta secuencia la “trayectoria de experiencias”. El procedimiento de aprendizaje requiere una función que valúa típicamente esta función informa al algoritmo de aprendizaje que ha encontrado una representación satisfactoria.

Page 78: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

58 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Un sistema de aprendizaje opera como: { D, ER, E, V }; donde “D” es el dominio de la aplicación, “ER” un esquema de representación, “E” las experiencias y “V” los valores de representación evaluados. Un sistema de aprendizaje interactúa con el ambiente, buscando a través de las representaciones que describe el dominio de la aplicación. El dominio afecta a los otros componentes del sistema de aprendizaje ( ER, E, V ). Como se muestra en la Figura 8

58

Evaluaciones

ER

E

V

D

Dominio Experiencias

Fig. 8. Componentes de un sistema de aprendizaje

5.2.3 MECANISMO DE APRENDIZAJE El mecanismo de aprendizaje es el sistema que va a ser capaz de adquirir nuevos conocimientos por medio de un proceso que le permita evaluar su propio aprendizaje. Integra diversas técnicas y algoritmos de aprendizaje que interactúan con el experto para obtener nuevos elementos de conocimiento, modificaciones al existente y sobre todo revisar y corregir la consistencia. Este módulo debe observar una conducta inteligente capaz de advertir elementos relevantes de conocimiento y desechar aquellos “inútiles” o poco importantes, además de resolver los conflictos generados por las contradicciones. 5.2.4 CICLO DE ADQUISICIÓN DEL CONOCIMIENTO DESPUÉS DE QUE LA IMPLEMENTACIÓN HA COMENZADO Una técnica muy efectiva para la adquisición del conocimiento, después de que la implementación ha comenzado consiste en seguir el ciclo descrito en la figura 6.3 que consiste en: Actualizar conocimiento: Actualiza el conocimiento existente utilizando la técnica de simulación manual o los resultados de prueba (paso 4). Integración del conocimiento: Mantiene la consistencia con la base de conocimientos actualmente disponible. Implementación del conocimiento: Incorpora el nuevo conocimiento con los ajustes correspondientes de la base. Prueba: Explota el nuevo conocimiento en conjunto con el adquirido anteriormente sometiéndolo a los casos de prueba que verifiquen su consistencia.

Page 79: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 59

Comparación: Analiza los resultados obtenidos por el experto y el sistema a través de los pasos de la Figura 9:

Fig. 9. Ciclo para la actualización de conocimiento Comparar los resultados generados por el experto contra las conclusiones obtenidas por el sistema. El programa puede producir conclusiones erróneas o puede no correr hasta el final. Cualquiera de estos casos indica una incompleta o incorrecta heurística o fallas en la implementación.

Actualizar Conocimiento

Integración del conocimiento

Implementación de Conocimiento

Evaluación Comparación

Prueba

Donde los resultados difieran, encontrar las reglas o procedimientos que producen la discrepancia. Los expertos y el equipo de adquisición del conocimiento pueden examinar en el conocimiento documentado el conjunto de reglas y procedimientos relacionados a esas discrepancias y crear una simulación manual en ciertas partes del análisis para ver si las reglas y procedimientos están escritas en base al conocimiento experto. Para añadir este proceso, la implementación en computadora puede ser usada para producir una ruta del razonamiento del sistema o proveer de resultados intermedios. Si la simulación manual del conocimiento documentado concuerda con el experto, buscar un error de implementación en el programa. Si no, regresa al primer paso y determina como el nuevo conocimiento modificó las reglas y procedimientos que causaron la discrepancia. Evaluación Los expertos revisan los resultados arrojados por las pruebas y correcciones aplicadas al sistema, determinan la confiabilidad de sus respuestas y la eficiencia en su operación. Al final emiten un dictamen de aprobación o rechaza el contenido y manejo de la base de conocimientos. Este proceso continúa en un ciclo que para que Sistema Experto y el conocimiento documentado estén en continua revisión y expansión.

Page 80: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

60 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

60

5.3 MÉTODOS DE APRENDIZAJE Aprendizaje conductista El punto de vista conductista basa sus conclusiones de la conducta abierta y externa de los organismos, estudiándolas a través de tres teorías:

Condicionamiento clásico. Su principal representante fue Ivan Pavlov, como parte de su investigación preparó una situación controlada en la cual sonaba una campana precisamente antes de que a un perro se le presentara una pequeña cantidad de alimento, todo esto con el fin de medir el grado en que los perros salivaban al comer. Después de varios apareamientos de la campana y provisión de la comida, la campana sólo excitó la salivación. En este caso la comida es un estimulo condicionado y la salivación una respuesta no condicionada, mientras que la respuesta a la campana se designó condicionada. La asociación entre el estimulo condicionado y el estímulo no condicionado se estableció porque presentar la comida precisamente después de hacer sonar la campana reforzaba la respuesta de la salivación. Si no se reabastecía la comida de vez en cuando, la respuesta empezaría a desaparecer o extinguirse. Cuando el perro condicionado para salivar, al escuchar sonidos similares al de una campana emite una respuesta, se presenta una generalización del estímulo, esto se puede evitar si se proporciona reforzamiento después de que suene la campana, pero no después de que suene un silbato, con lo que se tenía una discriminación. Condicionamiento operante. Skinner formuló una teoría que combina muchas ideas diferentes y sirve para una gran variedad de aplicaciones de la conducta humana. La teoría de Skinner pone de relieve el condicionamiento operante, el cual supone un aparato ingenioso inventado por el mismo, este consiste de un pequeño espacio cerrado que contiene una sola barra y una bandeja. Fuera de la caja hay una tolva que contiene bolitas de alimentos que caen en la bandeja cuando se oprime la barra en determinadas condiciones. Se coloca una rata hambrienta dentro de la caja, y cuando, en el curso de exploración de su nuevo ambiente, se acerca y luego toca la barra, entonces se le recompensa con una bolita de comida. Se le llama condicionamiento operante para poner de relieve que un organismo opera en el ambiente cuando aprende. En este tipo de condicionamiento los organismos emiten la conducta de manera esencialmente espontánea. Aprendizaje basado en la observación. Albert Bandura detectó ciertas limitaciones del punto de vista del condicionamiento operante, principalmente cuando observó la conducta de niños y adultos, Bandura llegó a la conclusión de que muy a menudo el aprendizaje tiene lugar cuando una persona observa y luego imita la conducta de los demás y no necesariamente aprende cuando da la respuesta y es reforzado. Para comprobar su teoría realizó varios experimentos entre los cuales están: Se sentó a un niño en una mesa y se le estimuló a divertirse con juguetes que se le proporcionó, mientras tanto en otra mesa cercana otro niño jugó tranquilamente con los juguetes durante diez minutos y luego jugó agresivamente. Después de efectuar una u otra de estas conductas modeladas, se permitió acaparar a cada niño un juguete atractivo y luego se le dijo que no podía jugar con él (una condición que produciría cierta frustración). Posteriormente se condujo a los niños a un cuarto donde estaban los juguetes con los que había jugado antes. Los niños observaban un modelo agresivo mostraban una conducta más agresiva en respuesta a los juguetes. Con este experimento se trato de determinar el efecto que tendría el recompensar al modelo por una conducta agresiva, sobre la conducta imitativa de los niños. En general, los niños eran más agresivos si habían visto a un modelo agresivo reforzado positivamente que cuando el modelo era castigado.

Page 81: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 61

Aprendizaje por ensayo y error. Pocos años después de que Pavlov iniciara un Rusia su investigación sobre los reflejos condicionados, Edward l. Thorndike hizo en Estados Unidos los primeros estudios de lo que a la larga se llamaría condicionamiento operante. En su tesis de doctorado, criticó la gran cantidad de pruebas anecdóticas sobre inteligencia animal presentadas por muchos naturistas, incluyendo a Charles Darwin. Las historias de que los animales razonaban de manera similar al hombre al resolver problemas no convencían a Thorndike. Su estudio de como los gatos escapaban de diferentes cajas enigmáticas sugería algo parecido a aprendizaje por ensayo y error. Aprendizaje por castigo. Los reforzadores cognoscitivos como los choques o un ruido muy intenso, en un condicionamiento clásico con frecuencia se denominan estímulos aversivos. En el condicionamiento operante, la representación de un reforzador negativo se emplea como castigo. Aprendizaje por escape. El comportamiento emocional primitivo y la conducta de escape provocados inicialmente por el castigo, pueden modificarse merced al condicionamiento de una respuesta de escape especifica. Aprendizaje por evitación. Es una variación del aprendizaje de escape, en este caso el animal puede responder a un estímulo presentado antes del castigo y por lo tanto evitarlo. Insigth. Los psicólogos del movimiento “Gestalt” fueron los primeros en criticar vigorosamente los primeros estudios sobre el condicionamiento. Argumentaban que el aprendizaje observado por Pavlov y Thorndike sólo parecían un mecanismo ciego, porque las situaciones experimentales utilizadas en esos estudios ofrecían pocas oportunidades al animal de demostrar un comportamiento verdaderamente creativo y flexivo. Aprendizaje latente. Cuando no hay un razonamiento aparente ni demostración inmediata de lo aprendido a esto se le llama “aprendizaje latente”. Fenómeno punta de la lengua. Sugiere que el recordar es un proceso activo que requiere tanto tiempo como concentración. Algunas veces cuando se presenta éste uno se da por vencido y minutos después el hecho que deseaba recordar surge sin ningún otro esfuerzo considerado. Por ejemplo, para controlar con más precisión la cantidad de tiempo que se dedica a memorizar cada palabra de una lista, con frecuencia los experimentadores las presentan una a una para que sean observadas durante el mismo tiempo cada una. Con este tipo de presentación, es más probable que se recuerden las palabras que se encuentran al principio de la lista debido al efecto “primacía”; pero si recuerda las últimas se debe al efecto de “recencia”.

5.4 TÉCNICAS DE APRENDIZAJE 5.4.1 CONCEPTOS

El aprendizaje por “conceptos” se apoya en un proceso de clasificación donde para una entrada concreta se asigna el nombre a la clase a la que pertenece. Las clases entre las que puede elegir el procedimiento de clasificación puede describirse de diversas formas, su definición depende del uso para el que se destinen. La clasificación es un componente importante de muchas tareas de reconocimiento directo, como por ejemplo, cuando se pregunta “¿Qué letra es esta?”, con frecuencia, la clasificación está incluida dentro de otra operación. Para apreciar las dos formas en las que puede suceder, consideremos un sistema de resolución de problemas que contenga la siguiente regla de producción:

Page 82: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

62 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

SI: La meta actual es ir del lugar A al B y existe un MURO que los separa ENTONCES: Busca una PUERTA en el MURO y atraviésala Para usar esta regla con éxito, la rutina de emparejamiento del sistema debe poder identificar un objeto como un muro. Sin esto, nunca podrá usarse la regla. A continuación, para aplicar la regla, el sistema deberá ser capaz de reconocer una puerta. Antes de poder realizar la clasificación, deberá definirse las clases que se van a usar, pudiendo efectuarse de la siguiente forma: Por medio de representar funciones de tanteo

Aislar un conjunto de características relevantes del dominio de la tarea. Definir cada clase mediante una suma ponderada de los valores de estas características. Cada clase se define mediante una función de tanteo muy similar a las funciones que se suele usar en otras

situaciones como los juegos. Tal función tiene la forma: c1t1 + c2t2 + c3t3 +..... Cada “t” corresponde a un valor de un parámetro relevante. Cada “c” representa el peso asignado a la “t” correspondiente. Los pesos negativos pueden usarse para indicar aquellas características cuya presencia constituye usualmente

una evidencia negativa para una clase dada. Como un ejemplo de este enfoque, consideremos el problema de clasificar modelos de entrada como letras del alfabeto. Supongamos, que cada entrada se describirá mediante una matriz de 0´s y 1´s con los 1´s correspondientes a los lugares donde hay tinta de entrada. Su valor entre -1 y 1. El valor 1 contenido en dicho segmento corresponde a la clase que se está describiendo. Un valor de -1 significa que la tinta es una evidencia de la clase. Un valor de 0 indica que no tiene importancia. A través de estructuras compuestas

Aislar un conjunto de características que sean relevantes para el dominio de la tarea. Definir cada clase como una estructura compuesta de dichas características. Por ejemplo, consideremos de

nuevo la tarea de clasificación de las clases, usando este enfoque, se tiene a la letra G como:

ARCO (a,b) ENCIMA(a,b) LINEASEGMENTO (b,c) IZQUIERDA(c,b) (NADA (LINEASEGMENTO (b;d) DEBAJO d,b)) (NADA (LINEASEGMENTO (a,e) ENCIMA (e,a))

c b d

e

a

El enfoque estadístico tomado por el primero de los esquemas presentados aquí suele ser más eficiente que el enfoque estructurado del segmento del segundo. Pero el segundo es más flexible y extensible. Esta tarea de construir definiciones de clase se llama “aprendizaje por conceptos”. La técnica usada para esa tarea debe depender de la forma en que se describen esas clases (conceptos). Si las clases se describen mediante funciones de tanteo, el aprendizaje de conceptos debe realizarse usando la técnica de ajuste de coeficientes. Por otra parte, si queremos definir las clases estructuralmente, es necesaria una nueva técnica para aprender las definiciones de las clases. En el resto de esta sección presentemos una técnica como la indicada. Un ejemplo de un programa de aprendizaje estructural de conceptos es el que opera en un sencillo dominio del “mundo de bloques”. Su meta es construir representaciones de las definiciones de los conceptos en ese ámbito. Por ejemplo, aprendió los conceptos CASA, TIENDA y ARCO mostrados en la Figura 10.

62

Page 83: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 63

Concepto Casi Equivocado CASA

TIENDA

ARCO

Fig.10. Aprendizaje de los conceptos CASA, TIENDA y ARCO

La figura muestra también un ejemplo del tipo “casi-equivocado” para cada concepto. Un “casi-equivocado” es un objeto que no es un ejemplo del concepto en cuestión pero es muy similar. El programa empieza por interpretar un dibujo con líneas de la estructura del mundo de bloques, usa procedimientos de resolución de problemas perceptuales con el algoritmo de Waltz para analizar el dibujo y construir una representación por red semántica de la descripción estructural del objeto.Esta definición estructural se proporciona a continuación como entrada para el programa de aprendizaje. Un ejemplo de una descripción estructural para la CASA de la figura 6.4 se muestra en la figura 6.5 . El nodo A representa la estructura entera que se compone de dos partes: el nodo B, una CUÑA y el nodo C, un LADRILLO. Las dos estructuras en ARCO de la figura 6.14, son idénticas excepto por la clase de objetos de la parte superior. Uno es un LADRILLO mientras que el otro es una CUÑA. Obsérvese que los dos objetos inferiores se relacionan, no solamente un enlace NOCAZAN, que dice que los dos objetos no CAZAN. Dos objetos CAZAN si sus caras se están tocando y tienen un borde común. La relación CAZAN es critica en la estructura de un arco casi-equivocado mostrada en la figura 11:

A

B C

Cuña Ladrillo

Aguantado - por

Esun Esun

Fig. 11. Descripción estructural

El enfoque básico que toma el programa de Winston para el problema de formación de conceptos realiza las siguientes acciones:

Page 84: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

64 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Empezar con una descripción estructural de una ocurrencia conocida del concepto. Llamar a dicha descripción

la “definición del concepto”. Examinar las descripciones de otras ocurrencias conocidas del concepto. Generalizar la definición para

incluirlas. Examinar descripciones de casi-equivocado del concepto. Restringir la definición para excluirlas.

Los últimos dos pasos de este procedimiento deben intercarlarse y se basan principalmente en un proceso de comparación mediante el cual puede detectarse las similitudes y diferencias entre las estructuras. Este proceso debe funcionar de la misma manera que lo hace otro de emparejamiento, tal como el de determinar si una regla de producción puede o no aplicarse a un estado concreto del problema. Puesto que deben encontrarse tanto las diferencias como las similitudes, el procedimiento debe realizar no sólo un emparejamiento literal sino también uno aproximado. La salida del procedimiento de comparación es un esqueleto de la estructura que describe las partes comunes de las dos estructuras de entrada. Se anota mediante un conjunto de notas de comparación que describe las similitudes y diferencias específicas entre las entradas. Para ejemplificar este enfoque, lo haremos a través del proceso de aprendizaje de lo que es un arco: Supongamos que se presenta en primer lugar la descripción de un arco que se convierte en la definición del concepto ARCO, entonces se presenta la descripción de arco (ver figuras 6.6 y 6.7). Cuando se integran los ejemplos la rutina de comparación devolverá una estructura similar a las dos entradas (ver figura 6.8) excepto que notará que los objetos representados mediante los nodos etiquetados C no son idénticos. El enlace NOTA-C que surge nodo C describe la diferencia encontrada por la rutina de separación. Esta nota que la diferencia ocurrió en un enlace ESUN, que en la primera estructura del enlace ESUN apuntaba a LADRILLO, es la segunda a CUÑA, y que si fuéramos a seguir los enlaces ESUN puede generarse una nueva descripción del concepto ARCO. Esta descripción puede decir simplemente que el nodo C puede ser o un LADRILLO o una CUÑA. Pero ya que esta disyunción concreta no tiene un significado previamente conocido se establece el concepto “OBJETO” de las Figuras 12, 13, y 14:

64

A

B D

Ladrillo

C

Ladrillo

Ladrillo

No cazan

Izquierda deDerecha de Esun Esun

Fig. 12. Descripción de un arco de acuerdo con el primer ejemplo

Page 85: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 65

A

B D

Ladrillo

C

Ladrillo

Cuña

No cazan

Izquierda deDerecha de Esun Esun

FIig. 13. Descripción del arco de acuerdo con el segundo ejemplo

A

B D

Ladrillo

C

Ladrillo

Objeto

No cazan

Izquierda deDerecha de Esun Esu

FIig. 14. Descripción de arco después de integrar dos ejemplos Supongamos que a continuación se presenta el ejemplo “casi-equivocado” mostrado en la figura 6.14. Esta vez la rutina de comparación notará que hay una diferencia entre la definición actual y el casi-equivocado, pero no queremos ampliar nuestra definición para incluirlo. En vez de ello, queremos restringir la definición de forma que lo excluya específicamente. Para hacer esto, modificamos el enlace NOCAZA, que puede estar recordando simplemente que por casualidad NOCAZA ha sido cierto en el pequeño número de ejemplos que se le han presentado. Debe decir NODEBENCAZAR. La descripción de ARCO en este punto. En realidad, NODEBENCAZAR no debería ser un enlace completamente nuevo debería ser una estructura entre tipo de enlace para reflejar la relación entre CAZAN, NOCAZAN y NODEBENCAZAR, como se aprecia en la Figura 15:

Page 86: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

66 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

A

B D

Ladrillo

C

Ladrillo

Ladrillo

No deben cazar

Izquierda deDerecha de Esun Esu

Fig. 15. Descripción de arco después del ejemplo casi - equivocado El enfoque del aprendizaje de conceptos que acabamos de discutir se ha usado en diversos programas de aprendizaje. Aunque dichos programas no son todos idénticos, comparten una característica importante. Se basan en alguna entrada del entorno que le proporcione ejemplos del concepto a aprender. Pero puede diferir en varios aspectos importantes.

Algunos programas dependen de una secuencia de entrenamiento minuciosamente elegida presentada por un maestro, mientras que otro no son sensibles al orden en el que se encuentran los ejemplos.

Aunque se han construido programas de aprendizaje exitosos que no usan casi-equivocado, se arriesgan a no poder detectar y corregir su error si alguna vez sobre generalizan. El aprendizaje por conceptos emplea diversas técnicas para:

Representación del Conocimiento.- Por medio de: ∗ Redes semánticas para describir estructuras. ∗ Jerarquías “ESUN” para describir relaciones entre objetos ya conocidos.

Resolución de Problemas.- A través de: ∗ Emparejamiento, para detectar similitudes y diferencias entre estructuras. ∗ Ascensión de colinas, para hacer evolucionar hacia una definición de conceptos cada vez más precisa. Aprendizaje es un término ambicioso y extenso, que denota la acción de ganar conocimiento y destreza, implica el entendimiento de instrucciones, asimilación de experiencias y generación de reflexiones. No obstante la grandeza y el alcance de la naturaleza de estas ideas, la noción del concepto de aprendizaje usado en la Inteligencia Artificial es mucho más limitado y específico. 5.4.2 GENERALIZACIÓN Esta es una de las cualidades mas importantes en los sistemas de aprendizaje memorístico, la cual se orienta a los ámbitos en donde el número de objetos distintos a representar es muy elevado, para mantener el número de objetivos almacenados en un nivel flexible, se necesita cierta clase de generalización. La técnica de aprendizaje por generalización consiste en que un grupo de objetos, que representan ejemplos y contraejemplos de un concepto, intenta inducir una descripción generalizada que abarque todos los ejemplos positivos y ninguno de los contraejemplos. Ediciones interesantes incluyen condiciones por las cuales los procedimientos convergen una única descripción de los ejemplos. Otro aspecto que es importante hacer notar, es que conforme aumenta la complejidad del proceso de aprendizaje, aumenta la necesidad de generalización. Retomando el ejemplo del conocimiento de un arco, la generalización necesita empezar con un miembro normal de la clase que se va a aprender como se muestra en la Figura 16:

66

Page 87: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 67

CASI BUENO

CASI BUENO

ARCO

ARCO

Fig. 16. Ejemplos para conocer un arco A partir de este ejemplo, la generalización construye una descripción inicial, la cual se refina mediante la aplicación de nuevos casos “buenos” y “casi buenos”. La descripción aumentada se conoce como modelo en “evolución”. Un ejemplo “casi bueno” es un caso negativo que por un número reducido de razones no es ejemplar de la clase que se está enseñando. La descripción que se muestra en la figura 6.11 inciso “b” no es una descripción de un arco, pero es un poco diferente de la descripción de arco de la figura en el inciso “a”, es un ejemplo casi bueno, su propósito es enseñar la importancia de los enlaces de apoyo mostrados en la Figura 17: a) Arco

Apoyo Apoyo b) Ejemplo Casi Bueno

c) Arco debe apoyar debe apoyar

a la izquierda

a la izquierda de

a la izquierda de

Fig. 17 Reglas de generación de enlace necesario

Page 88: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

68 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Si se compara con la descripción de arco “a”, la descripción del ejemplo aproximado de “b” carece de apoyo. De esto se concluye que los enlaces de apoyo son esenciales, de modo que como se muestra en c), tales enlaces en el modelo del arco son alterados para indicar que se requieren en todos los arcos. El enlace “a la izquierda de” se muestra para resaltar la necesidad de evidencia de que es suficiente establecer la correcta entre las partes del arco y las del ejemplo aproximado. Como los enlaces de apoyo no se encuentran al comparar las dos descripciones, el procedimiento de generalización llega a la conclusión de que los arcos requieren enlaces de apoyo, por lo tanto el procedimiento sintetiza las dos descripciones en una nueva descripción refinada, en la que los enlaces de apoyo son sustituidos por la forma enfática “debe apoyar”, de la anterior figura del inciso “c”, utilizando de esta manera, se dice que el ejemplo “casi bueno” proporciona información para la heurística de enlace necesario. Después de que la generalización utiliza esta heurística, ningún grupo de bloques es identificado como arco. En la siguiente comparación, entre el modelo de evolución de la Fig. 6.12 inciso “a” y el ejemplo “casi bueno” del inciso “b”, implica también dos diferencias establecidas, pues se tiene dos nuevos enlaces de contacto entre los lados del arco. No obstante, ahora el ejemplo aproximado no consigue ser un arco por que los enlaces se encuentran presentes y no ausentes. El procedimiento concluye que los nuevos enlaces deben estar prohibidos y convierte cada enlace de contacto en el enlace enfático negativo “no deben de tocarse”, como se muestra en el inciso “c”. Al hacer esto se dice que la generalización usa la heurística de prohibición de enlace. Es importante observar que las heurísticas de requisito de enlace y de prohibición de enlace funcionan porque las descripciones contienen información esencial y la comparación de descripciones proporciona una forma de apuntar hacia las conclusiones apropiadas. Estos puntos deben elevarse a la categoría de principios: No es posible aprender si no es posible conocer; y No es posible aprender sino se puede aislar lo más importante, como se aprecia en la Figura 18. a) Arco

68

debe apoyar a debe apoyar a b) Ejemplo casi bueno debe apoyar a debe apoyar a c) Arco debe apoyar a debe apoyar a a la izquierda de

a la izquierda de

a la izquierda de

se tocan

se tocan

No deben tocarse

Fig..18 Regla de generalización de prohibición de enlace

Page 89: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 69

Comparada con la descripción de arco de la parte “a”, la descripción del ejemplo aproximado de “b” es diferente por que tiene enlace de contacto. La conclusión es que los enlaces de contacto no deben estar, de modo que como se muestra en el inciso “c”, se agregan enlaces “no deben tocar” a la descripción del arco. Responder a ejemplos mejora el modelo Hasta ahora se han descrito ejemplos “casi buenos” los cuales restringen el modelo, limitando lo que puede ser un arco. Los ejemplos positivos relajan el modelo, extendiendo el concepto de los que puede ser un arco. Vamos a considerar el caso de la siguiente figura. Compara el modelo del inciso “a” con el de “b” que tiene un prisma triangular en la cima, en lugar de un ladrillo. Si el modelo va a ser un arco, el procedimiento debe hacer un cambio en el modelo que refleje una restricción relajada. Como mínimo, el procedimiento deberá contar la conexión entre la cima del arco y tabique y sustituirla por un enlace. Debe ser con una clase más general, como se muestra en “c”. Se dice que en este caso se usa la heurística de ascenso de árbol de la Figura 19:

a) Arco

a la izquierda de no deben tocarse

no deben tocarse

bloque

ladrillo

debe apoyar a debe apoyar a

b) Arco

bloque

prisma

debe apoyar a debe apoyar a

a la izquierda de no deben tocarse

no deben tocarse

c) Arco

bloquedebe ser

prisma

debe apoyar a debe apoyar a

a la izquierda de no deben tocarse

no deben tocarse

Fig. 19. Heurística de Ascenso de árbol

Page 90: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

70 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

70

La cima de la descripción de Arco de la parte “a” es un tabique, mientras que el objeto correspondiente en la descripción del ejemplo de la parte “b” es un prisma triangular. Evidentemente, la diferencia no es importante. El enlace es de la descripción de arco cambia a un enlace “debe ser” y se modifica su dirección, de tabique a bloque, parte “c”, que es la generalización común más específica de tabique y prisma triangular. Cabe señalar que se omitieron muchos enlaces del dibujo para evitar distracciones. Sin embargo, el uso de la clase común más especifica es sólo una alternativa. En el ejemplo, sustituir ladrillo por bloque representa una postura conservadora en lo que respeta al grado de generalización que debe llevar a cabo, ya que los ladrillos y los prismas triangulares son también poliedros, objetos físicos y cosas. El nuevo blanco para el enlace debe ser la cima, que podría ser cualquier cosa que este en la cadena de enlaces tipo “clase de“, dependiendo de cuán agresivo sea el procedimiento. Sin embargo, en ciertas ocasiones no existe un árbol de clasificaciones que ascender. Por ejemplo, si no se supiera que los ladrillos y los prismas triangulares son miembros de una clase común, la heurística de ascenso de árbol no sería de utilidad. En tal caso el procedimiento forma una nueva clase, la clase tabique-o-prisma triangular, y une la parte superior del arco con esta nueva clase mediante un “debe ser”, recurriendo, por tanto, a la heurística de ampliar conjunto. Si no existen tantos objetos aparte de tabique y prismas triangulares, el procedimiento se deshace por completo del enlace “debe ser” y se dice que usa la heurística de eliminación de enlace. El procedimiento también utiliza la heurística de eliminación de enlace cuando un enlace del modelo en evolución no se encuentra en el ejemplo. Si el ejemplo inicial tiene información sobre el color de algunos bloques y los otros ejemplos no, si ignora el color, eliminando todas sus referencias al color que haya en el modelo en evolución. Finalmente, usa otra heurística si una diferencia implica números. Si un ejemplo muestra un tabique de 10 cm. de longitud y otro muestra uno de 15 cm, entonces se supondrá que cualquier tabique entre 10 y 15 cm de longitud será adecuado y de esa forma estará usado la heurística de intervalo cerrado. Las heurísticas de ejemplo casi bueno, especifican; las heurísticas de ejemplo, generalizan Hay que hacer notar que las heurísticas de ejemplo casi bueno (de requisito de enlace y de prohibición de enlace) especializan el modo haciéndolo más restrictivo. Las heurísticas de ejemplo positivo generaliza el modelo y lo hacen más tolerante. A continuación se muestra los procedimientos que utilizan estas heurísticas: Para usar “especializar” con fin de que un modelo resulte más específico:

Para el modelo en evaluación con el ejemplo se establecen correspondencias entre sus partes; Determinar si existe una sola diferencia que sea fundamental entre el modelo en evaluación y el ejemplo “casi

bueno”; ∗ Si existe una sola diferencia fundamental: - Y si el modelo en evolución tiene un enlace que no está en el bueno, use la heurística de enlace necesario; - Y si el ejemplo es “casi bueno” tiene un enlace que no está en la heurística de prohibición de enlace, use la heurística de prohibición. ∗ De otro modo, ignore el ejemplo. Para usar “generalizar” con el fin de que un modelo resulte más tolerante:

Para el modelo en evolución con el ejemplo establecer correspondencias entre sus partes; Para cada diferencia, determinen tipo de diferencias:

∗ Si el enlace apunta hacia una clase del modelo en evolución diferente de la clase a la cual apunta el enlace en el ejemplo: - Y si las clases son parte de un árbol de clasificación, use la heurística de ascenso de árbol; - Y si las clases forman un conjunto exhaustivo, use la heurística de eliminación de enlace; - En cualquier otro caso, use la heurística de ampliar conjunto; ∗ Si el enlace no esta en el ejemplo, use la heurística de eliminación de enlace; ∗ Si la diferencia es tal que en ella intervienen números distintos o un intervalo y un número fuera de éste, use la heurística de intervalo cerrado;

Page 91: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 71

∗ De otro modo, ignore la diferencia. Note que “especializar” no hace nada si no puede hallar diferencias fundamentales. Una manera de identificar tal diferencia es mediante un procedimiento que clasifica todas las diferencias por tipo de diferencia y por enlace. También “especializar” y “generalizar” implican un apareamiento. Puede parecer conservador rehusarse a actuar por que ninguna acción es absolutamente segura. Sin embargo, existe un punto en el que correr riesgo se convierte en un despliegue de temeridad. Por el hecho de tomar en cuenta el principio “espera y verás”, la persona que aprende no está condenada a la estupidez eterna; simplemente está a la espera de encontrarse de nuevo con situaciones difíciles, pero más tarde, cuando esté mejor preparado. El procedimiento toma en cuenta este principio cuando ignore los ejemplos negativos para los que no puede identificar una sola diferencia bien aquella que resulte la más importante. El principio “espera y verás” dice que hay que evitar construir un modelo que será erróneo, y el principio de no alteración dice que se debe evitar cambiar un modelo, incluso si está mal, de nuevo porque el hecho de corregir un modelo general de alguna forma puede estropearlo. Los enlaces debe y no debe dominar el apareamiento Una forma de determinar si un objeto desconocido se ”aparea” con otro de manera adecuada es ver si tal objeto es compatible con los enlaces enfáticos del modelo. Cualquier enlace cuyo nombre contenga “Debe”, debe aparecer en el objeto desconocido; y los enlaces con “No debe”, no deben estar en él. Una evaluación de apareamiento más flexible requiere un procedimiento que pueda determinar el grado de similitud entre un objeto desconocido y el modelo. Para instrumentar tal procedimiento, se tiene que traducir el concepto abstracto de similitud entre un objeto desconocido y un modelo, s(U,M), a una medida concreta. Una forma sencilla de hacer esto es mediante un conteo ponderado de los enlaces correspondientes, en conexión con un procedimiento de analogía geométrica. Sin embargo, observe que cualquier esquema de conteo para combinar evidencias es limitado, ya que toda la información está comprendida en un número singularmente inexpresivo. Los modelos pueden clasificarse en redes Se concibe como un conjunto de modelos organizados en una red en la que los enlaces conectan parejas de modelos que son muy parecidos, en donde se va a identificar un objeto desconocido. ¿Qué se debe hacer cuando la primera comparación con un modelo particular de la red fracasa, como normalmente sucederá?. Si el apareamiento no falla mucho, es decir, si el objeto se asemeja al modelo en muchos aspectos, entonces con seguridad otros modelos parecidos deben insertarse enseguida. Estos nuevos modelos son precisamente los que están unidos mediante enlaces de similitud con el modelo recién comparado. En lo que significa una mejora evidente, los enlaces de similitud entre modelos pueden no sólo expresar la similitud, sino también describir la diferencia, como se estipula en la siguiente especificación en donde una red de similitud es una representación de una red semántica en la que

Los nodos representan modelos. Los enlaces conectan modelos similares. Los enlaces están unidos a descripciones de diferencia.

En la figura 6.14 se ilustra una red de similitud. Si un objeto desconocido difiere de un modelo de prueba de la misma manera en que un vecino del modelo de prueba difiere de éste, entonces el vecino es un modelo particularmente bueno para probar enseguida. Así pues, la atención no sólo se desplaza hacia una familia de candidatos probables, sino también hacia el miembro particular de esa familia que es el que más probabilidades tiene de conducir al éxito. En consecuencia, el apareamiento inicial no es tanto una falla sino más bien, es una enriquecedora prueba de conocimiento como se muestra en la Figura 20:

Page 92: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

72 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Desconocido M80

M33

d(U,M80) d(M12,M80)

d(M33,M80)

M88M12

M92

Fig. 20. Red de similitud

Nótese que el procedimiento para moverse a través de una red de similitud es un procedimiento de ascenso de colina, ya que el movimiento se hace hacia el vecino inmediato que parezca tener más posibilidades de producir un apareamiento mejor con el objeto desconocido. 5.4.3 ANALOGÍA

La analogía es una poderosa herramienta de inferencia aprovechada por el lenguaje y el razonamiento. Como se considera en las siguientes sentencias:

“El mes pasado la bolsa era una montaña rusa” “Bill es como un coche de bomberos” “Los problemas en electromagnetismo son como los problemas en el movimiento de fluidos”

Lo que subyace en todos estos ejemplos es una complicada correspondencia entre dos conceptos aparentemente no similares. Por ejemplo, para entender la primera de las anteriores sentencias, es necesario hacer dos cosas:

Escoger una propiedad clave de una montaña rusa, como “sube y baja rápidamente” Darse cuenta de que el viaje físico es en sí mismo una analogía para fluctuaciones numéricas (en la bolsa).

Esto es un caso fácil, en un amplio espacio de las posibles analogías, como la posibilidad de que “la bolsa es como una montaña rusa porque está hecha de metal”. Lkoff y Johnson se dieron cuenta de que el lenguaje habitual está lleno de analogías y metáforas como estas. Será muy difícil poder hablar con un programa que sea incapaz de comprender analogías y consecuentemente, difícil enseñarle. Por tanto, el razonamiento basado en analogías es un importante factor en el aprendizaje a través de consejos. También es importante aprender durante la resolución del problema. Los humanos resuelven a menudo problemas haciendo analogías con cosas que ya saben hacer. Este proceso es más complejo que el de ir almacenando macro procesos porque el problema primitivo debe ser bastante diferente del nuevo problema en la superficie. La dificultad aparece en la determinación de las cosas que son similares y las que no lo son. Ahora presentaremos los métodos de resolución de problemas por analogía denominados transformaciones y derivacional. Analogía transformacional Supóngase que se plantea probar un teorema de geometría plana, por lo que se tendría que buscar un teorema previo que fuera muy similar y “copiar” su demostración, haciendo sustituciones cuando sea necesario. La idea es transformar la solución de un problema previo en una solución para el problema que nos ocupa, como se ilustra en la figura 21 y 22:

72

Page 93: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 73

Problema Problema nuevo resuelto previamente

Solución al Solución al problema problema nuevo antiguo

Fig. 21. Analogía Transformacional Y B C N D E O R A Demostración antigua: Demostración nueva: RO----NY (DADO) BAC DAE

Fig. 22. Muestra un ejemplo de Analogía Transformacional En la figura 23 el programa ha visto demostraciones acerca de punto y segmentos lineales; por ejemplo, conoce una prueba de que el segmento lineal RN es exactamente tan largo como el segmento lineal OY, dado que RO es tan largo como NY. Ahora el programa tiene que probar un teorema sobre ángulos, concretamente que el ángulo BD es equivalente al ángulo CE, dado que los ángulos BC y DE son equivalentes. La comprobación acerca de los elementos lineales se recupera y se transforma en una comprobación para ángulos sin más que sustituir las nociones de línea por la de punto, ángulo por segmento lineal, AB por R, AC por O, AD por N, y AN por Y. Carbonell describe un método para transformar viejas soluciones en otras nuevas, en donde todas las soluciones se toman como estados en un espacio del problema llamado espacio “T” (T space). Los operadores (T Operators) sugieren los métodos para transformar soluciones (estados) en otras soluciones. El razonamiento por analogía se convierte en una búsqueda en el espacio “T”; partiendo de una solución antigua, utiliza un análisis de medios y fines o algún otro método para buscar una solución para el problema actual.

Page 94: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

74 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Analogía derivacional Nótese que la analogía transformacional no mostraba cómo se resolvía el problema primitivo, sólo enseñaba la solución final. A menudo las peculiaridades involucradas en la resolución de un problema antiguo son relevantes para resolver el nuevo, por lo que se hace necesario considerar el historial detallado del episodio de resolución del problema llamado derivación. Al razonamiento por análoga que toma este historial para resolver el nuevo problema se le llama analogía de derivación.

74

Problema Problema nuevo Resucito previamente Derivación Derivación nueva antigua

Solución al Solución al problema problema nuevo antiguo

Fig. 23. Analogía Derivacional Carbonell reivindica que la analogía derivacional es un componente necesario en la transferencia de habilidades en dominios complejos. Por ejemplo, al codificar en “C” una eficiente rutina de clasificación que se puede recodificar la misma rutina en Lisp. Una traducción línea por línea no es apropiada, en cambio se deberán reutilizar las principales decisiones estructurales y de control que se tomaron al construir el programa original. Una manera de modelar este comportamiento es tener un resolutor de problemas que se “repita” la derivación previa y que la modifique cuando sea necesario. Si las razones y suposiciones originales para la existencia de un paso permanecen todavía en el nuevo problema, el paso se copia encima. Si alguna suposición no es válida a la larga, se debe buscar otra. Sino se puede buscar ninguna, se puede intentar buscar una justificación para alguna de las alternativas almacenadas en la derivación del problema original. O puede intentar algún paso señalando como el que conduzca a un fallo en la derivación original, si las razones para las condiciones de fallo no son válidas en la derivación actual. La analogía en la resolución de problemas supone un área extensa para investigar. Véase Hall (1989) para examinar trabajos recientes. 5.4.4 DESCUBRIMIENTO El descubrimiento es una forma restringida de aprendizaje en la que una entidad adquiere conocimiento sin la ayuda de un instructor. Sin embargo, algunas veces, no existe nada en el mundo que posea el conocimiento que se busca. En este caso, el tipo de acción que se debe llevar a cabo se llama “descubrimiento científico”. Para comprender mejor lo que es el aprendizaje por descubrimiento, vamos a mostrar el siguiente ejemplo de un tipo de sistema automático de descubrimiento: AM: Descubrimiento conducido por teorías Lenat en 1977 escribió un programa que llamó “AM”, el cual usa conceptos básicos de la teoría de conjuntos para descubrir una gran cantidad de cosas sobre la teoría estándar de números. AM utilizó una variedad de técnicas de la Inteligencia Artificial de propósito general. Empleó un sistema de marcos para representar los conceptos matemáticos. Una de las actividades más importantes de AM es crear nuevos conceptos y rellenar sus ranuras. AM también utiliza la búsqueda heurística guiada por un conjunto de 250 reglas heurísticas que representan indicaciones acerca de actividades que probablemente servirán de guías para alcanzar descubrimientos “interesantes”. Algunas de las heurísticas de AM se presentan a continuación:

Page 95: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 75

Si f es una función de A en B, y B está ordenado, entonces considerar los elementos de A que se corresponden con los elementos extremos de B. Crear un nuevo concepto que represente este subconjunto de A.

Si algunos (pero no la mayoría) de los ejemplos de algún concepto X también son ejemplos de otro concepto Y, crear un nuevo concepto que represente la intersección entre X e Y.

Si se encuentran muy pocos ejemplos de un concepto X, entonces añadir a la agenda la tarea de encontrar una generalización de X. Utiliza “generación-y-prueba” para formar hipótesis basadas en un pequeño número de ejemplos y entonces probar la hipótesis con un conjunto más amplio para ver si todavía parecen buenas. Finalmente, una agenda controla el proceso global de descubrimientos. Cuando las heurísticas sugieren una tarea, ésta se sitúa en una agenda central, junto con la razón que la ha sugerido, y la fuerza con que ocurre AM funciona cíclicamente, cada vez elige de la agenda la tarea más prometedora y la ejecuta. En una ejecución, AM descubrió el concepto de los números primos. ¿Cómo lo hizo? Al encontrarse con los números naturales, AM exploró operaciones como la suma, la multiplicación y sus inversas. Creó el concepto de divisibilidad y se dio cuenta de que algunos números tenían muy pocos divisores. AM tiene una heurística interna que le dice que explore los casos extremos. Intenta listar todos los números que no son divisibles por nadie (no encuentra ninguno), con un divisor (encuentra uno: 1) y con dos. A AM se le dio como instrucción que llamara al último concepto “primos”. Antes de seguir la pista a este concepto, AM procedió a listar los números con tres divisores, como el 49. AM intentó relacionar esta propiedad con otras del 49, como la de ser impar y cuadrado perfecto. AM generó otros números impares y otros cuadrados perfectos para probar sus hipótesis. Un efecto lateral en la determinación de la equivalencia de los cuadrados perfectos con los números con tres divisores fue la elevación de “interés” del concepto de divisor. Esto hizo que AM investigara maneras en las que un número se puede descomponer en factores. AM vio que sólo había una manera descomponer un número en factores primos (conocido como el Teorema de Factorización Única). Como la descomposición de los números en componentes multiplicativos resultaba ser interesante, AM decidió, por analogía, intentar lo mismo con los componentes aditivos. Hizo varias conjeturas sin interés, como la de que cada número se podía expresar como suma de 1’s. Pero también encontró fenómenos interesantes, como el de que muchos números de podían expresar como suma de dos primos. A base de listar casos, AM determinó que todos los números mayores o iguales a 2 tenían esta propiedad. Esta conjetura, conocida como la “Conjetura de Goldbach”, se cree que es cierta, aunque no se ha encontrado todavía una prueba matemática de ello. AM contiene gran cantidad de heurísticas de propósito general como las que se han utilizado en este ejemplo. A menudo, distintas heurísticas apuntan al mismo sitio. Por ejemplo, mientras que AM descubrió los números primos usando una heurística que implicaba contemplar casos extremos, otro modo de derivar los números primos es utilizar las dos reglas siguientes: Si hay una fuerte analogía entre A y B, pero hay una conjetura acerca de A que no se encuentra en ninguno de los elementos de B, se define un nuevo concepto que incluya a los elementos de B para los que sí se dé. Si hay un conjunto cuyo complemento es mucho menos común que él mismo, entonces se crea un nuevo concepto que represente a ese complemento. Hay una fuerte analogía entre la suma y la multiplicación de números naturales. Pero la analogía se echa a perder cuando se observa que todos los números naturales mayores que 1 se pueden expresar como la suma de dos números naturales más pequeños (excluyendo a la identidad). Esto no es cierto para la multiplicación. Entonces, la primera heurística descrita anteriormente sugiere la creación de un nuevo concepto que represente el conjunto de los números compuestos. Mientras que, la segunda heurística sugiere crear un concepto que represente el complemento de aquéllos, a saber, el conjunto de los números primos. Hay dos preguntas primordiales que surgen sobre el funcionamiento de AM. Una es: “¿Por qué AM siempre se desconectaba?” Esto es, ¿por qué AM no descubría nuevos hechos acerca de números, hechos posiblemente desconocidos para las matemáticas humanas?. Lenat (1983) sostiene que el funcionamiento de AM estaba limitado por la naturaleza estática de sus heurísticas.

Page 96: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

76 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

76

Como el programa progresaba, los conceptos con los que trabajaba evolucionaban partiendo de los conceptos iniciales, mientras que las heurísticas con las que se podía trabajar sobre estos conceptos permanecían iguales. Para remediar este problema, se sugirió que se trataran las heurísticas como conceptos en toda regla que se podían crear y modificar por parte de las mismas clases de procesos (como la generalización, especialización y analogía) como si fueran conceptos del dominio de la tarea. En otras palabras, AM funcionaría en modo descubrimiento en el dominio de las “heurísticas”, es decir, en el estudio de las heurísticas en sí mismas, al igual que lo hace en el dominio de la teoría de números. Con esta idea en mente, se diseño una extensión de AM llamada EURISKO (Lenat 1983). Otra pregunta era: “¿Por qué AM trabaja tan bien como lo hacía?”. Una causa de la potencia de AM era su amplia colección de heurísticas con las que se consideraban cosas interesantes. Pero AM tenía otra causa menos obvia, la relación natural entre conceptos teóricos de los números y sus representaciones compactas en AM. El sistema trabaja sintácticamente variando viejas definiciones de conceptos –esencialmente almacenados como cortos programas en LISP- con la esperanza de encontrar nuevos e interesantes conceptos. Resulta que una variación o mutación en un pequeño programa de LISP muy probablemente da lugar a otro programa de LISP bien formado y justificado. Esto da cuenta de la importante habilidad de AM para generar algunos conceptos nuevos. Pero mientras que los humanos interpretan a AM como un explorador de la teoría de números, en realidad estaba explorando el espacio de los pequeños problemas de LISP. AM tuvo éxito debido en gran parte a esta íntima relación entre la teoría de números y los programas de LISP. Los problemas aparecieron cuando se aplicaron AM y EURISKO a otros dominios, incluyendo el del estudio de las heurísticas en sí mismas. En estos dominios, los conceptos eran más grandes y complejos que los de la teoría de números y la sintaxis del lenguaje de representación no era una imagen tan cercana a la semántica del dominio. Como resultado, la mutación sintáctica de la definición de un concepto casi siempre daba lugar a un concepto mal formado o inútil perjudicando de forma importante el procedimiento de descubrimientos. Puede que la moraleja de AM sea que el aprendizaje es un asunto complicado. Se debe ser cuidadoso a la hora de interpretar lo que están haciendo nuestros programas. AM tiene implícita una predisposición para el aprendizaje de conceptos en la teoría de números. Sólo después de haber reconocido explícitamente esta predisposición fue posible entender por qué AM funcionaba tan bien en un dominio y tan mal en otros.

5.5 HERRAMIENTAS QUE FACILITAN EL APRENDIZAJE Ayudas para la adquisición de conocimiento La adquisición de conocimiento para un Sistema Experto consiste de tres etapas:

Ingresar datos o conocimiento al sistema. Evitar errores en los datos o conocimiento. Depurar el conocimiento para lograr un buen desempeño del sistema.

Experiencias con estas tareas han guiado el desarrollo de técnicas y ayudas computarizadas como asistentes en el proceso de adquisición de conocimiento. Estas herramientas para la adquisición del conocimiento pueden ser divididas dentro de tres categorías: Editores e interfaces de la base de conocimientos, facilidades de explicación, y Revisión de la base de conocimientos. Editores e interfaces de la base de conocimientos Un editor de conocimientos es una herramienta para la adquisición de conocimiento, pues facilita la tarea de ingresar conocimiento al sistema y disminuye la posibilidad de tener errores. Algunos editores han sido creados para evitar las fallas que pueden ocurrir cuando se construye o modifica una base de conocimientos. Se han creado editores sofisticados con funciones específicas para la detección de errores, como el ayudar al usuario a darse cuenta de errores de máquina y errores sintácticos, además de checar la consistencia e inconsistencia semántica entre el nuevo elemento introducido y la información contenida en base de conocimiento.

Page 97: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 77

Un buen editor puede hacer la diferencia entre sucesos correctos o incorrectos durante la adquisición de conocimiento. Los mejores editores de bases de conocimientos proveen al usuario interfaces que facilitan la introducción y el despliegue de información convenientemente. Editores en sistemas tal como: EMYCIN e INTERLISP tienen importantes funciones como identificar el punto de la edición incorrecta o notificar cambios permanentes en la base de conocimientos y que requiera información relevante para ello. Cuando una regla es creada o modificada en EMYCIN la hora, la fecha y el usuario son recordados y almacenados junto con la nueva regla, haciendo eso posible para determinar después quien es el usuario del sistema que está respondiendo “X” dato en la base de conocimientos. En general estos sistemas ayudan al usuario a detectar errores de máquina y sintácticos; además de que son capaces de entender la sintaxis del lenguaje del Sistema Experto que se esté utilizando. Facilidades de explicación Los Sistemas Expertos necesitan la habilidad para explicar el razonamiento que guía las soluciones de problemas para ayudar al experto e ingeniero de conocimientos a perfeccionar y mejorar los sistemas. Tal explicación sugiere cambios apropiados en la base de conocimientos para clarificar los pasos en la solución de problemas que guía a una respuesta incorrecta y los elementos en la base de conocimientos que produce los resultados incorrectos. Varios sistemas de explicación especializada han sido construidos como herramientas para Sistemas Expertos entre ellos KAS, EXPERT y EMYCIN. En EMYCIN este tipo de explicación facilita, junto con un editor la revisión y adición de reglas, que produce un sistema interactivo para análisis y refinamiento de la base de conocimientos. Revisión de la base de conocimiento Al introducir nuevo conocimiento y alterar el existente se pueden crear contradicciones en la base de conocimientos por lo que se deben identificar las inconsistencias generadas. Para realizar esta función existen programas orientados a la verificación de la “consistencia semántica” y a la “comprobación automática” que ayudan a detectar inconsistencias entre las nuevas versiones de la base de conocimientos. Por ejemplo, para ayudar a corregir errores, TEIRESIAS primero sugiere que tipo de regla será correcta para el problema percibido y después ofrece escribir una forma específica de la regla, en la suposición de que la nueva regla tenga que aplicarse para el caso en el cual el problema fue notificado. Así seguirá el chequeo con el usuario para ver si la regla especificada es la ideal y ofrece la usuario una oportunidad para hacer el cambio. Si el usuario edita la regla TEIRESIAS une la nueva regla con la anterior y es derivado internamente un nuevo modelo con otras reglas similares para checar la consistencia y complementos, finalmente recomienda la nueva regla en la sintaxis correcta y con valores asociados con todos los parámetros necesarios. “Comprobación semántica” es otro método para elegir una apropiada revisión de la base de conocimientos como la comprobación del sistema ante un gran número de problemas para determinar un impacto general de la revisión. La revisión resultante valida el rendimiento total que quizá después sea implementado. EXPERT y EMYCIN proveen tales facilidades. TEIRESIAS permite traer habilidades para referirse a algunos ejemplos de problemas que producirán el conocimientos requerido. Dada una regla inicial establecida, representando un prototipo de Sistema Experto, TEIRESIAS corre las reglas archivadas en problemas e invita a los expertos a criticar el resultado. Nuevas reglas o reglas modificadas, propuestas por el experto son controladas para la consistencia y coherencia, usando modelos de reglas. Esto es esencialmente generalizando acerca de los tipos de reglas que son encontradas en la ejecución. TEIRESIAS tiene metareglas, las cuales se refieren a los atributos de niveles de objeto de las reglas, en lugar de referirse a otras reglas directamente. Tales reglas pueden proponer que en algunas circunstancias es mejor investigar ciertos parámetros difíciles y después tratar otros. También existen facilidades para ayudar a un experto a agregar una nueva instancia de un tipo de datos, errores que comúnmente ocurren con esta tarea es que dan a la estructura una nueva instancia. Una abstracción de datos usada para guiar la creación de instancias es llamada un esquema. Los esquemas son descripciones de tipos de datos, ellos pueden estar organizados dentro de una jerarquía, donde cada esquema hereda los atributos asociados con sus superiores y tiene atributos propios. TEIRESIAS distingue entre tres niveles de generalidad que son:

Page 98: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

78 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

78

Dominio - específico: Conocimiento acerca de objetos de datos; Representación - específica: Conocimiento acerca de tipos de datos; Representación - independiente: Conocimiento acerca de las declaraciones.

Usa un número de facilidades para controlar la conducta de una regla establecida, suministradas por el shell EMYCIN:

EXPLICAR (EXPLAIN): Después de cada consulta una explicación concisa es suministrada, la cual dice la usuario cómo se llegó a la conclusión.

PRUEBA (TEST): El experto puede comparar la respuesta de la última corrida del programa con los resultados correctos archivados y explorar las diferencias.

EXAMEN (REVIEW): El experto puede examinar las conclusiones del sistema en una librería de los objetos archivados. OPAL intenta suministrar la adquisición de estrategias, las cuales son guiadas por el dominio del conocimiento, intenta encubrir para el usuario mucho de los detalles de cómo el conocimiento es representado y desplegado. OPAL no es un programa de propósito general, sin embargo, usa conocimiento acerca de un dominio particular de aplicación para provocar planes de tratamientos para lo cual las reglas de decisión pueden ser generadas. OPAL facilita la adquisición de conocimiento brindada al Sistema Experto ONCOCIN, el cual construye planes de tratamiento para pacientes con cáncer. En esta situación se hace uso de un modelo de dominio para adquirir conocimiento directamente de un experto vía una interfase gráfica. Este también usa conocimiento de dominio para traducir la información adquirida a la terminal dentro del código ejecutable, tal como producir reglas y declarar tablas finitas. ONCOCIN emplea tres diferentes formas de representación de conocimiento:

Una jerarquía de objetos.- Representa protocolos y sus componentes, así como medicamentos. Producción de reglas.- Unidas a estructuras que concluyen los valores de parámetros médicos durante el plan

refinado. Declaración de tablas finitas.- Representan secuencias de terapias a ser administradas sobre tiempo.

Los modelos de dominio de OPAL tienen cuatro aspectos principales que fueron derivados usando análisis ontológico:

Entidades y Relaciones Acción del dominio Predicados del dominio Conocimiento procedural.

OPAL usa un modelo de dominio para permitir y desplegar conocimiento acerca de planes de tratamiento vía una variedad de representaciones visuales, tales como iconos que se colocan para los elementos de los planes, formas gráficas para ser llenadas con información acerca de medicamentos y un lenguaje visual para representar el procedimiento de aspectos del tratamiento. No requiere usar o tratar con detalles la implementación, tales parámetros médicos son referenciados por acciones en el trabajo interno de ONCOCIN. La adquisición de conocimiento procedural se facilita por un lenguaje de programación visual. La interfase gráfica permite al usuario el crear iconos permanentes para elementos del plan, arreglar estos en una estructura gráfica para posicionar estos elementos y dibujar conexiones entre ellos. El usuario puede crear cuadros con los que simula el control de flujo de lenguaje de programación convencional.

5.6 APLICACIONES ORIENTADAS AL APRENDIZAJE Escenario para la adquisición de conocimiento El siguiente escenario idealizado presenta algunos importantes pasos de la ingeniería de conocimiento típicamente desarrollados durante la evolución y desarrollo de un Sistema Experto.

Page 99: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 79

Se presenta la solución de un problema. Ejemplo la identificación de derrames químicos y sus fuentes de origen de la ORNL (Laboratorio Nacional del Centro de Roble). El director de la ORNL estudia el problema, las cantidades descargadas de aceite y otros químicos en el agua de los E.U. con estas descargas se violan los estándares establecidos de calidad. ORNL tiene aproximadamente 200 instalaciones de gobierno, con 93 descargas en diferentes sitios. El problema es detectar con un monitor el contenido de los derrames de esos materiales. El editor de la ORNL trata con la cabecera de la división química, son estos los que deciden que es necesario un sistema de cómputo, elaborado por gente experta familiarizada con la detección de derrames y contaminantes. Se elige a una persona que tiene experiencia en la construcción de sistemas de este tipo, quien es fundador de la división de ciencias computacionales y la construcción de Sistemas Expertos para tratar con derrames químicos y aceites, es asignado como el ingeniero de conocimiento encargado de solucionar el problema. El primer paso del ingeniero de conocimiento es familiarizarse con el problema y dominio, esto incluye la localización de la fuente de información experta a través de visitas a sitios, y leer lo más posible del problema. Platica con la gente familiarizada en derrames de aceite, para obtener reportes y artículos también relacionados. Finalmente el ingeniero de conocimientos busca en la división de químicos a un experto para colaborar en la construcción del sistema definido. Cuando el problema ha sido adecuadamente definido, el ingeniero comienza a determinar los principales conceptos de dominio, estos serán requeridos durante las tareas de construcción. El ingeniero adquiere numerosos conceptos y métodos de los expertos, por lo que al final del periodo tiene los principales conceptos, las relaciones y las definiciones necesarias del problema y sus soluciones. Después de buscar el conocimiento el ingeniero hace una lista de las estrategias básicas que los expertos usan cuando ejecutan la tarea, tales como los factores que usan los expertos para hacer una conjetura inicial acerca de algunas bases de información tentativa; como hacen los expertos para determinar que respuesta se usa para definir las conjeturas, en que orden los expertos persiguen cada importante subtarea y si ese orden varia de acuerdo al caso. Cuando estas dos formas de conocimiento son acopladas, constituyen la llamada “estructura de inferencia” del sistema experto. Esta estructura de conocimiento señala:

Que tareas y términos de consulta están determinados y las indicaciones de conocimiento estratégico. Como y cuando el Sistema Experto es establecido con ello.

En resumen el ingeniero de conocimiento hace las listas para las justificaciones de la asociación de términos y los métodos estratégicos que el experto utiliza cuando resuelve un problema. Estos apuntes son importantes no solo para él, sino para clasificar y mantener una adecuada documentación del sistema. Durante la conceptualización se formaliza el conocimiento, empezando a escogerlo y eligiendo la mejor arquitectura para organizar el conocimiento. En los elementos se incluye el modelo, las herramientas y el medio ambiente de programación particular para tal aplicación. Con estos componentes el ingeniero tiene que determinar las estructuras y los procesos de decisión involucrados. Estas y otras características del problema son sugeridas al utilizar un lenguaje basado en reglas, donde se determinan los árboles de búsqueda y las entradas y salidas asíncronas que son parte esencial del sistema. Los shells que se pueden utilizar son el EMYCIN, KAS, ROSIE y el OPS5 o un experto de reglas externas, estas pueden restringir las estructuras de control que son insuficientes para las preguntas. Protos: una base de ejemplares aprendiz aprendiendo El sistema “Protos” es una aplicación de aprendizaje para la clasificación heurística. Aprovecha el aprendizaje inductivo y deductivo para la solución de problemas. Además, el método de inferencia cuenta con un amplio estudio en aprendizaje de la máquina, mediante el soporte de retención, indexación y equivalencia de ejemplos. Aprendiendo y razonando ejemplos es una alternativa, que implica recordar e indexar instrucciones específicas del caso. En contraste, el aprendizaje inductivo generaliza instrucciones específicas del caso razonando una descripción abstracta y al deducir un nuevo caso es sometido por la descripción abstracta.

Page 100: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

80 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

La principal meta de “Protos” es desarrollar un mecanismo general para adquirir la clasificación del conocimiento mientras provee una asistencia interactiva al usuario.

5.7 CONSTRUCCIÓN DEL MECANISMO DE APRENDIZAJE Los sistemas de aprendizaje inductivos sirven para construir un mecanismo de aprendizaje que nos responda las siguientes preguntas:

¿ Qué es lo que se debe aprender ? ¿ Cuáles ejemplos son más útiles ? ¿ Qué atributos del problema son los más relevantes ?

El aprendizaje por inducción basado en conocimiento debe ejecutar las siguientes funciones:

Seleccionar los ejemplos para la inducción sin intervención del usuario. Determinar donde el conocimiento hace falta, es decir, es incompleto e inducir las consecuencias de ambos y

los antecedentes de las nuevas reglas. La participación de eventos de clase para evitar la sobregeneralización de nuevas reglas.

Existen salidas que los sistemas combinan y técnicas empíricas que debe aprender durante el aprendizaje:

Que conocimiento será usado para identificar donde hace falta el conocimiento. Cuales son los ejemplos mas relevantes para el problema. Cuales son los atributos del problema que son mas relevantes.

Aprendizaje inductivo basado en conocimiento En la adquisición del conocimiento manual, el experto evalúa los resultados del motor de inferencia para depurar la base de conocimientos. El motor de inferencia genera un evento para el sistema de aprendizaje con el problema que no puede ser resuelto. KBL es un sistema que usa ejemplos proporcionados por el experto y el conocimiento lo representa en forma de reglas. Las reglas de conocimiento pueden ser obtenidas por términos de adquisición de conocimiento manual o por consultas del experto con el sistema de adquisición de conocimiento de la Figura 24: Reglas Motor de inferencia Conocimiento

80

Reglas Problema Regla Reglas sin resolver inducida Ejemplo KBL Ejemplo Experto Ejemplo Ejemplos

Fig. 24. Proceso del KBL

Page 101: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 81

El proceso de KBL comienza con un problema, donde el motor de inferencia no puede resolverlo usando el conocimiento disponible. El problema es un conjunto de hechos y una meta no instanciada. KBL primero construye un árbol de pruebas parciales para guiar el proceso de aprendizaje. El proceso de la inducción puede reparar una regla existente o inducir una nueva para que el motor de inferencia sea capaz de resolver el problema que previamente no había podido resolver. El KBL requiere los siguientes elementos de entrada:

Conocimiento de dominio incompleto. Un conjunto de ejemplos sin solución. Un lenguaje que identifique el número de argumentos para cada predicado y el tipo de argumentos validos. Un problema que no puede ser resuelto con el conocimiento incompleto del dominio.

La inducción es guiada por el árbol de prueba parcial en la mayoría de las partes de KBL, pero los problemas resueltos requieren tener varias pruebas parciales. La inducción de reglas estructuradas es una técnica heurística para guiar la inducción y con ello generar las pruebas parciales. El proceso de inducción usa heurísticas seleccionadas del árbol que prueba para seleccionar los ejemplos relevantes apropiados para las reglas de inducción. Inducción por reglas estructuradas La inducción por reglas estructuradas (RSI) nos permite determinar donde el conocimiento hace falta desde la teoría de dominio y así construir un árbol de prueba parciales. Libera a la base de conocimiento para determinar la localización más adecuada para aprender de la regla estructurada.

La meta es generalizar la base de conocimientos mientras que el problema es resuelto. Las reglas seleccionadas para la generalización, tienen la mayoría subtemas a satisfacer y requieren de una pequeña inducción para permitir cumplir las submetas que componen el problema. La inducción de reglas estructuradas es guiada por las siguientes metas:

Para usar el contexto del problema: El contexto es un aspecto importante de los problemas que norma la construcción de nuevas reglas o modifica las actuales.

Para generar la base de conocimientos tan pronto como sea posible resolver el problema actual. Aprovechar el conocimiento existente en las reglas para generalizar o especializar las existentes antes de

agregar una nueva. Asignando valores de bondad heurísticos Para ejecutar una regla de inducción estructurada, se debe asignar un valor numérico a cada regla indicando la cantidad de generalización requerida para cada problema dado. La generalización es una superclase, que se crea a partir de una serie de eventos y que de lo particular logra una generalización (inducción). Los cuatro factores para calcular el valor numérico que se le asigne a la regla son los siguientes:

Números de subtemas integrantes del problema actual: Si varios antecedentes de las reglas son iguales con los atributos del problema actual.

Números de predicados de los subtemas no son iguales con los argumentos: En este caso los atributos en las reglas son presentados en el problema, pero sus valores no son iguales a los valores en los antecedentes. Por ejemplo el término del antecedente puede ser (peso 5) pero la descripción del problema tiene (peso 3).

Número de subtemas de predicados no son iguales. Un predicado que no puede ser encadenado con otro predicado o predicado primitivo (el predicado primitivo es un conocimiento base con lo que se parte cuando el Sistema Experto es creado). Cuando el predicado primitivo no puede ser ligado a cualquiera del problema actual, la técnica de generalización permite que la regla pueda desechar las reglas que le antecedieron. Para esta situación existen dos opciones: Crear una nueva regla para la meta, y Generalizar una regla en la estructura para está meta. Las reglas estructuradas pueden ser aplicadas a una submeta, para determinar si uno de los niveles de las reglas necesita o no ser modificado. El sistema investiga, en lo más interno dentro de la estructura para hacer una generalización apropiada.

Page 102: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

82 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Preferencia para generalizar reglas grandes. Las reglas con muchas submetas son más especificas que aquellas con pocas submetas. Para minimizar el impacto de la generalización el sistema de aprendizaje debe trabajar con reglas que no san semejantes para no encontrar inconsistencias en el conocimiento que se esta suministrando. Consideraciones globales para la generalización El sistema debe considerar como van a cambiar las reglas en un nivel, de tal forma que no afecte el rendimiento de las reglas en el sistema, para ayudar a evitar este problema el sistema busca el posible cambio y determina la mejor alternativa. Está es una búsqueda hacia un árbol AND/OR, para la ruta que satisfaga el nivel alto de la meta pero que requiera el menor número de modificaciones a la base de conocimientos. Las reglas pueden ser utilizadas para probar las metas, dónde solamente una de las cuales es requerida, cada regla consiste en un número de antecedentes, cada uno de los cuales debe ser probado por la regla de la meta. El sistema identifica donde el conocimiento hace falta, busca las reglas en la base de conocimiento para encontrar la prueba que complete la regla. El sistema escoge las reglas para generalizar, basándose en parámetros provistos por el usuario. Estos valores determinan la preferencia por los diferentes métodos de extensión de la base de conocimientos, cuando el encadenamiento falla, ocurre que el sistema aplica el aprendizaje para la submeta errónea. Si los valores para las reglas de las submetas están por debajo de 0.75 entonces el sistema no debe intentar modificar a las reglas existentes. Los valores de lo parámetros indican que ninguna de las actuales podrán solucionar el problema. Proceso de inducción Con el sistema de aprendizaje empírico, el usuario debe remplazar los ejemplos de atributos relevantes del sistema, en el módulo de inducción de KBL se seleccionan los ejemplos relevantes basados en un árbol de prueba parcial determinados por las reglas estructuradas y la base de conocimientos para enfocar a los atributos más que a la importancia del problema. También debido a la representación, el sistema debe descubrir las consecuencias de las reglas para inducir los antecedentes, las reglas indicadas por KBL tiene la siguiente forma.

(PRED1 ? X ? Y) ← TESTS (= ? Y VALUE)

El modelo encuentra PRED1, y el modulo de inducción debe determinar VALUE. La razón del cambio en PRED1 es para colocar el ?Y a VALUE. El algoritmo de inducción descubre la consecuencia de la regla al colocar VALUE a un valor de una constante o a una formula usando otra variable de liga. La porción TESTS de la regla define la condición que debe ser verdadera en el actual contexto para aplicar la regla de la Figura 25: (Foo ? x)

82

(a1 ?y) (b ?z) (c ?x) (a1 ?y) (a2 ?y) (b1 ?w) (b2 ?z) (a1 5) (a2 5) (b1 10) ? ? ?

Fig. 25. Árbol de pruebas parcial determinado por el RSI Colección de atributos relevantes Los problemas en el mundo real pueden tener muchos atributos, el sistema debe aprovechar los más relevantes para alcanzar la meta. En el aprendizaje empírico tradicional, los sistemas utilizan todos los atributos, el enfocarse en los atributos relevantes ayuda al sistema a producir resultados sensibles, también reduce el espacio del problema.

Page 103: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 83

Como muchos atributos son utilizados en la inducción para una nueva regla, más ejemplos necesitan ser usados para identificar el área hacia afuera de la nueva regla. Los atributos relevantes pueden ser identificados de la siguiente manera, por el conocimiento que puede ser suministrado indicando que atributos son más semejantes, los cuales sean útiles para inducir las reglas para un predicado. El sistema KBL investiga para otras reglas con el mismo predicado y sus consecuencias como una submeta. Ahora el sistema se enfoca en los atributos usados por estas para analizar si los atributos de la nueva reglas son tomados o no en cuenta para guardarse en la base de conocimientos. Reglas de consecuencia Después de que el sistema calcula las soluciones de las metas de cada ejemplo, ahora ya las consecuencias de las regla pueden ser determinadas. Si una variable no está ligada con algún valor, podrá este valor ser asignado con una constante para que la tarea sea más sencilla. Los eventos son particionados en clase para cada valor visto, esto crea reglas específicas. El módulo de inducción debe descubrir la relación entre el valor faltante y las otras variables. El sistema busca la propiedad de la expresión que será colocada en la consecuencia de la regla: constante, variable o fórmula matemática. Un conjunto de ejemplos son construidos en base a diferentes expresiones. Los ejemplos para cada participación pueden actuar como el elemento faltante para las clases durante la inducción. Inducción de nuevas reglas Con los ejemplos particionados y las consecuencias conocidas para las reglas de cada partición, el sistema está listo para inducir los antecedentes. Un aprendizaje empírico tradicional a partir de un sistema de ejemplos puede ser usado para inducir las condiciones apropiadas para disparar las nuevas reglas. El sistema de inducción podrá producir reglas específicas en lugar de generales. El sistema puede detectar que son reglas específicas cuando construyen el árbol de prueba parciales y después generaliza estas reglas. Para detectar que hay demasiadas reglas generales, debe indicarse un resultado incorrecto o el sistema buscará las contradicciones entre las reglas existentes y los ejemplos proporcionados.

5.8 EVALUACIÓN DEL MÓDELO DE APRENDIZAJE Principios básicos de la teoría de aprendizaje El aprendizaje tradicionalmente ha sido caracterizado como un mejoramiento en la conducta gracias a la experiencia. Para construir un sistema de aprendizaje se necesita entender en términos computacionales, cual es el comportamiento para poder obtener una respuesta en base a una experiencia dada. La teoría de la inferencia del aprendizaje asume que el aprendizaje es un proceso basado en metas que mejoran el conocimiento de aprendiz, explorando la experiencia de aprendiz y el conocimiento anterior que tiene este. La búsqueda puede emplear cualquier tipo de inferencia, deductiva, inductiva o por analogía. Esto envuelve al conocimiento de fondo. En cada acto de aprendizaje el aprendiz, analiza la entrada de información en términos de su conocimiento de fondo y sus metas, esto es llevado acabo mediante varias inferencias. Para generar el nuevo conocimiento el aprendizaje determina si el nuevo conocimiento satisface la meta. Las metas de aprendizaje (sistema de metas) son definidas por el funcionamiento del sistema, en el cual opera. El nuevo conocimiento puede construirse por deducción del conocimiento anterior del aprendiz. El nuevo conocimiento es llamado intrínseco si no es deducido del anterior del aprendiz y la entrada de información puede ser derivada por una fuente externa, un maestro u observación, o generado por inducción, analogía o deducción del contingente. Un concepto pragmático nuevo es aquel que no puede ser obtenido por deducción del conocimiento anterior, usando los recursos computacionales disponibles en tiempo y espacio. Este conocimiento pragmático nuevo del derivado depende de la validez del conocimiento de fondo. El conocimiento derivado es verdadero si las premisas son verdaderas. La teoría asume que cualquier segmento o modulo del conocimiento del aprendiz tiene tres aspectos: Contenido: Es el que liga la representación del conocimiento, es declarativo en base a oraciones, las cuales representan el segmento de conocimiento y son utilizadas en el calculo de predicados.

Page 104: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

84 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

84

Organización: Es reflejada por la estructura de la representación del conocimiento y determina la manera en la cual el segmento de conocimiento es usado (el orden en el cual los componentes de las expresiones lógicas son evaluadas). Certeza: Es el grado en que el aprendiz creé que este particular segmento es verdadero, es una medida subjetiva de la validez del conocimiento, es de hacer notar que la organización diferente del conocimiento puede facilitar la realización de las diferentes tareas sin cambiar la capacidad potencial y el funcionamiento de ellas. La totalidad de cambios en el conocimiento del aprendiz queda determinada por los cambios realizados en el contenido, su organización y la certeza del conocimiento. Un agente tiene que poseer la habilidad de ejecutar la inferencia y de memorizar el conocimiento. La habilidad de memorizar el conocimiento sirve para reemplazar el conocimiento y el otro para grabar los resultados útiles de la inferencia, si no existieran estos dos componentes relacionados con la habilidad para almacenar y recuperar el conocimiento de la memoria, el aprendizaje no podría llevarse a cabo. La ecuación de aprendizaje está determinada de la siguiente manera:

APRENDIZAJE = INFERIR + MEMORIZAR

El doble rol de la memoria, uno como almacén del conocimiento de fondo y otra como deposito de resultados, es a menudo reflejada en la organización de los sistemas de aprendizaje, por ejemplo, en una red neural el conocimiento de fondo es determinado por la estructura de la red (número y tipo de unidades) y sus interconexiones por el peso inicial de las conexiones. El proceso de aprendizaje involucra la modificación a las reglas anteriores, así como la creación de nuevas. El espacio de conocimiento es definido por el lenguaje de representación del conocimiento y la disponibilidad de operadores de búsqueda. Los operadores de búsqueda son instanciaciones de la transmutación de conocimiento que un aprendizaje es capaz de ejecutar, las transmutaciones cambian varios aspectos del conocimiento, algunas de ellas generan nuevo conocimiento y otras solamente lo manipulan. Por lo tanto la transmutación puede emplear cualquier tipo de inferencia. Dada una entrada y un conocimiento de fondo el aprendiz debe generar inferencias, la meta del aprendizaje determina que parte del conocimiento anterior es relevante, cual tiene que ser adquirido y en que manera debe ser evaluado y cuando detener su aprendizaje. Existen dos metas de aprendizaje diferente:

Dominios independientes: Son llamadas así “tipo genérico de certeza en la actividad del aprendizaje independiente del tema a tratar”. Un ejemplo de una meta con dominio independiente es aquella que generalice una observación, para descubrir una corrección de hechos, encontrar una explicación a los hechos dados, adquirir un control del conocimiento para llevar a cabo algunas actividades, y formular conocimiento más eficientemente.

Dominios dependientes: Responden a la adquisición de conocimiento específico acerca del dominio. La importancia de las metas específicas es que elevan la multiestrategia de los sistemas de aprendizaje, las cuales pueden aprender diferentes tipos de conocimientos a partir de diferentes entradas. En resumen el aprendizaje es un proceso de conocimiento derivado de metas dependientes, usando información de fondo, tal proceso puede ser visto como una búsqueda de espacios usando transmutaciones. Tipos de inferencia Cualquier tipo de inferencia puede generar una parte de conocimiento que puede ser útil para ciertos propósitos. Una teoría completa de aprendizaje incluye una completa teoría de inferencias. La primera clasificación divide a la inferencia en dos tipos fundamentalmente: Deductiva e Inductiva. En la definición de estos tipos de inferencia, en un sentido convencional (como la lógica formal) no hay distinción entre la información que entra y el conocimiento de fondo. Pero si existe una distinción cuando se caracteriza para el proceso de aprendizaje. Desde el punto de vista del aprendiz, hay una diferencia entre el conocimiento que el aprendiz ya posee y la información que recibe de sus sentidos. Esta distinción es útil para los aspectos cognoscitivos del razonamiento y aprendizaje que conducen a una adecuada descripción del proceso de aprendizaje.

Page 105: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 85

Para definir estos tipos de inferencia se toma la siguiente descripción

P U BK = C Donde P es un subconjunto de oraciones llamadas premisas y BK es el conocimiento de fondo = denota el vinculo lógico y C son las oraciones llamadas consecuencias, con base en lo anterior se asume que P es lógicamente consistente en C. Lo anterior se puede interpretar como que P y BK son lógicamente vinculados a C, alternativamente C es una consecuencia lógica de P y BK. La inferencia deductiva de la consecuencia de C dado P y BK. La inferencia inductiva es una hipótesis de la premisa P dado C y BK. La deducción puede ser vista como una relación orientada hacia adelante y la inducción como desarrollo hacia atrás. La deducción es un proceso que determina la consecuencia lógica de un conocimiento dado, y su forma básica es preservar la falsedad (si C no es verdadera, entonces P no es verdadera). A su vez la inferencia inductiva se divide en generalización y abductiva, ambas inferencias difieren en el tipo de premisas que generan y el tipo de BK que emplean. La generalización inductiva produce una premisa P que es una generalización de C. P se caracteriza por un conjunto grande de entradas, las cuales son discretas por C. La generalización inductiva puede ser vista como una implicación tautológica con una traza había atrás. Por ejemplo la regla de especialización universal:

∀x P(x) → P(a) La derivación abductiva produce una descripción que se caracteriza por una implicación con una traza hacia atrás que representa al conocimiento del dominio. Si el conocimiento del dominio representa una dependencia causal, entonces la derivación abductiva produce una explicación causal. La inferencia también puede ser concluyente (fuertes) o contingentes (débiles). La inferencia deductiva concluyente (también llamada formal o demostrativa), produce consecuencias verdaderas de premisas verdaderas. La inferencia inductiva concluyente produce hipótesis que concluyen con las premisas vinculadas. La inferencia deductiva contingente produce consecuencias que puede ser verdaderas en algunas situaciones y falsas en otras, en esta la “verdad” persiste débilmente. La inferencia inductiva contingente produce hipótesis donde las premisas están ligadas débilmente, a estas persevera la falsedad fácilmente. Transmutaciones Las transmutaciones son una modulación del cambio en el conocimiento y puede ser vista como un agente en el espacio del conocimiento. Puede cambiar uno o más aspectos del conocimiento, en su contenido, organización y certeza. Las transmutaciones pueden generar intrínsecamente nuevos conocimientos, modificar el grado de certeza en algunos componentes del mismo, así como cambiar la organización de este. Formalmente una transmutación puede ser vista como aquella que contiene como argumentos una colección de sentencias (S) y un juego de entidades (E), así como un conocimiento de fondo (BK), con lo cual establecen un nuevo conocimiento (S´) y una nueva serie de entidades (E´) y un nuevo conocimiento de fondo (BK´).

T,S,E,BK S’,E,’, BK’ La distribución entre las transmutaciones está basada principalmente, en la generación de tipos de conocimiento, tipos de inferencia, así como en los métodos de derivación del conocimiento a partir de otro.

Page 106: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

86 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

86

En la actualidad son usadas diferentes transmutaciones, las cuales son asociadas con un solo tipo de inferencia. Por ejemplo la generalización y la aglomeración son dos tipos de transmutación, las cuales son asociadas o ejecutadas a través de la inducción. Otro tipo de transmutaciones son la abstracción y concreción las cuales son ejecutadas a través de la deducción. Una construcción importante de esta teoría, es que la observación de una transmutación puede ser agrupada en pares de operadores opuestos, estos operadores pueden cambiar el conocimiento en una dirección conceptualmente opuesta. Cada par de transmutaciones puede de este modo ejecutarse en una operación bidireccional con el conocimiento. Existe doce grupos de transmutaciones diferentes, los cuales serán descritos a continuación. Los primeros nueve representan transmutaciones, que encajan en la categoría de generación del conocimiento y los demás grupos orientados hacia la manipulación del conocimiento. Generalización/Especialización Las transmutaciones por generalización extienden la referencia del conocimiento a una serie de descripciones establecidas, lo cual permite ampliar la descripción de las características originales. Este tipo de transmutaciones realiza inferencias inductivas, aunque la generalización también puede llegar a ser deductiva, la descripción general es deductiva o derivada desde el más especifico conocimiento de fondo. Por lo tanto dependiendo del conocimiento de fondo y del camino usado, la generalización puede ser por inducción, deducción o analogía. La transmutación opuesta a la generalización es la transmutación de especialización, la cual reduce la referencia establecida sobre las declaraciones dadas. La especialización ocupa inferencia deductivas básicamente, pero puede ocupar inferencias inductivas o por analogía. Una forma típica de especificación lo es la deducción, en este tipo de transmutaciones se ocupan los cuantificadores universales y existenciales. Las transmutaciones de Generalización/Especialización son emparentadas a un par de transmutaciones llamadas Abstracción /Concreción. La Generalización y la Abstracción tienen un razonamiento en común, en particular el aprendizaje inductivo, debido a esto son fácilmente confundidas. La generalización deductiva puede algunas veces interpretada como una abstracción y una especialización inductiva puede ser interpretada como una concreción. Aquí los dos pares de transmutaciones dependen del contexto donde son interpretadas. Abstracción/Concreción La abstracción reduce la cantidad de detalles en la descripción de una serie de referencias establecidas. El lenguaje de descripción puede ser cambiado para igualar conceptos u operadores o ignorar aquellos detalles irrelevantes para el razonamiento. Típicamente la abstracción es una operación de preservación de la verdad. Como condición inicial, la abstracción reduce la cantidad de información citada por la descripción proyectiva de una serie de referencia establecidas. La propuesta típica de la abstracción es reducir la cantidad de información acerca de la referencia establecida, en cada camino los elementos relevantes para el aprendizaje son preservados y los intranscendentes son desechados. Una simple forma de abstracción, es el remplazo del valor de un atributo especifico en la descripción de una entidad con un valor especifico menor. Típicamente la abstracción es una transmutación deductiva, porque está preserva la información importante de entrada y no hipotética de información. La definición formal de la abstracción fue propuesta por Plaisted, quien consideró a la abstracción como un mapeo entre lenguajes que preservan instancias y negaciones. La transmutación contraria a la abstracción es la concreción, la cual genera detalles adicionalmente acerca de la serie de referencia establecidas. Está funciona bajo la inducción.

Page 107: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 87

Similitud/Disimilitud La similitud deriva un nuevo conocimiento acerca de las referencias básicas establecidas con características similares entre el nuevo juego de referencia y el básico. La transmutación por similitud utiliza la inferencia por analogía, la cual deriva nuevos conocimientos. La analogía puede ser considerada como un razonamiento basado en la combinación de la inferencia deductiva e inductiva. La dependencia puede ser de diferente tipo, por ejemplo puede ser funcional, monotónica, correlacional, de tendencia general, o bien de descripción estática o relacional. Las dependencias son frecuentemente bidireccionales, pero la “fuerza” de la dependencia en las diferentes relaciones puede variar considerablemente. Por ejemplo, si sabe que una persona por fumar desarrolla cáncer, entonces por analogía, se puede decir que si “martha fuma, puede desarrollar cáncer a lo largo de su vida”. También por analogía, si se conoce que una persona tiene cáncer; es porque posiblemente durante su vida desarrolló el hábito de fumar. Con este ejemplo queda demostrado la relación bidireccional con la que cuenta la similitud. La fuerza de las conclusiones, no es igual en ambas direcciones, ya que por ejemplo la persona puede tener cáncer, pero no necesariamente por fumar sino por otras causas. En base a lo explicado anteriormente, se introduce el concepto de dependencia mutua, el cual es muy utilizado para la descripciones especificadas por similitud y disimilitud. Una dependencia mutua expresa el parentesco entre dos sentencias, dos predicados lógicos o términos de la expresión . La dependencia mutua queda representada por

S1 S2 ; α , β dónde los parámetros alfa y beta representan sobre todo el avance o retroceso de la fuerza de dependencia. Por lo tanto alfa, beta, representan un promedio de certeza de los valores S1 y S2 respectivamente. Si los términos de las expresiones tienen una dependencia mutua, entonces se dice que son funciones discretas; la dependencia mutua es lógicamente equivalente a una implicación mutua establecida. La dependencia mutua fue introducida por Rusell, la cual fue usada para la caracterización de clase mediante inferencias por analogía. Explicación/Predicción La explicación deriva “explicaciones del conocimiento”, el cual puede estar fuertemente o débilmente implicado con el conocimiento. Un caso espacial de “explicación” es una descripción derivada de las causas o efectos que producen ciertos datos, está explicación se debe al parentesco. Lo contrario a esta transmutación es la predicción, está deriva consecuencias del conocimiento dado. Dependiendo del tipo de inferencia usado por la explicación o predicción del conocimiento, la inferencia puede ser deductiva, inductiva o por analogía. Selección/Generación Las transmutaciones por selección, eligen un subrango de una serie de referencias establecidas, las cuales deben satisfacer un criterio establecido. La transmutación opuesta a la selección es la generación, la cual produce entidades que satisfacen algunos criterios establecidos. Aglomeración/Descomposición La transmutación por aglomeración toma entidades individuales y las agrupa en unidades o en estructuras de unidades según criterios. La oposición a está transmutación es la descomposición, la cual toma una unidad o una estructura y determina entidades individuales. Caracterización/Discriminación La transmutación por caracterización determina una descripción de características especificas de una clase de entidades. Una descripción puede ser una clase dada. La forma básica de caracterización es una conjunción de propiedades distribuidas entre todas las entidades de la clase.

Page 108: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

88 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

88

La transmutación opuesta a la caracterización es la discriminación, la cual produce una descripción que no toma en cuenta algunas características predominantes de la serie de clases establecidas, dando como resultado otra. Asociación/Disociación La transmutación por asociación determina una dependencia de las entidades básicas y el conocimiento de fondo. La dependencia en este tipo de transmutaciones puede ser lógica, estática o temporal. La transmutación opuesta a ésta, es la transmutación de disociación, la cual sostiene una carencia de dependencia. Derivación/Reformación/Transmutación Intermedia/Aleatoria La transmutación por derivación en aquella que proviene desde otra basada en alguna dependencia entre ellas, pero no caen dentro de una categoría especial descrita antes. Porque la dependencia entre ambas unidades de conocimiento puede recorrerse desde una equivalencia lógica hasta un parentesco lógico, las derivaciones pueden ser clasificadas en derivaciones con dependencia fuerte dentro de un extenso rango. Los puntos extremos en este rango de transmutaciones son la reformación y la aleatoria. La reformulación transforma el conocimiento a una unidad lógica equivalente. Inserción/Borrado La transmutación por inserción, inserta un componente del conocimiento dentro de la estructura. Un ejemplo de inserción, es la memorización de algunos factores. La oposición a está transmutación es el borrado, el cual remueve algunos componentes de la estructura del conocimiento dado. Un ejemplo de este tipo de transmutación es lo olvidado. Replica/Destrucción La replica produce una nueva estructura del conocimiento de alguna base de conocimiento en otra. La replica usa una rutina de aprendizaje la transmutación opuesta a esta es la “destrucción”, la cual remueve una estructura del conocimiento de una base de conocimiento dada. Clasificadas/Desordenadas La transmutación por clasificación u ordenación cambia la organización del conocimiento acorde a algún criterio. Por ejemplo la ordenación de las reglas, en base al número de condiciones. La transmutación opuesta es la desordenación, la cual retoma la previa organización. Cada conocimiento es una consecuencia lógica aprendida sobre el existente. Las transmutaciones no son procesos independientes. Una implementación completa de una transmutación puede envolver la ejecución de otras transmutaciones. Multiestrategia de aprendizaje (pruebas - adaptativas) La idea principal de la multiestrategia de aprendizaje (MTL) es que el sistema aprenda por si mismo, determinando la estrategia de aprendizaje y los tipo de inferencia a usar para poder realizar la prueba de aprendizaje. Dada una entrada al sistema analizador, MTL establece una relación con el conocimiento de fondo y los objetivos de aprendizaje, determina una estrategia de aprendizaje o una combinación de ellas, si ocurre un estancamiento el sistema MTL realiza una nueva prueba de aprendizaje, este proceso se repite hasta que la estrategia de aprendizaje es determinada como consecuencia. Un esquema general para la Multiestrategia de aprendizaje es presentado en la figura siguiente, la entrada al proceso de aprendizaje es suplida por cualquiera de los sensores del mundo externo o desde un aprendizaje previo como se muestra en la Figura 26:

Page 109: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Mecanismo de Aprendizaje 89

Mundo

ActuadoresSensores

Selección

CONTROL

Objetivos

Evaluación Motor de inferencia

multitipos

Fig. 26 Esquema general para la Multiestrategia de aprendizaje El módulo controla directamente todos los procesos. Las acciones activan los procesos en el mundo externo, estas son recibidas por el módulo de control. Un acción a ejecutar por el modulo es obtener información adicional, la entrada es filtrada por el modulo de selección, dejando pasar solamente aquella información lo suficientemente relevante para cumplir el objetivo. El conocimiento del objetivo es determinado por el módulo de control acorde a la información recibida desde un sistema maestro externo o bien desde el análisis de los objetivos residentes en la base de conocimientos, la cual puede tener diferentes tipos de conocimiento (simbólico, numérico y gráfico) que puede ser especificado en diferentes niveles de abstracción. Para le MTL los objetivos de aprendizaje son organizados dentro de una red de objetivos (GDN) dependientes, la dependencia entre objetivos está determinada por ligas etiquetadas que denotan el tipo y grado de dependencia. La idea de una red GDN fue introducida por Stepp y Michalski. Para el proceso de aprendizaje, el GDN busca el objetivo general de dominio independiente (representado por un nodo con entradas no enlazadas) considerando como un almacén, este es determinado en base a una serie de entradas de información poco relevante. Por ejemplo los objetivos de dominio independiente pueden ser aprendidos por una regla general, caracterizada por la sustitución de hechos de las entradas reformulando una parte del conocimiento aprendido en una forma más eficiente. Permite determinar el conocimiento requerido para ejecutar algunas pruebas para validar otro, cada uno de estos objetivos es ligado a subobjetivos más específicos, algunos de ellos son también de dominio independiente, los cuales son utilizados para determinar partes específicas del conocimiento. El módulo de control activa dinámicamente nuevos objetivos en el GND, como beneficios en el proceso de aprendizaje. Los múltiples tipos de motor de inferencia ejecutan varios tipos de inferencias/transmutaciones requeridas por el modulo de control en la búsqueda de conocimiento especifico para lograr la meta propuesta. Cualquier conocimiento generado, es evaluado y criticado por el módulo de evaluación, desde el punto de vista del objetivo del aprendizaje. Si el conocimiento es aprobado en el modulo de evaluación, entonces es insertado en la base de conocimientos para ser usado en procesos de aprendizaje subsecuentes. El desarrollar un sistema de aprendizaje que cumpla con todas las características anteriormente descritas es realmente un verdadero problema ya que tiene que cumplir un largo objetivo. Las búsquedas con las que se cuenta en la actualidad son más limitadas acercándose a MTL, es decir, a un aprendizaje multiestrategia en base a pruebas de adaptación, un mecanismo de aprendizaje parecido al MTL es el aplicado en la construcción y justificación de árboles, otro acercamiento hacia el MTL es el llamado “análisis de pruebas dinámicas”, este sistema de aprendizaje analiza en forma dinámica las relaciones entre la entrada, el conocimiento de fondo BK y el objetivo actual, con lo cual se logra el control del proceso de aprendizaje.

Page 110: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

90 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

90

La aproximación, usa una representación del conocimiento que está específicamente diseñada para facilitar todas las formas básicas de inferencia, la representación consiste en una colección de tipos (generalización) jerárquicos o bien partes jerárquicas ordenadas en base a un parentesco. Los nodos de las jerarquías son interconectados por rutas que representan observaciones o conocimiento inferido, a estas formas de representación del conocimiento se les llama DI (jerarquías interrelacionadas dinámicamente) los cuales utilizan diferentes tipos de inferencia en los sistemas basándose en la ubicación de los nodos y la ruta entre estos. En el análisis de pruebas dinámicas se aproxima a un paso del aprendizaje, este es activado cuando el sistema recibe la información de entrada, la cual es clasificada dentro de una categoría tal como un hecho o una regla, dependiendo de ella y el objetivo actual, son producidos segmentos importantes de conocimiento. El siguiente paso es determinar alguno de los siguientes tipos de relación existente entre la entrada de información y el conocimiento de fondo (BK): Las entradas representan nueva información. Una entrada de información es prácticamente nueva para el aprendiz si ésta no está vinculada por medio de una relación de parentesco que puede ser determinada entre ella y el BK. El aprendiz prueba o identifica las partes del BK que son casi iguales con la entrada bajo el mismo nodo en alguna jerarquía. Si este esfuerzo tiene éxito todos los elementos del conocimientos son generalizados. Los resultados generalizados y los hechos de entrada son evaluados por importancia (de acuerdo al objetivo) por el módulo de evaluación, por lo tanto los resultados generalizados y los hechos de entrada que logran la evaluación son almacenados. Si el esfuerzo no tuvo éxito la entrada es almacenada. La entrada es implícita o por BK implícito. Este caso representa una situación donde el BK cuenta para la entrada un caso especial para esta, el aprendiz crea una explicación de la estructura uniendo la entrada con la parte usada del BK. En base a las pruebas de aprendizaje esta estructura puede ser utilizada para crear nuevo conocimiento el cual será más adecuado para un manejo posterior, si el nuevo conocimiento está inmerso a un criterio importante éste es almacenado para uso futuro. El mecanismo es relacionado con las ideas de aprendizaje basadas en explicación. La entrada contradice al conocimiento de fondo. El sistema identifica las partes del BK que resultan contradictorias respecto a la información de entrada e intenta deducir esa parte. Si el reestructuramiento de la especificación afecta demasiado a la información de entrada entonces es poco confiable. Cuando alguna parte del BK ha sido reestructurada para colocar la entrada, esta también es almacenada pero sólo si se pasa por un criterio importante. Si esta contradice algún hecho específico ese es identificado. En general este caso requiere de una revisión del BK bajo alguna forma sintética de aprendizaje o manejo de inconsistencia. La entrada produce una analogía en alguna parte del conocimiento de fondo BK. En este caso, cuando la entrada no coincide con algún hecho o regla o tampoco está relacionada con alguna otra parte del BK como en el primer caso, pero sin embargo hay alguna similitud con alguna parte del hecho y del BK en algun nivel de abstracción, en este caso el apareamiento es ejecutado en este nivel de abstracción, utilizando atributos generalizados o relacionales. Si el hecho pasa un criterio importante, este es almacenado con alguna indicación de similar o análogo en el conocimiento de fondo. La entrada es ya conocida por el aprendiz. Este caso se presenta cuando la entrada checa exactamente con alguna parte del BK (un hecho almacenado, una regla o segmento almacenado). En esta situación son utilizados parámetros de confiabilidad y frecuencia los cuales son asociados a la parte actualizada.

Page 111: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 6. BASE DE CONOCIMIENTOS

Page 112: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

92

Page 113: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

6. BASE DE CONOCIMIENTOS

6.1 DESCRIPCIÓN DE UNA BASE DE CONOCIMIENTOS 6.1.1 ROL DEL MÓDULO La Base de Conocimientos almacena y representa el conocimiento del dominio del Sistema Experto, facilita su acceso, manipulación y actualización. En la siguiente figura se aprecia que la base de conocimientos se encuentra relacionada con otros módulos de un Sistema Experto de la Figura 27:

Mecanismo de Aprendizaje

Interfase Hombre -Máquina

Mecanismo de Inferencia

Base de Administrador Conocimientos

Fig. 27. Relación entre base de conocimientos y otros módulos del Sistema Experto Existen diversas técnicas para la representación del conocimiento, encaminada a: • Proveer un formato compatible con la computadora. • Mantener una correspondencia entre el formato de representación y el conocimiento. • Establecer una representación que puede ser organizada, recuperada, modificada y actualizada

eficientemente. El conocimiento inicial se genera a partir de los hechos aprendidos y representados, que al ser manipulados por los procesos de búsqueda e inferencia producen nuevos elementos y actualizan otros, generando una nueva versión, como se ilustra en la Figura 28:

RepresentaciónInterna

Conocimiento Generado

Exposición Resultados

Hechos finales

Aprendizaje

Hechos iniciales

Búsqueda Inferencia

Compilación

Fig. 28. Evolución del conocimiento Caracterización del conocimiento • Fidelidad: Es la ausencia de distorsión durante la adquisición del conocimiento al comparar la fuente natural

y la de la base de conocimientos. • Calidad: Grado de cantidad, completez y actualización. • Temporalidad: Vigencia. • Particularidad: Dependiente de un contexto o enfoque particular. • Certidumbre: Veracidad del conocimiento. • Fuente: Naturaleza y confiabilidad de los emisores del conocimiento. • Detalle: Grado de desglose.

Page 114: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

6.1.2 CONSIDERACIONES Entidades Son los sujetos, eventos y actividades relevantes a describir del dominio del conocimiento. Propiedades Son los atributos y valores que describen a las entidades. Con base a ellas, se establecen los niveles de caracterización del conocimiento. Relaciones Son los lazos que integran a las entidades y atributos entre si, permitiendo definir ligas: 1:1, 1:N, M:1 y M:N. Jerarquías Bajo ciertos contextos, las entidades se agrupan en clases, super clases y subclases. Permiten agrupar sus atributos y hacer generalizaciones que eviten redundancias en la descripción de un objeto en particular. Valores El valor asociado a los atributos de las propiedades tiene las siguientes características:

Información acerca del tipo de valor: Numérico, código, índice, etc. Condiciones de validación: Rangos, criterios, asociaciones, etc. Fuentes: Para recabar, comparar y acreditar el conocimiento. “If - needed rules“: para generar un valor por medio de procedimientos. “If - added rules”: para realizar una acción al conocerse un valor. Single - multivalued: Son atributos con un solo valor o varios.

Nivel de detalle Son los elementos del lenguaje que serán tomados en cuenta durante la representación de la Figura 29:

El niño corre rápido

corre(niño) PTRANS niño

acción(corre, niño)

Fig. 29. Diferentes niveles de detalle de la expresión “El niño corre rápido” Cobertura

Generalidades.- Se aplican para todas las cosas: “Todos los perros tienen cola” (∀x) (perros(x) → (tienen(x, cola))

Excepciones.- Son excepciones a la regla: “Todas las aves vuelan, menos el pingüino” (pingüino(IS-A ave)(vuela no)...) (Ave)(vuela si)...) Permanente.- Son afirmaciones que perduran al paso del tiempo: “Los hombres son mortales”

Temporales.- Acotados por una vigencia: “Francia es el campeón mundial de foot ball”

94

Page 115: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 95

6.2 FUNCIONAMIENTO DEL ADMINISTRADOR DE LA BASE DE CONOCIMIENTOS La representación del conocimiento depende de varios criterios: Naturaleza Descriptiva: rasgos, características, valores,... elementos estáticos. Procedural: acciones, procedimientos, condiciones, eventos y elementos activos. Emisión

Fuentes: Recolección proveniente de la misma entidad por observación, interrogatorio, análisis,... Producción: Es el resultado de la operación de ciertas acciones. Inferido: Resultado de la aplicación de algún formalismo de deducción. Inherente: Es la apropiación de cierto conocimiento de una entidad por otra, gracias a una relación de

pertenencia. Certidumbre:

Absoluta: “Los perros tienen 4 patas”.

Incierto: ∗ Emisión: Al expresarse, obtenerse o generarse. ∗ Certeza: Aproximación a la veracidad o negación ∗ Representación: Grado de fidelidad entre lo que es (conocimiento real) y lo que se representa. Representación

Reglas: horn, de producción,.... Estructura de datos: listas, records, tree´s,.... Primitivas de la dependencia conceptual. Armazones.

6.3 EVALUACIÓN DE LAS TÉCNICAS DE REPRESENTACIÓN DE CONOCIMIENTOS 6.3.1 REPERTORIO

Cálculo de Predicados. Reglas de Producción. Suposiciones. Probabilístico. Difuso. Redes Semánticas. Frames. Dependencia Conceptual. Scripts. Schemas.

6.3.2 CÁLCULO DE PREDICADOS El cálculo de predicados representa una extensión de la lógica proposicional. Sus elementos fundamentales son el objeto y el predicado. Un predicado es simplemente una declaración acerca del objeto, o una relación que el objeto posee. Los predicados pueden combinarse mediante el uso del operadores lógicos. Algunos ejemplos del uso del cálculo de predicados son:

Mamífero(perro), que es interpretado como “Un perro es mamífero”. Hermana(Ana, Juan), que se interpreta como “Ana es hermana de Juan”. Hermana(Ana, Juan) and prima(Ana, Alfredo), se lee como “Ana es hermana de Juan y prima de Alfredo”.

Page 116: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Los elementos del cálculo de predicados de la Figura 30:

Objeto Entidad Interpretación

Operadores Lógicos

Cuantificadores

Términos

Predicado

Fórmulas bien formadas

Fórmula bien

formadaCláusula Cláusula

Regla de Horn Conversión Simplificación

Fig. 30. Elementos fundamentales del Cálculo de predicados

Convertir: → ∧ Reducir: ~ Generalizar: ∃ → ∀

Expresión de conocimiento:

La representación de conocimiento por medio del cálculo de predicados se realiza expresando el conocimiento del dominio en lenguaje natural, para que las oraciones se reescriban en “fórmulas bien formadas”, para luego convertirse en clásulas de “Horn” y codificarse en un lenguaje de programación lógica como “Prolog”. Este procedimiento se ejemplifica a continuación: Sean los siguientes postulados en tiempos de elecciones: El “OFI” es el partido oficial. 1. Los apáticos se abstienen de votar o lo hacen por el partido oficial. 2. El POP no es un partido. 3. Los empleados apáticos votan por el OFI. 4. Los conservadores y burócratas votan por el OFI. 5. No resulta que los partidistas voten en contra de su partido. 6. Las esposas de los partidistas votan por esa agrupación. 7. Existen funcionarios que no votan por el OFI.

Representado en fórmulas bien formadas: 1. Partido (“OFI”) 2.1 ∀x ∀y [apático(X) ∧ partido(Y) → (~vota(X,Y) ⊕ (vota(X,”OFI”))] 2.2 ∀x ∀y [apático(X) ∧ partido(Y) → (~vota(X,Y) ∨ vota(X,”OFI”)) ∧ ~(~vota(X,Y) ∧ vota(X,”OFI”))] 3. ~ (Partido(“POP”)) 4. ∀x [empleado(X) ∧ apático(X) → vota(X,”OFI”)] 5.1 ∀x [conservador(X) → vota(X,”OFI”)] 5.2 ∀x [burócratas(X) → (vota(X,”OFI”)] 6. ∀x ∀y ~[partidista(X) ∧ partido(Y) ∧ afiliado(X,Y) → ~vote(X,Y)] 7. ∀x ∀y ∀z [partidista(X) ∧ partido(Y) ∧ afiliado(X,Y) ∧esposa(Z,X) → vota(Z,Y)] 8. ∀x funcionario (X) ∧ ~vota(X,”OFI”)

96

Page 117: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 97

Conversión a cláusulas: 1. Partido(“OFI”) 2. ~apático(X1 ) ∨ ~partido(Y1) ∨ ~vota(X1,Y1) ∨ vota(X1,”OFI”) 3. ~Partido(“POP”) 4. ~empleado(X3 ) ∨ ~apático(X3) ∨ vota (X,”OFI”) 5.1 ~conservador(X4) ∨ vota(X4,”OFI”) 5.2 ~burócrata(X5) ∨ vota(X5,”OFI”) 6.1 partidista(X4) 6.2 partido(par (X7)) FUNCIÓN DE SKOLEM 6.3 afiliado(X8, par(X8)) 6.4 vota(X9, par(X9)) Sin embargo, en lugar de los 4 hechos anteriores, es mejor codificar la regla: ~partidista(X8) ∨ ~partido(Y8) ∨ ~afiliado(X8, Y8) ∨ vota(X8, Y8) 7. ~partidista(X8) ∨ ~partido(par(X8)) ∨ ~afiliado(X8, par(X8)) ∨ ~esposa(muj(X9),X9) ∨ vota(muj(X9),par(X9)) 8.1 funcionario (fun) función sin argumentos constante de Skolem 8.2 ~(vota (fun,”OFI”) Refinamiento a Cláusulas de Horn Una vez obtenidas las cláusulas se convierten a la modalidad de Horn, en donde para cada conjunto de disyunciones, solo un predicado debe estar afirmado y los demás negados. Dicha situación facilita su representación en forma de implicación con una sola conclusión: Sea:

Cláusula Horn Regla - Implicación Regla Prolog ~a ∨ b ∨ ~c ~a ∨ ~c ∨ b (a ∧ b) →c c:-a,b. Cláusula Horn Hechos Hecho Prolog a a a a

¡La conversión es muy simple!

Codificación en PROLOG: 1. partido(“OFI”). 2 vota(X,”OFI”):- apático(X). 3. partido(“POP”) :-1, fail (así se representan las negociaciones) 4. vota(X,”OFI”) :- empleado (X), apático (X), vota (X,”OFI”). 5.1 vota(X,”OFI”) :- conservador(X). 5.2 vota(X,”OFI”) :- burócrata(X). 6.5 vota(X,Y) :- partidista(X), partido(Y), afiliado(X,Y).

Page 118: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

(Una forma de implementar las funciones) 7. vota(Z,Y) : - partidista(X), partido(Y), afiliado(X,Y), esposa(Z,X). 6.3.3REGLAS DE PRODUCCIÓN Programación dirigida por Patrones Es muy semejante al cálculo de predicados con menos formalismo, pero más práctica. Entre sus principales diferencias están: Las reglas pueden tener varias conclusiones conjuntas; el desarrollo es “hacia adelante” dirigida por datos; la inferencia se realiza por “pareamiento de patrones”; y la activación de las reglas de las bases de conocimientos es determinada por los patrones almacenados en la “memoria de trabajo”. Componentes Un sistema de producción se compone de un conjunto de reglas formadas por una parte izquierda que determina la aplicabilidad de la regla (patrón precondición) y una parte derecha que describe la operación que se lleva a cabo si se aplica la regla (patrón activo). Es decir una clásica regla “IF-THEN”. También cuenta con una base de conocimiento que contiene cualquier tipo de información apropiada para la tarea en particular. Además de una estrategia de control que especifique el orden en el que las reglas se comparan con la base de conocimiento y la forma de resolver los conflictos que surjan cuando varias reglas puedan ser aplicadas a la vez. Aunado a un aplicador de reglas y a una porción de memoria de trabajo que se utiliza para rastrear el estado actual dentro del espacio de soluciones de la Figura 31:

98

Patrón candidato n

Mecanismo de control para el Apareamiento de Patrones

fli t

Ejecutador de patrones

Base

de conoci-mientos

Patrón seleccionado

Patrón candidato 2

Procesos a Ejecutar

Patrón activo

Patrón candidato 1

Patrones p1, p2,... Pp

Resolutor de conflictos

Fig. 31. Elementos de un sistema de producción

Page 119: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 99

Las reglas interactúan “apareándose” con los patrones almacenados en la base de conocimientos, cuando hacen “match” ejecutarán sus acciones depositando sus resultados como nuevos patrones o alterando a los originales, en la memoria de trabajo. Sea el siguiente ejemplo: “Los empleados mayores de 60 años deben ser liquidados y pensionados” Regla: 1 persona (Nombre, Edad, Empleado, Puesto, Salario), (empleado = “SI”, Edad > 60) : (Vacante = Puesto, Puesto = Jubilado, Empleado = No), (Vacantes, Jubilados) En esa representación se evidencia: Como el patrón precondición:

La necesidad de accesar un patrón Las condiciones a satisfacer.

Como patrón activo: Las alteraciones al patrón. La invocación a procesos especiales.

Sí representamos el ejemplo a través de “OPS 5” Cuyo formato es: (p <rule-name> <condición 1> : . <condición m> → <acción 1> : <acción n>) La regla queda codificada en: (p jubilación (Task ∧ elige jubilado(persona ∧ nombre<N> ∧ edad<E> ∧ empleado <“SI”> ∧ puesto<P> ∧ salario <S>) (∧ E>60)) → (MAKE plaza ( puesto P) → (REMOVE personal) (MAKE persona ∧ nombre<N> ∧ edad<E> ∧ empleado <“NO”> ∧ puesto <“JUBILADO”> ∧ salario<S>) (MAKE Task ∧ vacante reemplazo) (MAKE Task ∧ pensión jubilado)) De la regla anterior observamos: 1. Nombre de la regla “jubilación” y tarea activada “elige jubilado”. 2. Acceso a un patrón “persona” que cumple las siguientes condiciones: empleado SI, edad > 60. 3. Creación de un nuevo patrón “plaza”. 4. Actualización del patrón “persona”. 5. Activación de dos tareas: vacante reemplazo y pensión jubilado. Como ejercicio realiza la representación en formato normal de regla y de OPS 5, del siguiente ejemplo: “Los empleados con salario mínimo recibirán un 30% de aumento y opcionalmente un bono de actuación”.

Page 120: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

6.3.4 SUPOSICIONES La verdad de las técnicas de cálculo de predicados y reglas de producción es absoluta y permanece en la aplicación durante la solución de un problema determinado. Es decir, afirma categóricamente el valor de verdad de un hecho: Falso ó Cierto 0 1 Esta postura no varia a lo largo de la sesión cuyo proceso se vuelve monotónico. Es más, todas las declaraciones de la base de conocimientos son válidas lógicamente y están enlazadas por conjunciones, lo que determina su consistencia como se aprecia en la Figura 32:

premisa 1 ∧ premisa 2 ∧ : ∧ premisa p-1 ∧ premisa p

Consistencia

Fig. 32. Enlace de las declaraciones en la BC Sin embargo, a veces las declaraciones se ven sujetas a:

Incertidumbre. Temporalidad. Relatividad. Secuencia. Dependencia de otras. Contradicciones.

Una alternativa para representar estos casos es por medio de “listas de soporte”, cuyo formato es: (declaración)(LS Estado (Argumentos de apoyo) (Argumentos en contra)) Sea el siguiente caso: “Se reportó el robo de una computadora a primera hora de la mañana”. 1) Caso (robo, computadora, martes, 8:00 am) (IN ( )( )) Se tienen dos sospechosos: la secretaria y el afanador, mientras que se descarta al programador. H1 sospechoso (robo, computadora, secretaria) (IN ( )( )) H2 sospechoso (robo, computadora, afanador) (IN ( )( )) H3 sospechoso (robo, computadora, programador) (OUT ( )( )) Durante el primer interrogatorio se dice que: “El programador salió el día anterior”. “La secretaria fue la última en usar la máquina”. “El afanador no vio la PC cuando hizo la limpieza, después que todos se habían marchado”. Tales declaraciones se representan así: 2) hecho (salir, oficina, programador, lunes, 16:00 pm) (IN ( ) ( )) 3) hecho (usar, computadora, secretaria, lunes, 18:00 pm) (IN ( ) ( )) 4) hecho (salir, oficina, secretaria, lunes, 18:10 pm) (IN ( ) ( )) 100

Page 121: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 101

5) hecho (limpiar, oficina, afanador, lunes, 19:30 pm) (IN ( ) ( )) 6) hecho (no ver, computadora, afanador, lunes, 19:35 pm) (IN ( ) ( )) Alterando las hipótesis: H1 sospechoso (robo, computadora, secretaria) (IN (3, 6) ( )) H2 sospechoso (robo, computadora, afanador) (OUT ( ) (6)) H3 sospechoso (robo, computadora, programador) (OUT ( ) (3, 6)) Se aprecia que la hipótesis 1 adquiere el estado de “verdadera” (IN) dado los argumentos 3 y 6 que la sustentan, mientras que los restantes tienen el de falso (OUT), ya que los argumentos obran en contra de tales teorías. Ejercicio: continuar desarrollando el ejercicio de acuerdo a las siguientes etapas: E1: El velador declara haber visto la máquina en su ronda nocturna de las 23:00 hrs. E2: El afanador salió a las 22:00 hrs. E3: El nuevo policía jura haber visto salir temprano en su auto a Juan. E4: Según el Jefe de Recursos Humanos declaró que Juan se quedó a trabajar toda la noche. E5: Un vecino observó entrar y salir de la oficina durante la madrugada al hijo del dueño. 6.3.5 CONOCIMIENTO DIFUSO “FUZZY SETS” Hay problemas cuya incertidumbre no se mide en términos absolutos o aproximados sobre la variedad lógica de un evento o descripción sino más bien, en proporción a su pertenencia sobre cierto concepto o clasificación, como por ejemplo: “El color oficial del Ferrari es el rojo”. “El Ferrari de Michael Schumager ganará el próximo gran premio de Australia”. “Creo que Mipa Hakkimen será contratado por Ferrari”. “El McClaren es un auto más rápido que el Ferrari”. Este último caso nos lleva a reflexionar que tan rápido es Williams sobre Ferrari. Esto se puede concebir como en la Figura 33: Williams

Ferrari

Se aprecia que Williams

tiene más grado de pertenencia

Conjunto de autos muy

rápidos

Fig. 33. Representación con Fuzzy sets del ejemplo “El Williams es un auto más rápido que el Ferrari”

Por lo tanto en Fuzzy Sets se establecen Fronteras Fuzzy en las que la determinación de membresía o no membresía es gradual y no absoluta. Es decir, se calcula por medio de una Función Fuzzy que arroja un grado de pertenencia como se muestra en la Figura 34:

Page 122: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Conceptos Básicos de la Teoría de Fuzzy Sets

Variable Lingüística: Proporciona las bases para un análisis cualitativo de las características del problema. Atributo Variable lingüística Conceptos fuzzy hermosura guapa

102

Objeto Atributo Variable lingüística Conceptos fuzzy estatura alto

Fig. 34.. Variables Lingüísticas

e Valores: Se genera a partir del término primario y sus antónimos, agregando modificadores y n ..

bresía: Es la medida de pertenencia de un objeto dentro de una clase conforme a

l grado de membresía se ilustra en la Figura 35: Subjetivo. Parte del término primario. Dependiente de contexto.

Fig. 35. Grado de membresía

Interpretación de valores : La definición lingüística de conceptos puede convertirse en un cuestionario

ramificado de opciones, a través de una sesión de respuestas de los valores de las variables lingüísticas que concluyen el valor de la dependiente (conclusión).

Universo d

co ectivos: muy, poco, mucho, .m Definición del grado de Me

los atributos de esta. E∗∗∗∗ Contempla la influencia de “modificadores universales”.

muy bastante

2, 3 Poco

“no la hace”: : :

regular

jirafa garrocha zotaco

chaparro grandulón

:

:

enano

:

Clase F Fronteras fuzzy

i

µ 1

donde: ) = Grado

Grado ∈ F

µ n

µ j µ

µ 2 . .

f fuzzy (µ i Grado [ 0,1]

µ 3 .

Page 123: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 103

Sean los factores de una recesión económica:

Índice inflacionario

nivel desempleo tasa de interés bancario indicador bolsas recesión

Pequeño bajo medio al alza ninguna Moderado bajo regular estable casi no

.

. . .

.

. . .

.

. alto moderado crecimiento a la baja si

Muy grande bastante por las nubes en picada brutal

Disponibilidad: Permite manipular y hacer inferencia a través de posiciones difusas. Procedimiento:

∗ Identificación del concepto difuso “¡Los jugadores de football americano de la NFL son grandes!” ∗ Identificación del universo: “Jugadores de football americano”

Jugadores de football americano de la NFL

U

∗ Conceptualización de la clase “grandes”

F Jugadores grandes

U

∗ Precisión del término primario “grande” y sus similares “fuerte”, “alto”, “pesado”

grande

fuerte alto pesado ∗ Derivación de las variables lingüísticas en las que descansa el término primario estatura ∧ peso ∧ constitución → grande

Estatura peso constitución grande Altísimo refrigerador Mr. Universo gigante

Alto pasado proporcional ropero Medio medio cuadrado atlético Bajo ligero media aceptable

Chaparro flaco endeble regular . . . pequeño . . . enano

∗ Consideración de cuantificadores

Estatura peso constitución grande

Muy bastante bien como un más o menos casi muy casi un

Poco menos que

Page 124: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

∗ Cálculo de valores Fuzzy − Variables fuzzy: Cada variable cuenta con un repertorio de valores fuzzy, que integrados forman un “fuzzy set”:

estatura peso

− Cuantificación: Si bien las expresiones son cualitativas su manipulación exige una compilación cuantitativa, mediante una función fuzzy, como por ejemplo a través de la interpolación de valores:

estatura en mts .grado de membresía valor fuzzy

<1.70 .1 enano [1.70, 1.78] .2 chaparro [1.79, 1.85] .4 bajo [1.86, 1.90] .6 medio [1.91, 1.98] .8 alto [1.99, 2.05] .9 altísimo

>2.05 1 jirafa

− Integración: Relacionar conceptos

valor fuzzy función # fuzzy

fuzzy set criterios de análisis generación de la membresía

104

− Alteración: Impacto de los cuantificadores fuzzy, cuyo efecto no siempre tiene el mismo sentido ni tampoco la misma intención:

Incrementa alto de .8 a .94

muy

bajo de .2 a .14 Decrementa dado que el contexto es “jugadores grandes” tiende al superlativo. Mientras que: Decrementa alto de .8 a .74

poco

bajo de .2 a .44

enano jirafa altísimo alto medio bajo chaparro

refrigerador pesado medio

flaco ligero

Incrementa Nótese que el cuantificador impactó en una proporción “p” al número fuzzy. Por lo que, cada cuantificador debe tener un umbral que con base al número fuzzy del valor lo estimule o lo reduzca: Veamos el caso de “muy” para los valores de “estatura”:

Page 125: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 105

IF #F > .5 ← umbral THEN #F’ = #F + [(1 - #F) * .7] ← incremente ELSE #F = #F * .7 ← proporción de impacto de reducción

Mientras que para “poco”:

IF #F > 0.62 THEN #F = #F - [(1 - #F) * 0.3] ← decremente ELSE #F = #F + [(1 - #F) * 0.3] ← aumenta

∗ Interrelación de las variables. El criterio de “jugador grande” puede expresarse como:

grande (x) ← estatura (x) ∧ peso (x) ∧ constitución (x) ropero (Juan) ← muy alto ∧ bastante pesado ∧ bien cuadrado .78 ← .94 * .99 * .84

Se aprecia que los números fuzzy de las condiciones se multiplican (como la intersección en probabilidad). Pero, pudiera escogerse el menor de ellos, tal que:

ropero (Juan) ← muy alto ∧ bastante pesado ∧ bien cuadrado .84 min[ .94, .97, .84]

por ser condiciones conjuntas,mientras que si fueran disjuntas se seleccionaría al mayor. Ejercicio: Realizar el procedimiento correspondiente a tres variables lingüísticas que concluyan el grado de simpatía de una persona.

6.3.6 REDES SEMÁNTICAS Esencialmente es una técnica de conocimiento que permite representar:

Objetos. Eventos. Jerarquías. Conceptos.

Su descripción simbólica consta de objetos y relaciones, ilustrándose en forma de red.

Page 126: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Apreciar los ejemplos de la Figura 36:

106

Mamífero IS-A

Animal

Ave

Pícaro

Gato

Computadora

Equipo de Cómputo

Periférico

Chip

Memoria Principal

Main Board

IS-PART

CPU

IS-PART

IS-PART

IS-PART

IS-PART

IS-PART

Fig. 36. Representación mediante redes semánticas Descripción Cada objeto representa a una entidad específica o conjunto de ellas, representándola por medio de una “lista de propiedades” compuestas por listas que contienen parejas “atributo-valor”. (Mamífero (Nace en Placenta)(Tiene Mamas)(IS-A Animal)...) (Herbívoro (Come Verdura)(IS-A Mamífero)...) (Carnívoro(Come Carne)(IS-A Mamífero)...) (Felino(Facilidad para Trepar)(IS-A Carnívoro)...) (Gato (Es doméstico)(IS-A Felino)...) Inherencia La inherencia ocurre cuando un objeto utiliza las propiedades de otro, en donde una relación “IS-A” los une, como por ejemplo: “El gato tiene facilidad para trepar por ser un felino” Manejo de excepciones Ocurre cuando existe una “excepción a la regla”, donde un objeto tiene un valor diferente al atributo de una propiedad del otro objeto con el que está relacionado directa o indirectamente por medio de una liga “IS-A”. Entonces esa propiedad se declara explícitamente como parte de la descripción del objeto que provoca la excepción, como por ejemplo, el ornitorrinco nace en huevo a pesar de ser un mamífero. (Ornitorrinco (IS-A Mamífero)(Nace en huevo)...)

Felino

Herbívoro Carnívoro

IS-A IS-A

IS-A

IS-A

IS-A

IS-A

Page 127: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 107

Manejo de inherencia múltiple Se presenta cuando un objeto está ligado a dos o más por medio de una relación “IS-A”, recibiendo la inherencia de las propiedades de cada uno de ellos, así como de sus respectivos ancestros. (Humano(IS-A Carnívoro) (IS-A Herbívoro)...) Representación de acciones Supóngase que se quieren representar expresiones de la lógica cuantificadas por medio de redes semánticas. Un modo de hacerlo es dividir la red en particiones, convirtiéndola en un conjunto jerárquico de espacios, cada uno de los cuales corresponde al ámbito de una o más variables, como se muestra en la red de la figura 37:

perro morder cartero

VaS

Is-a

víctima actor

Is-a Is-a V .- víctima a .- actor S .- sujeto

perro (X) ∧ cartero (Y) ∧ muerde (X, Y)

Fig. 37. El perro mordió al cartero Los nodos perro, morder y cartero representan clases de perros, mordiscos y carteros respectivamente, mientras que los nodos s, a , v representan un perro, un mordisco y un cartero en particular. Este hecho está representado en una sola red sin particiones. Ahora obsérvese la red de la siguiente figura 38:

perro morder cartero

VaS

Is-a

víctima actor

Is-a Is-a σG

g

Is-a Forma

∀x Perro (X) → ∀y cartero (Y) ∧ muerde (X, Y)

Fig. 38. Todos los perros han mordido a algún cartero Para representar este hecho es necesario ilustrar el ámbito de la variable universalmente cuantificada x. Esto se puede hacer utilizando particiones como las de dicha figura, donde el nodo g representa la aserción anterior. Este nodo es una instancia de la clase especial σG de sentencias generales acerca del mundo, donde forma es el atributo que establece la relación que se está afirmando, y una o más conexiones ∀ para la variable cuantificada universalmente.

Page 128: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Para observar cómo la división en particiones hace que la cuantificación de las variables sea explícita, consideresé la siguiente sentencia de la figura 39:

perro morder cartero

VaS

Is-a

víctima actor

Is-a Is-a

σG g

∀∀

∀x Perro (X) → ∀y cartero (Y) ∧ muerde (X, Y)

Fig. 39. Todos los perros han mordido a todos los carteros En este caso g tiene dos enlaces ∀, uno apuntando hacia s que representa cualquier perro, y otro apuntando hacia v, que se refiere a cualquier cartero. Ejercicio: Describir una red semántica con

Relaciones IS-A para la botánica. Relaciones IS-PART de un automóvil. Ilustrar la inherencia simple, múltiple y excepciones. La expresión “Los estudiantes tienen libros”.

6.3.7 FRAMES Los marcos son una estructura de datos que representan un estereotipo de:

Conceptos. Objetos. Eventos.

Se representa como una red de nodos y relaciones, en donde el nivel superior describe aspectos generales y constantes, mientras que el inferior tiene una serie de “slots and fillers”, es decir ranuras a ser llenadas. Los fillers se pueden llenar por medio de:

Valores explícitos almacenados en la ranura A-kind-of: Valores obtenidos desde otros “frames” If needed: Cálculos, cuyo procedimiento se describe en el propio marco o bien se hace referencia Default: Es el valor que se emplea en caso de que los métodos anteriores no puedan generar uno más

específico.

108

Page 129: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 109

Sea el frame típico de un arco de la Figura 40:

. .

Frame:Objeto Objeto: Top

Frame: Grupo

Grupo: Arco

Lado der.

Lado izq.

Top condición

Tamaño default

Perímetro IF-needed

Similar to

A-kind-of

Descripción - uso

medio

perímetro

Puente

Fig. 40. Represetación de un arco mediante frames Veamos otro ejemplo de FRAME descriptivo sobre la composición de una sala en la Figura 41:

Techo

Pared frontal

Suelo

Tipo

Frame cuarto

Sala

Pared izquierda

Pared derecha

Frame-Pared

Frame Pared

Área central izq.

Área Central

Área Derecha

Frame Pared

Vista

Frame Ventana

Espacio ocupado

Frame Puerta

Frame Pintura

A-kind-of

Fig. 41. Representación de una sala

Page 130: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Ahora un frame para ilustrar los elementos de una oración de la Figura 42:

Word Group

Word Group Frame

Determiner

Noun

Determiner Group Features

Classifier

Adjective (S)

Number

Ordinal Descripción de un objeto de otra forma

Qualifier (S)

Ordinal

Number

Red de ansición

Aumentada Tr

Fig. 42. Descripción de los elementos de una oración Sea el Frame de la Figura 43:

110

Agente

consecuencia futuras

Instrumento

antecedentes secundarios

objeto

co-agente

antecedente primario

destino fuente

consecuencia primaria desarrollo

trayectoria

Marco: Sentencia de movimiento

Significado

Fig. 43. Representación de una acción y los elementos involucrados

Page 131: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 111

Que al usarse en el evento: “Juan animado por Pedro, lanzó con su resortera una piedra, desde la ventana de su casa hacia el peatón que pasaba por la acera de enfrente, hiriéndolo en la frente”. Como se aprecia en la Figura 44:

Agente

consecuencia futuras

Instrumento

antecedentes secundarios

objeto

co-agente

antecedente primario

destino fuente

consecuencia primaria desarrollo

trayectoria

Marco: Lanzar

Arrojar un objeto

Juan resortera Pedro

ventana-casa piedra peatón-acera

animado travesura hérida

ociosos parabólica castigo/sanció

Fig. 44. Instanciación de un evento Ejercicio: Hacer el frame de:

Aula de clases. La oración: “Ana comió tanta carne en la fiesta que se indigestó”.

6.3.8 DEPENDENCIA CONCEPTUAL La dependencia conceptual es una teoría sobre la representación del conocimiento sobre eventos y elementos relacionados como los que normalmente aparecen en las frases de lenguaje natural. El objetivo consiste en caracterizar el conocimiento de alguna forma que:

Facilite extraer inferencias de las frases. Sea independiente del lenguaje en el que estén las frases originales. Ofrezca la esencia de la expresión.

Debido a estos requisitos, la representación en dependencia conceptual de una frase no se construye con primitivas que corresponda a las palabras que aparecen en la frase, sino con primitivas conceptuales que pueden combinarse para formar el significado de las palabras en cualquier lenguaje concreto. Esta técnica proporciona tanto una estructura como un conjunto específico de primitivas, en las que pueden construirse representaciones de trozos particulares de información (ver figura 41).

Representación

Lenguaje Interpretación

Estructura basada en primitivas

Fig. 41. Representación del conocimiento mediante dependencia conceptual

Page 132: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

112

ATRANS Transferencia abstracta: dar PTRANS Transferencia física: ir MTRANS Transferencia mental: decir MOVE Mover alguna parte del cuerpo: levántate GRASP Tomar algún objeto: recógelo PROPEL Impulsar un objeto: empújalo INGEST Ingerir: comer EXPEL Expulsar algo del cuerpo: llorar MBUILD Generar información proceso mental: decidir SPEAK Emisión de sonidos: hacer ruidos ATTEND Poner atención en algo: escuchar observar

Entre sus aplicaciones relevantes está el lenguaje natural que en combinación con la técnica “ERKS” (Sistema de Representación Eclíptica de Conocimiento”) puede definir semánticas primitivas como las siguientes: STRUCT → (HEADER BODY) HEADER → atom | nil BODY → ROLL FILLER | nil | ROLL FILLER BODY ROLL → atom FILLER → STRUCT La representación de la acción “enviar algo” es la siguiente: (PTRANS ACTOR (filler) OBJ (filler) FROM (filler) TO (filler)) “Juan envió una solicitud al MTI” (PTRANS ACTOR (PERSON

NAME (Juan) SEXO (masculino) OBJ (TYPE ( NAME (solicitud) FROM (nil) TO (INSIDE PART (ITM)))) Sea la acción “Pedro golpeó la bola al jardín central”: Tenemos el diccionario: HUMℜ: (person personame (Pedro)) OBJℜ: (pobj pobjname (bola)) PLAℜ: (place placename (jardín) site (central)) OBJ1: (pobj pobjname (bat)) PLA1: (place placename (jardín) site (home)) Y los estados: STATEℜ: (s-goal ACTOR HUMℜ GOAL (val (jugar))) STATE 1: (p-config con1 HUMℜ con 2 OBJ1 confrel(poss)) STATE 2: (p-config con1 con2 confrel (inside)) El evento: Evento: (PROPEL ACTOR (HUMℜ) OBJET (OBJℜ)

Page 133: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 113

TO (physob to PLAℜ) TIME (past) QUANTITY (forceful) FROM (PLA1) WITH (OBJ1)) Y su relación: (is kernel EVENTOℜ relación STATEℜ relación STATE1 relación STATE2 ) De acuerdo a la naturaleza de la acción se apoya en los estados 0 y 1 generando el 2 como consecuencia. Como ejercicio representar:

“Luis invitó al campo a María”. “El quarterback de San Francisco, Steve John, lanzo un pase de anotación de 45 yardas a las diagonales a su

receptor Jerry Rice, con lo que ganaron el partido faltando 5 segundos”.

6.3.9 SCRIPTS Los guiones son una técnica adecuada a la representación de estereotipos de eventos, apoyándose en frames y dependencia conceptual. El universo de elementos que maneja son:

Script: Nombre del evento, situación u objeto a representar. Escenarios: Lugares donde se realizan las acciones. Actores: Son los roles que interpretan los participantes. Objetos: Los artículos, muebles, documentos y cualquier otro objeto relevante a considerar. Condiciones de entrada: Son los requerimientos a satisfacer que ameritan activar el Script. Escenas: Las etapas de desarrollo del evento. Resultados: Las consecuencias y objetivos cumplidos al ejecutar el guión.

Sea el Script de ir al cine: Primero definimos los elementos generales: SCRIPT: Ir al cine. ESCENARIOS: Casa, calle, taquilla, dulcería, sala de exhibición. ACTORES: Raúl, taquillero, vendedor. OBJETOS: Periódicos, auto, dinero, boleto, palomitas, butaca. Condiciones de entrada: Raúl quiere divertirse. Raúl tiene dinero. Raúl tiene auto. Resultados: Raúl está contento. Raúl tiene menos dinero. Raúl comió algo. La empresa cumplió una función más. La empresa obtuvo un ingreso más. Se procede a identificar las escenas a desarrollar:

Page 134: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Escenas: Decidir ir al cine. Ir al cine. Adquirir el boleto. Comprar golosinas. Ingresar a la sala. Mirar la película. Abandonar el cine.

Luego se describen las escenas: Escena 1) Decidir ir al cine

Raúl MBUILD “estoy aburrido” Raúl MBUILD “veamos que hay en cartelera” Raúl ATTEND PART ojos TO periódico Raúl PTRANS cuerpo TO periódico Raúl MOVE PART mano TO periódico Raúl GRASP TO periódico WITH mano Raúl ATTEND PART ojos TO periódico Raúl MBUILD “escoge esta película” Raúl UNGRASP TO periódico ON mesa Escena 2) Ir al cine

Raúl GRASP TO llaves-del-carro Raúl PTRANS TO cochera Raúl PROPEL OBJECT llave-auto TO ranura-switch Raúl MOVE PART mano TO llave FROM circular Raúl ATTEND PART ojos TO calle Raúl MBUILD “decide arrancar” Raúl ATTEND PART ojos manos Raúl MBUILD ruta pies Escena 3) Adqurir el boleto Raúl PTRANS FROM estacionamiento TO cine Raúl ATTEND PART ojos TO taquilla Raúl PTRANS TO taquilla Raúl MTRANS “quiero un boleto” TO taquillero Raúl ATRANS dinero TO taquillero taquillero ATRANS boleto TO Raúl taquillero ATRANS dinero-cambio TO Raúl Raúl PTRANS TO acceso-cine Ejercicio: Desarrollar las escenas restantes:

Comprar golosinas. Ingresar a la sala. Mirar la película. Abandonar el cine.

114

Page 135: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 115

6.4 SELECCIÓN DE LA REPRESENTACIÓN APROPIADA 6.4.1 DECLARATIVO El conocimiento declarativo tiene las siguientes propiedades:

Representa esencialmente el conocimiento del dominio: hechos, leyes y terminología. Es flexible y variado en su representación. Adecuado para describir características y aspectos estáticos. Apropiado para representar y explotar abundante información. Permite diferentes niveles de abstracción. Consume mucho esfuerzo y recursos al crear una base de conocimientos. La determinación del grado de detalle al que se debe representar las entidades depende de un adecuado

mecanismo de inferencia. Necesita de un eficiente administrador.

6.4.2 PROCEDURAL El conocimiento procedural cuenta con los atributos:

Para representar esencialmente el conocimiento estratégico de “cómo hacer las cosas”. Se reflejar como algorítmico. Útil para proyectar secuencias de acciones, eventos y factores dinámicos. Adecuado en la modelización de acciones generales y cíclicas, capaces de producir resultados homogéneos. Permite diferentes grados de conceptualización. Puede gastar muchos recursos en situaciones no determinístas. Depende de conocimiento auxiliar para guiar sus actividades.

6.4.3 CÁLCULO DE PREDICADOS La técnica del cálculo de predicados se caracteriza por:

Apoyarse en el formalismo de lógica matemática. Popularidad y explotación. Definición de las expresiones para indicar su veracidad o falsedad. Certeza, dado A → B, A ¬ B no permite el caso de que con premisas válidas se obtengan conclusiones erróneas. Completez, tiene “la capacidad” de generar todas las inferencias válidas a partir de un conjunto de premisas. Decibilidad, intenta demostrar que una proposición se sigue de cierta teoría. Intratabilidad, no hay garantía de que termine un proceso que trata de demostrar que una proposición se

deduce de cierta teoría. Inconsistencia, conforme a la demostración de Gödel, para las declaraciones de conocimiento hechas por

medio de cálculo de predicados puede ser imposible de demostrar la consistencia de su formalismo. La monotoneidad de su inferencia, la veracidad o falsedad de una afirmación no cambia a lo largo del proceso. No siempre se puede tener:

∗ Precisión ∗ Certeza

6.4.4 REGLAS DE PRODUCCIÓN La aplicación de los sistemas con reglas de producción tienen las siguientes observaciones:

Su forma de representación es en general sencilla y útil. Maneja varias alternativas de solución. Permite implementar metaconocimiento para orientar la búsqueda de la solución. Adecuado en implementaciones dirigidas por datos. Hay conflictos de reglas para elegir la mejor. Existe conflicto de memoria en la alteración y administración del conocimiento. Overhead del Match en cada ciclo. No facilita el backtrack de hipótesis pues no conserva diversos estados del contenido de la memoria de trabajo.

Page 136: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

116

6.4.5 CREENCIAS Los sistemas que manejan creencias son:

Adecuados para representar incertidumbre de afirmaciones cambiantes en su veracidad. Permiten desarrollar múltiples enfoques. Facilitan la incorporación de nueva información a lo largo de la solución de un problema. Manejan contradicciones y ambigüedades. Pueden “romper” dogmas. Consumen más recursos que el cálculo de predicados. Exigen un mecanismo de “mantenimiento” de verdad eficiente. Inclinados a favorecer tendencias parciales o temporales. Requieren redundancia de versiones sobre la misma información.

6.4.6 PROBABILIDAD Los sistemas que emplean probabilidad se enfocan a:

Problemas con rasgos aleatorios. Manejo de información incompleta y aproximada. Aprovechamiento de experiencias y estadísticas. Guía a la inferencia en deducciones inciertas. La obtención e interrelación de las probabilidades y definición de umbrales certeros. Manejo de eventos no independientes, mutuamente exclusivos, apoyados en evidencias comunes. Propagación de probabilidades y cambios:

Sean las reglas: A → B, B → C P1 P2 P3 pero si P1 cambia a P4 ¿Qué pasa con P2 y P3?

Obliga a mantener una base de conocimientos “Bayesiana”, ya que al agregar un nuevo hecho se deben disminuir las probabilidades de los demás para mantener la suma en 1.

Se debe calcular de la fórmula de Bayes en universos amplios. Existe la necesidad de manejar resultados disjuntos, por lo que complica el cálculo. Hay la exigencia de contar con al menos una hipótesis verdadera en todos los casos.

6.4.7 FUZZY SETS Los conjuntos borrosos son:

Apropiados para la representación de aspectos confusos, inexactos, ambigüos y contradictorios. Desarrollar múltiples alternativas. Ad - hoc a problemas específicos. Relativamente novedosos y pragmáticos. Carentes de una base exacta de formalismo. Muy subjetivos y dependientes de contexto. Obligan a precisar la definición de grados de pertenencia. Fundamentados en las formas de combinación y propagación de los valores Fuzzy.

6.4.8 REDES SEMÁNTICAS Las redes semánticas se orientan a:

Representar jerárquicamente los objetos y atributos. Facilitar la inherencia de propiedades entre objetos.

Page 137: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 117

Describir significados de las entidades. Simplificar la inferencia. Limitar la representación de abundante información. Presentar dificultades en la atención a múltiples inherencias. Mucha dispersión del conocimiento al usar gran cantidad de nodos y ligas.

6.4.9 FRAMES Los marcos tienen las siguientes observaciones:

Facilita la conceptualización e interrelación de conceptos, entidades y eventos. Permite incluir valores por default y el manejo de dominios, además de actualizar los valores de estado. Mezcla el conocimiento procedural y declarativo. Emplea menor número de nodos y ligas El manejo de “fillers” implica proceso y conocimiento adicional. Incertidumbre en la definición de los objetos. Dificultad para declarar “verdades universales”.

6.4.10 DEPENDENCIA CONCEPTUAL La dependencia conceptual es:

Apropiada en la representación de conceptos esenciales. Orientada al lenguaje natural. Con pocos elementos y simples estructuras representa una gran cantidad y variedad de ideas. Evita las ambigüedades. Facilita la inferencia, al manipular conjuntos pequeños de primitivas. Usar primitivas para eliminar aspectos complementarios. Tienen un alto grado de dificultad para compilar una representación en primitivas. El problema crece para decodificar una expresión primitiva en una natural. Se pierde la riqueza del lenguaje.

6.4.11 SCRIPTS Los guiones cuentan con las siguientes propiedades:

Son adecuados para el modelaje de estereotipos. Concentra gran cantidad de conocimientos en un sólo molde. Definen aspectos comunes, rutinarios y lógicos. Adecuados en aplicaciones de generación de historias, enseñanza, planeación y reparación. Los casos reales no siempre siguen los mismos patrones Requieren amplios recursos computacionales. Se debe interrelacionar con otros modelos de conocimiento e inferencia para adquirir sentido. Pobreza en su expresión natural por el hecho de usar dependencia conceptual.

6.5 CONSTRUCCIÓN DE UNA BASE DE CONOCIMIENTOS 6.5.1 HERRAMIENTAS La representación de conocimiento puede implementarse por medio de los siguientes tipos de herramientas, técnicas y metodologías

Lenguajes funcionales: ∗ IPL ∗ LISP ∗ INTERLISP y otros derivados ∗ SAIL ∗ POP

Basados en cálculo de predicados y reglas:

Page 138: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

118

∗ PROLOG ∗ OPS 5 ∗ MBASE ∗ MRS

Creencias: ∗ TMS

Probabilidad/Factores de certidumbre: ∗ M1 ∗ EMYCIN ∗ OPS 5

Fuzzy ∗ Flops

Redes semánticas - FRAMES ∗ KRL ∗ FRL ∗ KL-ONE ∗ KRIPTON ∗ CYCL ∗ Conceptual ∗ Graphs ∗ RLL ∗ NIKL ∗ THEO ∗ KL-ONE ∗ FRAMEKIT ∗ MECHO´S

Orientado a objetos ∗ SMALLTALK ∗ CLOS ∗ ACTOR ∗ LOOPS ∗ SCHEME ∗ C++

Dependencia Conceptual

∗ ERKS

Scripts ∗ PAM 6.5.2 METODOLOGÍA Elección de Técnica Para resolver los complejos problemas con los que se enfrenta la Inteligencia Artificial, es necesario disponer de una gran cantidad de conocimiento y de una serie de mecanismos que permitan representarlo y manipularlo con el fin de obtener soluciones a nuevos problemas. En las aplicaciones se ha representado el conocimiento de distintas maneras a través de variadas opciones que ya han sido evaluadas. Sin embargo se debe resaltar una característica común en todas las representaciones compuesta de:

Hechos: Es aquello que se quiere manipular.

Page 139: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 119

Representaciones de los hechos: Es el formalismo de representación y la forma de manipulación. Además se debe considerar que un buen sistema de representación de conocimiento en un dominio particular debe poseer las siguientes propiedades:

Suficiencia de la representación. Suficiencia deductiva. Eficiencia deductiva. Eficiencia en la adquisición.

A continuación se muestra en forma de diagrama, los puntos a incluir en la elección de una técnica de representación ilustrada en la Figura 42:

Caracterización del conocimiento

Herramientas disponibles

Naturaleza del problema

Mecanismo de manipulación

Evaluación de Técnicas

Selección

Fig. 42. Consideraciones para la selección de técnica de representación del conocimiento Aspectos a caracterizar del conocimiento

Abundancia. Certidumbre. Absolutismo. Estructuración. Grado procedural. Nivel de Estatismo. Manejo de:

∗ Excepciones. ∗ Default. ∗ Generalidades. ∗ Inherencia. ∗ Contradicciones.

Universalidad. Empleo de contextos. Cuantificaciones. Espacios de versión. Representación sintáctico - semántica.

Page 140: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Conceptualización de la base de conocimiento Valor del conocimiento. Utilidad y aplicación. Soporte de fundamentos. Forma y contenido. Mantenimiento. Explotación. Adquisición. Evaluación.

Ontología La Ontología es “el estudio filosófico de lo que existe”. En el contexto de la Inteligencia Artificial la ontología se ocupa de las categorías que podemos cuantificar adecuadamente y de la manera en que se relacionan con las demás. Todos los sistemas basados en conocimiento se refieren a entidades del mundo, pero para poder capturar la profundidad del conocimiento humano, es necesaria una ontología global bien diseñada que especifique a muy alto nivel que clases de cosas existen y que propiedades generales tienen. Una ontología global proporciona una fundamentación más sólida para el dominio específico de las aplicaciones y permitirles comunicarse entre ellos como se muestra en la Figura 43: Ontología Aplicaciones de la Inteligencia Artificial Universo del dominio Conocimiento Humano Relaciones Clases de objetivos

120

Propiedades y Entidades

Fig. 43. Relación Ontología - Representación del conocimiento Atributos Ontológicos:

Clase: Colección de objetos homogéneos: personas, naciones, ruidos. Pueden tener super clase y subclases. Instancias de colecciones: Son objetos específicos como Juan Sánchez, Colombia, trueno,... Estos pueden

descomponerse en partes. Naturaleza: Del objeto, definición, propósito, etc. Intangible: Objetos sin masa, imperceptibles como los sentimientos, pensamientos, leyes,... Tangibles: Objetos concretos tales como personas, minerales,... Compuestos: Identifica las partes integrantes del objeto, reconociendo dos aspectos:

∗ Extensión física: Cuerpo de una persona. ∗ Extensión intangible: Mente de la persona.

Substancia: Es lo que retiene las propiedades intrínsecas, aparecen en todos los objetos de la misma clase. Propiedades extrínsecas: Son aquellas que distinguen a un objeto del resto de la misma clase. Eventos: Sucesos con una duración breve cuyo propósito es describir una acción o resultado. Procesos: Secuencia de acciones con una duración mas amplia que un evento. Slots: Identifica las propiedades de un objeto, es decir los adjetivos que permitirán reconocerlo. Tiempo: Es el punto de referencia con relación a otros eventos, caracterizándose por

∗ Momento: Inicial, final.; duración: Lapso o conjunto de ellos; y frecuencias: Cada cuando Agente: son objetos tangibles y activos, que tienen “creencias” que orientan su conducta Representación: Forma de descripción simbólica. Casualidad: Eventos que surgen circunstancialmente y que afectan el estado de otros, así como al de los

objetos.

Page 141: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 121

Procedimiento:

Caracterización del conocimiento perteneciente al dominio del problema. Identificación de las formas de inferencia y explotación para la solución de problemas. Consideración de los medios de aprendizaje, adquisición y mantenimiento. Confrontación con los métodos de representación. Selección de la forma de representación: reglas, listas, marcos, primitivas, funciones, etc. Diseño del mecanismo administrador del almacenamiento, acceso, actualización y consistencia de la base. Elección de la herramienta de software. Creación de la base de conocimientos. Integración con los demás módulos de Sistemas Expertos. Prueba, depuración y evaluación de la base de conocimientos.

7.5.3 CYCL Es una base de conocimientos cuyo objetivo es representar el sentido común del ser humano, para combinarlo con bases de conocimientos especializadas en diversos dominios y producir Sistemas Expertos más robustos que los convencionales. Este proyecto estuvo a cargo de Lenat y Guha, pretendiendo describir el mundo a través de una teoría basada en: eventos, objetos y actitudes. El conocimiento de CYCL está codificado en un lenguaje denominado CYCL, basado en marcos que incorpora técnicas de herencia múltiple, ranuras con objeto de pleno derecho, transfiere-a-través-de, mutuamente-excluyente-con, etc. CYCL generaliza la noción de herencia de una forma que las propiedades pueden heredarse a través de cualquiere enlace, no solo con “es-un” e “instancia”, de la forma mostrada en la Figura 44:

Representación

Percepción

Mundo Frames Cálculo de predicados Funciones LISP CYCL

Fig. 44. Estructura de CYC El lenguaje CYCL representa:

Inherencia simple, múltiple y generalizada. “Slots and Fillers”. Excepciones, propagación de valores, y desarrollo ascendente y descendente. Un lenguaje de condiciones para declarar expresiones en predicados. Dos niveles de representación:

∗ Epistemológico: Hechos generales de dominio universal, expresadas en predicados. ∗ Heurístico: es un subconjunto de los anteriores, adaptado a las necesidades específicas del problema.

Un programa que compila declaraciones epistemológicas a heurística. Para ilustrar la representación de conocimiento que realiza CYCL, se aprecia en la siguiente figura la composición de varios marcos involucrados en los elementos e implicaciones de una frase. Operación Sea la declaración "A María le gusta únicamente la gente que programa en LISP”, y su representación de la Figura 45:

Page 142: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

122

Frame: María

Edad: 23 Sexo: Fem

Condición: solo LISPLe gusta:

Frame: Juan

Edad: 25 Sexo: Masc. Programa en (LISP)

...

Frame: Luis

Edad: 20 Sexo: Masc. Programa en (C, LISP)

...

Frame: condición solo LISP

Valor de X si cumple: condición

Slot: condicionado: le gusta

Condición: Para cada

Composición: A ∧ B

Slot Value - debe ser: X

Propagación: Forward

Frame: condición-part: A

El conjunto de personas: X instancia

Fig. 45. Representación "A María le gusta únicamente la gente que programa en LISP” La figura anterior muestra cómo puede expresarse el hecho “A María le gusta únicamente la gente que programa en LISP”. María posee una restricción condición solo LISP, que restringe el valor de su enlace le gusta. El atributo Slot Value de condición solo LISP asegura que la ranura le gusta de María se rellenará al menos con aquellos individuos que satisfacen la condición lógica de que programan en LISP y no en otros. Operación en Sentido hacia adelante:

Inserción del frame de Juan. Activación del sistema del mantenimiento de verdad.

Page 143: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 123

Selecciona frames involucrados como el de “María”. Valida el slot condicionado “le gusta”. Instancia la parte - A. Valida la parte - B. Al ser afirmativa, agrega el nombre de Juan a la lista de personas que a María le gustan.

7.5.4 EXIS Es un Sistema Experto orientado a auxiliar al usuario final en la definición de esquemas conceptuales de base de datos. Aprende por ejemplos, representa el conocimiento mediante modelos semánticos y de eventos, se implementó en PROLOG. Como se ilustra en la Figura 46: Objetivos

Genera apropiados diseños conceptuales de esquemas de base de datos. Permite la representación del conocimiento del experto en base de datos, así como retroalimentarlo a él. Mediante modelos semánticos, representa el conocimiento de aspectos descriptivos y estáticos. A través de modelos de eventos se proyectan los aspectos dinámicos de una aplicación. Facilita la comunicación con el usuario ofreciéndole distintos ambientes de interacción. Incrementa el acervo a través de los resultados y experiencias obtenidas de las sesiones. Revisión de la consistencia de la base de conocimientos después de cada alteración. Construcción de planes con la colaboración del usuario.

Arquitectura

M e t a R e g l a s

H e c h o s

Diálogo Monitor

Explicación

Aprendizaje

Display

Creación/Manipulación

Motor de Inferencia

Base de Conocimientos: Reglas

Experto Usuario Final

Fig. 46. Arquitectura de EXIS • Base de Conocimientos: Utiliza meta reglas, reglas y hechos para representar la metodología y conceptos del

dominio para diseñar base de datos. • Diálogo: Permite la interacción con los usuarios. • Monitor: Controla el diálogo, ofreciendo diferentes niveles de interacción. • Manipulación y Recuperación: Dirige la actualización y consulta a la base de conocimientos, satisfaciendo las

condiciones de integridad en apoyo al motor de inferencias. • Aprendizaje: Permite al experto introducir y actualizar las reglas y hechos, apoyado en una interface gráfica. • Explicación: Atención a inquietudes tipo: WHY, WHAT, WHY NOT? • Motor de Inferencia: Usa PROLOG con búsqueda a profundidad, hacia atrás, e inferencia de “Resolución”.

Page 144: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

124

Representación de Conocimiento

Fig. 47. Elementos en la representación de EXIS

Representa las condiciones de integridad y su formalización mediante redes semánticas y cálculo de predicados, de acuerdo con los siguientes criterios:

empleado (Juan) = yes

La colección de clases y entidades se denomina “meta clases”.

Las entidades se reconocen por sus argumentos, a través de sus conexiones con otros conceptos.

Atributos: Son las propiedades descriptivas de la entidad.

Se representa con un predicado binario: altura (X, alto).

Semántico Redes Semánticas Representación Base de Técnicas empleadas Modelos Conocimientos Eventos Predicados - Reglas

Modelo Semántico

Entidades. Representan a un objeto o clase y se codifican como términos y predicados respectivamente.

compañía (alfa) = yes

trabajador (empleado (Juan)) = yes organización (compañía (alfa)) = yes

Arcos. Permiten interrelacionar a los elementos de diferentes clases, mediante alguna de las siguientes categorías de arcos:

Entidad ← atributo → valor

clase

Mientras que la asignación de la propiedad a su respectivo dueño:

∀x (basquetbolista (x) → altura( X, alto))

Declaración: El tipo de dato asignado al valor de un argumento está en función a su naturaleza.

alumno (nombre, edad, materias,...) alumno (Juan, 20,[lisp, compiladores, _ ] _)

Asociación: Es una relación binaria entre dos entidades.

trabaja - para (Juan, alfa)

Page 145: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 125

Mientras que su abstracción para las distintas instancias de las clases respectivas:

parte libro

eq (deportista, atleta)

dado:

Inherencia: Es cuando una entidad aprovecha las propiedades definidas para la clase a la que pertenece.

entonces

Excepción: Sucede cuando una entidad no debe apropiarse de cierto atributo definido para la clase. (mamífero(nace - en placenta)...)

pero (ornitorrinco (is - A mamífero)(nace en huevo)...)

Condiciones que permiten generar el esquema.

Generalización: cada generalización “g”, debe tener un nombre único, sea la clase “mgc” una metageneralización.

∀x ∀y (mgc(x) ^ mgc(y) → -(=(x,y)))

Ninguna clase puede ser subclase de sí misma.

∀x ∀y s(ec1, ec0(4)) → s(ec1 (x), ec0 (4)) i = 1,2,3,...

∀x ~∀y trabaja para (x, y) → ∃x empleado(x) ∧ ∃y compañía(y)

Generalización: También conocida como especialización, permite presentar atributos comunes a las entidades de la misma clase.

∀x (empleado(x) ∨ estudiante(x) → persona(x))

Agregación: Conjuga varias clases en otra de mayor nivel. Es decir, constituye el producto cartesiano de las clases a integrar.

libro(x) → ∃y ∃z ∃w (autor (y) ∧ editorial (z) ∧ titulo (w))

agregación

autor editorial titulo

Equivalencia: Representa que dos clases son equivalentes. eq (oc, oc2)

eq (x, y) equivale a is - a (x,y) ∧ is - a (y, x)

Deducción: Aplica alguna regla clásica de inferencia.

∀x [profesor(x) → empleado(x)] ∀x [empleado(x) → persona(x) ∧ asalariado (x)] se deduce: ∀x [profesor(x) → persona(x) ∧ asalariado(x)]

(perro(expresión ladrido)..) (fido (is - a perro)...)

fido ladra

∀x [g(ec0(x), list_of_subset) → member (x, list_of_subset (y))]

La transitividad de “IS-A” como consecuencia de la “→”.

Page 146: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

126

∀x ∀y ∀z (g(x,y) ^ g(y,z) → g(x,z))

Una clase y su super clase no pueden tener ambas un atributo con el mismo nombre.

Esquemas: Son definidas por la estructura conceptual del esquema.

Meta: Jerarquizan la secuencia de pasos en la generación de un esquema. Deducción: Permiten calcular “nuevo” conocimiento a partir del original.

Regla o hecho Factor de

[0,1] o F.V.

∀x ∀y ∀z (s(x,y) ^ s(y,z) → s(x,z))

∀x ∀y [g(ec0 (x), ec1 (x))] → ~ z(ec0 (z) ^ ec1(z))

Clasificación de las reglas.

Transformación estructural: Convierte la red semántica a otro modelo. Integridad: Constituye la condición para mantener la integridad durante su manipulación y recuperación, son

concebidas como pre y post condiciones.

Las reglas secodifican:

Rule (o - regla, < conclusión : - condiciones >, ct)

Prolog certidumbre

Aprendizaje

Decisió

Fig. 48. Aprendizaje

La definición formal del KRSM es:

C = Atributos condicionales

F = E x V función de información, tal que la función F asigna valores a los atributos de cada objeto e en E.

Sea el siguiente ejemplo de representación mediante predicados, valores y la Figura49:

Bases de Modelo de Ejemplos Representación

Algoritmo de Aprendizaje Probabilístico “PLA”

Reglas de n

S = < E ,C, D ,V , F > E = Conjunto de objetos

D = Atributos de decisiones V = Conjunto de los valores de los atributos

Page 147: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Base de Conocimientos 127

S2 que describen P2 S3 situaciones de P3 Situaciones S4 las clases de ... S5 entidades Pn

para las

IS-A (Y,X)

Algoritmo

Regla

Objetos S1 predicados P1

{}

C1 (X) X = (persona, empleado) Reconocimiento C2 (Y) Y = (empleado, maestro, asistente) C3 (Z) Z = (maestro, alumno, jefe)

Predicados

relaciones entre elementos

Condición IS-A (Z,Y) Atributos Conclusión IS-A (Z,X)

EJEMPLOS

de Aprendizaje

Situaciones Reconocimiento ATRIBUTOS Condiciones Conclusión C1(X) C2(Y) C3(Z) IS-A(Y,X) IS-A(Z,Y) IS-A(Z,X)

S1 Persona Empleado Maestro T T T IS-A (Z,X) IS-A(Z,Y) ^ IS-A (Y,X)

S2 Persona Empleado Asistente T T T IS-A (Z,X) IS-A(Z,Y) ^ IS-A (Y,X)

S3 Persona Empleado Jefe F is-a(jefe,persona) T T

S4 Persona Empleado Estudiante is-a(estudiante,persona) T F T

Fig. 49. Ejemplos de representación

Page 148: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

128

Page 149: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 7. MOTOR DE INFERENCIA

Page 150: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

130

Page 151: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

7.1. NATURALEZA DEL MOTOR DE INFERENCIA 7.1.1. DESCRIPCIÓN Es una clase especial de pensamiento en la que se obtienen conclusiones a partir de premisas, es decir se genera conocimiento con base a otro como se aprecia en la Figura 50

Fig. 50. Esquema del motor de inferencia

Genera nuevo conocimiento.

Refleja el razonamiento humano.

7.1.2. PROPÓSITO

Confirma el conocimiento actual, lo actualiza o desecha. Justifica la generación de conocimiento. Mantiene la consistencia del conocimiento. Resuelve problemas.

7.1.3. ELEMENTOS La inferencia refleja la forma de resolver problemas. Este motor sirve como mecanismo de control e inferencia para el sistema experto, formando parte esencial del sistema debido a su importante papel como factor en la determinación de la efectividad y eficiencia del mismo, tal como se aprecia en la Figura 51

Fig. 51. Interrelación del Motor de Inferencia con los componentes de un S.E.

7.2. EVALUACIÓN DE MÉTODOS DE INFERENCIA 7.2.1. LÓGICA Cálculo Proposicional Proposición: Es una declaración donde se afirma algo, lo cual puede ser verdadero o falso. Argumento: Es un conjunto cualquiera de proposiciones de las cuales hay una denominada “conclusión” que se sigue de las demás, llamadas premisas.

7. MOTOR DE INFERENCIA

INFERENCIA

BÚSQUEDA

Mecanismo de aprendizaje

Interface hombre - máquina

Manipulación

Solución de problemas

experto

usuario

Base de conocimientos

MOTOR DE FERENCIA

conclusiones

premisas

Page 152: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

132 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

132

Reglas de Inferencia:

∗ Silogismo Hipotético: A → B, B → C A → C

Método de deducción:

Prueba formal de validez: La demostración de un enunciado se obtiene si resulta ser la conclusión de aplicar las reglas de inferencia al conjunto inicial de enunciados y a sus derivados. Por ejemplo

∗ Argentina es único líder o, si Brasil ganó entonces Dinamarca está eliminada.

∗ Si Argentina es único líder entonces ganó Colombia. ∗ No Ganó Colombia.

Demostración Indirecta o Reducción al Absurdo: La hipótesis a demostrar se introduce negada a las premisas originales, si la aplicación de las reglas de inferencia conducen a una contradicción (enunciado vacío) entonces el supuesto debe ser falso y su negación (la hipótesis a probar) debe ser verdadera.

Dado Se deduce ∗ Modus Ponens MP : A → B, A B ∗ Modus Tollens MT: A → B, ~ B ~A

∗ Silogismo Disyuntivo: A # B, ~A B ∗ Conjunción C: A, B ~ A & B ∗ Adición A: A A # B ∗ Simplificación S: A & B A

Sean las premisas:

∗ Si no ganó Colombia entonces, si Dinamarca está eliminada entonces España calificó.

Y la conclusión: C. Si Brasil Ganó entonces España calificó. Los enunciados se simbolizan así: 1. A # (B → D) 2. ~C (D → E) 3. A → C 4. ~C C. B → E Los enunciados derivados son: 5. ~A 3,4 MT 6. B → D 1,5 SD 7. D → E 2,4 MP 8. B → E 6,7 SH donde se prueba la conclusión

Si aplicamos el método para el primer orden resultaría: C) B → E su negación: ~(B → E) : ~ (~B # E): B & ~E La introducimos como la premisa 0 a los enunciados originales: 0. B & ~E 1. A # (~B # D) 2. C # (~D # E) 3. ~A # C 4. ~ C

Page 153: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 133

5. ~A 3,4 MT

11. ~E & B 9,10 C

Derivando los siguientes enunciados:

6. ~B # D 1,5 SD 7. ~D # E 2,4 MP 8. ~B # E 6,7 SH donde se prueba la conclusión 9. B 0 S 10. E 8,9 MP

12. ~E 11 S 13. E & ~E 12 C 14. 13 Absurdo (Se generó el enunciado vacío)

Cálculo de Predicados Predicado: Es la palabra que dice lo que se expresa del sujeto de una oración.

Por ejemplo, se desea unificar:

P(a, X, f(b, Y, g(c, Z)), d, W)

Convertir todas las fórmulas a cláusulas.

Deducción: Se aplica el método de “Resolución” propuesto por Robinson, apoyado en la unificación de fórmulas. Unificación: Confronta dos fórmulas atómicas para determinar si existe una “semejanza” entre sus componentes, produciendo una lista que contiene la asociación de valores a las variables de las dos fórmulas, en caso de haber tenido éxito en la comparación, de lo contrario se dice que no son “unificables”. Los criterios que emplea son:

Deben ser los mismos predicados. Igual número de términos. Una constante sólo se unifica con otra igual o una variable. Una variable libre se unifica con otra que esté libre o que ya esté instanciada, cualquier constante o función. Una función se unifica con una variable libre o que esté instanciada por una función con la que se pueda

unificar o con otra función con igual, nombre, número de términos, y que éstos a su vez sean unificables.

P(a, h(e), f(b, X, g(V, e)), d,U)

donde: constantes a, b, c, d, e, variables U, V, W, X, Y, Z, funciones f, g, h

Las dos fórmulas son unificables, generando una lista denominada “lista de asociación” con las siguientes sustituciones: ( (h(e) / X), (h(e)/Y), (c/V), (e/Z), (U/W) ) Resolución: Es un método empleado para la demostración de teoremas en el cálculo de predicados, su procedimiento se basa en el principio de reducción al absurdo, consistente en:

El teorema a demostrar se niega y se introduce a las premisas. A partir de este punto se confrontan las cláusulas, comparando aquel par que cuando menos tengan la misma

fórmula atómica, pero una esté afirmada y la otra negada y que además sean unificables, para producir una nueva cláusula denominada resolvente que contenga las restantes fórmulas atómicas de las dos cláusulas.

El paso anterior se repite hasta encontrar una contradicción (se produce la cláusula vacía) o bien no se obtiene progreso alguno (loop, no hay solución, se escogió un camino largo o equivocado).

Cuando se produce la contradicción se afirma la validez del teorema.

Page 154: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

134 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Por ejemplo:

134

Patrones

Memoria de trabajo

Apareamiento de Patrones

patron = patrón

Variable = Valor

Valor condición Valor

Rule Conflict

Sean las premisas

2) padre (Juan, José).

5) ~ padre (x, y) ∧ ~ padre(y, z) → abuelo(x, z)

Acciones1 Condiciones1 . . Accionesn Condicionesn

1) padre (Juan, Rosa).

3) padre (Rosa, Ana). 4) padre (Rosa, Anel).

Y el teorema a demostrar es: C abuelo (Juan , Ana). Por lo que al introducirlo negado tenemos: C ~ abuelo (Juan, Ana) 5. ~ Padre (x, Y) # ~ padre(y, z) # abuelo(x, z) Y LA: lista de asociación: (Juan / x) (Ana / z)) R: resolvente ~ padre (Juan, y) # ~ Padre(y, Ana, 2). Padre (Juan, Rosa)

Y LA: ((Rosa / Y) ) R: ~ padre (Rosa, Ana, 3). Padre (Rosa, Ana) LA: ( ) R: nil

7.2.2. SISTEMAS DE PRODUCCIÓN Los sistemas de producción se caracterizan por:

Las reglas pueden tener varias conclusiones conjuntas. La inferencia se ejecuta por medio del “apareamiento de patrones”. La activación de las reglas es determinada por los patrones almacenados en la “memoria de trabajo”. Las reglas

interactúan a través de “apareamiento” con los patrones almacenados, que al hacer “match” ejecutarán sus acciones depositando sus resultados como nuevos patrones o alterando a los originales, en la memoria de trabajo, ver Figura 52:

Reglas

Acciones ejecución ACTUALIZACIÓN

Fig. 52. Sistema de producción

Page 155: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 135

7.2.3. FACTORES DE CERTIDUMBRE (“CF”)

La incertidumbre es producto de la incompletez y de la inexactitud del conocimiento del problema a representar. La técnica del manejo de suposiciones puede funcionar como fundamento para el manejo de los sistemas que razonan bajo estas características. La principal ventaja de este tipo de razonamiento en comparación con el lógico reside en que el sistema puede hacer inferencias aún sin disponer de la suficiente certeza para probar que una acción es válida.

Razonamiento mediante Factores de Certidumbre:

Premisas1 CF1 ….... Premisas ∏ j

CF condición = min [CF1 ,……….., CFp ]

Cuando hay condiciones disyuntas: Premisa1 CF1 v Premisa2 CF2 ……….. V Premisan CFn ∏ Conclusión CF

CF finalk = CFi Premisai * CF Conclusión

Para posteriormente combinar cada CF final k

Cuando son positivos los CF’s CF = CF1 + CF2 % * (100 - CF1 )

Para CF’s negativos CF = - (|CF1 |+ | CF2 | % *(100 - |CF1 |))

En caso de ser mixtos los CF’s CF = (CF1 + CF2 ) * 100 / (100 [min( |CF1 |, |CF2 |)] )

Para: ((( CF1 , CF2 ), CF3 ) ….., CFk

Cada premisa tiene su propio CF

p CFp Conclusión CF

Al haber varias promesas conjuntivas, se elige el menor CF:

Cuando la misma conclusión se obtiene de varios caminos, el “CF” final se deriva del producto de ellos: CF final = CF conclusión * CF conclusión

Cada premisa i válida produce un CFi

donde k = 1 …… # total de premisas válidas

El mismo procedimiento se aplica cuando se llega a la misma conclusión desde varios caminos como en Fig 53 …… c

d

w

d

k

x

l

y z

Meta …… ……

Fig. 53. Cálculo del CF de una conclusión derivada por varios caminos

Page 156: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

136 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

7.2.4. RAZONAMIENTO EN OBJETOS ESTRUCTURADOS Se apoya en las relaciones “atributo valor” que asocian un objeto con otros o con clases de ellos como en Fig 54:

is-a kind of

Objeto Clase

136

Fig. 54. Razonamiento en objetos estructurados

De tal manera que las propiedades asociadas al objeto o clase se hacen inherentes a la instancia.

…………. (Clase (a1 V1 ), (a2 V2 ),…, (an Vn ))

(objeto (IS-A Clase) (ax Vx ) … )

Fig. 55. Propiedades de las clases inherentes al objeto

arte del objetos también lo son en sus instancias”.

……

lase

Fig. 56. Propiedades válidas de una clase de objetos y sus instancias válidas

a exce ecificando la propiedad como parte de la descripción del objeto.

Excepción

Fig.57. Propiedades válidas de una clase de objetos y sus instancias no válidas

P postulado: “Las propiedades válidas para una clase de

C

L pción a la regla se declara esp …

I1

I1

I3

I3

I4 In

In+1

P1

P1

P2

P2

Pp

PpP3

Px P3 Py

Propiedades de la clase

Instancias de la clase

Propiedades del objeto donde el valor de “P3” es distinto al de la clase

Propiedades de la clase

Page 157: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 137

Existe un “conflicto de inferencia” cuando hay varias conclusiones para una misma propiedad de cierto objeto, como consecuencia de la inherencia múltiple, como se muestra en la siguiente figura; la propiedad “P1” se describe en el objeto “A” y en las clases a las que pertenece “E”, ”I”, ”K”, ”D”, y “H”. Como se aprecia en la Figura 58:

Fig. 58. Conflicto de inherencia

I

E

J

F

B

K

G

C

L

H

D

A

( K ( P1 W)..)

( I ( P1 Z)..)

( L ( P1 X)..)

( E ( P1 Y)..)

( D ( P1 I)..)

( A ( P1 -)..)

Esto es equivalente al proceso de búsqueda de la “mejor solución”, por lo que implica manejar conocimiento adicional, esta “heurística” debe reflejar el contexto del dominio del problema que se está tratando. 7.2.5. RAZONAMIENTO CONCEPTUAL Se representa a través de la relación “causa - efecto” implícita en la semántica de las primitivas que afecta a los atributos de estado asociados a los objetos. Por ejemplo, sea la acción “Bateo de hit al jardín derecho y se embazó en la segunda”: Ahora se formulan los actos que ilustran los verbos de la oración: ACT1 (PROPEL ACTOR HUM0 OBJECT OBJECT PEL1 TO PLA1 TIME HOR1 FROM PLA0 DURATION PER1 ……… ) ACT2 (PTRANS ACTOR HUM0 OBJECT FROM PLA0 TO PLA2 TIME HOR1 DURATION PER2 ……… )

Page 158: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

138 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

Se definen los siguientes “momentos” y “objetos”: Objeto1 (HUM 0 (ESTA-EN PLA0) (MOMENTO Hora1) …..)

138

Objeto2 (PEL1 (TIPO PELOTA) (DEPORTE BEISBOL) …..)

Fig. 59. Razonamiento conceptual

Desarrollar alternativas con diversas creencias e inclusive contradictorias, es decir, “manejar distintos enfoques”.

Objeto3 (PLA 0 (TIPO LUGAR) (ZONA JARDIN) (PUNTO HOME) …..) Objeto4 (PLA2 (TIPO LUGAR) (ZONA JARDIN) (PUNTO SEGUNDA-BASE) …..) Objeto5 (PLA1 (TIPO LUGAR) (ZONA JARDIN) (PUNTO RIGHT-FIELD) …..) Momento0 (PER1 (TIPO TIEMPO) (DIMENSION SEGUNDOS) (CANTIDADS 2) …..) Momento1 (HOR1 (FECHA X) (HORA Y) …..) Momento2 (PER2 (TIPO TIEMPO) (DIMENSION SEGUNDOS) (CANTIDADS 12) …..) Las repercusiones de evento generan un nuevo “momento” (con identificación “3”) y actualiza al “objeto1”: Momento3 (Hor2 (Fecha X) (Hora Y + Per1-cantidadsd + Per2-cantidadsd) …..) Objeto1 Hum0 (Esta-en PLA2) (Momento Hor3) …..) Esta situación se conceptualiza de la forma mostrada en la Figura 59: ACCIONES REACCIONES

OBJETOS

MOMENTOS

MOMENTOS

EVENTOS

Intérprete

EJECUTADOR

OBJETOS

7.2.6. RAZONAMIENTO NO MONOTÓNICO La veracidad de las afirmaciones pueden cambiar en la medida que se añadan nuevos hechos, si ellos son consistentes con todos los demás que ya se han afirmado antes, entonces ninguno de ellos será refutado (a esta propiedad se le llama “monotonía”), pero si se altera la veracidad de algunos se dice que el conocimiento y el razonamiento son “no monotónicos”. Algunas características del razonamiento no monotónico son:

Se tiene conocimiento incompleto. Es inconsistente la veracidad de las premisas. Las afirmaciones descansan en la validez de otras. Los postulados pueden verse confirmados o rechazados al incorporar un nuevo conocimiento o inferencia. Hacer inferencias por “default”: “Todos los sospechosos son inocentes hasta que no se demuestre lo

contrario”.

Page 159: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 139

Representación de Fórmulas y Modelos de Creencias En la figura 8.11 se muestra en un segmento la cobertura de un conjunto de fórmulas “A”, “B” y “C”, la cual genera un módulo de conclusiones derivadas a través de un círculo, en el cual se aprecia la particularidad de los teoremas derivados por un solo grupo y también la generalidad de aquellos que se obtienen mediante la emisión de varios conjuntos; evidenciando diversos enfoques, de la manera ilustrada en la Figura 60:

Módulos Derivados Módulos Derivados

C Fórmulas Fórmulas

Módulos Derivados

A

A B

A

B

Fórmulas

Fig. 60. Representación de Fórmulas y Modelos de Creencias

Hay dos clases de lógica para representar esta forma de razonamiento:

Lógica No monotónica: Propuesta por McDermott y Doyle, altera las fórmulas del cálculo de predicados con el “operador modal M”, que se interpreta como consistente. Por ejemplo:

1 2 ……

∀x ∀y hombre(X) ∧ mujer(Y) ∧ Mlegusta(X,Y) ∏ se le declara(X,Y) Ahora bien, la consistencia de un conjunto de teoremas dada una base de conocimientos es el conjunto resultante de la intersección de los conjuntos de teoremas que se generan por las distintas combinaciones de las fórmulas y que gráficamente se presentan a en la Figura 61:

n

W1 … W3 W2 … Ww

Fig. 61. Consistencia de teoremas

Teoremas consistentes

Conjuntos de teoremas

lt t

Page 160: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

140 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

140

Lógica por Default

Para las declaraciones: A ∧ M B ∏ B ~ A ∧ M B ∏ B Se deriva: M B ∏ B Al eliminar A y ~ A.

: Define un nuevo y único conjunto de reglas de inferencia, como la siguiente: A : B C

Si “A” es probable y es consistente asumir “B” entonces se concluye “C”. Dicho mecanismo permite extender el conocimiento a través de las nuevas conclusiones que produzcan las reglas de inferencia. Por ejemplo: 1) ∀x Industrial(X) ∧ M ~ ecologista (X) ∏ ~ ecologista(X) 2) ∀x Deportista(X) ∧ M ecologista (X) ∏ ecologista(X) 3) Industrial (juan)

Al aplicar las reglas de inferencia con la instancia de “Juan”

~ ecologista(juan)

Desafortunadamente la lógica por default no señala como escoger a alguna de ellas como la conclusión consistente.

Abducción:

4) deportista(juan)

Se produce:

ecologista(juan)

Con base a: Infiere en sentido inverso

∀x a(X) ∏ b(X) a(X) ∏ b(X) a (c) b(f) ├ ├ b (c) a(f) Este razonamiento es útil si alguna medida de certidumbre es asociada a las expresiones resultantes. Estas medidas cuantifican la argumentación en favor a dicha conclusión en comparación con otros antecedentes que soportan la conclusión de “b” a partir de “a” (en el sentido normal”).

Inherencia: Es otra forma de representar el razonamiento por “default”, veamos los siguientes ejemplos: 1) basketbolista(Y) : altura (Y, 1.95)

altura(Y, 1.95) 2) basketbolista(luis)

3) adulto (z) : altura(z, 1.80)

4) adulto (luis) altura(z, 1.80)

adulto(x) : ~ basketbolista(X) altura (X, 1.80) altura(X, 1.80)

Page 161: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 141

adulto(luis) : basketbolista(luis) altura(luis, 1.85) altura(luis, 1.95)

carro-lujo (Mustang) : GM =.7

carro-rápido (Mustang) ∧ carro-lujo(Phantom) = .9 .7 = .7

carro-rápido (Mustang) V ~carro-lujo(Mustang) = .9 V .3 = .9

Por el ejemplo: “Si hay 10

¿Cómo manejar el conflicto de inherencia múltiple? A través del conocimiento y heurística adicional que permitan seleccionar la mejor opción. 7.2.7. FUZZY LOGIC A diferencia de los dos valores lógicos de la teoría clásica de la lógica, los conjuntos borrosos pueden relacionarse con muchos valores lógicos, representados por un número fraccional entre [0,1]. Por lo que respecta a su interrelación tenemos que:

Sean las proposiciones fuzzy con sus grados de membresía “GM” carro-rápido(Mustang) : GM = .9

∗ La negación es: ~ F(X) = 1-F(X) ~ carro-rápido (Mustang) = 1 - carro-rápido (Phantom) = 1 - .9 = .1

∗ Mientras que la conjunción es: F(X) ∧ G(X) = min [GMf, GMg]

carro-rápido (Mustang) ∧ ~carro-lujo(Phantom) = .9 .3 = .3

∗ Por lo que respecta a la disyunciíon: F(X) V G(X) = mas [GMf, GMg] carro-rápido (Mustang) V carro-lujo(Mustang) = .9 V .7 = .9

De los postulados anteriores se genera la “Teoría de Posibilidades” Esta es una especie de Fuzzy Logic, para manejar preguntas precisas sobre conocimientos imprecisos.

balones en una urna y varios son rojos”, ¿Qué posibilidad hay de tomar uno de ellos?

urna

varios son rojos

¿Posibilidad de que sea rojo?

Fig. 62. Representación mediante Fuzzy Logic

Page 162: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

142 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

La posibilidad de que sea rojo se define como: p(rojo) = x; 0<= x <= 1 Mientras que “varios” como un fuzzy set

142

F varios = ( (3, 0.2), (4,0.6), (5,1), (6,0.9), (7, 0.6), (8, 0.3) )

f p (rojo) = varios / 10

Aunque TRUE (0.9) = 1

Es decir 0.9 es suficiente verdad “Ef”, aunque no total, ya que hay vehículos más rápidos.

Que denota que 3 de 10 califica “ligeramente “ como varios, 4 de 10 a 0.6 y así sucesivamente. Se observa que la tendencia media del # balones rojos de un total de 10 en la urna para adquirir el mayor valor de membresía de 1 para el concepto fuzzy de “varios”. La distribución de posibilidad para balón rojo es:

Que al evaluarse, brinda la siguiente proporción: ( (0.3, 0.2), (0.4,0.6), (0.5,1), (0.6,1), (0.7, 0.6), (0.8, 0.3) ) Que denota un 20% de oportunidad que p(rojo) = 0.3; un 60% de oportunidad que la posibilidad de rojo sea igual a 0.4; ... Por lo que f p(rojo) es una probabilidad fuzzy. Esto conlleva a considerar valores de verdad fuzzy F true: [0,1] [0,1] rango dominio TRUE : (carro-rápido (Phantom)) = 1

Ya que : (0.9, 1.0) Ef true

Ejercicios

Representar los casos del Corvette y el VW sedán. La distribución de fuzzy set y la distribución de posibilidad del ejemplo de balones rojos para: “pocos” y

“muchos”.

Page 163: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 143

7.3. COMPARACIÓN DE MÉTODOS Marco de referencia El ingeniero de conocimiento debe eligir la técnica de inferencia de acuerdo al problema, como se ilustra en la Figura 63:

Experto

Problema

Forma de solución

Conocimientos Inferencia

Fig. 63. Marco de referencia

Implementación

Criterios Entre los argumentos a considerar están:

aleza del problema:

xactas.

. tivas.

icas. ∗ Tipo

entar. – Crear.

Resolver un requerimiento específico.

ón que se va a implementar en el módulo: ∗ Procedimiento

co. – Inductivo.

tación.

durante la operación con:

– Objetos tangibles.

Natur∗ Area – Ciencias E– Sociales. – Humanísticas. – Médico Biológicas– Administra– Artíst

– Abstracto. – Concreto. ∗ Propósito – Experim

Forma de soluci

– Metodológi

– Experimen– Intuición.– Fortuito. ∗ Interacción– Personas.

Page 164: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

144 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

144

– Dedicado. – Por etapas.

– Dinámico.

∗ Representación simbólica

∗ Monotoneidad

∗ Herramientas disponibles ∗ Emulación con el experto humano

– Entidades intangibles. ∗ Atención a lo largo de la sesión de operación

Conocimientos, manejo y requerimientos de:

∗ Certidumbre – Absoluto. – Absoluto relativo. – Incierto. ∗ Precisión – Exacto. – Aproximado. ∗ Temporalidad – Permanente. – Estático. – Evolutivo.

∗ Cantidad ∗ Obtención

Inferencia:

∗ Sentido – Hacia adelante. – Hacia atrás. – Mixto. ∗ Formalismo – Bien soportado. – Incierto.

∗ Manejo de enfoques – Único. – Múltiples. – Ambiguos. – Contradicciones.

Implementación: ∗ Complejidad ∗ Consumo de recursos

Page 165: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 145

TÉCNICA

CRITERIO Probabilidad Objetivos Estructurados

Conceptual Cálculo De

predicados

Reglas de

produc-ción

Creencias Fuzzy Sets

Naturaleza del problema Area.

Tipo. Fin.

Forma de solución Procedimiento. Interacción. Atención. Conocimientos

Certidumbre. Precisión. Temporalidad. Cantidad. Obtención. Representación simbólica.

Inferencia Sentido. Formalismo. Monotoneidad.

Manejo de enfoques.

Implementación Complejidad. Consumo de recursos. Herramientas disponibles. Emulación con el experto humano.

Fig. 64. Tabla de evaluación

Es conveniente mapear las características del problema con los atributos y limitaciones de las técnicas para identificar aquella(s) más ventajosa, como se muestra en la figura 64.

Page 166: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

146 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

146

7.4. INTEGRACIÓN DE LA INFERENCIA Y BÚSQUEDAS 7.4.1. ANÁLISIS DEL TIPO DE PROBLEMAS A RESOLVER Encadenamiento hacia adelante

Alterna los sentidos de inferencia hacia adelante y atrás, en función a una estrategia de control, que a partir de datos iniciales identifique metas, que deberán ser confirmadas.

. .

Criterios de selección

Se orienta a encontrar la solución a un problema a partir de los datos disponibles, satisfaciendo condiciones, generando conclusiones, así sucesivamente hasta alcanzar una meta satisfactoria.

A ∏ B A Se conoce también como “orientado a datos”

├ B

Encadenamiento hacia atrás Identifica posibles metas que resuelvan un problema dado, trata de demostrar que son una solución, satisfaciendo las condiciones que las producen (llamadas submetas) con base al conocimiento e información disponible, así hasta llegar al estado inicial del problema.

A ∏ B ~ B Se denomina “orientado por metas” ├

~ A

Mixto

Estados Estados iniciales finales . .

Adelante

. .

Mixto

Atrás

Orientarse hacia el mayor número de estados. Seleccionar el menor factor de ramificación. Ser congruente con la dirección que el usuario utiliza para comprender y resolver el problema. Clase de alimentación externa, durante la búsqueda de solución:

∗ Hechos que se agregan: hacia adelante. ∗ Respuestas a preguntas: hacia atrás. 7.4.2. PROGRAMACIÓN LÓGICA Es la alternativa de implementación más práctica y decidible en la demostración de teoremas y solución de problemas, además de presentar un proceso de compilación como el de la Figura 65:

Lenguaje natural

Declaraciones Prolog

Formulas bien formadas.

Reglas y hechos

Cláusulas

Cláusulas de Horn

Fig. 65. Programación lógica

Page 167: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 147

En la última fase tendremos los siguientes tipos de declaraciones:

Negaciones:

como goal goal : P1 (a1 ,…, aa ) Como meta : ? como negación Pj (b1 ,…, bb ) ? Como regla : P2 (c1 ,…, c2 ) : - ! , fail.

Afirmaciones

: Como hecho Pñ (d1 ,…, dd )…) Como regla Pσ (e1 ,…, ee ) : - !.

Reglas

: Simple: Pp (f1 ,…, ff ) : - Pq (g1 ,…, gg ) ( ,… p + (h1 ,…, hh ) ).. Recursiva: Pµ (i1 ,…, ii ) : - | .

Pµ (j1 ,…, jj ) : - Pv (k1 ,…, kk ) ,…,( ,… Pµ (l1 ,…, ll ) ,… Pw (µ 1 ,…, µµ ) . Recursiva Tail: Px (m1 ,…, mm ) : - ! .

Px (n1 ,…, nn ) : - Pv (ñ1 ,…, ññ ) ,…, Px (σ 1 ,…, σσ).

Los métodos en los que se basa la manipulación de los predicados son:

Representación de conocimiento

Resolución.

Unificación

Demostraciones

? p (c1 ,…, cc ) donde ci es constante i = 1 ,…, c

Consultas y solución de problemas ? p (m1 ,…, mm ) donde mI es constante o variable, debiendo existir cuando menos una variable.

Cláusulas HORN

Método de inferencia: Modus Tolens Reducción a lo absurdo

Comparación literales

Búsqueda Hacia atrás - a profundidad_ciega.

La activación del mecanismo de inferencia se organiza para:

7.4.3. SISTEMAS DE PRODUCCIÓN

Los métodos en los que se apoya la explotación de reglas son:

Page 168: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

148 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

148

Representación de conocimiento

Apareamiento de patrones

∗ Considerar el orden de aparición de las declaraciones.

Reglas

Método de inferencia Modus Tollens

Comparación literales

Búsqueda Hacia adelante - a profundidad.

Durante el apareamiento existen conflictos de reglas al identificar varias susceptibles de ejecutarse, para lo cual se pueden utilizar los siguientes criterios:

Preferencia basada en reglas

∗ Preferir reglas más “restringidas” que “generales”

¿ Cómo se identifica este caso? a.1) p(a, B, c), q (a, D, E), r(E, F, g) ∏ acciones a.2) p(b, d, y), r (g, H, I), ∏ acciones Escogiendo aquellas con menos variables en este caso a.2 otro caso:

∗ Un ejemplo de esta aplicación es el sistema “ELIZA”, quien asigna prioridades a los “keywords”, I, Computer,…

∗ Otra alternativa es tomar aquella regla que haga “match” con los patrones más recientemente generados.

Sentido:

IF beneficiario (X) UNLESS tiene_coartada (X)

a.3) p(V, X, f), q (g, h, y) ∏ acciones a.4) p(a, X, g), q (i, y, K) ∏ acciones

Preferencia basada en objetos.

∗ Se asigna una prioridad a las entidades o eventos del dominio, de tal suerte que al verse involucradas en el “conflicto de patrones”, se escoge la de mayor importancia.

Preferencia basada en estados. ∗ Suponer que hay varias reglas candidatas, estas se “disparan” y se examinan sus resultados a través de una función heurística, que evalúa los méritos y escoge una de ellas.

7.4.4. RAZONAMIENTO NO MONOTÓNICO

Hacia adelante: Las reglas estándares se ven alteradas por el condicionante “unless” que permite el razonamiento por “Default”, como por ejemplo; suponer el caso de un delito donde una persona es sospechosa si resulta beneficiada “a menos que” tenga una coartada, como se ilustra en la siguiente regla de la Figura 66:

THEN sospechoso(X)

Hacia atrás: Brinda dos alternativas su implementación: ∗ Cláusulas Default, mediante el condicionante “unless”. Sospechoso(X) → beneficiario(X) unless sospechoso(X). ∗ A través de “debates” en el que se generan argumentos a favor y en contra de cierta proposición. Mediante conocimiento especial se determina que perspectiva está mejor “fundamentada”.

Page 169: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 149

Implementación

sin Profundidad dependencia

dirigida por el retroceso

Método de Expansión

Mantenimiento

con Justificación TMS Sistema de

Lógico de la verdad Amplitud: manejo de múltiples

contextos simultáneos

Fig. 66. Implementación del razonamiento no monotónico Ejemplificación Sea el caso de “programar una reunión de varias personas en cierto restaurante”. Veamos el desarrollo por etapas mediante el método sin dependencia dirigida por el retroceso señalado en la Figura 67:

Page 170: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

150 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

150

d = Miércoles d = Miércoles d = Miércoles h = 14:00 h = 14:00 mesa = FAIL fail X d = Miércoles d = Miércoles h = 14:00 .. fail .. fail X X d = Miércoles d = Jueves d = Jueves fail h = 14:00 d = Jueves h = 14:00 mesa = 14 meta

1

4

2

Fig. 67. Ilustración del retroceso dirigido sin dependencia

3

6

a

a

a

b

a

c

b

d

c

Se escoge un día

8

Se elige una hora

e

Pero no hay lugar disponible

b

a c

Se vuelve a escoger la hora y luego a determinar

de la mesa

b

5

a

Se buscan otras Se regresa al punto inicial

horas, pero no todos pueden

b

a

7

Se propone otro díaSe escoge otro día

si hay disponibilidad

Page 171: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 151

En cambio si este ejemplo se desarrolla con retroceso dirigido por dependencia, nos ahorramos la duplicación del trabajo útil, de la forma esquematizada en las Figuras 68, 69 y 70:

d = Miércoles

1

a

Selecciona un día

Fig. 68. Ilustración del retroceso dirigido sin dependencia

Page 172: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

152 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

d = M d = M h = 14:00 h = 14:00 mesa = FAIL fail X

152

Se respalda el trabajo positivo que no provocó la falla.

h = 14:00 D = M

Se dirige el backtrack al punto de conflicto.

h = 14

Se reintegra el trabajo positivo.

D = J D = J h = 14 Se produce otra opción.

4

2

5

3

b

a

a

b

b

a

c

b

b

7

Todas las personas pueden reunirse cualquier día a esa hora. Se analiza la causa.

c

6

Se busca una hora

No hay espacio

Fig. 69. Ejemplificación del retroceso dirigido por dependencia

Page 173: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 153

D = J

Se obtiene la solución

h = 14 mesa = 14 meta

Fig. 70. Ejemplificación del retroceso dirigido por dependencia Mientras que para ilustrar los métodos de “sistema de mantenimiento de verdad” tenemos el caso del “CRIMEN ABC”.

C, dice haber estado en una competencia deportiva.

Sea A, B y C sospechosos de un asalto. A, tiene la coartada de haberse registrado en un hotel. B, tiene le testimonio de su cuñado que dice haberlo recibido en su casa.

Se supone que ellos son beneficiarios de una herencia. Mediante : Sistema de justificación basado en el mantenimiento de verdad Se emplearán reglas por default como:

beneficiario(X) : ~coartada(X) sospechoso(X) Representaremos las suposiciones e información adicional mediante las redes de las Figuras 71, 72 y 73: 1) “A” es sospechoso por ser beneficiario

sospechoso A [ IN] + - beneficiario A [IN] coartada A [out] premisa

2) “A” tiene una coartada, por lo que deja de ser sospechoso sospechoso A [ OUT] + - beneficiario A [IN] coartada A [out] premisa + ├ - Registro A [IN] Registro [OUT] Hotel Lejano [IN] Extraviado

c

b

8

d

Fig. 71. Ejemplificación de suposicones

Page 174: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

154 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

154

3) “B” es sospechoso por ser beneficiado sospechoso B [ IN]

+ - beneficiario B [IN] coartada B [out] premisa

4) “B” deja de ser sospechoso por que tiene un testigo sospechoso B [ OUT] + - beneficiario B [IN] coartada B [IN] premisa + - El cuñado de B El cuñado de B afirma [IN] miente [OUT]

5) “C” es sospechoso por ser beneficiario sospechoso C [ IN]

+ - beneficiario C [IN] coartada C [out]

6) “C” sigue como sospechoso porque solo tiene su palabra como testimonio sospechoso C [ IN] + - beneficiario C [IN] coartada C [out]

+

Dice la verdad C [OUT]

7) Posteriormente se presenta el testimonio de: El video del evento al que asistió “C” donde él aparece entre el público por lo que “C” deja de ser sospechoso

8) Se produce una contradicción, ya que ninguno es sospechoso

sospechoso C [ OUT] + + beneficiario C [IN] coartada C [IN] - + Miente [OUT] + - Dice la verdad C [IN]

C fue visto El vídeo está en el video [IN] extraviado [OUT]

Contradicción

- - - - sospechoso A otros sospechosos sospechoso B sospechoso C

Fig. 72. Desarrollo de un caso por medio de un sistema de mantenimiento de verdad

Page 175: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 155

9) Al utilizar abducción, sobre la coartada menos argumentada:

10) Por lo que la red final es:

otros sospechosos [OUT]

miente el cuñado de B

- - - - El cuñado de B afirma otros sospechosos

sospechoso A sospechoso C

sospechoso B [IN] + -

beneficiario B [IN] coartada B [out] + + El cuñado de B El cuñado de B

afirma [IN] miente [IN] - - -

sospechoso A [OUT] sospechoso C [OUT]

Fig. 73. Desarrollo de un caso por medio de un sistema de mantenimiento de verdad

7.5 CONSTRUCCIÓN DEL MOTOR DE INFERENCIA Una alternativa para realizar aplicaciones que manejan “frames” y “redes semánticas”, es mediante el empleo de “lenguajes orientados a objetos” (LOO). Entre los elementos y características que componen este ambiente están:

Todos los datos, clases de datos y procedimientos son considerados como “objetos”. Los objetos se comunican por medio de “mensajes”, cuyo resultado es otro “objeto”. Los LOO’s soportan las siguientes propiedades:

∗ Abstracción: se traduce en la definición de objetos, su agrupación en clases, éstas en superclases, bajo una relación jerárquica. Cada clase tiene un protocolo definido. ∗ Encapsulación: Es la definición de un objeto con base a:

∗ Inherencia

OBJETO Protocolo de clase

Datos privado

Datos a compartir con otras instancias. Datos globales a compartir.

INTERFASE Mensajes a/y desde otros objetos

: Las instancias de objetos se adueñan de las propiedades de sus clases y estas a su vez de las superclases a las que pertenecen. ∗ Polimorfismo: Permite utilizar el mismo mensaje destinado a diversos objetos, cada uno con propósitos particulares:

Page 176: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

156 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

156

∗ Probar el sistema.

Mantenimiento de Memoria en Fuzzy Expert System “Flops”

Make

Garantizando independencia del resultado final con respecto al orden en que se ejecuten las operaciones.

OBJETO

CLASE A “Print”

SUBCLASE 1

SUBCLASE 2“Print”

SUBCLASE IB“Print” SUBCLASE 3

CLASE B “Print”

Fig. 74. Polimorfismo

Los datos son almacenados como “objetos” con actualización automática. Extensibilidad mediante la ampliación de las capacidades del lenguaje. Las etapas de implementación son:

∗ Identificación de los objetos. ∗ Seleccionar los mensajes apropiados. ∗ Determinar la secuencia de mensajes.

Flops es un sistema de producción en paralelo, donde simultáneamente se disparan todas las reglas que se aparean con las “entidades de memoria” (patrones). Al ejecutar sus conclusiones, se pueden alterar más de una vez un mismo patrón. Esto produce un “conflicto de memoria”. Para resolver el problema, se requiere un algoritmo denominado: “sistema de mantenimiento de memoria”, que atienda a tareas de:

Modify Delete

Page 177: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 157

bloques

R1

.

.

Rn

re

.

glas

B1

.

.

Bn

.

patrones

.

.

Pn

P1

.

Pj

Pl

Pm

Pt

conclusiones

Pj

Pl

Modify

Create

Delete

Modify

Create

Delete

S

M

M

Pi

Pm

Fig. 7.5. Arquitectura Resulta indistinto el orden de realización de “CREATE” y “DELETE”, más no “MODIFY”. Por lo que se requiere el procedimiento: Sea µ un patrón con “m” atributos a modificar: 1 ≤ j ≤ m Mientras que: µ (TTj) una instancia del patrón de un total de “n” instancias: 1 ≤ j ≤ n

Page 178: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

158 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

158

Un algoritmo que se aplica a cada tipo de patrón “h” de un total c -1- involucrados, como se ve en la Figura 76:

j= j +1

h= h +1

j<=m

j<=n

h<=l

Fin

h=1

j=1

i=1

Colecta modificaciones para el atributo ^ ide la instancia TTj

del patrón Ph

Actualiza Ph (TTj (^ i))

i= i +1

si

no

no

si

si

no

Fig. 76. Algoritmo del sistema de mantenimiento de memoria Sea el siguiente ejemplo:

Patrón (animal(peso((0.7/60, 0.6/85), 1)) variable fuzzy set cf

(tamaño((0.3/pequeño, 0.6/medio, 0.9/ grande), 0.8)) variable fuzzy set CF

(color(blanco,0.9) )

Si las operaciones son:

Modify: peso(60,0.6), peso(75,0.8), peso(100,0.6), peso(60,0.75), peso(75,0.7), peso(100,0.9)

Delete: Animal

Create: (Animal (peso(40,3)) (Tamaño ((0.4/pequeño, 0.5/medio, 0.89/grande),0.7)) color(rojo,0.7)))

Page 179: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 159

Se agrupan: los valores conforme al máximo “CF”:

(color(blanco,0.9) ) )

Animal(peso((0.7/60, 0.6/85

Los resultados son:

En cuanto a Modify:

peso(60,0.75), peso(75,0.8), peso(100,0.4),

que al combinarse con el patrón original Animal(peso((0.7/60, 0.6/85, 0.9/100), 1))

(tamaño((0.3/pequeño, 0.6/medio, 0.9/ grande), 0.8))

Creó uno nuevo.

Mientras que con Delete:

), 0)) (tamaño((0.3/pequeño, 0.6/medio, 0.9/ grande), 0 )) (color(blanco,0) ) )

Afectó al patrón original colocando en 0 el valor de la variable fuzzy set. Finalmente Create:

Animal (peso(40,3)) (Tamaño ((0.4/pequeño, 0.5/medio, 0.89/grande),0.7)) color(rojo,0.7)))

Este sistema es monotónico al no permitir alterar instancias con argumentos cuyo “CF” es menor al actual.

Page 180: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

160 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

160

Page 181: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CAPÍTULO 8. INTERFASE HOMBRE-MÁQUINA

Page 182: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

162

Page 183: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

8. INTERFASE HOMBRE - MÁQUINA

8.1 PROPÓSITO DEL MÓDULO La interfase hombre - máquina tiene el objetivo de brindar el medio para explotar el Sistema Experto, facilitando la comunicación adecuada con el usuario, el ingeniero de conocimiento y el propio experto, durante la operación. Entre los aspectos a satisfacer están:

La expresión clara de las instrucciones, preguntas y respuestas, ofrecidas por el sistema. La facilidad y claridad con la que el usuario puede expresarse y comprender al sistema. La claridad para la evaluación practicada por el experto. La sencillez en la supervisión del funcionamiento a cargo del ingeniero de conocimiento.

8.2 CONSIDERACIONES 8.2.1 TIPO DE USUARIO Esencialmente son cuatro tipos de usuarios a saber:

Usuario final. Experto en el dominio del sistema Ingeniero del conocimiento Administrador del sistema.

8.2.2 TEMA DE LA COMUNICACIÓN

Naturaleza. Aplicación. Complejidad. Nivel de detalle. Tecnicismos. Forma natural de expresión y representación.

8.2.3 RECURSOS

Hardware, multimedia, realidad virtual. Software, traductores, reconocedor de voz. Logísticos, protocolos, convenciones.

8.2.4 ARISTAS DE LA COMUNICACIÓN

Control general de la sesión a cargo del sistema. Interrogación al usuario, formalidades y patrones. Exposición de conclusiones, formas y mecanismos. Justificación del resultado, explicación a satisfacción. Evaluación, del funcionamiento del sistema.

8.3. MODELO Medio Son los recursos físicos, lógicos y de software disponibles, sus características y modo de operación, que permiten la interacción “hombre - máquina”:

Terminal. Micrófono. Digitalizador. Teclado. Bocina. Impresora. Videocámara. Graficador.

Page 184: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

164 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

164

Protocolo Es el formalismo de expresión utilizado en la comunicación en forma:

Simbólica. Texto. Gráfico. Sonido.

Mecanismo de la interfase Constituye el módulo del sistema responsable de la comunicación hombre-máquina, integrado por dos clases de elementos: Código especializado El Código está representado por:

Ventana: Se encarga de exhibir y recibir los elementos integrantes del protocolo de comunicación con el usuario, apoyándose en el medio disponible.

Intérprete: Recibe la comunicación del usuario y maneja: ∗ Mensajes ∗ Preguntas ∗ Respuestas Lleva a cabo su reconocimiento léxico, sintáctico y semántico; generando requerimientos de respuesta, manejo de errores, acuses de contestaciones.

Generador: Conforme a los requerimientos a expresar produce: ∗ Mensajes ∗ Preguntas ∗ Explicaciones ∗ Justificaciones ∗ Resultados Para lo cual accesa a las bases de conocimiento apropiadas.

Formateador: Compila los mensajes que se expresan al usuario por medio de la representación apropiada de comunicación definida en el protocolo, auxiliándose de la base de conocimientos del lenguaje.

Control: Es el coordinador esencial del flujo de operación de todos los módulos y de las interfaces con el mecanismo de inferencia y base de conocimientos del sistema. Entre sus tareas destacan: ∗ Control de la sesión de operación del sistema ∗ Control del modo de comunicación: − Consulta, − Exposición de resultados ∗ Solución de la acción a realizar en respuesta a los mensajes enviados por el usuario ∗ Supervisión de los mensajes emitidos por el sistema al usuario ∗ Manejo de eventos especiales: − Fin de sesión − Aborto de la sesión − Pausas de la sesión − Fallas en el funcionamiento − Establecimiento de la sesión.

Page 185: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 165

Bases de conocimiento calificadas

Protocolo del lenguaje Contiene los elementos léxicos, estructuras sintácticas y conceptos semánticos puros del protocolo empleado. Los módulos de interpretación y generación se apoyan en esta base para la realización de sus funciones.

Conocimiento estructural Representa los fundamentos en que descansan los hechos y conclusiones de la base de conocimientos. Utilizándose para aclarar y abundar en los interrogatorios, justificaciones y evaluaciones, ocurridas durante la sesión de operación. Se apoya en las bases de conocimientos y de resultados.

Conocimiento estratégico Constituye las razones que explican como se realizan las búsquedas, inferencias y conclusiones. Fundamenta la construcción de hipótesis y justifica el rumbo que toma la sesión. Se apoya en el mecanismo de inferencia y en la base de conocimientos del Sistema Experto. En síntesis, es el responsable de argumentar la actuación del sistema.

8.4. CICLO DE COMUNICACIÓN 8.4.1 DESCRIPCIÓN La sesión de operación de un sistema experto a cargo del usuario final es esencialmente un interrogatorio encaminado a obtener los elementos necesarios para:

Definir el problema. Formular la solución. Entender el método y fundamentos aplicados en la generación de respuestas.

Durante la interacción ambos pueden formular preguntas y responder a otras, por lo que se debe distinguir quien tiene el control de los cuestionamientos en cierto instante. Este tipo de interacción se conoce como modos de conversación; pudiendo distinguir 4 tipos esenciales:

Consulta: Expresión de requerimientos. Conclusión: Exposición de respuestas y soluciones. Explicación: Argumentación de las conclusiones. Justificación: Aclaración a las preguntas y razonamientos.

8.4.2 FLUJO La interrelación de los modos de operación puede representarse por medio de las siguientes palabras clave:

Why.- ¿Porqué hizo esa decisión y no otra?; ¿Porqué usó tal parámetro? What.- ¿Qué está haciendo? , ¿Qué hará después? How.- ¿Cómo hizo o no cierta decisión? ?.- Pregunta abierta. ME.- Solicitud de cambio al modo explicación

Las respuestas deberán ser completas y claras detallandolas hasta el nivel necesario en función al modelo del usuario y su interés.

8.4.3 CONCLUSIÓN Es la emisión de la(s) conclusión(es) generada(s) por el sistema experto y sus fundamentos, tomando en cuenta:

La exposición ∗ Mensaje descrito ∗ Factores de certidumbre asociados ∗ Reglas ∗ Hechos ∗ Razonamientos

Recomendaciones para ejecutar las acciones descritas.

Page 186: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

166 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

166

8.4.4 JUSTIFICACIÓN Son las aclaraciones que exige el usuario para comprender las conclusiones y sus fundamentos presentados por el sistema, por lo que puede usar los instrumentos equivalentes del modo explicación.

8.5 FORMAS DE IMPLEMENTACIÓN Relación En función al tipo de usuario, tema, recursos y protocolo de comunicación se debe seleccionar la forma de implementación más “amigable”. Entre las que se encuentran:

Por comandos. Menú simple. Menú con ventanas.

8.6 METACONOCIMIENTO La eficiencia de un Sistema Experto puede ser incrementada mediante el empleo del “conocimiento acerca del conocimiento” que maneja, con el que se obtienen una serie de lineamientos que dirigen el diseño y funcionamientos del sistema como son: Sugerencias para la definición de la arquitectura: Puede recomendar opciones tipo sistemas de producción, agenda, pizarrón, sistema para el mantenimiento de verdad, etc. Propuestas para organizar la base de conocimientos: En función a la naturaleza del conocimiento a representar puede elegir por: reglas, frames, redes, dependencia conceptual, scripts u otra más apropiada. Manera de actualizar sistemáticamente la base de conocimiento: Por ejemplo Supongase que se reporta al sistema que cierta medicina ha sido descontinuada, por lo tanto él deberá preguntar y buscar por sustitutos adecuados para hacer los reemplazos correspondientes en la base, por lo que se debe tener cuidado en:

Forma de usar elementos sustitutos en la base. Situaciones donde el medicamento que se propone no está disponible, se deberá buscar otro adecuado que se

pueda recomendar sólo en los casos en que satisface las mismas condiciones que el original. Ajustes especiales a los métodos de inferencia. Recomienda que procedimiento aplicar de acuerdo a la problemática, por ejemplo, usar factores de certidumbre o grados de pertenencia. Guía para reducir el proceso de búsqueda. Con base al problema planteado y a los elementos disponibles, puede elegir por iniciar una búsqueda hacia adelante, atrás o mixta, así como hacer una exploración ciega, heurística, parcial o exhaustiva. Recomendar las opciones a elegir cuando se puedan aplicar varias. Sean las reglas: R1) SI tiene gripa ENTONCES tomar la pastilla Y. R2) SI tiene gripa ENTONCES inyectar X. Al cumplirse esta condición las dos alternativas son viables, ¿Cuál sería la mejor? Si nos basamos en el orden, se escogerá la primera, pero si definimos metaconocimiento, tendremos: R3) Usa reglas que utilicen medicamentos baratos. R4) Usa reglas que utilicen medicamentos eficientes. R5) Usa reglas que utilicen medicamentos recomendados por expertos.

Page 187: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 167

Al considerar que: Y más barato que la ampoyeta X. La ampoyeta X es más eficiente que la pastilla Y. La ampoyeta X fue recomendada por el otorrino Juan T y la pastilla Y por el residente Pedro M. Las meta-reglas 4 y 5 sugieren aplicar la 2 mientras que la 3 se inclina por la 1. ¿A cuál le haremos caso? La respuesta requiere emplear otros criterios más elevados (meta-meta-conocimiento). lo cual pudiera presentar una semejante situación, por lo que se corre el riesgo de caer en un ciclo muy largo.

meta - ............................... - conocimiento “ ... “ “ ... “ meta - meta - meta - conocimiento meta - meta - conocimiento meta - conocimiento conocimiento

Por lo tanto, se debe establecer un límite y la manera adecuada para controlar esta situación, de tal suerte que el nivel superior de conocimiento sea el que finalmente decida cuando los anteriores fueron incompetentes. Tips para detectar errores. Definen una serie de criterios para garantizar la validez y consistencia de los elementos de la base de conocimientos, por ejemplo: R6) Nunca aplicar penicilina a pacientes alérgicos. Estimar la capacidad y limitaciones del sistema para resolver los problemas planteados. Es vital determinar la factibilidad de resolver el problema una vez planteado y en su caso, suponer el consumo de recursos para resolverlo. Por lo tanto, desde la concepción del sistema es necesario hacer esta distinción en el tipo de conocimiento que se ha identificando, de tal forma que se registre explícitamente en la B.C.

8.7 ASPECTOS A EVALUAR La construcción de un Sistema Experto representa un proyecto completo, sofisticado, largo y caro, que requiere la participación de personal altamente calificado, donde hay muchos intereses de por medio (científicos, sociales, económicos y psicológicos). Por esta razón no conviene arriesgar el éxito del sistema sin aplicar una rigurosa evaluación al proyecto a lo largo de su creación y operación, por lo que se recomiendan los siguientes aspectos: Aristas Desde el punto de vista técnico:

Arquitectura del sistema. Forma de representar conocimiento. Confiabilidad de los mecanismos de inferencia. Eficiencia de las estrategias de búsqueda. Aprovechamiento de los recursos de cómputo. Empleo de técnicas de Inteligencia Artificial generales y propias.

Para el experto:

Validación de las respuestas. Consistencia y completez del conocimiento y razonamiento empleado. Eficiencia en la solución. Flexibilidad en las respuestas a distintos problemas. Capacidad en la solución de problemas complejos. Comparación de desempeño contra uno mismo.

Page 188: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

168 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

168

Mientras que para el usuario:

Facilidad de uso. Entendimiento. Confianza. Resultados.

Principios Los expertos humanos difícilmente pueden ser evaluados objetivamente. Un Sistema Experto es experimental esencialmente.

Si algo puede salir mal, seguramente saldrá. Se aprende más de los errores que de los éxitos. Sistemas complejos no pueden ser evaluados con un simple conjunto de criterios. Los intereses particulares pueden influenciar los criterios técnicos. De ser heterogéneos pueden contrariar el desarrollo del proyecto y el sistema mismo. Hay criterios muy subjetivos.

Dificultad para establecer el patrón ideal de comportamiento. El conocimiento de un Sistema Experto es mucho más limitado que el experto.

Recomendaciones

El Sistema Experto debe ser ejercitado en una amplia variedad de problemas, con el ánimo de hacerlo fallar. Se deben precisar los objetivos a evaluar. Determinación de los criterios a emplear. Selección adecuada de los casos. Establecimiento de un estándar idóneo. Tener cuidado al generalizar los resultados. Hacer la evaluación en los momentos apropiados. Prestar atención a la calidad y eficiencia de las decisiones y convencimientos que realiza el Sistema Experto. La claridad y facilidad en la comunicación hombre - máquina cuando: realiza preguntas, contesta, ofrece

conclusiones, justificaciones y orientaciones. El empleo de periféricos adecuados. Relación costo - beneficio.

8.7 RECOMENDACIONES A continuación se expone una serie de recomendaciones útiles en la construcción de un Sistema Experto: Definición de la tarea

Definir claramente la aplicación. Relación con el experto

Elegir problemas que no involucren mucho sentido común. Escoger aplicaciones de mediana complejidad.

Familiarizarse con el problema antes de interactuar con él. Comprometerlo y motivarlo durante el desarrollo. Tratar con prudencia sus sentimientos. Brindarle herramientas útiles para que proporcione su conocimiento. Aislarlo de los problemas y detalles técnicos. Mantener su interés, generando buenos resultados en corto plazo.

Page 189: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Motor de Inferencia 169

Generación del primer prototipo

Identificar y caracterizar los aspectos relevantes del problema. Adoptar rápidamente los tecnicismos. Incorporar los métodos que el experto usa. Buscar niveles intermedios de abstracción. Si hay varias reglas semejantes, pudiera identificarse un subtema de conocimiento interesante. Escoger la herramienta que minimize los problemas de interfase entre los subproblemas. Separar el conocimiento específico del dominio del problema. Buscar la simplificación del mecanismo de inferencia. No esperar perfeccionar las reglas antes de iniciar la construcción de la primera versión del Sistema Experto. Iniciar la construcción del prototipo tan pronto como se tenga entendido el primer ejemplo. Escoger las técnicas de Inteligencia Artificial más adecuadas al problema. Incorporar rutinas de rastreo para la base de conocimiento y el mecanismo de razonamiento. Emplear herramientas que apoyen en la construcción del sistema. No preocuparse por el empleo de recursos, ni de eficacia. Poner atención a la documentación. Probar el sistema con una variedad amplia y adecuada de casos. Agregar una interfase hombre - máquina básica. Incluir un módulo para registrar los comentarios de los usuarios. Poner a consideración del experto el comportamiento del sistema. Cuando el Sistema Experto esté en condiciones adecuadas, que los usuarios lo prueben.

Construcción de las siguientes versiones del sistema experto

Analizar las observaciones de expertos y usuarios. Aplicar las correcciones pertinentes, dando preferencia a: errores, ajustes y adiciones. Mejorar la interfase con el usuario. Fortalecer los medios de aplicación y justificación. Procurar mejorar la eficiencia.

8.8 CRITERIOS DE ÉXITO El éxito de un Sistema Experto está en función de la evaluación aplicada a su estructura, operación y resultados arrojados a la luz de los siguientes tipos de criterios:

Usuarios finales ∗ UTI ∗ Amigable ∗ Convincente ∗ Confiable ∗ Eficiente ∗ Sencillo ∗ Completo y actualizado ∗ Respaldo ∗ Economía ∗ Asistencia técnica

Experto ∗ Auditable ∗ Evolutivo ∗ Eficiente ∗ Confiable ∗ Justificable ∗ Útil

Técnico ∗ Portable

Page 190: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

170 Sistemas basados en Conocimiento: Una Base para su Concepción y Desarrollo

170

∗ Adaptable ∗ Modular ∗ Integridad ∗ Interfase con otros sistemas y lenguajes

Recursos ∗ Tipo de equipo: mainframes, estaciones de trabajo, PC’S, ... ∗ Requerimientos de hardware ∗ Ambiente de trabajo ∗ Sistema operativo ∗ Software adicional requerido para su operación ∗ Compatibilidad con ambientes gráficos Windows, Xwindows, Motif, ...

Page 191: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CONCLUSIONES

Page 192: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

172

Page 193: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

CONCLUSIONES

El crecimiento acelerado de la actividad humana en los ámbitos comerciales, educativos, sociales, culturales y financieros, requiere la participación de los recursos tecnológicos que faciliten la concentración y diseminación del conocimiento, como lo constituyen los sistemas de información, las bases de datos y las redes de computadoras. El empleo de tales aplicaciones aunado a infraestructuras de comunicación de medios masivos y de transmisión de datos como internet, provocan una explosión de conocimientos puestos al alcance del usuario en forma inmediata y sin importar el lugar en que se encuentren, barreras de idioma, nivel cultural ni posición social. Ante esta situación, el usuario es rebasado en su capacidad de buscar, seleccionar y asimilar la información y conocimiento realmente útil a partir del universo a su alcance; haciéndose necesario la ayuda de herramientas que puedan interpretar sus requerimientos, hacer la investigación necesaria y filtrar el acervo disponible, presentando únicamente aquello que es relevante. Esta es una labor apropiada para aplicaciones tales como “data warehouse” (almacén de datos”) y sistemas expertos, que al conjugarse, revelan al personal de realizar complejas labores de tratamiento de datos, información y conocimiento sobre grandes volúmenes, brindándole los elementos debidamente seleccionados en forma resumida. Es importante que el especialista nacional participe en esta clase de investigación, la cual ofrece altas posibilidades de aprovechamiento comercial, donde podrá aplicar su talento y creatividad en la construcción de programas con un alto nivel tecnológico. El ideal de estos apuntes es “contribuir en la enseñanza de los sistemas expertos, como fuente de consulta, que aunada a los textos y cátedras del profesor, colabore en la formación del profesional informático”. Por tal motivo, serán bienvenidas las observaciones y sugerencias para corregir y mejorar su contenido, procurando la oportuna actualización del documento.

Page 194: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación
Page 195: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

REFERENCIAS

Page 196: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

176

Page 197: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

REFERENCIAS

Bratko, I., Programming for Artificial Intelligence, Addisson Wesley, USA. Dutta, S., Knowledge Processing & Applied Artificial Intelligence, Butterworth Heinemann, USA. Efraim, T., Expert Systems and Applied Artificial Intelligence, Mcmillan Publishing, USA. Feigenbaum, E. A., McCorduck, P., La Quinta Generación, Planeta, México. Rich, E, Artificial Intelligence”, 2da. Edition, McGraw Hill, USA Tabor , R., Implementing Japanese Artificial Intelligence Techniques, McGraw Hill. Winston, P H., Horn, B.K.P., LISP, 3ra. Edition, Addison Wesley, USA. Winston, Patrick Henry, Artificial Intelligence, 2da. Edition, Addisson Wesley,

Page 198: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Impreso en los Talleres Gráficos de la Dirección de Publicaciones del Instituto Politécnico Nacional

Revillagigedo 83, Centro Histórico, 06070, México, D.F.

Enero de 2006. Edición: 1,000 ejemplares

Diseño Portada. Alejandro Peña Ayala

Fotografía de la Portada: Ranquin Inlet, 63º Norte, Expedición al Ártico Canadiense, Octubre 2005

Page 199: Sistemas basados en Conocimiento: Una Base para su ... · PDF fileActualmente es candidato al grado de Doctor en Ciencias de la Computación por el Centro de Investigación en Computación

Los Sistemas basados en Conocimiento representan una familia de aplicaciones del campo de la Inteligencia Artificial, caracterizada por el empleo de modelos para representar y manipular conocimiento. Esta clase de sistemas, se distinguen de los convencionales sistemas de información por estar orientados a representar funciones cognitivas del ser humano y por la metodología empleada en su construcción. Los Sistemas basados en Conocimiento utilizan mecanismos de aprendizaje automático, emplean estructuras para representar conocimiento, aplican procesos de inferencia, y utilizan interfaces de comunicación hombre-máquina adecuadas a la naturaleza de la aplicación. Mediante las aportaciones de la Inteligencia Artificial, los Sistemas basados en Conocimiento procuran sistematizar actividades especializadas en el diagnóstico, toma de decisiones, interpretación semántica, proceso inteligente, e identificación de patrones, entre otras muchas áreas. En este ejemplar, se ofrece al lector un panorama de los Sistemas basados en Conocimiento, poniendo particular énfasis en los sistemas expertos. En sus capítulos se dedican a describir los componentes encargados del aprendizaje, la base de conocimientos, el motor de inferencia, la interfase y el mecanismo de evaluación. La obra se dirige a los estudiantes, profesionistas y especialistas del ámbito de los sistemas, la Informática y la Computación, que están interesados en ampliar sus conocimientos para desarrollar Sistemas basados en Conocimiento con el respaldo de la Inteligencia Artificial.

ISBN. ISBN: 970-94797-4-1 #001