“QUÉ” Y “CÓMO”ENSEÑAR EN INTELIGENCIA ARTIFICIAL L. Mandow J. L. Pérez de la Cruz Dpto. Lenguajes y Ciencias de la Computación – Universidad de Málaga Apartado 4114 – 29080 – Málaga (Spain). e-mail: {lawrence, perez}@lcc.uma.es Resumen. La ponencia se divide en dos partes. En la primera se enmarca la problemática asociada a la docencia universitaria de Inteligencia Artificial (IA) a nivel introductorio, y centrada en torno a las cuestiones de qué debe enseñarse y cómo. En particular se analiza desde un punto de vista crítico el concepto de agente, examinando las posibilidades pedagógicas que ofrece para introducir al alumno en los principales fundamentos de la IA. Aunque las definiciones del concepto de agente son cada vez más abundantes en la literatura informática, no todas ellas pueden servir igualmente a los fines docentes de la IA. En la segunda parte de la ponencia se presenta de forma razonada, y basándose en lo anterior, el diseño de la asignatura ‘Inteligencia Artificial e Ingeniería del Conocimiento’ correspondiente al 4º curso de la ETSI Informática de la Universidad de Málaga. Dicho diseño incluye referencia a los objetivos, contenidos, temporización y metodología de la asignatura. Palabras clave: Inteligencia artificial, enseñanza, agentes, qué, cómo :) 1 Introducción. La rápida evolución de las tecnologías de la información obliga a una revisión continuada de los planes de estudio de Informática en todo el mundo, y al lugar que en ellos debe desempeñar la Inteligencia Artificial (IA). En 1984 un comité internacional de la Federación Internacional para el Procesamiento de la Información (IFIP), elaboró para la Unesco un currículum universitario de informática que sirviese de referencia para países tanto desarrollados como subdesarrollados (Unesco-IFIP, 1984). Si bien se incluyó un módulo relacionado con la IA, el informe advertía que dicha disciplina era objeto Publicado en: CAEPIA-TTIA’2001. Encuentro sobre Docencia en Inteligencia Artificial, pp. 1-10. Mandow, L. y Pérez de la Cruz, J.L. de investigación, y que su inclusión o no dentro de la Informática era aún una cuestión abierta. Hoy en día estas dudas parecen superadas, y la IA ocupa un lugar permanente en prestigiosas recomendaciones curriculares internacionales (Tucker, 1991) (CC2001), siendo obligatorio su estudio en muchos países para la obtención de una titulación superior en Informática. Sin embargo aún siguen abiertas muchas cuestiones relativas a su enseñanza, no ya en cuanto a cómo deben enseñarse sus contenidos, sino peor aún, sobre cuales son los contenidos fundamentales que deberían constituir una asignatura introductoria de Inteligencia Artificial. Aunque no son muchos todavía los trabajos que abordan directamente esta problemática, existe una innegable preocupación por el tema entre los colectivos docentes. Para (Barreiro, 1997) las principales dificultades en la enseñanza de la IA son dos: • La diversidad del campo, que incluye, entre otras, las áreas de búsqueda, representación, visión, generación de planes, aprendizaje, incertidumbre, lenguaje natural, robótica, y juegos. • La diversidad de técnicas empleadas para resolver los problemas anteriores. Esta diversidad llega a tal extremo que “el estudio de la IA precisa de una universalidad cuasi-renacentista” (Nilsson, 1996). No es de extrañar que históricamente las dos formas de organización docentes mayoritarias en la IA hayan sido, por un lado, la basada en exponer sus diversos campos de aplicación, y por otro la basada en una clasificación de sus distintos métodos y técnicas. La primera refuerza la idea de que la IA no es más que una colección de campos de aplicación, más o menos afines, y está ligada a los orígenes históricos de la disciplina. La segunda le da mayor cuerpo de naturaleza, al identificarla con un conjunto de técnicas genéricas aplicables en principio a distintos dominios. Un ejemplo basado en este segundo enfoque lo encontramos en el libro Principios de Inteligencia Artificial (Nilsson, 1980). Sin embargo, la diversidad en ambas dimensiones “es una situación extraña en el curriculum de informática y puede provocar desasosiego, falta de motivación en el estudiante y dificultades para identificar las técnicas apropiadas a los problemas” (Barreiro 1997). En una encuesta realizada hace algunos años al alumnado de la Universidad de Berkeley “el texto para el curso de IA recibió la valoración más baja de todos los textos en cursos de Informática. Otros instructores [...] comparten este sentimiento” (Russell y Norvig, 1995a). La solución a estos problemas pasa por encontrar una perspectiva integradora que permita cubrir los fundamentos de la IA. Sólo de este modo puede conseguirse el objetivo de presentar el campo como un todo y no como una colección de técnicas sin conexión aparente. CAEPIA 2001 “Qué” y “cómo” enseñar en Inteligencia Artificial Un problema común a ambas organizaciones 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 con fuerza una nueva solución pedagógica al problema. Se trata de presentar la IA como una disciplina encargada de estudiar y construir agentes inteligentes. Dicho con otras palabras, sistemas capaces de percibir su entorno y actuar sobre él para lograr la consecución de sus objetivos. Los profesores Stuart Russell y Peter Norvig han abogado activamente por este enfoque, puesto en práctica en su célebre libro Artificial Intelligence: a modern approach (Russell y Norvig, 1995b). Si elegimos al azar un conjunto de universidades y analizamos sus planes de estudio podremos comprobar la amplia aceptación de este texto como base para la enseñanza de la IA tanto en el ámbito nacional como en el extranjero1. La idea integradora es sencilla, cada agente se implementa mediante una función que establece una correspondencia entre sus percepciones y sus acciones. Es fácil organizar un curso sobre esta base explicando las diversas formas de representar estas funciones. Observamos pues que la respuesta a qué es la IA (el “análisis y diseño de agentes”) es también la base para determinar cómo debe enseñarse. En (Nilsson, 1996) encontramos también una fervorosa defensa del enfoque de agentes: “Los escritores de libros de texto hemos intentado meter el batiburrillo que es la IA en distintos lechos de Procusto: algunos basados en resolución de problemas, reglas de producción, búsqueda, o lógica, por mencionar sólo algunos de los posibles temas organizativos. Russell y Norvig [...] utilizan el que en mi opinión es el mejor tema de todos, esto es, el diseño de agentes inteligentes.” En este artículo se analiza la problemática relacionada con la enseñanza de la IA tomando el enfoque simbólico como punto de partida. La sección 2 discurre sobre cuáles deben ser los objetivos de una asignatura introductoria de IA, y qué metodología pedagógica puede emplearse para conseguirlos. La sección 3 destaca, sobre la base de lo anterior, algunos aspectos del contexto académico de la enseñanza de la IA en la Universidad de Málaga. Concretamente se describen los contenidos propuestos para la asignatura Inteligencia Artificial e Ingeniería del Conocimiento (4º curso, ETSI Informática). Por último, se resumen algunas conclusiones y se plantean cuestiones abiertas. 2 Qué y cómo. ¿Qué es la Inteligencia Artificial? La respuesta habitual a esta pregunta está tan manoseada como la pregunta en sí: depende de a quién se le pregunte. Russell y Norvig 1 Los autores mantienen una página Web donde pueden obtenerse detalles de diversas universidades que han adoptado el texto (http://www.cs.berkeley.edu/∼russell/aima/adoptions.html). CAEPIA 2001 Mandow, L. y Pérez de la Cruz, J.L. (1995b, p. 5 y 29) citan hasta catorce definiciones diferentes de IA proporcionadas por otros autores, aunque posiblemente existan muchas más. La IA, en su sentido más coloquial, es fundamentalmente una especulación filosófica. Sin embargo, la mayoría de libros que abordan esta cuestión no son libros de filosofía, ni los profesionales, investigadores y docentes de IA se dedican (salvo notables excepciones) a la especulación filosófica (Pérez de la Cruz, 1994). En este contexto, muchas de las respuestas pueden entenderse en realidad como respuestas a la pregunta ¿a qué se dedican los científicos y profesionales de la IA? Ni que decir tiene, que esta alternativa también presenta sus dificultades (Welty y Hoebel, 2000). Sin embargo, es difícil eludir esta pregunta a la hora de elaborar los objetivos de una asignatura introductoria de IA. En cierto sentido, el diseño de cada asignatura lleva implícita necesariamente una respuesta. Los más acérrimos partidarios de la IA, lejos de perderse en interminables discusiones, han buscado siempre una constatación práctica de sus especulaciones. El propio Herbert Simon afirmaba: “Es cierto que todavía se me acusa de «positivismo» como si se tratase de alguna clase de felonía, o al menos un pecado venial [..] Ni Allen Newell ni yo hemos dedicado mucho tiempo o energía a responder explícitamente a los críticos -conductistas, Gestalt, o fenomenológicos. Hemos adoptado la política (¿era la del anarquista Bakunin? ¿o la de Sorel?) de «propaganda de los hechos, no propaganda de las palabras». La mejor retórica proviene de construir y probar modelos y ejecutar experimentos. Dejemos a los filósofos tejer redes de palabras; esas redes se rompen con facilidad [..] Los ordenadores, hablando por sí mimos (en sentido figurado y literal) acabarán convenciendo a todos salvo a los más endurecidos fundamentalistas de que piensan” (Simon, 1996, pp. 270-273). El ejemplo más universalmente reconocido en este sentido es el trabajo de (Turing, 1950), donde se descarta la existencia de algo mágico en torno a conceptos como “inteligencia” o “pensar”, y se vuelca la atención en aspectos observables y comparables como el comportamiento. El denominado “test de Turing” plantea la posibilidad teórica de construir una máquina (de Turing) capaz de presentar un comportamiento indistinguible del de un ser humano a un nivel de conversación. En definitiva, Turing trataba de evitar lo que sin duda consideraba banales discusiones sobre si los ordenadores podrían o no “pensar”, centrándose en un criterio científico (Harnad, 1992). Años más tarde, Newell y Simon dieron nombre y forma concreta a estas ideas en su hipótesis del sistema simbólico físico: “un sistema simbólico físico posee los medios necesarios y suficientes para acciones inteligentes generales” (Newell y Simon, 1976). De los tres enfoques pedagógicos descritos en la introducción, posiblemente sólo el basado en agentes permite proporcionar una caracterización adecuada de la IA, en el CAEPIA 2001 “Qué” y “cómo” enseñar en Inteligencia Artificial sentido de dar una respuesta a la pregunta ¿qué es la IA? Sin embargo nos encontramos con que en los últimos años el concepto “agente” se ha puesto de moda en los círculos informáticos, abundando las definiciones del término. Nuestra postura es que para ser útil para la IA desde un punto de vista pedagógico, este concepto debe servir de vehículo natural a las hipótesis fundamentales que acabamos de delimitar. Pues presentando la IA como el diseño de agentes no hemos hecho más que cambiar la forma de nuestra pregunta original, que ahora se ve sustituida por ¿qué es un agente inteligente? Si no somos capaces de dar una respuesta clara a estas preguntas, difícilmente podremos decir que hemos avanzado algo. Aunque el concepto de agente ha estado más o menos presente en la IA desde sus orígenes, encontramos lo más parecido a una primera definición en (Newell, 1982). El término agente se refiere aquí a cualquier sistema que se desenvuelve en un determinado medio en el que puede realizar acciones y del cuál puede recibir percepciones (por ejemplo, una persona o un robot). Además, se supone que un agente posee una serie de objetivos y que siempre intenta seleccionar sus acciones de modo que pueda conseguirlos (lo que se denomina el principio de racionalidad). Esta definición, en sí, es bastante sencilla. Seguramente no es casualidad que cualquier sistema de control con realimentación pueda considerarse en este sentido como un agente. Sin embargo tanta generalidad puede plantear dudas sobre su eficacia para caracterizar la IA: ¿es un termostato un agente? ¿y una lavadora? Como bien señalan (Julián y Botti, 2000) “numerosos sistemas pueden ser etiquetados como agentes cuando realmente no lo son, o por lo menos no deberían haber sido enfocados desde ese punto de vista”. La aparente necesidad de definir con mayor precisión el objeto de nuestro estudio puede llevar a calificar a los agentes con un sinfín de adjetivos: autónomo, sociable, o adaptativo entre otros muchos. Sin embargo, la clave para evitar esta interminable adjetivación podemos encontrarla nuevamente en el trabajo de (Newell, 1982). El uso del concepto de agente no tiene aquí un carácter caprichoso, ni tampoco ambiciona ser utilizado para definir la IA. Su introducción responde al deseo de dar una definición operativa del concepto de conocimiento en IA. Efectivamente, una característica importante de un agente es que posee conocimiento. Esto nos lleva necesariamente a responder otra pregunta clave en IA, ¿qué es el conocimiento? A este nivel de abstracción, el conocimiento de un agente se define como aquello que le hace competente para la consecución de sus objetivos. Es lo que le permite seleccionar las acciones adecuadas. El conocimiento es, por tanto, algo abstracto que nosotros, como observadores, atribuimos a un agente para explicar su comportamiento sin entrar en los detalles de su estructura física. CAEPIA 2001 Mandow, L. y Pérez de la Cruz, J.L. No puede ser de otra manera si aceptamos la Hipótesis del Sistema Simbólico Físico. El nivel del conocimiento se presenta como un nivel de descripción de estos mismos sistemas en términos más abstractos. Así, cuando decimos que un programa informático posee un conocimiento K, nos referimos realmente al hecho de que en el programa hay una estructura que, desde nuestro punto de vista, representa K y que existen procesos capaces de utilizar dicha representación para seleccionar acciones de acuerdo con el principio de racionalidad. Si tomamos como ciertas las hipótesis de la IA, en principio podría decirse lo mismo de una persona. El conocimiento en IA se concibe como algo abstracto que atribuimos a aquellos sistemas cuya realidad física desconocemos. La realidad física sería un enigmático sistema simbólico. Por eso nunca decimos que un termostato posee conocimiento. Conocemos y entendemos la realidad física de su funcionamiento. Normalmente decimos que determinados sistemas “hacen” cosas, no que “saben hacerlas”. La IA trata por tanto de descubrir mecanismos físicos capaces de explicar y reproducir el comportamiento de determinados sistemas: los seres humanos. Y al menos en la llamada “IA simbólica”, tales mecanismos se buscan en el ámbito del procesamiento simbólico. 3 Qué y cómo en la Universidad de Málaga. Un primer factor a tener en cuenta en el diseño de una asignatura de IA es la concentración de las investigaciones de IA en torno a dos corrientes fundamentales: la IA simbólica, que pretende explicar el comportamiento inteligente en términos de procesamiento de símbolos; y la IA sub-simbólica, que pretende explicarlo en términos de la interacción de distintos módulos de comportamiento descentralizados (por ejemplo, redes neuronales). Más que de enfoques contendientes, se trata de dos aproximaciones que han presentado valiosos resultados en distintos campos de aplicación. En España es necesario el estudio de ambos paradigmas para la obtención del título de Ingeniero en Informática. Concretamente, las redes neuronales se incluyen dentro de la materia troncal denominada Teoría de Autómatas y Lenguajes Formales (9 créditos), mientras que la materia troncal denominada Inteligencia Artificial e Ingeniería del Conocimiento (9 créditos), comprende mayoritariamente aspectos del enfoque simbólico (heurística, sistemas basados en el conocimiento, aprendizaje, y percepción). Como se explica razonadamente en la sección 2, el objetivo de una asignatura introductoria de IA puede ser acercar al estudiante a las nociones de agente, comportamiento y conocimiento propias del enfoque simbólico de la IA. Por supuesto existen importantes críticas procedentes de otras corrientes filosóficas que conciben al ser humano como una realidad distinta, y a las cuales es también obligada una referencia. La Unesco reCAEPIA 2001 “Qué” y “cómo” enseñar en Inteligencia Artificial comendaba hace años evitar hablar sobre la “inteligencia de las máquinas”. Objetivamente intentaremos abordar el problema de estudiar y construir sistemas que presenten un determinado comportamiento, y no convencer a nadie de si somos o no “máquinas biológicas”. ¿Qué clases de agentes son los más adecuados para un curso introductorio de IA? En general existe una gran disparidad de criterios si atendemos a los temarios de distintas universidades tanto nacionales como extranjeras. En lo único que parece existir un consenso generalizado es en la necesidad de abordar aquellos aspectos relacionados con la búsqueda en espacios de estados y la representación del conocimiento. En el caso de la Universidad de Málaga, a la asignatura Inteligencia Artificial e Ingeniería del Conocimiento se atribuye la troncalidad de las directrices propias de Ingeniería en Informática, incrementándola levemente de 9 a 10,5 créditos. Por tanto, en ella deben exponerse, a un nivel adecuado a un segundo ciclo universitario, los temas más relevantes de la materia. Una segunda asignatura, denominada Ampliación de Ingeniería del Conocimiento, tiene carácter obligatorio, y está dedicada a la profundización en los temas específicos de la Ingeniería del Conocimiento. Dado el amplio número de créditos, la atención se centra primero en abordar el concepto de búsqueda en espacios de estados, dejando los aspectos más avanzados sobre representación del conocimiento para la asignatura de 5º curso. Brevemente, el programa y la temporización actuales son los siguientes: 1. INTRODUCCIÓN (0,4 cr.) 1.1. Concepto e historia de la IA. 1.2. Sistemas de producción e IA. 2. EL LENGUAJE LISP. (2,9 cr.) 2.1. Sintaxis y semántica básicas. 2.2. Recursión. Listas. 2.3. Funciones. Cierres léxicos. 2.4. Entornos e iteración. 2.5. Entrada/salida y errores. 2.6. Asignación. 3. ESTRATEGIAS DE BÚSQUEDA (1,0 cr.) 3.1. Búsqueda irrevocable. 3.2. Búsqueda con retroceso. 3.3. Satisfacción de restricciones. 3.4. Implementaciones. 4. BÚSQUEDA EN GRAFOS (1,4 cr.) 4.1. Búsqueda a ciegas. 4.2. Búsqueda heurística. 4.3. Algoritmos relacionados y medidas del rendimiento. 4.4. Implementaciones. 5. BÚSQUEDA DESCOMPONIBLE (0,4 cr.) 5.1. Hipergrafos. 5.2. Algoritmo YO*. 5.3. Implementaciones. 6. ANÁLISIS DE JUEGOS. (0,7 cr.) 6.1. Evaluación minimax. 6.2. Poda alfa-beta. 6.3. Implementaciones. 7. TÉCNICAS LISP AVANZADAS (1,2 cr.) 7.1. Macros. 7.2. Estructuras de datos 7.3. Representación intermedia. 8. GENERACIÓN DE PLANES. (1,5 cr.) 8.1. Representación de planes. 8.2. Planeamiento lineal: STRIPS. 8.3. Planeamiento no lineal: SNLP 8.4. Implementaciones. 9. PERCEPCIÓN ARTIFICIAL (1,0 cr.) 9.1. El problema de la percepción. 9.2. Segmentación. 9.3. Reconocimiento estadístico. 9.4. Análisis basado en el conocimiento. CAEPIA 2001 Mandow, L. y Pérez de la Cruz, J.L A primera vista, el temario propuesto no presenta grandes novedades respecto a un planteamiento no basado en agentes. Esto se debe en parte a que la ETSI de Informática de la Universidad de Málaga se encuentra actualmente en la transición hacia un nuevo plan de estudios. En consecuencia, el desarrollo total de una nueva organización se está realizando de forma escalonada y no se culminará al menos hasta pasado un tiempo. Como no puede ser de otro modo, la adopción de un enfoque basado en agentes afecta más a la organización que a los contenidos de la asignatura. Esto nos permite esbozar la relación entre el temario actual y los aspectos discutidos en secciones anteriores. Todo ello se expone también en clase como parte del tema dedicado a la introducción (tema 1). Uno de los énfasis principales del enfoque de agentes es en un modelo de tres fases del tipo: percepción → procesamiento de información → acción. Es necesario considerar los tres elementos para poder decir que un agente exhibe cierto ‘comportamiento’. Puesto que la mayor parte de la materia se centra en la forma de llevar a cabo el procesamiento de información, es razonable prescindir inicialmente de las fases de percepción y acción. Respecto a ellas basta decir que supondremos disponible una descripción simbólica de los aspectos relevantes percibidos del entorno (algo que, por cierto, no es nada trivial), y que nos limitaremos a indicar a alto nivel el tipo de acción a realizar. Más adelante, la asignatura aborda aspectos relacionados con la percepción (tema 9). Los aspectos relacionados con la acción son propios de otras asignaturas de la carrera relacionadas con la robótica. En cuanto a la fase que hemos denominado ‘procesamiento de información’, puede dividirse en líneas generales de la siguiente forma: • Sistemas reactivos, también denominados acción-reacción, o estímulorespuesta. • Sistemas deliberadores, que llevan a cabo un proceso de razonamiento previo a la decisión de las acciones a llevar a cabo. Es frecuente dividir estos sistemas entre aquellos basados en la búsqueda por fuerza bruta, y aquellos basados en el uso de conocimiento específico del problema. Las principal línea argumental elegida se centra en el desarrollo de agentes con capacidad para generar planes. Estos sistemas permiten introducir de forma natural los aspectos relacionados con los agentes deliberadores basados en la búsqueda por fuerza bruta. Se estudian aquí diferentes estrategias de búsqueda (temas 3 y 4), con especial atención a las dedicadas a la exploración de grafos (amplitud, profundidad, profundización iterativa, A*, ID-A*). Muchos de los problemas empleados tradicionalmente para ilustrar estos algoritmos (por ejemplo, puzzle-8, o misioneros y caníbales) son proble- Publicado en: CAEPIA-TTIA’2001. Encuentro sobre Docencia en Inteligencia Artificial, pp. 1-10. “Qué” y “cómo” enseñar en Inteligencia Artificial mas de generación de planes. La introducción del tema relativo a búsqueda en hipergrafos es instrumental de cara al análisis de los agentes de juegos, donde un agente que planifica sus acciones debe tener en cuenta también las de su adversario (temas 5 y 6). Finalmente, el tema denominado propiamente ‘generación de planes’ (tema 8) introduce el formalismo STRIPS, la búsqueda en el espacio de situaciones y los algoritmos STRIPS y SNLP. La necesidad de aportar un fuerte soporte práctico a la asignatura se manifiesta en la introducción de una extensa introducción al lenguaje de programación LISP (temas 2 y 7), y especialmente a sus aspectos funcionales. Dicho lenguaje sirve de base para la implementación y prueba de diversos algoritmos estudiados durante el curso. A modo de reflexión final, es conveniente reconocer que esta organización admite todavía muchas mejoras que esperamos poder identificar e introducir acertadamente en el futuro. 4 Conclusiones El diseño de una asignatura introductoria de Inteligencia Artificial debe abordar explícitamente la pregunta ¿qué es la IA? Si se opta por considerar la IA como el estudio y diseño de agentes surge inmediatamente una nueva pregunta: ¿qué es un agente? La respuesta pasa necesariamente por la denominada ‘hipótesis del sistema simbólico físico’ y la concepción del conocimiento que ella implica. Sólo entonces cobra sentido la afirmación de que lo importante no es si algo es o no es un agente, sino si vale la pena considerarlo como tal. Es especialmente llamativo que no se dé una definición de conocimiento en muchos libros de Inteligencia Artificial o Ingeniería del Conocimiento. Tal como explica (Newell, 1993, p. 34) "la gente [..] induce a partir de su práctica una cierta noción de lo que significa que un sistema tenga conocimiento y qué significa proporcionar los mecanismos del nivel simbólico que codifican dicho conocimiento y lo extraen para que el programa se comporte del modo deseado.” Sin embargo, ¿debemos basar la enseñanza de la IA en la esperanza de que los estudiantes induzcan por si mismos la noción “adecuada” de conocimiento? En tal caso deberíamos preguntarnos, ¿cuál sería el proceso educativo que favoreciese dicha inducción? En caso contrario, se haría necesario abordar esta cuestión también de forma explícita. Considerando estas cuestiones fundamentales como base para el diseño de una asignatura (qué enseñar y cómo) se puede comenzar a establecer un marco adecuado para comparar la eficacia de distintas elecciones y organizaciones de contenidos. CAEPIA 2001 Mandow, L. y Pérez de la Cruz, J.L. REFERENCIAS Barreiro, A. (1997) Enseñanza de Inteligencia Artificial en el Nivel Introductorio: Fundamentos, Énfasis y Restricciones. JENUI-97, III Jornadas de Enseñanza Universitaria de Informática, pp. 161-167, Madrid, 1997. CC2001 (2001) Computing Curricula 2001. Steelman Report. The Joint Task Force on Computing Curricula. IEEE Computer Society. Association for Computing Machinery. (http://computer.org/education/cc2001/) Harnad, S. (1992) The Turing Test is not a Trick: Turing Indistinguishability is a scientific criterion. SIGART Bulletin, 3(4) (October, 1992), pp. 9-10. Julián, V. y Botti, V. (2000) Agentes Inteligentes: el siguiente paso en la Inteligencia Artificial. Novática, nº 145, pp. 95-99. (http://www.ati.es/novatica/2000/145/nv145sum.html) Newell, A. (1982) The Knowledge Level. Artificial Intelligence 18, 87-127. Newell, A. (1993) Reflections on the knowledge level. Artificial Intelligence 59, 31-38. Newell, A., y Simon, H.A. (1976) Computer Science as empirical enquiry: Symbols and search. Communications of the ACM, Vol. 19, 3 (March 1976): 113-126. Reimpreso en Mind Design. Philosophy. Psychology. Artificial Intelligence.. Haugerland, J. (Ed.), The M.I.T. Press, Cambridge, Massachusetts (1981). Nilsson, N. (1980) Principles of Artificial Intelligence. Tioga Publishing Co. Traducción al castellano (1987): Principios de Inteligencia Artificial. Editorial Diaz de Santos. Nilsson, N. (1996) Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Artificial Intelligence 82 (1996) 369-380. Pérez de la Cruz, J.L. (1994) Pero, ¿alguien sabe qué es la Inteligencia Artificial? Informe Técnico LCC-ITI-94/5. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Russell. S., y Norvig. P. (1995a) A Modern, Agent-Oriented Approach to Introductory Artificial Intelligence. SIGART Bulletin 6(2): 24-26. Russell. S., y Norvig. P. (1995b) Artificial Intelligence. A Modern Approach. Prentice Hall, 1995. Traducción al castellano (1996): Inteligencia Artificial. Un Enfoque Moderno. Prentice-Hall Hispanoamericana. Simon, H. A. (1996) Models of my life. The MIT Press. Cambridge, MA. Tucker, A. B. (Ed.) (1991) Computing Curricula 1991. Report of the ACM/IEEE-CS Joint Curriculum Task Force. (http://acm.org/education/curr91/homepage.html) Turing, A. M. (1950) Computing Machinery and Intelligence. Mind 49:433-460. Unesco-IFIP (1984) A modular curriculum in computer science, UNESCO. Welty, C. y Hoebel, L. (2000) What do you do? SIGART Bulletin, Spring, pp. 59-60. CAEPIA 2001