FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

Somos una Facultad formadora de profesionales en las ingenierías de Sistemas y de Software, así como en Gestión y Gobierno de Tecnologías de Información, contribuyendo al desarrollo de la sociedad.

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Somos la universidad mayor del Perú, autónoma y democrática; generadora y difusora del conocimiento científico, tecnológico y humanístico; comprometida con el desarrollo sostenible del país...

viernes, 30 de septiembre de 2016

SILABO

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
(Universidad del Perú, DECANA DE AMÉRICA)  

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA 
Escuela Académico Profesional de Ingeniería de Sistemas  

SILABO 


1. ESPECIFICACIONES GENERALES  

Nombre del Curso        : INTELIGENCIA ARTIFICIAL 
Código   del Curso       : 207008 
Duración del Curso      : 17 semanas 
Forma de Dictado         : Técnico - experimental 
Horas semanales           : Teoría: 3h – Laboratorio: 2h 
Naturaleza                     : Formación profesional 
Número de créditos       : Cuatro (04) 
Prerrequisitos                : 205007 – Investigación Operativa I 
Semestre académico      : 2016 – II  

2. INTRODUCCIÓN 

La  inteligencia  artificial  es  un  área  de  la  ciencia  de  la  computación  que  tiene  por objetivo desarrollar los fundamentos prácticos  y teóricos para el desarrollo de sistemas de  computación  que presentan  características  inteligentes  y  que  por  lo  general corresponden  a  problemas  intratables. Muchos  problemas  que  ocurren  en  la  industria, servicios y entretenimiento corresponden a problemas inteligentes, y su solución se hace cada  vez  más  indispensable  en  las  organizaciones debido  a  las  exigencias  de competitividad que se incrementan cada día. 
Entre  los  diversos  tipos  de  sistemas  inteligentes  se  encuentran  los  juegos  humano- máquina, los  sistemas  basados  en  el  conocimiento,  los  sistemas  de  optimización  y machine learning. 
En  el  presente  curso,  se  hace  una  introducción  a  la  inteligencia  artificial  y  sus aplicaciones en la  industria,  servicios  y  entretenimiento,  y  se  muestra  como  las tecnologías  basadas  en inteligencia  artificial  pueden  crear  valor  y  hacer  que  las organizaciones  sean  más  competitivas. También  se  mostrará  sus  aplicaciones  en  la ingeniería de software. 
Se  aborda  con  mayor  profundidad  el  diseño  e  implementación  de  juego  humano- máquina y de sistemas basados en el conocimiento. 

3. LOGRO DEL CURSO 

Al  finalizar  el  curso  el  alumno  adquirirá  conocimientos  generales  del  área  de inteligencia artificial, diseñará e implementará juegos de competición humano-máquina basados  en  inteligencia artificial  y  sistemas  basados  en  el  conocimiento,  haciendo  uso de manera  clara  y precisa de las técnicas de búsqueda  en un  espacio de  estado  y  de la metodología CommonKADS. 

4. UNIDADES DE APRENDIZAJE 


UNIDAD Nº 1: Fundamentos de Inteligencia Artificial 
Logro

El estudiante al finalizar la unidad comprenderá que es la inteligencia artificial (IA) y su  diferencia con  los  sistemas  de  información,  algunas  aplicaciones  en  la  industria  y servicios,  y  su dificultad  para  resolverlos  a  través  de  la  teoría  de  complejidad  de problemas. 

Temario 

Clasificación  de  problemas  algorítmicos,  problemas  P  y  NP.  Problemas  de  decisión, localización y optimización. Descripción de algunos problemas NP-difícil. Definición  de  la  IA, Máquina  inteligente.  Diferencia  entre  sistemas  operacionales  y sistemas  inteligentes.  Revisión de  la  representación  del  conocimiento,  revisión  de  los lenguajes  de  la  IA.  Aplicaciones  en  la industria  y  servicios  (robótica,  planificación, gestión de desperdicios). Test de Turing.  


Horas / Semana (s) 
 10 h/2S   

UNIDAD Nº 2: Búsqueda de Estado y su Aplicación para Juegos Humano – Máquina
Logro

El estudiante al finalizar la unidad representará problemas de inteligencia artificial como búsqueda de estado, conocerá los métodos de búsqueda de estado para resolverlos, y diseñará juegos humano-máquina, que será prácticamente invencible por el humano, para ello definirá la función de evaluación más adecuada e implementará diversos criterios inteligentes de decisión.

Temario 

El problema de búsqueda en un espacio de estado. Representación de problemas de raciocinio y de optimización. Representación de problemas de juegos humano – máquina. Métodos Ciegos. Métodos Informados. Función evaluadora y su aplicación en juegos-humano máquina. Algoritmos de juego humano máquina. Criterios de decisión para juegos humano – máquina: no determinístico, goloso, min-max, mejor diferencia de utilidades.


Horas / Semana (s) 
 25 h/5S   

UNIDAD Nº 3: Ingeniería de conocimiento
Logro

El estudiante al finalizar la unidad comprenderá que son los sistemas expertos (SE), sus aplicaciones sabrá cuando aplicarlo, y modelará sistemas basados en el conocimiento siguiendo la metodología de facto CommonKADS.

Temario 

Definición de SE. Arquitectura, taxonomía, aplicaciones, y ventajas de SE. Requisitos para el desarrollo de SE. Introducción a la ingeniería de conocimiento. Métodos de desarrollo de sistemas basados en el conocimiento (SBC). La metodología CommonKADS (CK). Construcción de un SBC usando CK: modelo de contexto, modelo conceptual y modelo de diseño.


Horas / Semana (s) 
 10 h/2S   

UNIDAD Nº 4: Desarrollo y validación de Sistemas Expertos
Logro

El estudiante al finalizar la unidad podrá diseñar, implementar y validar un sistema experto para ello aprenderá a adquirir y representar el conocimiento, diseñar motores de inferencia, calcular los ratios de performance de un sistema experto, y reforzará lo aprendido mediante diversos ejemplos clásicos de sistemas expertos.

Temario 

Adquisición de conocimiento. Construcción de la base de hechos y base de conocimiento. Estructuras de representación de conocimientos. El motor de inferencia. Los métodos de encadenamiento regresivo y progresivo. Principales errores en el desarrollo de un SE. Calidad de un SE. Eficiencia y error de SE. Índice de acuerdo, sensibilidad y especificidad.


Horas / Semana (s) 
 15 h/3S   

UNIDAD Nº: 5 Introducción a Machine Learning y a Heurísticas
Logro

El estudiante al finalizar comprenderá que es la optimización combinatoria y machine learning así como sus aplicaciones para crear valor e incrementar la competitividad de las organizaciones a través de casos de estudios y talleres.

Temario 

Conceptos de aprendizaje y de machine learning. Sistemas expertos vs machine learning. Técnicas de aprendizaje y fases de desarrollo de machine learning. Aplicaciones de machine learning en la industria y servicios. El problema de la optimización combinatoria. Conceptos de heurísticas y meta-heurísticas. Algoritmos exactos vs algoritmos heurísticos. Técnicas heurísticas y meta-heurísticas. Aplicaciones de optimización combinatoria en la industria y servicios.


Horas / Semana (s) 
 5 h/1S   


5. CONTENIDO POR SEMANAS:

1º  Semana: Clasificación de problemas algorítmicos 

Presentación  del  curso.  Clasificación  de  problemas  algorítmicos,  problemas  P  y NP.  Problemas de  decisión,  localización  y  optimización.  Descripción  de  algunos problemas NP-difícil. Referencias: [4] Capítulo 1, [1] Anexo A.

2º  Semana: Fundamentos de la inteligencia artificial   

Definición  de  la  Inteligencia  Artificial.  Máquina  inteligente.  Diferencia  entre sistemas operacionales  y  sistemas  inteligentes.  Aplicaciones  en  la  industria  y servicios (robótica, planificación, gestión de desperdicios). Test de Turing. Referencias: [1] Capítulo 1, [2] Capítulo 1, [9] Capítulo 1.

3º, 4º Semana: Representación de problemas de juego humano  – máquina como búsqueda en un espacio de estado

Definición de problemas de la IA como problemas de búsqueda en un espacio de estado. Representación de problemas de juegos humano – máquina.  Referencias: [1] Capítulos 3, [3] Capítulo 2, [4] Capítulo 3. 1er control de lectura

5º  Semana: Métodos de búsqueda ciega 

El problema de búsqueda en un espacio de estado como grafo. La imposibilidad de usar métodos de caminos mínimos. El concepto de los métodos de búsqueda ciega e  informada.  El  árbol  de  estado. Los  métodos  ciegos:  amplitud,  profundidad,  no- deterministico.  Referencias:  [1]  Capítulo  4,  [2] Capítulo  5,  [3]  Capítulo  3,  [4] Capítulos 5, [9] Capítulos 9

6º  Semana: Métodos de búsqueda informados 

La función evaluadora, métodos que usan información adicional: primero el mejor, ascenso a la colina, A*, ramificación y acotación.
Referencias:  [1]  Capítulo  4,  [2]  Capítulo  5,  [3]  Capítulo 3, [4]  Capítulos  5,  [9] Capítulos 9

7º  Semana: Métodos de búsqueda para juegos humano-máquina   

Algoritmo  de  juego  humano  –  máquina.  Estrategias  de  juego  de  máquina:  no determinístico, primero  el  mejor,  min-max  y  mejor  diferencia  de  utilidades. Algoritmo min-max y alfa-beta. Referencias:  [1]  Capítulo  5,  [2]  Capítulos  6,  [3]  Capítulos  4,  [4]  Capítulos  6,  [9]
Capítulos 12.
2do control de lectura

8º  Semana 

Examen Parcial 

9º  Semana: Fundamentos de sistemas expertos   

Definición de Sistemas Expertos. Arquitectura de un sistema experto. Taxonomía y  aplicaciones  de los  sistemas  expertos.  Requisitos  para  el  desarrollo  de  sistemas expertos y ventajas del uso de sistemas expertos. Algunos problemas basados en el conocimiento.  Referencias: [6] Capítulo 1

10º  Semana: Ingeniería de conocimiento  

Introducción.  Adquisición  de  conocimiento.  La  metodología  CommonKADS. Diseño de Sistemas Expertos (SE). Ciclo de vida de un SE.
Referencias: [6] Capítulos 6, [7] Capítulos 19.

11º Semana: Adquisición de Conocimiento  

Adquisición  de  conocimiento.  Construcción  de  la  base  de  hechos  y  base  de conocimiento. Estructuras  de  representación  de  conocimientos  (reglas  de inferencias, frames, objects, ontologías, metadatos, thesaurus).  Referencias: [6] Capítulos 6, [7] Capítulos 19.
3er control de lectura  

12º Semana: Desarrollo de sistemas expertos basados en reglas  

Construcción de la base de hechos y base de conocimiento. El motor de inferencia. Los  métodos  de encadenamiento  regresivo,  progresivo  y  reversibilidad.  Técnicas de equiparación, el algoritmo RETE. Técnicas de resolución de conflictos.  Referencias: [1] Capítulos 6 y 8, [2] Capítulo 7, [6] Capítulo 3, [7] Capítulo 3.

13º Semana: Calidad y validación de sistemas expertos 

Principales  errores  en  el  desarrollo  de  un  sistema  experto.  Calidad  de  un  sistema experto. Validación de sistemas inteligentes, métodos cuantitativos de validación. Eficiencia  y  error  de sistemas  expertos.  Revisión  de  la  funcionalidad  del  SE  del 2do trabajo.
Tareas:  ejercicios  sobre  calidad  y  validación  de  SE,  validar  el  sistema  propuesto del 2do trabajo.
Referencias: [4], [7] Capítulo 21.
4to control de lectura 

14° Semana: Introducción a Machine Learning y heurísticas 

Conceptos  de  aprendizaje  y  de  machine  learning.  Sistemas  experto  vs  machine learning. Técnicas  de  aprendizaje  y  fases  de  desarrollo  de  machine  learning. Aplicaciones  de  machine learning  en  la  industria  y  servicios.  El  problema  de  la optimización  combinatoria.  Conceptos de  heurísticas  y  meta-heurísticas. Algoritmos  exactos  vs  algoritmos  heurísticos.  Técnicas heurísticas  y  meta- heurísticas. Problemas de optimización combinatoria en la industria y servicios. Referencias: [10], [11], [5] Capítulo 1, [8] Capítulo 1.

15º Semana: Presentación de trabajos computacionales  

Los  alumnos  mostrarán  sus  habilidades  en  cuanto  al  desarrollo  de  sistemas expertos y sus aplicaciones en los sectores de la industria y servicio. Los alumnos presentarán un informe y un software. 

16º Semana 

Examen final 

17º Semana 

Examen sustitutorio (solo para aquellos que no dieron examen parcial o final) 

Laboratorio 

Durante  las  sesiones  de  laboratorio  se  acompañara  el  desarrollo  de  los  trabajos computacionales,  ejercicios  complementarios  a  la  teoría,  y  el  desarrollarlo  de  un lenguaje  de programación  de  inteligencia  artificial  a  nivel  básico  como  LIPS  (o una variante de ella) o CLIPS.

Trabajos Computacionales 

Los alumnos agrupados en 3 desarrollarán dos trabajos computacionales.

El primer trabajo se trata de un juego de interacción humano-máquina con el uso de inteligencia artificial, el juego deberá ser diferente a los juegos que  existen en los  medios.  La  diferencia  entre dos  juegos  se  basa:  diferencia  en  el  entorno, diferencia  en  las  reglas  y  objetos,  o  diferencia en  ambos.  El  juego  deberá  usar  la técnica  de  búsqueda  en  un  espacio  de  estado,  el algoritmo humano-máquina,  y deberá considerar 3 niveles de dificultad (principiante, normal  y experto). Deberá tener interfaces adecuadas y el lenguaje de programación es libre.

El  segundo  trabajo  es  un  sistema  experto  basado  en  reglas.  La  base  de conocimiento deberá tener al menos 50 reglas. Deberá tener interfaces adecuadas y el  lenguaje  de  programación  a  usar debe  ser  un  lenguaje  de  IA.  En  cuanto  al desarrollo deberá seguir la metodología CommonKADS.

Los trabajos computacionales deberán ir acompañados de un informe redactado en el formato de un artículo y ser expuesto.


6. METODOLOGÍA 

El  curso  se  desarrolla  a  través  de  actividades  teórico  –  prácticas,  dando  énfasis  a aplicaciones en  la  industria  y  servicios.  Los  estudiantes,  organizados  en  equipos  de  3  estudiantes desarrollarán  dos  trabajos  computacionales.  Durante  las  secciones  de laboratorio  se  estudiará el lenguaje  no  procedural  CLIPS  o  una  variante  de  LISP  y  se evaluará el avance del  de los trabajos computacionales.


7. EVALUACIÓN

El Promedio Final (PF) se determina de la forma siguiente:

 PF = 0.00125(CL1 + CL2 + CL3 + CL4) + 0.01(TB1 + TB2) + 0.15*LA + 0,30*(EA +EB)  

Donde:

             CLx: Controles de Lecturas (CL1, CL2, CL3 y CL4) 
                 TB1: Trabajo Grupal (Juegos Inteligentes Hombre – Máquina)  
                 TB2: Trabajo Grupal (Sistemas Expertos) 
                 EA: Examen Parcial  
                 EB: Examen Final LA: Laboratorio 

El alumno podrá sustituir la nota del examen parcial o final siempre que no haya podido dar alguno de estos exámenes. Solo  serán  evaluados  los  alumno  que  presenten  70%  o  más  de  asistencia,  esto  es  5  faltas están retirados automáticamente del curso.


8. BIBLIOGRAFÍA

[1] STUART, RUSSELL; PETER, NORVIG 2010 Artificial Intelligence: a modern approach. Ed. Prentice Hall. ISBN 0-13-103805-2

[2] PATRICK, WINSTON 1984 Inteligencia artificial. Ed. Addison-Wesley ISBN 0-201-51876-7

[3] ELAINE, RICH 1988 Inteligencia artificial. Ed McGraw-Hill ISBN 0-07-450364-2

[4] DAVID, MAURICIO 2009  Apuntes de inteligencia artificial.  

[5] BONIFACIO, MARTIN; ALFREDO, SANZ 2002 Redes neuronales y sistemas difusos. Ed. Alfaomega ISBN 84-7897-466-0

[6] JOSEPH GIARRATANO – GARY RILEY 2001 Sistemas expertos, principios y programación. Ed. Ciencias Thomson ISBN 970-686-059-2

[7] JOSÉ PALMA M., ROQUE MARIN M. 2008 Inteligencia artificial, técnicas métodos y aplicaciones. Ed. Mc Graw Hill ISBN 978-84-484-5618-3

[8] JOSE R. HILERA, VICTOR J. MARTINE. 2000  Redes  neuronales  artificiales,  fundamentos,  modelos  y  aplicaciones.  Ed. Alfaomega – rama ISBN 978-84-484-5618-3

[9] NILS J. NILSON 2001 Inteligencia artificial, una nueva síntesis. Ed. Mc Graw Hill ISBN 978-84-484-5618-3

[10] CAMPELO Ruy; MACULAN Nelson.      
1994, Algoritmos e Heurísticas. Ed. Universidad Federal Fluminense.
GLOVER Fred; KOCHENBERGER Gary A.

[11] 2003 HandBook of Metaheuristic. Kluwer International Series.

Las lecturas obligatorias serán proporcionadas por el profesor del curso.