TeachShell versión 2 0 herramienta de apoyo a la enseñanza de sistemas expertos
Texto completo
(2) Hago constar que el presente Trabajo para optar por Título de Licenciado en Ciencia de la Computación ha sido realizado en la facultad de Matemática, Física y Computación de la Universidad Central “Marta Abreu” de Las Villas (UCLV) como parte de la culminación de los estudios de Licenciatura en Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución para los fines que estime conveniente, tanto de forma total como parcial y que además no podrá ser presentado en eventos ni publicado sin la previa autorización de la UCLV.. ______________________________ Firma del Autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y que el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. ____________________ Firma del Tutor Dr. Mateo G. Lezcano Brito. ____________________ Firma del Jefe de Laboratorio Dr. Mateo G. Lezcano Brito.
(3) Dedicatoria. A toda mi familia, en especial a mi madre querida por apoyarme siempre, por sus consejos y por ser la mejor madre del mundo.
(4) Agradecimientos. A mi mamá que sin ella todo sería imposible. A mi papá por su apoyo incondicional. A Julio por sus consejos y por su cariño. A mis tíos Elaydis y Alex por su apoyo y por estar siempre presentes. A toda mi familia por el amor que siempre me han dado. A mi novio Dairon, por hacerme tan feliz. A Fredy, por guiarme hacia el buen camino. A mi tutor Mateo, por su dedicación, preocupación y por brindarme su experiencia. A mi amiga Anni por estar en los momentos buenos y malos. A mis compañeros y profesores. A todos los que de una forma u otra intervinieron en la realización de este trabajo..
(5) Resumen. Resumen En el presente trabajo se exponen las ventajas que tiene el uso de las computadoras en la educación, desde el propio surgimiento de estas hasta la actualidad, además de la importancia que tiene el utilizar las técnicas de Inteligencia Artificial para la elaboración de sistemas para el proceso de enseñanza-aprendizaje. También se describe como está estructurada la enseñanza de la Inteligencia Artificial (IA) en la Universidad Central de Las Villas y se analiza un conjunto de herramientas desarrolladas en el Centro de Estudios Informáticos (CEI) que se utilizan como complemento. Tomando en cuenta estas consideraciones se presenta una nueva versión de la herramienta TeachShell que persigue los mismos objetivos que las anteriores pero que se ha diseñado y programado de forma totalmente nueva con relación a la anterior con el propósito de hacerla, en primera instancia multiplataforma y más funcional..
(6) Abstract. Abstract In this work we describe the advantages of using computers in education from the own emergence of these until now, besides the importance of using Artificial Intelligence techniques for developing systems for the process teaching and learning. It also describes how it is structured teaching Artificial Intelligence (AI) in the Central University of Las Villas and analyzed a set of tools developed at the Center for Information Studies (CIS) used as a supplement. Taking into account these considerations we present a new version of the tool TeachShell pursuing the same objectives as the above but that has been designed and programmed in a completely new with respect to the former in order to make it in the first instance multiplatform and more functional..
(7) Índice. Índice Introducción ...................................................................................................................... 1 Capítulo I: La Enseñanza Asistida por Computadora ......................................................... 4 I.1 Introducción.............................................................................................................. 4 I.2 Tendencias Históricas de la Enseñanza Asistida por Computadora (EAC) ................. 4 I.3 La Inteligencia Artificial ........................................................................................... 8 I.3.1 Técnicas de IA aplicadas en la EAC ................................................................. 11 I.3.1.1 Los Sistemas Expertos ............................................................................... 12 I.3.1.2 Sistemas de Enseñanza-Aprendizaje Inteligentes (SEAI) ............................ 15 I.4 La enseñanza de la Inteligencia Artificial ................................................................ 17 I.4.1 La enseñanza de la Inteligencia Artificial en la UCLV ...................................... 20 I.5 Conclusiones parciales ............................................................................................ 22 Capítulo II. TeachShell. Herramienta para la enseñanza de sistemas expertos. ................. 24 II.1 Introducción .......................................................................................................... 24 II.2 Relación entre TeachShell y UCShell .................................................................... 24 II.3 Descripción general de TeachShell ........................................................................ 27 II.3.1 Interfaz con el usuario ..................................................................................... 30 II.3.2 Estructuras que visualizan el estado de los atributos. ....................................... 32 II.3.3 Componente visual que muestra la inferencia .................................................. 35 II.3.4 Forma de utilizar TeachShell ........................................................................... 36 II.4 Conclusiones parciales ........................................................................................... 37.
(8) Índice. Capítulo III. TeachShell. Visión interna. .......................................................................... 38 III.1 Introducción ......................................................................................................... 38 III.2 Estructura interna de TeachShell .......................................................................... 38 III.2.1 Paquete que interviene en la conexión entre UCShell y TeachShell. ............... 39 III.2.2 Paquete que permite filtrar la información. ..................................................... 40 III.2.3 Paquete que se utiliza para la interfaz del sistema. .......................................... 41 II.2.4 Paquete de la ayuda. ........................................................................................ 45 III.2.5 Paquete que interviene en el proceso de inferencia. ........................................ 46 III.2.6 Paquete que contiene los iconos. .................................................................... 46 III.3 Diagrama de Clases .............................................................................................. 47 III.4 Conclusiones parciales. ........................................................................................ 49 Conclusiones Generales ................................................................................................... 50 Recomendaciones ............................................................................................................ 51 Referencias Bibliográficas ............................................................................................... 52. Índice de figuras Figura II.1 Sintaxis de la Base de Conocimiento .............................................................. 26 Figura II.2 Arquitectura de TeachShell e interacción externa ........................................... 28 Figura II.3 Diálogo de la pregunta ................................................................................... 30 Figura II.4 Diálogo la pregunta que contiene imagen en la respuesta................................ 31 Figura II.5 Tabla de Hechos............................................................................................. 33.
(9) Índice. Figura II.6 Tabla de Preguntables .................................................................................... 33 Figura II.7 Tabla de Deducibles ....................................................................................... 34 Figura II.8 Pila de Inferencia ........................................................................................... 34 Figura II.9 Componente Gráfico .................................................................................... 345 Figura III.1 Estructura de los paquetes de TeachShell ...................................................... 38 Figura III.2 Diálogo que permite la búsqueda de archivos ................................................ 41 Figura III.3 Diálogo acerca de TeachShell ....................................................................... 42 Figura III.4 Ventana de los archivos recientes en el sistema ............................................. 43 Figura III.5 Ventana que contiene la Base de Conocimiento Fuente ................................. 44 Figura III.6 Diálogo que contiene el resultado de la inferencia ......................................... 45 Figura III.7 Ventana de ayuda de TeachShell ................................................................... 46.
(10) Introducción. Introducción Una premisa que lleva implícito el perfeccionamiento de la enseñanza es su ajuste al desarrollo tecnológico y social. En el primer aspecto inciden, de forma notable, las Tecnologías de la Información y las Comunicaciones (TIC), lo cual se ve reflejado en múltiples publicaciones académicas y profesionales. Las nuevas tecnologías dan lugar a nuevas posibilidades al ampliar el espectro de los métodos tradicionales de enseñanza, no sustituyéndolas sino enriqueciéndolos y complementándolos. El uso de las TIC obliga a modificar la organización del proceso de enseñanza-aprendizaje, porque crean entornos educativos que amplían considerablemente las posibilidades del sistema, no sólo desde el punto de vista organizativo, sino también de transmisión de conocimientos y desarrollo de destrezas, habilidades y actitudes. La clave está en transformar la información en conocimiento y este, en educación y aprendizaje significativo (Lezcano and Soler, 2009). Es por ello, que la incorporación de la computación al quehacer educativo no debe ser una simple adición ya que desborda su ámbito de instrumento o herramienta de enseñanza para llegar a la esencia misma de la educación, el aprendizaje y el crecimiento intelectual de las personas. La Enseñanza Asistida por Computadora (EAC) trata, ante todo, de complementar lo que con otros medios y materiales de enseñanza no es posible o es difícil de lograr, o sea no se pretende reemplazar la acción de otros medios que han demostrado ampliamente su eficacia. Los educadores cubanos, consciente de las potencialidades de la EAC, tratan de incluir diversos software que se ajusten a los niveles de sus asignaturas. En ese sentido las universidades juegan un papel importante y debe esperarse que esos aspectos se incluyan explícitamente en los planes de estudio. La Universidad Central de Las Villas, en general, y el Centro de Estudios Informáticos (CEI), en particular, han realizado varios sistemas para favorecer el proceso de enseñanzaaprendizaje. En este entorno se enmarca el presente trabajo, el cual pretende brindar una herramienta que se puede utilizar como medio auxiliar en la asignatura de Inteligencia Artificial para la enseñanza de Sistemas Expertos. Este sistema tiene como antecedentes una versión realizada en 1998 que forma parte del Sistema para la Enseñanza de Sistemas Expertos (SESE), el cual se programó en Borland. 1.
(11) Introducción. Pascal, para el Sistema Operativo (SO) MS-DOS. Luego se realizó una versión para el SO Windows, utilizando el lenguaje de programación Object Pascal. Las versiones anteriores de TeachShell mostraron su utilidad y, aunque aún se pueden emplear, se ha hecho necesaria una actualización del sistema que incluya una interfaz gráfica para mostrar los mecanismos de la máquina de inferencia, entre otras nuevas facilidades. La nueva versión se programa en el lenguaje Java lo que permite que se ajuste a cualquier plataforma al no ser dependiente del SO. Situación Problémica Reconociendo la existencia y utilidad de las versiones anteriores de TeachShell, y partiendo de experiencias anteriores de su aplicación, surgen las siguientes preguntas de investigación: ¿Permitirá una nueva versión de TeachShell un apoyo más significativo a la enseñanza de Sistemas Expertos? ¿Las nuevas trazas de ejecución harán más fácil la compresión de los mecanismos internos de los sistemas expertos? Objetivo General Implementar una nueva versión de TeachShell utilizando el lenguaje de programación Java, incluyendo nuevas herramientas para la visualización de los mecanismos internos que intervienen en el proceso de inferencia. Objetivos Específicos 1. Definir las nuevas facilidades a incorporar a la herramienta. 2. Adicionar un componente visual a la traza de ejecución de los mecanismos internos. 3. Implementar en Java una herramienta para la enseñanza de Sistemas Expertos. Hipótesis Una nueva versión de TeachShell, sobre el lenguaje Java, que simule los mecanismos internos de la máquina de inferencia durante el proceso de deducción; se adecua mejor al plan de estudio actual de la carrera Ciencia de la Computación y debe incidir positivamente en el proceso de enseñanza-aprendizaje. 2.
(12) Introducción. Estructura de la Tesis El presente trabajo está estructurado en tres capítulos. El Capítulo I “La Enseñanza Asistida por Computadora (EAC)”, hace un análisis acerca de la enseñanza basada en el desarrollo de aplicaciones informáticas. Se enfatiza en el uso de las técnicas de Inteligencia Artificial en la EAC y se aborda el tema de la enseñanza de la Inteligencia Artificial. El Capítulo II “TeachShell. Sistema experto para la enseñanza”, enfatiza en las estructuras que hacen posible visualizar los cambios internos que ocurren durante el proceso de inferencia y destaca un grupo de sugerencias para la correcta utilización del sistema. Por otro lado, el Capítulo III “TeachShell. Visión interna”, describe la herramienta desde el punto de vista de la implementación, destacando los paquetes y las clases principales que se utilizaron para su construcción.. 3.
(13) Capítulo I. Capítulo I: La Enseñanza Asistida por Computadora I.1 Introducción El crecimiento y expansión de las nuevas Tecnologías de la Información y las Comunicaciones (TIC) han transformado el significado de la formación académica de una manera radical. A partir de las investigaciones que comienzan en los años 60, los procesos de comunicación global se transforman substancialmente, la computadora pasa de ser un instrumento de cálculo, a convertirse en productora, medio de almacenamiento y distribuidora de cualquier tipo de información digital. La expansión global de Internet posibilita el aprendizaje a distancia apoyado por tecnología, el cual se plantea como una innovación sin precedentes en la historia de la educación (Corona and Zaragoza, 2006). Por tal motivo la Enseñanza Asistida por Computadora (EAC) ha ocupado un lugar cimero en la educación, siendo un exponente de gran importancia en todos los procesos educacionales. En el presente capítulo se aborda el tema de la EAC, destacando la tendencia histórica que ha tenido desde el propio surgimiento de las computadoras hasta la actualidad, así como sus características principales y los beneficios que tiene su utilización en el proceso de enseñanzaaprendizaje. También se trata sobre la Inteligencia Artificial (IA) enfatizando en las técnicas que se aplican en la EAC, como es el caso de los Sistemas Expertos y los Sistemas de Enseñanza-Aprendizaje Inteligente. Además se especifican aspectos importantes que se tienen en cuenta a la hora de enseñar IA, resaltando las asignaturas que integran la disciplina de IA en la UCLV, así como, las herramientas que se utilizan como medio auxiliar.. I.2 Tendencias Históricas de la Enseñanza Asistida por Computadora (EAC) La utilización de las computadoras en la enseñanza se remonta casi al surgimiento de las computadoras, inicialmente no fueron tan exitosas y hubo bastante escepticismo con relación a su verdadero valor como medio auxiliar del proceso docente-educativo. Hoy en día, el uso de las computadoras en la enseñanza se ha extendido tanto que es casi imposible pensar en una enseñanza de calidad sin tomarlas en cuenta, en ese sentido en (Bello et al., 2002a) se destacan las siguientes áreas de uso: Computación como objeto de estudio: aprender acerca de la computadora (educación acerca de la computación). 4.
(14) Capítulo I. -. Alfabetización computacional.. -. Programación de computadoras y la enseñanza de la solución de problemas.. -. Formación de especialistas en Computación e Informática.. La computadora como herramienta de trabajo: uso de las aplicaciones de la computadora para apoyar procesos educativos (educación complementada con la computadora). La computadora como medio de enseñanza-aprendizaje: ambientes de enseñanzaaprendizaje enriquecidos con la computación (enseñanza asistida por computadoras). Los primeros trabajos basados en educación, denominados Computer Assisted Instruction (CAI), se remontan a la década del 50, con el diseño e instrumentación de sistemas educativos basados en los principios conductistas de Skinner (Escalona, 2005), surgiendo las “máquinas de enseñar”. En los años 60, con la aparición de máquinas más flexibles, de mayor capacidad de memoria se hace más factible su uso en la educación, aunque inicialmente era para hacer lo mismo que el profesor en sus funciones más tradicionales: explicar una lección y transmitir conocimientos determinados. A finales de los años 60 y principios de los 70 surgen los sistemas generativos, asociados a una nueva filosofía educativa que manifiesta que “los alumnos aprenden mejor enfrentándose a los problemas de dificultad adecuada, que atendiendo a explicaciones sistemáticas"; es decir, adaptando la enseñanza a sus necesidades (Loinaz, 2001). Estos sistemas surgieron al reconocerse el hecho de que el material de enseñanza podría ser generado por la misma computadora; ellos son capaces de generar problemas, construir sus soluciones y diagnosticar las respuestas del alumno, controlando, a su vez, el nivel de dificultad de los problemas. En esta etapa se desarrollaron una serie de proyectos dirigidos por Seymour Papert con el objetivo de resaltar las funciones creativas del niño en contraposición a la memorización de contenidos programáticos, y se plantea la necesidad de una comunicación niño-máquina que en realidad estaba limitada por la tecnología de la época (Aedo, 2005). Precisamente, la tecnología y la poca experiencia incidían negativamente de varias formas (Vitalia, 1989): -. Incapacidad para orientar diálogos en el lenguaje natural.. -. Incapacidad para comprender la materia que se está enseñando en el sentido que el programa no puede aceptar preguntas no anticipadas.. -. Incapacidad para comprender la naturaleza de los errores de los estudiantes. 5.
(15) Capítulo I. -. Incapacidad para sacar provecho de la experiencia con los estudiantes o experimentar con la estrategia de enseñanza.. Tales limitaciones caracterizaron los inicios de los años 70 como una época de crisis de la EAC, ya que los desarrollos y logros obtenidos no habían respondido a las expectativas despertadas. A pesar de esto se comenzaron a desarrollar diversas aplicaciones basadas en EAC, siendo las más destacadas las realizadas en Estados Unidos a través de los proyectos TICCIT (TimeShare Interactive Computer Controlled Information Television) y PLATO (Programmed Logic for Automatic Teaching Operation). La finalidad principal de ambos proyectos consistía en demostrar que la EAC podía proporcionar una mayor calidad de educación a un menor costo. En sus inicios los sistemas computacionales utilizaban la programación lineal que tenía como característica principal que los alumnos no podían cambiar el orden de enseñanza que estaba establecida por el programador. Este tipo de programación evolucionó a la denominada programación ramificada, cuya diferencia radicaba en que el sistema actuaba en dependencia de la respuesta del alumno. El surgimiento de las computadoras personales a inicios de los años 80 facilitó y popularizó el acceso a estos medios y trajo como consecuencia directa un pensamiento renovado de su uso como medio de enseñanza. Los centros educacionales podían contar con sistemas de EAC desarrollados en diferentes instituciones y que se ejecutaban sobre máquinas que estaban al alcance de las mismas. Posteriormente se incorporaron técnicas de IA y aparecieron los primeros Sistemas Tutoriales Inteligentes (STI), que permitían convertir a la computadora en un medio de instrucción que tenía un comportamiento cercano a un profesor experto. La década del 90, trajo el desarrollo de la multimedia que permitió una mayor interacción alumno-medio y facilitó la comunicación incorporando nuevos recursos de enseñanza, tales como: imágenes en movimiento, gráficos, sonidos, etc. Un momento significativo para la EAC lo marcó el surgimiento de Internet al facilitar la enseñanza a distancia y la incorporación, al proceso docente, de recursos que pueden estar en cualquier parte del mundo y en diversas plataformas. Diversos autores señalan disimiles ventajas de la EAC, a nuestro juicio se destacan las señaladas por Espinosa (Espinosa et al., 2007): 6.
(16) Capítulo I. Participación activa del alumno en la construcción de su propio aprendizaje. Interacción entre el alumno y la máquina. La posibilidad de dar una atención individual al estudiante. La posibilidad de crear micromundos que le permiten explorar y conjeturar. Permite el desarrollo cognitivo del estudiante. Control del tiempo y secuencia del aprendizaje por el alumno. Una de las ventajas más importantes de la EAC, es la interacción. A través del diálogo instructivo, el estudiante asume una actitud activa en el proceso de aprendizaje, logrando captar su atención y contribuyendo a elevar su memoria visual. Además, las explicaciones, preguntas, correcciones y la evaluación se hacen de modo inmediato, con lo que la efectividad pedagógica se acentúa, al individualizarse el trabajo y permitiendo que cada alumno trabaje a su propio ritmo. Los ambientes computarizados con fines educativos se crean basados en dos enfoques: algorítmicos y heurísticos. Galvis, define un sistema educativo de tipo algorítmico como aquel en que predomina el aprendizaje vía transmisión de conocimiento, desde el que sabe al que desea aprender (Galvis, 1994). El diseñador se encarga de encapsular secuencias bien diseñadas de actividades de aprendizaje que conducen al aprendiz desde el lugar que está hasta donde desea llegar. El rol del alumno es asimilar el máximo lo que se le transmite. También define los sistemas educativos de tipo heurístico como aquellos en que predomina la experiencia y el aprendizaje por descubrimiento, donde el diseñador crea ambientes ricos en situaciones que el alumno debe explorar conjeturalmente. El alumno debe llegar al conocimiento a partir de su experiencia, creando sus propios modelos de pensamiento, sus propias interpretaciones del mundo, las cuales se pueden someter a prueba con el sistema. Los sistemas educacionales también se clasifican por las funciones mismas que asumen. A nivel algorítmico se distinguen los sistemas tutoriales y los sistemas de ejercitación y práctica. Dentro de la categoría heurística se encuentran los simuladores, los juegos educativos, los lenguajes sintónicos y los sistemas expertos, entre otros. En cualquiera de las dos grandes categorías pueden ubicarse los sistemas inteligentes de aprendizaje apoyado con computador, dependiendo del rol que esté asumiendo el material (Galvis, 1988 ). La EAC presenta características que la diferencian de otros medios, como son las destacadas por (Galvis, 2006): 7.
(17) Capítulo I. La computadora está en capacidad de almacenar, procesar y presentar información multimedia en forma interactiva, de modo que es posible crear contextos para aprendizaje en los que se puede dar una relación dialogal con el nivel de concreción o abstracción que haga falta, bajo control del usuario o del diseñador, según convenga. La computadora puede comportarse con distintos niveles de inteligencia adquirida, siendo un signo de inteligencia en un sistema de EAC la similitud mayor o menor que pueda tener su ejecución al comportamiento racional de un humano. Entre más inteligente sea el comportamiento de estos sistemas, más flexibilidad otorga al proceso de enseñanza-aprendizaje y provee un ambiente más poderoso. La computadora facilita distintos grados de interactividad, gracias a su capacidad de procesar información, a los avances en inteligencia artificial y a las interfaces de distintos tipos que se pueden crear. La computadora permite la conexión y articulación con otros medios y recursos de aprendizaje, permitiendo así la creación de ambientes cooperativos de aprendizaje que aprovechan cualidades únicas e intrínsecas de cada uno de ellos. Actualmente, existen diversos sistemas informáticos de apoyo a la enseñanza que tratan de motivar a los estudiantes y permiten una interacción usuario-máquina cada vez más cercana a la comunicación persona-persona. Las técnicas de IA han incidido directa y positivamente en ese logro. Un papel fundamental en la educación lo juegan los profesores, los cuales son los encargados de hacer que el software sea una fuente de aprendizaje y que cumpla con los niveles de enseñanza requeridos para que el alumno logre interiorizar los conocimientos necesarios para su desarrollo. Como se plantea en (Sicardi, 2004) la educación no puede estar enfatizada en un aprendizaje dirigido por el profesor sin autoaprendizaje. Es necesario buscar un equilibrio adecuado tendiendo a la educación permanente, por lo que enseñar a los estudiantes a aprender, pensar y analizar a través de medios interactivos es una tarea fundamental para los profesores.. I.3 La Inteligencia Artificial El término Inteligencia Artificial (IA) fue introducido por John McCarthy en 1956 durante un congreso en Dartmouth College (Russell and Norvig, 2010), Estados Unidos. Esta época es 8.
(18) Capítulo I. considerada como el nacimiento de la IA. A partir de este momento se establecieron los primeros laboratorios de IA en diversas universidades siendo los más destacados los creados por John McCarthy y Marvin Minsky, quienes crearon el Massachusetts Institute of Tecnology (MIT), con el fin de trabajar en la construcción de computadoras inteligentes que imitaran el comportamiento humano y Allen Newell y Herber Simon, en la Universidad de Carnegie Mellon, que se centraron en la búsqueda de un solucionador general de problemas (General Problem Solver GPS) (Climent, 1999). La IA se enfoca como un complemento de la computación tradicional porque ofrece técnicas para enfrentar dos clases de problemas (Espinosa and García, 2008): -. Los que no tienen un algoritmo conocido para resolverlos.. -. Los que por su dimensión hacen inaplicable algún algoritmo conocido para su solución.. No existe una definición única de IA y son muchos los conceptos asociados a este término, por ejemplo en (Raynor, 1999) se dice que son técnicas de computación en vías de desarrollo que permiten que la computadora actúe lo más parecido posible a una persona. Como se aprecia esta es una definición muy abierta que permite incorporar nuevos conocimientos al concepto de IA. En sus primeros años la IA tuvo mucho éxito y, aunque estuvo signada por limitaciones propias de la tecnología de la época, sus logros marcaron hitos si se tiene en cuenta el hecho de que sólo unos pocos años antes a las computadoras se les consideraba como artefactos que solo podían. realizar. trabajos aritméticos, resultaba entonces sorprendente que una. computadora hiciese algo remotamente inteligente (Russell and Norvig, 2010). La IA cobró vigor en la década de los 80, debido al éxito alcanzado por los Sistemas Expertos, al resurgimiento de las Redes Neuronales que encontraron aplicaciones para una variedad de problemas diferentes, tales como, el reconocimiento de voz y otros problemas que requieren aprendizaje y, además, al éxito del uso de técnicas de IA en problemas concretos como el reconocimiento de patrones, la robótica, la visión, etc. (Jones, 2003). En (Espinosa and García, 2008) se destacan dos objetivos básicos de la IA: Estudiar el comportamiento inteligente de los seres humanos, incluyendo tanto el aspecto cognoscitivo como el perceptual, con el fin de simularlo en un ordenador.. 9.
(19) Capítulo I. Hacer máquinas inteligentes y programas capaces de imitar el comportamiento humano inteligente, es decir que puedan realizar las operaciones humanas de ver, escuchar, hablar, razonar, juzgar, comprender, aprender de la experiencia y comunicarse como lo hacen las personas. La IA es una ciencia muy abarcadora, por ese motivo hoy en día ha ocurrido un proceso de especialización, de manera que ya no se habla casi de especialistas en IA sino de especialistas en una determinada porción de este campo, como ha sucedido con muchas ramas de la ciencia (Lezcano, 1998). Entre las características que marcan diferencias entre la IA y otras ciencias, cabe destacar las siguientes: El uso de símbolos no matemáticos es un aspecto que distingue a los métodos de IA de los métodos numéricos. El comportamiento de los programas no se describe, explícitamente, por el algoritmo y la secuencia de pasos ejecutados está influenciada por el problema particular que se resuelve. El razonamiento basado en el conocimiento. Implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Los programas de IA pueden distinguir entre el programa de razonamiento o motor de inferencia y la base de conocimientos dándole la capacidad de explicar discrepancias entre ellas. Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de IA los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del mundo real: con poca información, con una solución cercana y no necesariamente exacta. Muchos sistemas de EAC actuales utilizan técnicas de IA para tratar de enseñar de forma personalizada y en un lenguaje parecido al empleado por el profesor. Los Sistemas Tutoriales Inteligentes (STI), que emergieron en la década del 80, constituyen un buen ejemplo de este propósito. En muchos de los STI actuales está presente un paradigma denominado “paradigma de agentes”, que ha tenido un gran auge entre los investigadores, y se centra en el desarrollo de 10.
(20) Capítulo I. entidades que puedan actuar de forma independiente y razonada. Los agentes inteligentes permiten abordar, de una manera más apropiada, la construcción de sistemas inteligentes complejos y aplicados a diversos campos (Takeyas, 2005). El desarrollo de la IA ha seguido dos líneas principales: la simbólica y la subsimbólica. La primera se caracteriza por desarrollar modelos que describen, formalizan e implementan aspectos sistematizables del conocimiento en forma explícita (Sistemas Expertos, Razonamiento basado en casos, etc.). La otra se basa en los enfoques no representacionales de la IA (Redes Neuronales Artificiales, Algoritmos Genéticos y Sistemas Difusos). El cálculo subsimbólico se basa en el uso de representaciones analógicas, el conocimiento se reparte entre diversas componentes del sistema que están enlazadas y que pueden funcionar en paralelo (Bello, 2000).. I.3.1 Técnicas de IA aplicadas en la EAC El surgimiento de la IA, llamó la atención de los investigadores del campo de la EAC, por tal motivo se empezaron a incorporar esas técnicas y se reconoció que los primeros sistemas eran bastantes primitivos al no ser capaces de tomar decisiones que reflejaran, de alguna forma, el criterio del profesor y el grado de conocimiento de los alumnos al elegir los caminos a seguir e individualizar el proceso de enseñanza-aprendizaje. La IA en apoyo a los procesos docentes incluye varios paradigmas, como la Instrucción Asistida por Computadora (IAC), Micromundos, Sistemas Tutoriales Inteligentes (STI), Ambientes de Aprendizaje Inteligente (AAI) y Aprendizaje Colaborativo Apoyado por Computadora (ACAC) (Kussull et al., 2004). A través de otras tecnologías, tales como, la hipermedias, la Internet y la realidad virtual tuvieron un impacto importante en la influencia de la IA en la educación. La aplicación primaria de la IA en la construcción de sistemas de enseñanza-aprendizaje se centra en el dominio del conocimiento y en la representación de métodos de enseñanza. Esto supone tener una teoría de la enseñanza y de la naturaleza del conocimiento que debe ser enseñado. En (Espinosa and García, 2008) se destaca que el uso de las técnicas de IA en la creación de software educativo permite que los sistemas: Se adapten mejor a las características de los estudiantes teniendo en cuenta el historial de actuaciones del alumno y no a una respuesta aislada. 11.
(21) Capítulo I. Generen problemas, soluciones y diagnósticos cómo y cuándo se necesite durante una sesión de aprendizaje. Además permite que los ambientes computarizado de enseñanza-aprendizaje se configuren como verdaderos laboratorios donde confluyen diversos modelos pedagógicos, como lo son: el constructivismo, el conductismo, el cognitivismo y las teorías de aprendizaje colaborativo (Ovalle et al., 2005). Las técnicas de la IA aplicadas a la EAC se pueden clasificar en: explícitas e implícitas. Las explícitas, como su nombre lo indica, están diseñadas explícitamente para su aplicación en la educación, por ejemplo STI y otros programas inteligentes expresamente diseñados para su uso en procesos de enseñanza-aprendizaje. En las implícitas, o “invisibles” para el usuario, el estudiante no se da cuenta de que está utilizando tecnología de IA. Un ejemplo son los correctores de ortografía y gramática de algunos procesadores de texto comunes, que los estudiantes usan para revisar y corregir textos de tareas, sin dejar de mencionar el uso de agentes y algoritmos inteligentes de minería de datos en las búsquedas en páginas Web. Las aplicaciones educativas a partir del uso de técnicas de IA varían, básicamente, en función de los objetivos que se persiguen con el diseño de programa, así como del tipo de conocimiento que la aplicación debe manipular (Gross, 1992).. I.3.1.1 Los Sistemas Expertos La incorporación de las técnicas de IA al desarrollo del software educativo propició que se desarrollaran sistemas capaces de lograr un mejor aprendizaje. Según (Galvis, 1994) y (Bello et al., 2002a) uno de los software que más se destaca en el ámbito de la educación son los Sistemas Expertos (SE). Los SE forman parte de la ciencia de la computación y dentro de esta se ubican en la rama de la IA. Este término fue usado por primera vez por el Dr. Edward A. Feigenbaum en la Universidad de Standford, (Feigenbaum, 1977). El estipuló que el poder de resolución de un problema en un programa de computadoras viene del conocimiento de un dominio específico, no solo de las técnicas de programación y el formalismo que contiene. Antes de eso casi todos los investigadores en IA habían tratado de desarrollar métodos generales de programación que resolverían grandes problemas conceptuales pero estos programas resolvían pobremente los problemas individuales. 12.
(22) Capítulo I. En (Giarratano and Riley, 1998) se afirma que los SE hacen uso extensivo del conocimiento de los especialistas para resolver problemas como lo haría un experto humano en un dominio particular. Además presentan la característica fundamental de almacenar conocimiento proporcionado por un experto en un campo determinado y solucionar un problema mediante la deducción lógica de conclusiones. Este conocimiento se almacena en una base de conocimiento que se encuentra separada del proceso de inferencia (Serrudo, 2003). Un SE está compuesto por varios módulos, entre los que se destacan: Base de conocimientos: es la representación declarativa de la experiencia. Base de hechos (Memoria de trabajo): contiene los datos específicos al problema que se está resolviendo. Máquina de inferencia: modela el proceso de razonamiento humano. Módulos de justificación: explica el razonamiento utilizado por el sistema para llegar a una determinada conclusión. Interfaz del usuario: es la interacción entre el SE y el usuario. En la medida en que los SE actúan como ayudantes inteligentes de los expertos humanos y como consultores, cuando no se tiene otra posibilidad de acceder a la experiencia y al conocimiento, se puede afirmar que el objetivo final de todo SE es sustituir al experto humano en la resolución de problemas. Pero además de este objetivo, se pueden citar los siguientes (Climent, 1999): Mejorar la calidad del conocimiento de los expertos humanos. Conseguir la supervivencia del conocimiento al no perderse con la muerte física del experto humano. Aumentar la cantidad de expertos y, por tanto, hacer más accesible el conocimiento existente. Disminuir el coste del conocimiento. Por ser un sistema capaz de resolver problemas difíciles se aplica en muchos áreas, por ejemplo en la agricultura, los negocios, las comunicaciones, la medicina, lo militar, entre otras, destacándose su gran aplicabilidad en todas las ramas de la educación (Durkin, 2002). Bello (Bello et al., 2002a) describe el uso de los SE en la educación vinculados a: Planeamiento. Toma de decisiones. 13.
(23) Capítulo I. Adiestramiento del personal docente. Profundización en una determinada área del saber. Desde el punto de vista del usuario-aprendiz, un SE es un sistema que, además de demostrar gran capacidad de desempeño en términos de velocidad, precisión y exactitud, tiene como contenido un dominio de conocimientos que requiere gran cantidad de experiencia humana, no sólo principios o reglas de alto nivel, y que es capaz de hallar o juzgar la solución a algo, explicándolo o justificándolo, de modo que es capaz de convencer al usuario de que su razonamiento es correcto (Galvis, 1994). También este autor destaca algunas razones que hacen que los SE sean utilizados con fines docentes: en la etapa de su diseño el esfuerzo intelectual que exige formalizar las reglas que se van a incluir puede llevar al diseñador a un mayor o más detallado conocimiento del universo que se trata. Por otra parte, la estructura misma de un SE permite ver el conocimiento y el proceso de aprendizaje desde una perspectiva sistémica como una unión de información o conocimiento y control o reglas de estructuración y manipulación de este conocimiento. En tercer lugar, dado que un sistema experto encierra lo que sabe un experto acerca de un dominio específico, resulta razonable pensar en él como base de un sistema individualizado de aprendizaje en ese dominio. Los SE, se destacan por presentar características que justifican su utilización en la docencia, ya que permiten: Resolver problemas complicados de manera que su forma de operar sirva de guía para el alumno. Organizar el saber disponible sobre la materia, posibilitando su aplicación directa a la solución del problema. Preservar el conocimiento para su utilización futura. Establecer una comunicación eficiente con el estudiante. Captar y presentar, en diferentes formas, las respuestas que recibe o proporciona. Reconocer una extensa gama de errores de razonamiento. Proveer conjuntos de problemas distintos y graduar su dificultad relativa. Una característica que distingue a los SE es la separación del proceso de inferencia de la base del conocimiento. Muchos SE se producen en ambientes de desarrollo conocidos como Shell. Un Shell es un sistema que contiene la interfaz del usuario, un formato de conocimiento 14.
(24) Capítulo I. declarativo para la base de conocimientos y una máquina de inferencia. El ingeniero de conocimiento usa el Shell para construir un SE que resuelve problemas en un dominio particular.. I.3.1.2 Sistemas de Enseñanza-Aprendizaje Inteligentes (SEAI) El software educativo que utiliza técnicas de IA se conoce como Sistemas de EnseñanzaAprendizaje Inteligente (SEAI). En (Zenaida et al., 2010) se destaca que los SEAI son programas que portan conocimientos sobre cierta materia y cuyo propósito es trasmitir este conocimiento a los alumnos mediante un proceso interactivo individualizado, intentando simular la forma en que un tutor o profesor guiaría al alumno en el proceso de enseñanzaaprendizaje. El término inteligente se refiere a la habilidad del sistema sobre qué enseñar, cuándo enseñar y cómo enseñar, simulando la actividad de un profesor real. Para lograrlo, un SEAI debe encontrar la información relevante sobre el proceso de aprendizaje de ese estudiante y aplicar el mejor medio de instrucción según sus necesidades individuales. Espinosa (Espinosa, 2007) señala que los SEAI deben analizar, en cada momento, el comportamiento del estudiante para caracterizar su actuación y decidir cuál es la estrategia más adecuada a aplicar; qué explicarle, con qué nivel de detalle, cuándo interrumpirle, cómo corregirle, de forma que culmine con éxito el proceso de aprendizaje. Un aspecto fundamental es que para decidir y aplicar dicha estrategia, es necesario conocer la materia que se imparte y comprender la forma en que se asimila. Las variantes metodológicas que tienen estos sistemas son las siguientes (Bello et al., 2002a): Tutores inteligentes. Entrenadores inteligentes. Sistemas inteligentes basados en simulación. Juegos inteligentes. Sus fundamentos teóricos se apoyan en la Ingeniería del Conocimiento, las técnicas de IA, así como la ciencia pedagógica, ya que por medio de entrevistas y sesiones realizadas con los profesores más experimentados se recopilan conocimientos valiosos que se pueden formalizar y codificar. El éxito de este tipo de sistema estará determinado por su capacidad de manipular. 15.
(25) Capítulo I. características específicas y procesos involucrados en la instrucción, incluyendo la capacidad de establecer diálogo en lenguaje cercano al natural. El tipo de conocimiento que puede ser transmitido por un SEAI se clasifica de la siguiente manera (Laureano and Gómez, 2001): Procedimental: relacionado con habilidades. Declarativo: relacionado con hechos o conceptos. Cualitativo: relacionado con la habilidad mental de simular y razonar con base en procesos dinámicos. El conocimiento procedimental se refiere básicamente al conocimiento que subyace al desarrollo de una tarea y está directamente relacionado con las reglas de producción, consideradas por los investigadores como una representación que capta lo esencial del proceso humano con su mecanismo IF-THEN. Por otro lado, el conocimiento declarativo se refiere, básicamente, a hechos que guardan relación con un uso especializado para un caso particular; y el conocimiento cualitativo que subyace en la habilidad de los humanos para simular y razonar con respecto a procesos dinámicos de manera mental. Los SEAI, denominados también Sistemas Tutoriales Inteligentes (STI) (Zenaida et al., 2010), son programas que permiten dotar a la Instrucción Asistida por Computadora (IAC) con herramientas de Inteligencia Artificial. La finalidad de los tutores inteligentes es tratar de simular un maestro experto, dotando al sistema de conocimientos profundos, estrategias pedagógicas adecuadas y correcta comunicación con el alumno. Su desarrollo implica manejo completo e inteligente del conocimiento de la materia, de pedagogía y de modelaje del alumno (Vitalia, 1989). Estos sistemas inteligentes se diferencian de los convencionales en que pueden manejar conocimiento estructurado y empírico, no procesan datos, sino conocimiento representado en forma adecuada, explican la línea del razonamiento que siguen y justifican las conclusiones a que llegan. El objetivo de un SEAI es tener la capacidad de adaptación durante el proceso tutorial. Este objetivo se logra inter-relacionando los cuatro componentes básicos del sistema: módulo del dominio o módulo experto, modelo del estudiante, módulo tutor y módulo interfaz (Laureano and Gómez, 2001). El módulo Experto contiene conocimiento del área de enseñanza y cubre los posibles razonamientos para las respuestas del estudiante. Además suministra problemas para resolver 16.
(26) Capítulo I. o tópicos a discutir. Este módulo debe reconocer una solución incorrecta aunque no sea capaz de resolver los problemas que presenta al estudiante, debe tener la capacidad para presentar diferentes ejercicios, que aún no teniendo una estrategia de resolución común, den al alumno la impresión de que son diferentes. El módulo Modelo del Estudiante contiene información acerca de cada estudiante. Se usa para predecir el nivel de comprensión del estudiante o reconocer su estilo de aprendizaje. Suministra diferentes preguntas para identificar y detectar las anomalías en el aprendizaje del alumno, la estrategia empleada por este para resolver problemas y conocer exactamente lo que entiende para evitarle repeticiones tediosas durante una sesión de aprendizaje. El módulo Tutor contiene las estrategias, reglas y procesos que orientan las interacciones del sistema con el estudiante. Entre sus objetivos está: la elección del tipo de problema a resolver, el control y crítica del rendimiento del alumno, facilitar ayuda si el estudiante la requiere, seleccionar material de apoyo en caso de error y definir hasta dónde se permite al estudiante equivocarse. El módulo Interfaz con el Usuario encargado de generar salidas correctas para el estudiante, interpretar sus respuestas, organizarlas y pasarlas al sistema de tutoría. Este módulo es el que ha recibido menos atención por los problemas de comprensión de lenguaje natural. A través de la interacción entre los módulos básicos estos sistemas son capaces de determinar lo que sabe el estudiante y cómo va progresando, por lo que la enseñanza, se puede ajustar según las necesidades del estudiante, sin la presencia de un tutor humano (Cataldi and Lage, 2009).. I.4 La enseñanza de la Inteligencia Artificial La Inteligencia Artificial (IA) es una rama de la Ciencia de la Computación dedicada a la creación de hardware y software que imita el pensamiento humano. Su principal objetivo es llevar a la computadora las amplias capacidades del pensamiento humano y, para ello, se convierten a las computadoras en “entes inteligentes” con la creación de software que les permite imitar algunas de las funciones del cerebro en aplicaciones particulares. El fin no es reemplazar al hombre, sino proveerlo de una herramienta poderosa para asistirlo en su trabajo. Inicialmente la enseñanza de la IA se caracterizó por tener dos formas de organización, por un lado, la basada en exponer sus diversos campos de aplicación, y por otro lado la basada en una clasificación de sus distintos métodos y técnicas. Un problema común a ambas organizaciones 17.
(27) Capítulo I. es que ninguna de ellas encierra en el fondo una respuesta concreta a la pregunta sobre qué es la IA. En los últimos años ha surgido una respuesta pedagógica al problema. Se trata de presentar la IA como una disciplina encargada de estudiar y construir sistemas capaces de percibir su entorno y actuar sobre él para lograr la consecución de sus objetivos. El estudio de la IA forma parte del currículo de las carreras relacionadas con la Informática. En (Bello et al., 2002a) se destacan dos obstáculos fundamentales que debe vencer la enseñanza de la IA: el primero tiene que ver con el reducido tiempo que se le asigna en los planes de estudio y el segundo está relacionado con la diversidad y complejidad de los temas. La solución puede parecer obvia si se logra añadirle más tiempo a los temas tratados, pero la problemática no es tan sencilla como para resolverla con esa sola medida. Muchos de los temas tratados en IA son conceptos y temas fundamentales compartidos con otras disciplinas de Ciencias de la Computación, tales como: Lógica Matemática, Prueba de Teoremas, Teoría de Probabilidades, etc., el problema es que esos tópicos no se abordan en las asignaturas precedentes desde el punto de vista de la IA. Se hace necesario entonces establecer una vinculación entre todas las asignaturas relacionadas, lo que ayudará, en gran medida, a resolver algunos de los problemas tratados (Lezcano and Valdés, 1998a). La enseñanza de la IA plantea un notable desafío a los profesores, debido a las siguientes razones (Goel, 1994): 1. La fragmentación de la IA como materia de estudio. A excepción de un núcleo conceptual y unos pocos objetivos generales, existe poco consenso entre los investigadores de IA con relación a muchos tópicos. Si se pretende cubrir varias escuelas de enseñanza, se corre el riesgo de que la discusión se vuelva vaga y que los temas no aparezcan de forma coherente. Si se pretende desarrollar la IA desde un punto de vista específico, entonces la discusión corre el peligro de dejar fuera sus partes principales, dando sólo una panorámica general, basada en un punto de vista demasiado estrecho. 2. Imprecisión en los objetivos de enseñanza. A veces no queda claro qué es lo que se necesita que aprendan los estudiantes; por ejemplo: ¿se requiere que aprendan un conjunto básico de conceptos, o se desea desarrollar determinadas habilidades? 3. La abstracción de los conceptos. Muchos de los conceptos son demasiado abstractos y, por tanto, difíciles de comprender. 18.
(28) Capítulo I. 4. Imprecisión de las herramientas de medición del aprendizaje. No se logra saber, a ciencia cierta, qué saben los estudiantes, debido a que las herramientas tradicionales (exámenes, proyectos, etc.) no resultan suficientes para indicarlo. Ante todos estos problemas debe quedar claro que la enseñanza de la IA, no constituye un problema trivial ni totalmente resuelto, en (Mandow and Perez, 2001) se destacan dos dificultades que presenta la enseñanza de la IA: 1. La diversidad del campo, que incluye, entre otras, las aéreas de búsquedas, representación, visión, generación de planes, aprendizaje, incertidumbre, lenguaje natural, robótica y juegos. 2. La diversidad de técnicas para resolver los problemas anteriores. En (Bello et al., 2002a) se destaca que la IA es una ciencia y que cualquier ciencia está compuesta por tres elementos principales: 1. Ciencia del aprendizaje. Adquisición y desarrollo de conocimientos teóricos y conceptuales. 2. Aprendizaje acerca de la ciencia. Desarrollo y comprensión de los métodos y la naturaleza de la ciencia y de la compleja interacción entre las diferentes ciencias, la tecnología, la sociedad y el medio. 3. Quehacer científico. Desarrollo de experiencias en la ciencia de la investigación y en la solución de problemas. De acuerdo con esta concepción, la forma de enseñar una ciencia dada desempeña un papel importante en el uso que los estudiantes le darán. Sobre todo si desde el primer instante se consigue hacer de su enseñanza una ciencia más, acorde con estos preceptos. La enseñanza de la IA se basa en la búsqueda heurística con información simbólica ya que aborda problemas poco estructurados, donde no se conoce de antemano cuál es el mejor método para encontrar la solución, además trata de reducir la explosión combinatoria que genera la búsqueda de todos los caminos posibles que se presentan en la mayoría de los problemas reales. Este enfoque, aunque tampoco se puede tomar como una definición, permite al menos ubicar el campo de trabajo de la IA respecto a los otros campos de la computación (Zenaida et al., 2010).. 19.
(29) Capítulo I. I.4.1 La enseñanza de la Inteligencia Artificial en la UCLV La disciplina de IA en la UCLV forma parte del plan de estudio de las carreras Licenciatura en Ciencia de la Computación e Ingeniería en Informática. En la carrera Licenciatura en Ciencia de la Computación está formada por las asignaturas Inteligencia Artificial, Simulación y Programación Lógica, cuyo objetivo fundamental radica en completar la formación del profesional, capacitándolo en la solución computacional de problemas que requieran la aplicación de los conceptos y métodos de la IA. Estos problemas se pueden clasificar de dos formas: los que por su dimensión hacen posible usar un algoritmo conocido y los que carecen de algoritmo para resolverlos. El profesional en Ciencia de la Computación debe saber determinar cuándo se encuentra en presencia de tal clase de problemas, conocer los métodos de formalizar la información que los define y el conocimiento que se tiene para resolverlos, las perspectivas de modelación existentes, los métodos de solución asociados a los modelos, su simulación pertinente y, finalmente, su programación (M.E.S, 2009a). En la carrera Ingeniería en Informática la disciplina de IA forma parte de las asignaturas Matemáticas Discretas, Introducción a la Inteligencia Artificial e Inteligencia Artificial. En general estas asignaturas le permiten al estudiante abordar problemas que dependan fuertemente de la experiencia, presentan elementos de incertidumbre, sean adecuados para su solución por métodos deductivos, inductivos u otros procesos cognitivos, y que son de difícil solución descriptivamente o de gran complejidad, aspectos estos que se pueden presentar en los trabajos que enfrenta un Ingeniero Informático. Con estos conocimientos y habilidades el egresado no sólo puede abordar nuevas problemáticas, sino que también desarrolla sistemas informáticos mejor estructurados, más flexibles y potentes, y de mayor calidad profesional (M.E.S, 2009b). En la UCLV, específicamente en el Centro de Estudios Informáticos (CEI), se han realizado varios software que se utilizan en la asignatura de IA como medio auxiliar de diversas formas, para tratar el tema de los Sistemas Basados en Regla se estudia el Sistema para la Enseñanza de Sistemas Expertos (SESE) (Lezcano, 1998) que además de permitir construir sistemas basados en reglas permite el estudio de temas relacionados con la programación de máquinas de inferencia y la comprensión de algunos mecanismos internos de los SE. Este sistema se realizó en base a los siguientes objetivos (Lezcano and Valdés, 1998b): 20.
(30) Capítulo I. 1. Utilizar la computadora como un medio para enseñar procesos que ocurren sobre ella misma. 2. Lograr una enseñanza activa, facilitando a los estudiantes un recurso que les permita arribar a sus propias conclusiones. 3. Apoyar el proceso de enseñanza y aprendizaje mediante recursos de EAC que permitan a la vez producir aplicaciones reales. Toda la información necesaria para la correcta utilización de este software se encuentra en el manual de usuario realizado por el Dr. Mateo Lezcano y el Lic. Rolando Lorenzo (Lezcano and Lorenzo, 1999). Otro ejemplo es la utilización de dos software para los tópicos relacionados con los Sistemas Basados en Casos, el Sistema Inteligente de Selección de Información (SISI) (Matilde, 1996) y el KNN Workshop (Zaldívar, 2003a). El sistema SISI se basa en desarrollar sistemas basados en casos interpretativos integrando el enfoque basado en casos con una Red Neuronal Artificial (RNA). Este sistema permite (Bello et al., 2002b): Construir la RNA a partir del uso de los casos como conjunto de entrenamiento, para posteriormente tomar de ella toda la información necesaria,. lo cual elimina la. necesidad de búsquedas reiteradas en la base. Utilizar los pesos de la RNA como base para calcular los. pesos de los rasgos. predictores. Utilizar los pesos de la RNA para construir las funciones de comparación de rasgos, con lo cual se elimina la diferencia entre rasgos cuantitativos y no cuantitativos. Usar la RNA como procedimiento para estimar los valores de los rasgos objetivos. La RNA se utiliza como procedimiento para proponer la solución al problema, la cual luego sería justificada con el enfoque basado en casos. La combinación de (II), (III) y (IV) permite calcular los pesos de los rasgos predictores así como la equivalencia de los valores de estos rasgos en base a los rasgos objetivos definidos en el problema. El modelo de RNA permite variar de un problema a otro la división entre rasgos predictores y rasgos objetivos, es decir, la misma red es usable independientemente de quiénes son los rasgos predictores y cuáles los objetivos. 21.
(31) Capítulo I. Toda la información necesaria para la correcta utilización de este software se encuentra en el manual de usuario realizado por Matilde (Matilde, 1996). Por otro lado, el sistema KNN Workshop implementa el algoritmo de clasificación basado en casos conocido como k vecinos más cercano (k-NN del inglés k Nearest Neighbors). Entre otras posibilidades, permite al usuario escoger entre varios métodos de cálculo de la importancia de los rasgos y entre varias funciones de comparación por rasgos. Esto posibilita en muchos casos mejorar el desempeño del k-NN estándar. Los métodos para calcular la importancia de los rasgos son los siguientes: Gradiente conjugado, Información Mutua y ReliefF. Toda la información necesaria para la correcta utilización de este software se encuentra en el manual de usuario realizado por Zaldívar (Zaldívar, 2003b). También se destaca el uso de la Herramienta para el trabajo con Algoritmos Genéticos (GAS) (Gálvez and Piñero, 1998). Este software es una herramienta computacional para el estudio del comportamiento de los Algoritmos Genéticos (AG) diseñados en la solución de un problema. Al solucionar un problema con AG puede experimentarse la vía de obtener mejores soluciones cambiando los parámetros de trabajo del AG. El sistema GAS está orientado a permitir configurar los parámetros de un AG y valorar las soluciones obtenidas. En el sistema se han implementado varias variantes para los distintos parámetros que conforman un AG. Estos software ayudan en gran medida a que se cumplan los objetivos de la asignatura IA en la UCLV, motivando a que cada estudiante se esfuerce por realizar su propio sistema; lo que permite que la enseñanza de la IA sea de vital importancia para el futuro profesional en computación.. I.5 Conclusiones parciales A partir del análisis de la bibliografía consultada y del estudio propio se puede arribar a las siguientes conclusiones: El desarrollo científico-técnico actual propicia que la Enseñanza Asistida por Computadora incida positivamente en la enseñanza. La incorporación de técnicas de Inteligencia Artificial en los sistemas de EAC permite la creación de sistemas más reales que actúan de forma parecida a los profesores, sin pretender sustituirlos. 22.
(32) Capítulo I. La disciplina Inteligencia Artificial, forma parte natural del currículum docente de cualquier carrera de computación, por eso reviste particular importancia realizar sistemas que ayuden a mejorar la calidad y profundidad de su proceso de enseñanzaaprendizaje.. 23.
(33) Capítulo II. Capítulo II. TeachShell. Herramienta para la enseñanza de sistemas expertos. II.1 Introducción La enseñanza de la Inteligencia Artificial forma parte del plan de estudio de la mayoría de las carreras asociadas a la Informática. La carrera Ciencia de la Computación, que se estudia en tres universidades cubanas, tiene entre sus objetivos que los estudiantes entiendan la forma interna de cada una de las herramientas que se usan en esa área para poder modificarlas, adaptarlas o realizar nuevas implementaciones. Entre los sistemas estudiados se contemplan los Sistemas Expertos (SE). Tradicionalmente el tiempo que dedica el plan de estudio para este tema no es suficiente y este hecho se agrava en el Plan de Estudio D por la drástica reducción de horas, lo que recalca la necesidad de disponer de herramientas auxiliares para enseñar. El laboratorio de Informática Educativa del Centro de Estudios Informáticos (CEI), tiene esa tarea entre sus funciones. El Sistema para la Enseñanza de Sistemas Expertos (SESE), se ha usado por varios años en la UCLV y tiene entre sus componentes el sistema TeachShell, que está expresamente concebido para simular el proceso de búsqueda de soluciones de un sistema experto, el presente capítulo describe una nueva versión de la herramienta TeachShell que se ha reprogramado totalmente y mejora la parte visual del sistema.. II.2 Relación entre TeachShell y UCShell UCShell también forma parte del SESE y es un ambiente integrado para el desarrollo de SE. La Base de Conocimiento (BC) que utiliza su máquina de inferencia tiene la misma estructura que la utilizada por TeachShell, ya que el diseño y programación de ambas se realizó en forma similar. Las diferencias más notables radican en que TeachShell está realizado para enseñar, mientras que UCShell no posee este módulo de enseñanza, sino que incluye un editor y un compilador de bases de conocimientos que no están presentes en TeachShell. El compilador de UCShell, permite la compilación con información simbólica, para las bases de conocimiento que utiliza TeachShell. La Base de Conocimiento Fuente (BCF) tiene extensión .kbs, mientras la generada por el compilador de UCShell se almacena en un archivo con extensión .kbo que se le denomina 24.
(34) Capítulo II. Base de Conocimiento Objeto (BCO). Este archivo, en meta código, contiene información referente al conjunto de regla de la BC que son las portadoras del conocimiento en sí, para ser utilizadas posteriormente por TeachShell en el proceso de inferencia. La forma de representación del conocimiento (FRC) usada por estos sistemas son las reglas de producción, una de las más utilizados para la creación de SE (Castillo et al., 1997). Ambos sistemas manejan la incertidumbre tomando valores en el intervalo [-1,1], que pueden estar presentes en los datos y en las reglas. El factor de certidumbre (FC) final de una regla depende de lo incierto que sean sus antecedentes, en base a esto se le denominan reglas débiles a las que tienen, al menos, un atributo incierto (FC entre [-1,1)). Si las reglas no incluyen implicaciones débiles se asume que el FC es 1. Según las características de las reglas el FC se calcula de la siguiente manera: Si los antecedentes de las reglas contienen los operadores >, >=, <, <=, <>,=. El FC de la conclusión será el valor que indique la implicación débil. En el caso de el FC aparezca en el antecedente de una regla unida por el operador lógico AND, la certidumbre se calcula como FC(A or B) = max (FC(A), FC(B)), siendo A y B los antecedentes. En el caso de que varias reglas tengan la misma conclusión entonces el FC(R1, R2) = FC(R2) [1-FC(R1)]. Es importante señalar que cuando se realiza la interfaz con el usuario el FC de los atributos puede variar, ya que la incertidumbre entrada por el usuario no necesariamente tiene que ser igual que la dada por el ingeniero del conocimiento, en este caso el sistema toma este nuevo valor como FC actual del atributo, siendo esta la utilizada para calcular el FC final. Los atributos que inicialmente son hechos (creados con la sentencia ASSUME) tienen FC=1 o sea son verdaderos sin lugar a dudas. Los objetos que van a ser representados en la BC se le denominan Atributos, y pueden ser de tres tipos: Hechos, cuando tienen un valor asociado. Deducibles, cuando forman parte de la conclusión de una regla. Preguntables, cuando tienen una pregunta asociada. Los atributos que son deducibles o preguntables pueden convertirse en hechos durante el proceso de inferencia, además cualquier atributo puede ser declarado como externo. 25.
(35) Capítulo II. La BC está compuesta por cuatro partes. La figura II.1 muestra un esquema de su sintaxis.. Figura II.1 Sintaxis de la Base de Conocimiento De acuerdo a la sintaxis anterior, una BC está compuesta por tres módulos opcionales y uno obligatorio. A continuación se especifica brevemente en qué consiste cada uno: Bloque de atributos externos: se define con la palabra reservada External y especifica una lista de atributos que se usan en una base dada y no están declarados en ella. Esta facilidad permite enlazar hechos entre diferentes bases. Bloque de preguntas: se especifica con la palabra reservada Asks y contiene la declaración de todos los atributos que son preguntables. Las preguntas definen la interfaz entre la máquina de inferencia y el usuario del sistema experto. Bloque de reglas: su definición comienza con la palabra reservada Rules, las reglas representada son de tipo IF-THEN. Este bloque es una parte medular de la base de conocimiento ya que en las reglas se representa el conocimiento del sistema. Bloque de Acciones (Obligatorio): se especifica con la palabra reservada Actions y contiene un conjunto de acciones que serán ejecutadas durante el proceso de inferencia. Este bloque define el punto de entrada para comenzar la secuencia de deducción de la máquina de inferencia. El fin de un bloque se especifica, implícitamente, con el inicio de otro, excepto el bloque de acciones que finaliza con la palabra reservada End seguida por un punto lo que constituye, además, el fin de la BC. Los módulos se tienen que escribir en el orden mostrado. 26.
(36) Capítulo II. Los sistemas UCShell y TeachShell están estrechamente relacionados ya que la estructura de las bases de conocimiento es igual para ambos, con la diferencia de que TeachShell no utiliza una BCF, sino que trabaja con la BCO generada por el compilador de UCShell porque los datos en TeachShell van a estar representados a través de la información simbólica.. II.3 Descripción general de TeachShell TeachShell, se destaca por brindar un grupo de opciones que permiten visualizar, de forma amena, la información que está en la BCO con la intención de cumplir su objetivo fundamental: enseñar. El sistema permite ilustrar, paso a paso y a través de un mecanismo simulado, el algoritmo que sigue su máquina de inferencia interna, para lo cual toma como entrada una BC previamente compilada con información simbólica (.kbo) por el compilador de UCShell y permite, además, cargar la BCF (.kbs) en la que se muestra el orden en que se van infiriendo los atributos con una dirección de búsqueda dirigida por objetivo (backward chaining) y método de búsqueda primero en profundidad. En un sistema experto pueden existir varias reglas con una misma conclusión y el sistema debe decidir cuál de ellas ejecutar, con ese propósito estos sistemas deben poseer un mecanismo de Resolución de Conflictos y existen diversas estrategias para resolverlos, en (Gálvez, 1998) se destacan las siguientes: 1. Establecer orden en los datos. 2. Clasificar las reglas por prioridad de ejecución. 3. Ejecutar la regla más recientemente instanciada o la última. 4. Basado en la certidumbre de las reglas y los datos, seleccionar aquella que infiera valores con mayor certidumbre. El método que utiliza TeachShell para resolver los conflictos es escoger la primera regla según su orden físico en la BC. TeachShell está compuesto por varios módulos con el objetivo de mostrarle al usuario la mayor cantidad de información posible, para hacer efectivo el aprendizaje. Dentro de estos módulos se destacan: el Motor de Inferencia, la Interfaz de Usuario, un Módulo Gráfico entre otros (Véase figura II.2). Cada uno de ellos realiza un papel importante en el proceso de enseñanza-aprendizaje. 27.
(37) Capítulo II. Figura II.2 Arquitectura de TeachShell e interacción externa A continuación se describe brevemente cada una de estas partes: Motor de Inferencia: Utiliza una búsqueda dirigida por objetivos (backward chaining) y primero en profundidad. La memoria de trabajo del sistema almacena los atributos que tienen valor (hechos), el motor de inferencia utiliza esta memoria y la BCO para llegar a una conclusión. Además de esto cuenta con el módulo de explicación que interviene también en la búsqueda de la solución, ya que está presente cuando el sistema interroga al usuario y este desea conocer por qué es necesaria esa información y cuando el sistema llega a una conclusión es capaz de explicar cómo la ha obtenido. Módulo Gráfico: A través de este componente el sistema muestra una representación gráfica de la inferencia. En el acápite II.3.3 se argumenta sobre este módulo. Interfaz de Usuario: La interfaz de usuario facilita la comunicación entre el usuario y el sistema, aceptando datos del usuario, planteando preguntas, dando información y mostrando la conclusión final a la que ha arribado el sistema. En el acápite II.3.1 se argumenta sobre la interfaz.. 28.
Figure
Documento similar
D) El equipamiento constitucional para la recepción de las Comisiones Reguladoras: a) La estructura de la administración nacional, b) La su- prema autoridad administrativa
b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación
Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en
El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba
No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
Se hace presente el instrumento a ser aplicado en la empresa CONSUTIC dentro del área de Sistemas informáticos en los servicios de mesa de ayuda mediante un
De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la