Está en la página 1de 15

INTELIGENCIA ARTIFICIAL

- Prcticas de Laboratorio -
Versin 1.0.XX012013


Por

M. en C. Jos David Ortega Pacheco
M. en C. Edgar Armando Cataln Salgado



INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO
DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE


Descripcin de la unidad de aprendizaje

Unidad de aprendizaje: Inteligencia Artificial
Unidad acadmica: Escuela Superior de Cmputo
Programa acadmico: Ingeniera en Sistemas Computacionales
rea de formacin: Profesional
Modalidad: Presencial
Tipo de unidad de aprendizaje: Optativa Terico-Prctica
Nivel: III

Evaluacin

El porcentaje de evaluacin que corresponde a las prcticas de laboratorio dentro de cada
unidad temtica de la unidad de aprendizaje es del 30%.
Las prcticas son consideradas como requisito indispensable para acreditar la unidad de
aprendizaje.
Cada prctica se evala en base a los siguientes rubros y porcentajes:

Rubro Porcentaje
Implementacin funcional 60%
Interfaz Grfica de Usuario y/o Base de Datos 20%
Reporte de prctica 20%









INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 1








INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 3





Nombre de la prctica

Bsqueda Informada.

Elemento de competencia

Implementar un algoritmo de Bsqueda Informada para la solucin de un problema.

Requerimientos


Hardware: Laptop o Computadora personal.


Software: Entorno de desarrollo seleccionado de acuerdo al lenguaje de programacin a
utilizar.


Actividades previas


El alumno deber haber investigado respecto a las estructuras de datos, libreras y/o
paquetes que tiene el lenguaje de programacin seleccionado y que le sean de ayuda para
la implementacin de un algoritmo de Bsqueda Informada.


Fundamentos tericos


El alumno aplicar los conceptos de Bsqueda Informada mediante la programacin de
uno de los algoritmos derivados de este enfoque de bsqueda.


Descripcin del problema


El mapa mostrado en la Figura 1 contiene informacin relativa a la conexin carretera
(lneas de color azul) entre 10 puntos de Mxico (Guadalajara, Morelia, San Juan del Ro,
Mxico D.F., Pachuca, Cuernavaca, Chilpancingo, Puebla, Xalapa y Oaxaca) marcados
como puntos en rojo, as como los valores de distancia entre cada punto (escritos en color
negro). Se desea encontrar una ruta para llegar desde Guadalajara a Oaxaca.


Instrucciones


1. Programar el algoritmo A
*
para encontrar la ruta deseada segn la descripcin del
problema. En el mapa de la Figura 1 se muestran en color rojo los valores que deter-
minan la heurstica para cada punto respecto al objetivo.
2. Mostrar la ejecucin visual del algoritmo al intentar encontrar la ruta deseada me-
diante una interfaz grfica de usuario en la que se muestre el mapa de la Figura 1. En
la Figura 2 se muestra una propuesta de la interfaz.
3. La estructura del mapa se mantiene fija as como el punto inicial y el objetivo final,
sin embargo, se deben poder cambiar los valores de las distancias entre puntos y los
valores de heurstica respecto al objetivo. Lo anterior se podr modificar en la inter-
faz implementada.
4. Se recomienda tener un parmetro de espera especificado por el usuario para poder
ver la evolucin en la bsqueda con un retardo entre cada ruta encontrada mientras se
llega a la solucin.










Figura 1. Mapa de conexin carretera.




Figura 2. Propuesta de Interfaz Grfica de Usuario.

Cuestionario.

1. Cul es la diferencia entre los algoritmos de bsqueda informada y los de bsqueda no informada?
2. Qu significado tiene la heurstica en la bsqueda informada?
3. Qu ventaja tiene usar el costo adems de la heurstica en el algoritmo A*?
4. Mencione 3 problemas diferentes al propuesto en la prctica para los cuales podra servir el algoritmo A*.








INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 4




Nombre de la prctica

Bsqueda optimizada.

Elemento de competencia

Implementar un algoritmo de Bsqueda optimizada para la solucin de un problema.

Requerimientos


Hardware: Laptop o Computadora personal.


Software: Entorno de desarrollo seleccionado de acuerdo al lenguaje de programacin a
utilizar.


Actividades previas


Investigacin respecto a las estructuras de datos, libreras y/o paquetes que tiene el
lenguaje de programacin seleccionado y que le sean de ayuda para la implementacin de
un algoritmo de Bsqueda Optimizada, en este caso, para implementar un Algoritmo
Gentico.


Fundamentos tericos


El alumno aplicar los conceptos de Bsqueda Optimizada mediante la programacin de
uno de los algoritmos derivados de este enfoque de Bsqueda.


Descripcin del problema


La Tabla 1 muestra los datos correspondientes a la evaluacin de 25 jugadores de futbol
en 5 diferentes posiciones (calificacin entre 0 y 10). Se desea tener una aplicacin que
ayude a encontrar una o ms posibles alineaciones que tengan una evaluacin mnima
deseada. Un jugador no puede ocupar dos posiciones al mismo tiempo.


Instrucciones


1. Realizar la implementacin de un Algoritmo Gentico que ayude a resolver el pro-
blema anteriormente planteado.
2. El usuario debe poder especificar el nmero de individuos en la Poblacin Inicial.
3. El usuario podr especificar la aptitud mnima que se pretende obtener.
4. Se podr elegir el tipo de Seleccin (Elitista o Ruleta) y el nmero de individuos que
pasarn a la siguiente generacin.
5. Se podr seleccionar entre Mutacin (un punto o dos puntos) y Cruza (un punto o dos
puntos) para la etapa de Reproduccin.
6. El usuario podr seleccionar el criterio de paro.
7. Implementar una Base de Datos en la que se almacenen y se puedan administrar los
datos de la Tabla 1. Operaciones administrativas en la Base: Agregar o Eliminar un
nuevo registro o nuevos registros, de forma manual o mediante un archivo. Tambin
se podr cambiar cualquier valor referente a los campos de cada registro.
8. Implementar una Interfaz Grfica de Usuario (IGU) para el manejo y visualizacin de
datos, para la configuracin del algoritmo y para visualizar resultados. Mostrar una
grfica en la que se visualice el nmero de generacin contra la aptitud promedio ob-
tenida por los individuos de cada generacin. Una sugerencia en el diseo de la IGU
se muestra en la Figura 3.


Tabla 1. Datos correspondientes a los 25 jugadores y sus calificaciones obtenidas en cada posicin del equipo de futbol.

Posicin A Posicin B Posicin C Posicin D Posicin E
Jugador 1 0 10 9 5 7
Jugador 2 1 7 3 10 5
Jugador 3 3 8 4 9 9
Jugador 4 7 2 5 3 9
Jugador 5 9 4 1 8 10
Jugador 6 10 6 9 5 6
Jugador 7 4 3 9 10 7
Jugador 8 26 2 0 7 9
Jugador 9 7 10 10 9 5
Jugador 10 8 10 3 4 10
Jugador 11 9 9 5 7 3
Jugador 12 10 5 10 4 4
Jugador 13 9 9 7 1 1
Jugador 14 7 2 2 9 6
Jugador 15 6 7 4 10 7
Jugador 16 4 10 0 3 5
Jugador 17 10 3 5 8 8
Jugador 18 3 6 10 0 4
Jugador 19 5 7 7 10 9
Jugador 20 6 9 9 3 10
Jugador 21 10 3 7 10 0
Jugador 22 9 9 4 5 3
Jugador 23 10 7 7 3 1
Jugador 24 4 5 9 5 9
Jugador 25 0 10 10 7 3




Figura 3. Propuesta de Interfaz Grfica de Usuario.

Cuestionario.

1. Qu diferencia existe entre los algoritmos de bsqueda informada como A* y algoritmos de bsqueda optimi-
zada como Algoritmo Gentico y Simulated Annealing?
2. Qu tipo de problemas se resuelven con Algoritmos de Bsqueda Optimizada?
3. Mencione tres problemas diferentes al planteado en sta prctica que se puedan resolver con Algoritmos Gen-
ticos.
4. Qu funcin tienen las operaciones de Cruza y Mutacin en el Algoritmo Gentico?




INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 5





Nombre de la prctica

Decisin Bayesiana.

Elemento de competencia

Implementar un algoritmo basado en la teora de decisin bayesiana para la solucin de
un problema, para este caso, el algoritmo Naive Bayes.

Requerimientos


Hardware: Laptop o Computadora personal.


Software: Entorno de desarrollo seleccionado de acuerdo al lenguaje de programacin a
utilizar.


Actividades previas


El alumno deber haber investigado respecto a las estructuras de datos, libreras y/o
paquetes que tiene el lenguaje de programacin seleccionado y que le sean de ayuda para
la implementacin de un algoritmo basado en la teora de decisin bayesiana.


Fundamentos tericos


El alumno aplicar los conceptos referentes a la teora de decisin bayesiana mediante la
implementacin de uno de los algoritmos derivados de este enfoque de aprendizaje, para
este caso, el algoritmo Naive Bayes.


Descripcin del problema


En la Tabla 2 se muestran 24 patrones correspondientes a la representacin de personas a
las que se les dio una recomendacin para el uso de lentes de contacto. Cada patrn
cuenta con cuatro atributos (Age, Spectacle Prescription, Astigmatism y Tear Production
Rate) y en la ltima columna se muestra la recomendacin referente al uso de lentes para
cada patrn (Recommended lenses). El conjunto de datos representado en la Tabla 2 es
conocido como Contact lens data set, el cual es de uso libre. Se desea tener una
aplicacin, la cual a partir de los datos de la Tabla 2 pueda dar una recomendacin sobre
el uso de lentes de contacto.


Instrucciones


1. Implementar una base de datos para la administracin de los patrones mostrados en la
Tabla 2. Las operaciones administrativas consisten en agregar o eliminar un registro
y modificar valores en campos, adems de poder cargar en la base de datos registros
provenientes de un archivo.
2. Disear una Interfaz Grfica de Usuario (IGU) en la que se puedan establecer los
parmetros de configuracin del algoritmo Naive Bayes para el estimador de probabi-
lidad y se puedan visualizar y manipular los datos mediante a las operaciones defini-
das para administrar los mismos. Una propuesta sobre la IGU se puede observar en la
Figura 4.
3. Mostrar los resultados obtenidos por el algoritmo, as como la recomendacin final
sobre el uso de lentes.





Tabla 2. Datos correspondientes al uso de lentes de contacto (Contact lense data set).

Age Spectacle Prescription Astigmatism Tear Production Rate Recommended Lenses
1 Young Myope No Reduced None
2 Young Myope No Normal Soft
3 Young Myope Yes Reduced None
4 Young Myope Yes Normal Hard
5 Young Hypermetrope No Reduced None
6 Young Hypermetrope No Normal Soft
7 Young Hypermetrope Yes Reduced None
8 Young Hypermetrope Yes Normal Hard
9 Pre-presbyopic Myope No Reduced None
10 Pre-presbyopic Myope No Normal Soft
11 Pre-presbyopic Myope Yes Reduced None
12 Pre-presbyopic Myope Yes Normal Hard
13 Pre-presbyopic Hypermetrope No Reduced None
14 Pre-presbyopic Hypermetrope No Normal Soft
15 Pre-presbyopic Hypermetrope Yes Reduced None
16 Pre-presbyopic Hypermetrope Yes Normal None
17 Presbyopic Myope No Reduced None
18 Presbyopic Myope No Normal None
19 Presbyopic Myope Yes Reduced None
20 Presbyopic Myope Yes Normal Hard
21 Presbyopic Hypermetrope No Reduced None
22 Presbyopic Hypermetrope No Normal Soft
23 Presbyopic Hypermetrope Yes Reduced None
24 Presbyopic Hypermetrope Yes Normal None




Figura 4. Propuesta de Interfaz Grfica de Usuario.


Cuestionario.

1. A qu se debe que el algoritmo Naive Bayes asuma independencia condicional entre los atributos de un patrn.
2. Qu funcin tiene el estimador de probabilidad?
3. Qu significado tiene el estimar la probabilidad?
4. Investigue y describa tres problemas diferentes al planteado en sta prctica, donde se haya ocupado el algo-
ritmo Naive Bayes.




INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 6





Nombre de la prctica

Decisin basada en el Vecino ms Cercano (Nearest Neighborhood).

Elemento de competencia

Implementar un algoritmo de decisin basada en el vecino ms cercano para la solucin de
un problema.

Requerimientos


Hardware: Laptop o Computadora personal.


Software: Entorno de desarrollo seleccionado de acuerdo al lenguaje de programacin a
utilizar.


Actividades previas


El alumno deber haber investigado respecto a las estructuras de datos, libreras y/o
paquetes que tiene el lenguaje de programacin seleccionado y que le sean de ayuda para la
implementacin de un algoritmo basado en el vecino ms cercano.


Fundamentos tericos


El alumno aplicar los conceptos referentes a la teora de decisin basada en el vecino ms
cercano mediante la implementacin de uno de los algoritmos derivados de este enfoque de
aprendizaje.


Descripcin del problema


En la Tabla 3 se muestran los patrones referentes a la recoleccin de tres tipos de pez
(Robalo, Salmn y Trucha), cada patrn toma en cuenta dos atributos, el largo y el ancho de
cada pez. Se necesita un sistema que ayude a clasificar de manera automtica nuevos
patrones correspondientes a ms peces recolectados.


Instrucciones


1. Implementar una base de datos para la administracin de los patrones mostrados en la
Tabla 3. Las operaciones administrativas son agregar o eliminar un registro y modificar
valores en campos, adems de poder cargar registros en la base de datos de manera
manual o a partir de un archivo.
2. Disear una Interfaz Grfica de Usuario (IGU) en la que se puedan establecer los pa-
rmetros de configuracin del algoritmo KNN (valor de k) y se puedan visualizar y
manipular los datos mediante a las operaciones definidas para administrar los mismos.
Utilizar la distancia euclidiana dentro del algoritmo.
3. Mostrar una grfica en la IGU donde se puedan observar cada uno de los patrones
como puntos en el plano (Largo vs Ancho), poniendo los puntos correspondientes a ca-
da tipo de pez con un color diferente. Una vez ingresado el patrn a clasificar, se debe
de mostrar en la grfica con un color diferente a los de los tipos de pez.
4. Los resultados obtenidos por el algoritmo para el valor de k seleccionado se deben
visualizar mostrando el punto a clasificar con el color del punto de la decisin tomada.
5. Una propuesta sobre la interfaz grfica de usuario se puede observar en la Figura 5.






Tabla 3. Datos correspondientes a los peces recolectados.

Largo Ancho Pez Largo Ancho Pez Largo Ancho Pez
1 71 28 Robalo 15 47 13 Salmn 29 98 29 Carpa
2 75 32 Robalo 16 38 23 Salmn 30 85 37 Carpa
3 56 30 Robalo 17 32 18 Salmn 31 88 33 Carpa
4 78 25 Robalo 18 31 15 Salmn 32 93 34 Carpa
5 67 31 Robalo 19 38 20 Salmn 33 79 37 Carpa
6 65 25 Robalo 20 29 17 Salmn 34 86 38 Carpa
7 70 21 Robalo 21 40 19 Salmn 35 90 40 Carpa
8 59 22 Robalo 22 42 12 Salmn 36 93 42 Carpa
9 78 24 Robalo 23 35 14 Salmn 37 89 38 Carpa
10 45 27 Robalo 24 28 17 Salmn 38 94 29 Carpa
11 42 22 Robalo 25 32 13 Salmn 39 97 31 Carpa
12 40 23 Robalo 26 34 11 Salmn 40 73 34 Carpa
13 54 29 Robalo 27 37 14 Salmn 41 77 33 Carpa
14 48 30 Robalo 28 48 10 Salmn 42 72 35 Carpa





Figura 5. Propuesta de Interfaz Grfica de Usuario.


Cuestionario.

1. Qu valores de K se recomiendan tomar para este problema (par o impar) y por qu?
2. Mencione otras distancias adems de la euclidiana, las cuales sirven para utilizarse en el algoritmo K-NN.
3. Investigue y mencione si existen maneras de proponer un valor de K inicial.
4. Investigue y describa tres aplicaciones distintas a la descrita en esta prctica en donde se utilice el algoritmo K-
NN.




INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 7





Nombre de la prctica

Decisin basada en rboles de Decisin.

Elemento de competencia

Implementar un algoritmo de decisin basada en rboles de decisin para la solucin de
un problema.

Requerimientos


Hardware: Laptop o Computadora personal.


Software: Entorno de desarrollo seleccionado de acuerdo al lenguaje de programacin a
utilizar.


Actividades previas


Se deber revisar a detalle antes de realizar la prctica la base de datos con la que se
trabajar, en este caso la base: Nursery Database, la cual puede obtenerse en
http://archive.ics.uci.edu/ml/datasets/Nursery y es de uso libre.


Fundamentos tericos


El alumno aplicar los conceptos referentes a la teora de decisin basada en rboles de
decisin mediante la implementacin de uno de los algoritmos derivados de este enfoque
de aprendizaje, en este caso el algoritmo ID3.


Descripcin del problema


Implementar una aplicacin basada en rboles de decisin (algoritmo ID3), mediante la
cual se pueda trabajar con la base de datos Nursery Database y tomar decisiones respecto
a nuevos patrones de entrada y obtener la decisin respectiva.


Instrucciones


1. Implementar una base de datos para la administracin de los patrones contenidos en
la Nuersery Database. Las operaciones administrativas consisten en agregar o elimi-
nar un registro y modificar valores en campos, adems de poder cargar en la base de
datos registros provenientes de un archivo o de manera manual.
2. Disear una Interfaz Grfica de Usuario en la que se puedan visualizar y manipular
los datos mediante a las operaciones definidas para administrar los mismos. Una pro-
puesta sobre la interfaz grfica de usuario se puede observar en la Figura 6.
3. La aplicacin debe generar el rbol de decisin y despus ocuparlo para tomar las
decisiones respecto a nuevos datos. Existir una opcin para visualizar el rbol obte-
nido.













Figura 6. Propuesta de Interfaz Grfica de Usuario.


Cuestionario.

1. Describa la siguiente informacin a partir del anlisis de la base de datos Nursery Database:
a. Nmero de clases/decisiones:
b. Nmero de atributos:
c. Nmero de instancias/patrones:
d. Nmero de instancias/patrones por clase/decisin:
2. Qu significado tiene el concepto de entropa?
3. Qu significado tiene el concepto de ganancia de entropa?
4. Investigue y describa tres aplicaciones distintas a la presente en sta prctica en dnde se utilicen rboles de
decisin.






INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE CMPUTO

DEPARTAMENTO DE INGENIERA EN SISTEMAS COMPUTACIONALES
ACADEMIA DE INGENIERA DE SOFTWARE

INTELIGENCIA ARTIFICIAL
PRCTICA 8





Nombre de la prctica

Decisin basada en Redes Neuronales.

Elemento de competencia

Implementar un algoritmo de decisin basada en Redes Neuronales para la solucin de un
problema.

Requerimientos


Hardware: Laptop o Computadora personal.


Software: Entorno de desarrollo seleccionado de acuerdo al lenguaje de programacin a
utilizar.


Actividades previas


El alumno deber haber investigado respecto a las estructuras de datos, libreras y/o
paquetes que tiene el lenguaje de programacin seleccionado y que le sean de ayuda para
la implementacin de un algoritmo basado en Redes Neuronales.


Fundamentos tericos


El alumno aplicar los conceptos referentes a la teora de decisin basada en Redes
Neuronales mediante la implementacin de una Red derivada de este enfoque de
aprendizaje.


Descripcin del problema


En la Tabla 4 se muestra la tabla de verdad de la compuerta lgica XOR. Se desea tener
una Red Neuronal de arquitectura Perceptron Multicapa que aprenda a responder de
acuerdo a los datos presentes en la Tabla 5, utilizando el entrenamiento tipo Back-
Propagation.


Instrucciones


1. Disear una Interfaz Grfica de Usuario (IGU) en la que se puedan establecer los
parmetros de configuracin del entrenamiento tipo Back-Propagation para la obten-
cin de la Red Neuronal. Una vez que se culmina el entrenamiento se podrn obser-
var los pesos de enlace finales. Una propuesta sobre la interfaz grfica de usuario se
puede observar en la Figura 8.
2. Se pueden ingresar estmulos de entrada a la red obtenida y obtener la respuesta a
dichos estmulos para comparar con la tabla de verdad.














Tabla 4. Datos correspondientes a la compuerta lgica XOR.

X1 X2 XOR
0 0 0
0 1 1
1 0 1
1 1 0




Figura 7. Red Neuronal tipo Perceptron Multicapa.




Figura 8. Propuesta de Interfaz Grfica de Usuario.


Cuestionario.

1. Qu funcin tiene la tasa de aprendizaje?
2. Por qu no se puede resolver el problema de la compuerta XOR con un Perceptron Simple?
3. Describa de manera concreta en qu consiste el entrenamiento tipo Back.Propagation.
4. Investigue y describa tres aplicaciones distintas a la presentada en sta prctica que utilicen un Perceptron
Multicapa con entrenamiento tipo Back-Propagation.

También podría gustarte