Logo Studenta

Una_experiencia_sobre_el_apoyo_a_la_ensenanza_por_

¡Este material tiene más páginas!

Vista previa del material en texto

Una experiencia sobre el apoyo a la enseñanza por 
computadora en el campo de la Inteligencia Artificial 
 Jose B. García Perez-Schofield1 , Emilio García Roselló2 
1 Departamento de Lenguajes y Sistemas Informáticos, E.U. de Informática - Universidad de Vigo, Campus 
As Lagoas - Orense - España 
e-mail: jbgarcia@uvigo.es 
2Departamento de Lenguajes y Sistemas Informáticos, Facultad de Ciencias - Universidad de Vigo, Lagoas-
Marcosende s/n , 36200 Vigo - España 
 
 
 La Inteligencia Artificial (IA) además de estar incluida en la docencia de las 
carreras universitarias de informática, es utilizada, en herramientas de apoyo a la 
docencia (i.e. educativas), en la forma de simulaciones. Por ello, se hace necesaria a veces 
la enseñanza de ciertos conceptos tanto a universitarios no informáticos como a 
informáticos, lo cuál puede abordarse mediante el apoyo de herramientas educativas. En 
este artículo se expondrán dos programas representantes de las dos ramas principales de 
la IA: un modelo de simulación de Redes de Neuronas, y un Sistema Experto basado en 
lógica proposicional, los dos enfocados hacia la enseñanza. Se explorarán por tanto las 
capacidades de estos dos programas creados por los autores, ExpertLab y NeuroLab, para 
la ayuda o asistencia en la docencia universitaria. Se revisarán también ciertas técnicas de 
construcción de los programas que pensamos que no sólo asisten en la creación de los 
mismos sino también en su posterior integración, y, finalmente, evaluaremos la utilidad de 
estos programas en un caso real. 
 
Introducción 
 Muchas veces, un docente se apoya en una herramienta informática para impartir la 
docencia en su asignatura. Este es el caso que se presenta en el artículo, una experiencia de 
los autores, en el campo de la inteligencia artificial, utilizando software educativo. 
 El desarrollo propio fue necesario, ya que encontramos un cierto vacío en el campo 
de la enseñanza en la informática en general, y en la Inteligencia Artificial en particular; así 
es común encontrar aplicaciones informáticas que asisten a la enseñanza en ámbitos como 
por ejemplo de simulación de ecosistemas (pues es un campo en el que se precisa un 
cálculo relativamente complejo o laborioso que se presta al uso de herramientas de este 
tipo), (véase por ejemplo, si bien pueden encontrarse múltiples ejemplos en la bibliografía, 
Spitz F. et al, 1998) y sin embargo es difícil encontrar aplicaciones de apoyo a la docencia 
en los propios dominios de conocimiento de la informática. 
 Las razones que apuntan a este hecho pueden derivarse, como se indica en (Kölling, 
Michael 1999), de que las herramientas en informática (en concreto Kölling se refiere a la 
enseñanza dentro del paradigma de Orientación a Objetos) son realizadas para que tengan 
la funcionalidad que precisa un profesional, mientras que a la hora de la enseñanza, de 
conceptos puros, el alumno precisa más bien de otro tipo de herramientas, con ciertas 
características pedagógicas. Los autores pensamos que las conclusiones de Kölling sobre la 
enseñanza de la orientación a objetos bien pudieran aplicarse al campo que nos atañe: la 
docencia en Inteligencia Artificial. Si bien existen múltiples herramientas constructoras de 
Sistemas Expertos (p.ej. Level 51)y varios programas bien conocidos de cálculo matemático 
(p.ej. MatLab2) que permiten simular redes de neuronas, ninguno de estos sistemas es 
adecuado como apoyo para la docencia. 
 En este artículo, se describirán primeramente las herramientas desarrolladas, y su 
utilidad en la docencia, pasando en la siguiente sección a describir las técnicas de desarrollo 
de las herramientas; y por último se adjuntan ciertas respuestas sobre encuestas presentadas 
a los alumnos acerca de los programas. 
 
1Copyright © 1990 IBBI. 
2Copyright © 1984 - 1996 The MathWorks, Inc 
Características de las herramientas 
 Según la clasificación indicada por De Jong, (De Jong, T. y van Jooligen, 1998), 
encontramos en NeuroLab como un sistema de simulación, es decir, un sistema donde se 
potencia el aprendizaje constructivista, el aprendizaje del descubrimiento (discovery 
learning). NeuroLab permite, básicamente, la construcción de una red de neuronas de tipo 
backpropagation, y entonces, siempre interactivamente, entrenarla. Una vez entrenada, a la 
red pueden suministrársele valores de entrada y obtener valores de salida tanto de forma 
tabulada, como de forma gráfica. 
 ExpertLab es, básicamente, un motor de inferencia, orientado al aprendizaje. Al 
igual que NeuroLab, es un sistema de simulación, que permite definir las reglas en las que 
se basará el Sistema Experto, y observar el comportamiento del sistema. Las reglas, por 
tanto, funcionan como entradas, y son las que convierten al motor de inferencia en Sistema 
Experto, caracterizado por las mismas. No sólo podemos obtener, como decíamos, como 
salida el comportamiento del sistema, sino que además podemos modificar el 
comportamiento del motor de inferencia. Por tanto, ExpertLab es también un sistema de 
simulación constructivista o de aprendizaje por descubrimiento. 
 Ambas herramientas se caracterizan por el uso de un interface amigable, y una 
extensa interacción con el usuario, es decir, son sistemas que explican su funcionamiento y 
permiten modificar el comportamiento de ciertos aspectos, observando las diferencias al 
momento. Estas características son muy deseables en una herramienta pedagógica. 
Finalmente, las herramientas han sido implementadas para Windows 98, sistema 
disponible en una plataforma tan popular como el PC, lo que supone una ventaja a la hora 
de ser utilizado en un centro. 
ExpertLab 
 ExpertLab es un Motor de Inferencia orientado a la enseñanza, que permite observar 
el comportamiento del mismo según la base de conocimiento (reglas y hechos) que le sean 
introducidas, permitiendo también ciertas modificaciones sobre la operación del Motor. Por 
otra parte, el sistema está integrado, sin perder su autonomía, en un sistema mayor, 
ModelLab donde aporta su capacidad de inferencia basándose en lógica. 
 Aparecen escasas referencias en la bibliografía acerca de sistemas expertos 
utilizados en la educación: en todos ellos, se trata de sistemas expertos en un dominio de 
conocimiento, que asisten al profesor en la docencia de ese dominio o de otro mayor, del 
que el primero forma parte. Por ejemplo, en (Saatchi, M.R. et al, 1998), encontramos un 
sistema experto que ayuda a los alumnos a aprender conceptos acerca de electrónica digital, 
o en (Megnevitsky, M. 1998), encontramos un sistema experto en el análisis de fallos en 
sistemas de energía, para la docencia de ingenieros industriales. Sin embargo, los autores 
no hemos encontrado un sistema experto con o sin base de conocimiento3 que ayude a 
entender como trabajan este tipo de programas, sin que el hecho de tener características 
pedagógicas afecte necesariamente a su funcionalidad. De hecho, ExpertLab se encuentra 
perfectamente integrado en el entorno de modelado ModelLab (Roselló et al, 1997), como 
estudiaremos más adelante. 
 ExpertLab acepta como entrada una serie de hechos y reglas, bien mediante las 
opciones de introducción de su interface de hechos y reglas, o bien vía un archivo de texto, 
editable por tanto desde cualquier editor sencillo y entendible directamente por el usuario, 
utilizando, además, una notación intuitiva, como por ejemplo la regla z :- a, b, c. El hecho 
de no cambiar la notación utilizada habitualmente o cuando menos conocida por otra propia 
facilita el aprendizaje del uso de la herramienta. Esta notación es entendida por el programa 
y traducido a sus esquemas de datos internos. Una vez que hemos introducido la base de 
conocimiento, que el programa muestra separando hechos de reglas, para facilitar la 
asimilación por parte del alumno. Podemos elegir entredos tipos de encadenamiento: hacia 
delante y hacia atrás (sobre algoritmos de inferencia, o técnicas de IA en general, véase 
Rich, E., 199!!!!!!!!!!!!). Además podemos modificar el como el programa va efectuar el 
encadenamiento, proveyendo dos estrategias de activación de reglas (FIFO y Económica 
(i.e., la de menor coste4)) y un modo de trabajo especialmente recomendado por su 
característica pedagógica: el modo de explicación. En este modo, cada uno de los pasos que 
ejecuta el programa al realizar el encadenamiento hacia atrás (el más complejo de 
entender), son explicados por el programa, que ofrece respuestas a ¿ por qué ? 
y a ¿cómo?, es decir, de qué regla se obtiene el resultado actual y cuál es el camino seguido 
a través de la base de conocimiento para llegar hasta ella, respectivamente. Obviamente, 
 
3 Simplemente, los autores intentamos distinguir aquí entre los propios sistemas expertos y aquellos motores 
de inferencia genéricos que permiten la creación de sistemas expertos. 
4 Entendemos por la más económica, en el contexto de la herramienta desarrollada, a la regla que tiene menos 
antecedentes a demostrar antes de poder concluir la hipótesis. 
ésta no es una opción muy útil si la base de conocimiento es muy grande, pero recordemos 
una vez más que cuando utilicemos esta opción no será el caso ya que estaremos 
interesados en la docencia, y no en otros factores. 
 En cuanto a la implementación, el programa se apoya intensivamente en la 
tecnología OOP, y, más concretamente, en el uso de listas, y de algoritmos recursivos para 
el caso del encadenamiento hacia atrás. En cuanto a la interacción con el interface, sólo es 
necesario, para actualizar la vista de la base de conocimiento con la vista que obtiene el 
usuario, interrogar a cada objeto perteneciente a la base, obteniendo de cada uno su 
autodescripción, (sin necesidad de saber si es hecho o regla), y representando entonces 
adecuadamente cada uno de ellos. 
NeuroLab 
 NeuroLab es un sistema de aprendizaje que permite la construcción de redes de 
neuronas backpropagation; el sistema cuenta con autonomía propia, si bien se encuentra 
enmarcado en un proyecto mayor de modelado ecológico, ModelLab (Roselló et al, 1998). 
Podemos encontrar varios entornos de modelado en las bibliografía actual, (por ejemplo, 
Odum, H. et al 1998) si bien ModelLab, destaca precisamente por la utilización de 
componentes integrados, respetando sin embargo la capacidad individual de los mismos, 
entre los cuáles también se cuenta ExpertLab, como ya se ha dicho. No es la primera vez, 
sin embargo, que se utilizan redes de neuronas en la simulación, o en el modelado 
ecológico, como puede verse, por ejemplo, en (Lek, S. et al, 1996; Boudjena, G., 1996; 
Tan, S.S. y Smeins, F.E. 1996), mostrando mejores resultados que los métodos de regresión 
habituales (Brey, T. et al, 1996;Paruelo, J.M. y Tomasel, F., 1997). 
 Tanto NeuroLab como ExpertLab fueron utilizados como herramientas de 
aprendizaje para alumnos universitarios5, en una asignatura, por supuesto, altamente 
relacionada con la Inteligencia Artificial. Los resultados fueron enteramente satisfactorios, 
ya que ellos mismos, construían, entrenaban y probaban las redes neuronales propuestas 
como ejercicio, lo cuál supuso un salto cualitativo en la asimilación de los conceptos 
teóricos que envuelve la utilización de redes de neuronas. 
 NeuroLab, no sólo permite la construcción de redes de neuronas, sino también su 
entrenamiento, y su posterior prueba y evaluación de salidas, de una forma altamente 
 
5 Ver apéndice 
intuitiva, guiada por un interface sencillo; esto refuerza tanto la seguridad como el 
aprendizaje del alumno (Beishuizen, J.J., 1998). En todo momento, el alumno ve la red que 
está construyendo en la pantalla, pudiendo modificar tanto sus conexiones como el número 
de neuronas, o incluso, acceder a las propiedades de cada neurona, consultando los pesos 
de sus conexiones, cambiando la función de transferencia … etc. Esto es posible debido 
principalmente a una asociación “objeto visual” – “objeto contenedor de la lógica del 
sistema”, unívoca, que permite integrar la interface enteramente con el modelo de red a 
construir, tanto como separar totalmente la lógica de ese interface de la lógica de la 
simulación. Esta diferenciación interface – lógica del programa es muy parecida a lo que es 
necesaria conseguir en las aplicaciones basadas en tecnología web (Schawbe, D. y Rossi, 
G., 1998). 
Una vez definida la red de neuronas (en cuanto a su número de capas, neuronas, y 
función de transferencia según capas), mediante un proceso guiado, es posible la 
eliminación y adición de conexiones con un simple drag del ratón. Así, se introducen los 
patrones en una tabla siguiendo el formato: entrada1, entrada2, …., 
entradaN,salida1,salida2,…,salidaN. Esto permite entrar en la siguiente etapa del proceso: 
el entrenamiento interactivo. El entrenamiento de la red se realiza en una ventana donde se 
puede elegir entrenamiento batch o interactivo: en cualquier caso, el alumno puede ver en 
todo momento cuál es el progreso de entrenamiento de la red, incluso accediendo 
directamente a las gráficas de salida o según los diferentes índices de referencia (como por 
ejemplo, la correlación, que puede apreciarse como tiende a 1 con cada iteración del 
algoritmo de entrenamiento (según los patrones elegidos). 
 Una vez que se considera suficiente el entrenamiento, puede accederse a la página 
de resultados, pudiendo ver estos en forma tabular o como gráfica, siempre con referencias 
visibles al resultado esperado marcado por los patrones. Entonces, es posible definir nuevas 
páginas de patrones nuevos para comprobar si la red se ajusta con otras entradas diferentes 
a las utilizadas para entrenarla. 
Técnicas de Construcción 
 Como se ha adelantado anteriormente, las dos herramientas, pese a mantener su 
entidad individual, forman parte de un entorno de modelado mayor. Esto se ha conseguido 
manteniendo separado, si bien perfectamente integrado, el núcleo de los programas de su 
interface con el usuario; gracias, entre otras técnicas, al paradigma de orientación a objetos. 
 Podemos encontrar ejemplos de integración de software en la bibliografía, aunque 
no de forma excesivamente abundante. Por ejemplo, en (Williamson, M. 1997), 
encontramos un trabajo de integración realizado partiendo de componentes ya existentes, 
que mantienen su funcionalidad, pero son capaces de cooperar una vez juntos. Por otra 
parte, en (Harding, R.D. 1996) se ofrece una experiencia más próxima a la nuestra, debido 
a que los componentes a integrar en su caso son de desarrollo propio, no comerciales. Para 
finalizar, es de resaltar que la integración de componentes ya realizados supone un gran 
reuso del propio trabajo, más allá de la simple reutilización de código, o, incluso, de la 
reutilización de clases. 
 La Programación Orientada a Objetos (POO), facilita el reuso en el desarrollo del 
software, tanto a gran escala (estamos hablando de la integración), como a nivel de clase 
(Praehofer, H., 1994); si bien, es una técnica que empieza a ser conocida, apreciada y 
explotada por beneficiosa (Armstrong, T.C. y Loane, R.F., 1994). Puede ser encontrada en 
varias experiencias de software educativo , como por ejemplo en (Borges, I.L. Jr., 1997). 
 Como ya se ha comentado anteriormente, una de las características básicas en la 
programación de estos sistemas ha sido la separación de las clases encargadas de la 
interface y aquellas contenedoras de la lógica del componente de la simulación al que 
representan, para permitir una manipulación más libre (por ejemplo, su posterior 
integración con otras herramientas). Así, la parte del interface de usuario se presta a ser 
realizada y refinada posteriormentecomo prototipos, procediendo, una vez llegado a un 
estado satisfactorio, al “enganche” con las llamadas apropiadas al “kernel” del programa, 
desde el interface prototipado (Wong, S.C.H., 1994). 
Casos de estudio 
 Los programas fueron utilizados con considerable éxito en las clases de 3º de 
carrera de la Ingeniería Técnica de Informática de Gestión, de la asignatura Sistemas 
Expertos de Gestión. Fueron las dos primeras prácticas realizadas por los alumnos, para, en 
el caso de NeuroLab, conocer otras posibilidades de la Inteligencia Artificial, ya que, como 
los autores hemos comentado anteriormente, sus aplicaciones actualmente son diversas. En 
cuanto a ExpertLab, éste estaba en relación directa con la asignatura, y constituyó un 
admirable apoyo para la asimilación de la teoría, pues fueron capaces de realizar sus 
propios mini-sistemas expertos, y de observar cómo funcionaban. 
 En el apéndice, se incluyen extractos de las encuestas realizadas a los alumnos, 
donde se aprecia su favorable opinión hacia este tipo de prácticas y un cualitativo 
incremento en la seguridad de los conocimientos sobre los temas. 
Conclusiones 
 En este artículo se han presentado dos herramientas de apoyo a la docencia en el 
campo de la inteligencia artificial. Estas herramientas, como ya se ha indicado, se pretenden 
sean útiles para la enseñanza, y no para un uso técnico de las mismas, al contrario de cómo 
pensamos se sitúa el mercado de las herramientas de informática actualmente. 
 Las herramientas presentadas creemos que son muy útiles sobre todo desde un 
punto de vista educacional, punto de vista que en el caso de la docencia en informática no 
se tiene en cuenta como quizás debiera, pues no encontramos desarrollos suficientes en este 
campo. Hemos presentado (Kölling, Michael, 1999) como ejemplo de un estudio sobre 
búsqueda de herramientas y lenguajes adecuados para la enseñanza de la orientación a 
objetos, cuyas conclusiones, acerca de que la excesiva profesionalidad se las herramientas 
y lenguajes disponibles eliminan sus posibilidades educativas, podría aplicarse 
perfectamente al tema que nos atañe, el de las herramientas educativas en informática en 
general e IA en particular. Existe, por tanto, un vacío, que es necesario, por beneficioso 
para la docencia, rellenar con herramientas centradas exclusivamente en determinadas 
propiedades pedagógicas que resalten las características de la asignatura que el profesor 
determine. 
 Finalmente, la POO como tecnología vehículo del desarrollo de software 
educacional, nos parece muy apropiada, tal y como ya ha demostrado con el resto del 
software, haciendo hincapié en, gracias a la encapsulación, las posibilidades que ofrece 
para integración de herramientas educativas como componentes en un sistema mayor. 
Bibliografía 
Armstrong, T.C. y Loane, Russel, F. (1994). Educational Software: a developer’s 
perspective. Techtrends, c39 n1, p 20 – 22. 
Beshuizen, J.J., (1998). Studying a complex knowledge domain by exploration or 
explanation. Journal of Computer Assisted Learnign, v8 n2, p 104 – 17. 
Borges, I.R.Jr., Bermúdez, L.A., de Carvalho, Paulo. (1997). Educational Software for 
small signal microwave amplifier design. Proceedings of the 1997 SBMO/IEEE MIT-
S International Microwave and Optoelectronics conference. Part1, v1, p 65 – 70. 
Boudjema, G. (1996). Using some recent techniques from chaos theory to analyze time-
series in ecology. Journal of Biological Systems, v3 n2, p 291-302. 
Brey, T., Jarre-Teichmann, A., Borlich, O. (1996). Artifical Neural Network versus 
multiple linear regression: predicting P/B ratios from empirical data. Marine Ecology 
Progress Series, v140 n1-3, p 251-256. 
De Jong, T., van Joolingen, Wouter R., (1998) Discovery Learning with Computer 
Simulations of Conceptual Domains, kk, v n , p. 
Harding, R.D., y aa. vv. (1996), A consortium approach to Courseware Design in 
Mathematics. Computers & Education, v26 n1-3, p171-178. 
Kölling, Michael, (1999). The problem of teaching object oriented programming Part II. 
Journal of Object Oriented Programming, February 1999, p 6-12. 
Lek, S., Belaud, A., Baran, P., Dimopoulos, I., Delacoste, M. (1996). Role of some 
environmental variables in trout abundance models using neural networks. Aquatic 
Living Resources, v9 n1, p 23-29. 
Negnevitsky, M. (1998). Knowledge based tutoring system for teaching fault analysis. 
IEEE Transactions on Power Systems, v13 n1, p 40-45 
Odum H.T., Peterson N. (1996). Simulation and evaluation with energy systems blocks. 
Ecological Modelling, 93: 155-173. 
Paruelo, J.M., Tomasel, F. (1997). Prediction of functional characteristics of ecosystems: A 
comparison of artificial neural networks and regression models. Ecological Modelling 
v98 n2-3, p 173-186. 
Praehfofer, Herbert. (1998). Object Oriented, modular hierarchical simulation modelling: 
towards reuse. Simulation Practice and Theory, v4 n4, 4 p. 
Rich, Elaine. (1990). Artificial Intelligence. McGraw-Hill. 
Roselló E. G., Fernández R.B., Suárez E. F. (1998). Desarrollo de una herramienta software 
de modelado matemático. Paper presented at 3º Simposio de Investigación y 
Desarrollo de Software Educativo. Evora , Portugal, 3-5 Sep. 
Saatchi, M.R., Ayienga, E. M., Travis, J.R., Rippon, F. (1998). Expert system Developed to 
assist digital electronics teaching. Engineering Science and Education Journal, v7 n2, 
p 81 – 87. 
Schawbe, Daniel, Rossi, Gustavo (1998). An Object Oriented Approach to Web-based 
applications design. Theory and practice of Object Systems, v4 n4, p 207 – 225. 
Spitz, F., Lek S., Dimopoulos, I. (1998) Neural Network models to predict penetration of 
wild boar into cultivated fields.Journal of Biological Systems, v4 n3, p 433-444. 
Tan, S.S., Smeins, F.E. (1996). Predicting grassland community changes with an artificial 
neural network model. Ecological Modelling, v84 n1-3, p 91-97. 
Williamson, M. (1997). Integrating comercially-available educational software into a 
learning environment with the quiltspace builder tool. Paper presented at the Annual 
Meeting of the American Educational Research (Chicago, IL, March, 24-28, 1997), 8 
p. 
Wong, S.C.H.(1994). Quick prototyping of educational software: an object oriented 
Apéndice. Encuestas 
 A continuación, se incluyen extractos de las encuestas realizadas a los alumnos, 
después de probar la herramienta. Se incluye desde la 4ª a la 9ª pregunta, que pensamos que 
son las más reveladoras respecto a la opinión del software por parte de los alumnos. 
4ª Pregunta Crees que posees conocimientos básicos sobre RN NeuroLab 
Ningunos Algunos Bastantes 
0,0% 83,3% 16,7% 
5ª Pregunta Crees que posees conocimientos básicos sobre para que sirven las RN 
Ningunos Algunos Bastantes 
0,0% 83,3% 16,7% 
6ª Pregunta Crees que las prácticas han sido útiles 
Sí No No sabe 
100,0% 0,0% 0,0% 
7ª Pregunta Crees que han permitido mejorar tu comprensión de RN 
Sí No No sabe 
100,0% 0,0% 0,0% 
8ª Pregunta Te ha parecido adecuado utilizar una aplicación para modelar RN 
Adecuado Inadecuado No sabe 
90,3% 1,5% 8,2% 
9ª Pregunta El manejo del software utilizado para las prácticas te ha parecido 
Sencillo Medio Complicado 
92,4% 6,6% 1,0% 
 
4ª Pregunta Crees que posees concimientos básicos sobre lo que son los SE ? ExpertLab 
Ningunos Algunos Bastantes 
0,0% 100,0% 0,0% 
5ª Pregunta Crees que posees conocimientos básicos sobre para que sirven los SE 
Ningunos Algunos Bastantes 
0,0% 100,0% 0,0% 
6ª Pregunta Un modelo de SE típicamente se compone de 
Hechos&Reglas Log Prop + Esq Declarat. No sabe 
82,0% 18,0% 0,0% 
7ª Pregunta Cree el alumno que han sido útiles en su formación las prácticas 
Sí No No sabe 
100,0% 0,0% 0,0% 
8ª Pregunta Cree el alumno que ha mejorado su comprensión de los SE 
Sí No No sabe 
100,0% 0,0% 0,0% 
9ª Pregunta El hecho de utilizaruna aplicación por ordenador para las prácticas le parece al alumno 
Inadecuado Adecuado Igual 
 94,8% 5,2% 
10ª Pregunta El manejo del software utilizado te ha parecido 
Sencillo Medio Complicado 
97,7% 2,3% 0,0%

Continuar navegando