Selectiva InteligenciaArtificial 2013
Selectiva InteligenciaArtificial 2013
Selectiva InteligenciaArtificial 2013
Programa de:
Inteligencia Artificial
(Sistemas Inteligentes)
UNIVERSIDAD NACIONAL DE CÓRDOBA
Facultad de Ciencias Exactas, Físicas y Naturales
República Argentina
Programa Sintético:
1. Introducción a la Inteligencia Artificial .
2. Representación del Conocimiento e Inferencia.
3. Técnicas de Aprendizaje Automático.
4. Ingeniería del Conocimiento.
Rige: 2007
Aprobado HCD, Res.: Modificado / Anulado / Sust. HCD Res.:
Fecha: Fecha:
El Secretario Académico de la Facultad de Ciencias Exactas, Físicas y Naturales (UNC) certifica que el programa está aprobado por
el (los) número(s) y fecha(s) que anteceden. Córdoba, / / .
Carece de validez sin la certificación de la Secretaría Académica:
Inteligencia Artificial Página 2 de 9
PROGRAMA ANALITICO
1. LINEAMIENTOS GENERALES
La Inteligencia Artificial no solo se propone entender como toda ciencia lo hace, sino que también se dedica a
construir entidades inteligentes, denominados Sistemas Inteligentes, como en las diferentes ingenierías. Abarca
en la actualidad un enorme campo de acción que van desde áreas de propósito general como la percepción y el
aprendizaje a otras más específicas como el juego de ajedrez, la demostración de teoremas matemáticos, el
diagnóstico de enfermedades, el diseño de dispositivos y la planificación de tareas.
Esta disciplina ha recibido numerosas definiciones pero básicamente se pueden descomponer desde el punto
de vista del pensamiento, en sistemas que piensan como humanos o que lo hacen racionalmente y desde el
punto de vista de su comportamiento, en aquellos que actúan como humanos o que lo hacen racionalmente. Sus
fundamentos están en la filosofía, la matemática y la lógica, la economía, la psicología, la neurociencia, la teoría
de control, la lingüística y la Ingeniería en Computación.
Las aplicaciones de la Inteligencia Artificial que mayor difusión ha tenido son los Sistemas de Información
Basados en el Conocimiento y los Sistemas Expertos, cuyo estudio y desarrollo se ha denominado Ingeniería del
Conocimiento y suele considerársela como una especialización de la Ingeniería de Software aplicada al
desarrollo de Sistemas Inteligentes. Actualmente su expansión abarca lo que se denominan Ontologías y su
aplicación a la Web Semántica.
Durante las décadas de 1970 y 1980 los investigadores en Inteligencia Artificial llegaron al convencimiento de
que las metodologías generales de solución de problemas y más específicamente los algoritmos de búsqueda
tradicionales eran insuficientes para resolver problemas de mediana complejidad, surgiendo la necesidad de
incorporar conocimiento limitado a un particular dominio de interés.
Para lograr el objetivo de transferir los conocimientos de un experto en un dominio se ha hecho necesario
poder especificarlo formalmente, destacándose la Lógica, los Diagramas de Redes Semánticas, los Marcos, los
Objetos, los Agentes y otros procedimientos para la representación del conocimiento. Pero este conocimiento
estático de las relaciones causales no es suficiente para producir los resultados o su explicitación por medio de
sucesivas transformaciones, que en general, pueden caracterizarse como nuevos conocimientos, siendo
entonces necesario desarrollar algoritmos que produzcan las inferencias buscadas, recibiendo así la
denominación genérica de algoritmos o motores de inferencia.
Los razonamientos basados en la lógica y sus diferentes versiones de razonamientos exactos se vieron
necesitados, durante las décadas de 1980 y 1990, de una adaptación a la incertidumbre y la inexactitud propia de
los lenguajes naturales y los sistemas de conocimientos reales. En ésta oportunidad a la lógica formal se le han
incorporado los conceptos probabilísticos, estableciéndose métodos de razonamiento en condiciones de
incertidumbre como las Redes Bayesianas y de razonamiento inexacto basado en los conjuntos borrosos o Fuzzy
Sets.
La Ingeniería del Conocimiento se enfoca en la aplicación de los anteriores conceptos al desarrollo de
Sistemas Basados en el Conocimiento en general y al de Sistemas Expertos en particular, destacándose la
necesidad de la adquisición del conocimiento así como su especificación, verificación, validación, diseño e
implementación en sistemas informáticos o lenguajes apropiados para la construcción de Bases de
Conocimientos para la toma de decisiones. Este conjunto de actividades se conoce como Modelado de Sistemas
Basados en el Conocimiento y actualmente se dispone de varias opciones como CommonKADS, Protege, KSM y
MIKE, entre otras.
El paso de la teoría de los Sistemas Basados en el Conocimiento a la construcción de los mismos, requiere la
adquisición de una fluida habilidad para realizar las tareas indicadas en el punto anterior, las que solo se logran a
partir de una práctica sobre un lenguaje concreto como CLIPS, que soporte las diferentes formas de
representación como la programación basada en reglas, la orientada a objetos o marcos, la funcional y la lógica.
Además el motor de inferencia debe también proveer medios de control de diferentes estrategias de
razonamiento y soportar mecanismos de incertidumbre y mantenimiento de la verdad como en el caso de los
razonamientos no-monotónicos. Para una visión completa se requeriría el estudio de varias herramientas de
programación simbólica o directamente de bajo nivel para construir las herramientas que den sustento a las
Inteligencia Artificial Página 3 de 9
diferentes teorías de la Inteligencia Artificial, pero desde un punto de vista del contexto de la Ingeniería del
Conocimiento, se encara la solución a los problemas con las herramientas de libre disponibilidad en Internet.
La adquisición del conocimiento a partir de expertos humanos, si bien necesaria e insustituible en muchas
aplicaciones, ha presentado diversas dificultades que van desde la representación del sentido común hasta las
excesivas demoras en la implementación y el mantenimiento de los sistemas. Ante estas dificultades han surgido
las técnicas de adquisición automática del conocimiento. El tema de la certificación de la Calidad del Software ha
tomado mayor importancia con el crecimiento exponencial en el tamaño y complejidad de los sistemas de
software y en algunos casos la naturaleza crítica de los mismos. Para asegurar el crecimiento de los Sistemas
Basados en el conocimiento se ha hecho necesario desarrollar técnicas que permitan evitar los errores de diseño
del sistema y la adquisición del conocimiento, para lo cual se los debe verificar, es decir que se demuestra su
consistencia y completitud, se los debe validar, o sea que se determina la corrección
El aprendizaje automático ha sido una posterior repuesta a las dificultades para la adquisición humana del
conocimiento y se basa en el aprendizaje de conceptos generales a partir de casos particulares. Algunas de las
técnicas más conocidas son las de inducción de árboles de decisión, las redes neuronales y los algoritmos
genéticos. Actualmente la aplicación de estas técnicas a grandes bases de datos a dado lugar a los conceptos de
Minería de Datos (Data Mining, DM) y de Descubrimiento de Conocimientos en Grandes Bases de Datos
(Knowledge Discovery in Data Bases, KDD) aplicada a la construcción de Bases de Conocimientos en problemas
de estrategias de negocios.
Inteligencia Artificial Página 4 de 9
2. METODOLOGIA DE ENSEÑANZA
3. EVALUACION
Evaluaciones Parciales de Acreditacion
Consistirá en la presentación escrita y posterior exposición y defensa del proyecto final integrador basado en el
desarrollo de un Sistema Basado en el Conocimiento utilizando las Metodologías de Desarrollo estudiadas en el
Módulo 4. Los trabajos se presentarán en el examen final en un tiempo máximo asignado de 30min.
Se evaluarán los trabajos con notas de 0 a 10.
Condición de regularidad
Para alcanzar la condición de ALUMNO REGULAR se deberán cumplir los siguientes requisitos excluyentes:
Asistir al 80% de las clases teóricas y de laboratorio.
Aprobar ambos Parciales de Acreditación.
Régimen de promoción
Aprobación de la materia:
Para lograr la promoción se deberán alcanzar los siguientes objetivos excluyentes:
Alcanzar la condición de ALUMNO REGULAR.
Aprobar el Proyecto Final Integrador con nota cuatro (4) o superior.
Calificación final:
La calificación es el promedio ponderado de las diferentes evaluaciones y su valor numérico se establece
como:
Nota Final = ((Puntos-P1 + Puntos-P2) /100)* 0.40 + Proyecto Final Integrador * 0.60
Este valor se redondeará al entero más próximo.
Inteligencia Artificial Página 6 de 9
4. CONTENIDOS TEMATICOS
Actividades Prácticas
Características generales:
El proyecto consistirá en el desarrollo de un Sistema Inteligente mediante el empleo de las herramientas
aplicables a la solución del problema de ingeniería o se desarrollarán las herramientas de software que
lo resuelvan.
Se implementará la solución en el lenguaje definido y se probarán diferentes criterios de diseño y se
presentarán todas las versiones de los archivos de código fuente. El diseño debe constar como mínimo
de funciones y procedimientos que permitan definirlo como de arquitectura modular.
La aplicación resultante deberá poderse ejecutar en un ambiente de Windows o de Linux sin errores
sintácticos ni lógicos.
Se documentará la presentación mediante una monografía sobre el tema, los documentos del modelo
computacional, los criterios adoptados al respecto del diseño, como estructuras de datos, eficiencia
algorítmica, interfaces con el usuario, etc.
Constará de un manual de usuario o ayuda en línea.
Los grupos estarán constituidos por 4 alumnos como máximo.
La presentación se realizará durante las clases de laboratorio correspondientes al último mes de clase.
Inteligencia Artificial Página 8 de 9
ACTIVIDAD HORAS
TEÓRICA 36
FORMACIÓN PRACTICA:
o FORMACIÓN EXPERIMENTAL 0
o RESOLUCIÓN DE PROBLEMAS 28
o ACTIVIDADES DE PROYECTO Y DISEÑO
o PPS
TOTAL DE LA CARGA HORARIA 64
6. BIBLIOGRAFIA
Básica
RUSSELL, Stuart y Norvig, Peter (2004): Inteligencia Artificial. Un enfoque modern (2da. Edición).
Pearson. Prentice-Hall.
GIARRATANO, Joseph y RILEY, Gary (1998): Sistemas Expertos. Principios y programación (3ra.
Edición). International Thomson Editors.
ORCHARD, Bob (2004): FuzzyCLIPS Versión 6.1d, User’s Guide.National Research Council.
Canada.
CLIPS: Reference Manual 6.2. Vol I y II. © 2002 Software Technology Branch, NASA.
Recomendada
BETANZOS, AMPARO A. y otros (2004): Ingeniería del Conocimiento. Aspectos metodológicos. Pearson.
Prentice Hall.
GOLDBERG, DAVD E. (1989): Genetic Algorithms in Search, Optimization, and Machine Learning.
Addison-Weley
LU, James y MEAD, Jerud J. © 2001 Prolog. A Tutorial Introduction. Bucknell University.
MARTIN DEL BRIO, BONIFACIO y otro (2001|): Redes Neuronales y Sistemas Difusos, (3ra ed).
Alfaomega. Ra-Ma.