Manual Programacion Avanzada Universidades Politecnicas
Manual Programacion Avanzada Universidades Politecnicas
Manual Programacion Avanzada Universidades Politecnicas
FPO-ES
REV01
INGENIERÍA EN INFORMÁTICA
PROGRAMACIÓN
1 de 29
AVANZADA
Directorio
2 de 29
PÁGINA LEGAL
Participantes
ISBN-----------------
3 de 29
ÍNDICE
INTRODUCCIÓN ............................................................................................................................................ 1
PROGRAMA DE ESTUDIOS .......................................................................................................................... 3
FICHA TÉCNICA ............................................................................................................................................. 4
DESARROLLO DE LAS PRÁCTICAS ............................................................................................................. 6
INSTRUMENTOS DE EVALUACIÓN............................................................................................................. 12
GLOSARIO ................................................................................................................................................... 23
BIBLIOGRAFÍA ............................................................................................................................................ 24
4 de 29
INTRODUCCIÓN
La capacidad del ser humano para emular/simular el comportamiento de su entorno, se ha
incrementado con el paso del tiempo. La inteligencia artificial es responsable de esos logros.
Los pioneros de esta ciencia estaban tan interesados por calcular las trayectorias de misiles,
tratar de modelar el cerebro, imitar el proceso de enseñanza-aprendizaje y de simular la
evolución biológica. Es posible encontrar algunos temas relacionados a estos como son: la
representación de problemas y la búsqueda de soluciones, los algoritmos evolutivos y la
programación concurrente.
Los algoritmos genéticos son métodos adaptativos, generalmente usados para problemas
de búsqueda y optimización de parámetros, basados en la reproducción sexual y en el
principio de supervivencia del más apto.
Una definición de los algoritmos genéticos según Goldberg, es: los algoritmos genéticos son
algoritmos de búsqueda basados en la mecánica de selección natural y de la genética
natural. Combinan la supervivencia del más apto entre estructuras de secuencias con un
intercambio de información estructurado, aunque aleatorizado, para así construir un
algoritmo de búsqueda que tenga algo de genialidad de las búsquedas humanas.
Los años ochenta marcan el florecimiento del interés de la comunidad científica por estos
temas computacionales inspirados en investigación basada en computadoras, que han visto
como su desarrollo les llevaba a cotas inimaginables, primero en el campo de las redes
neuronales, luego en el aprendizaje, y por último en lo que ahora se conoce como
“computación evolutiva”.
El origen de lo que se conoce como “computación evolutiva” es por su razón de ser, siendo
los conocimientos sobre evolución que se pueden aplicar en la resolución de problemas de
optimización. La idea principal es “evolucionar” una población de candidatos a ser solución
de un problema conocido, utilizando operadores inspirados en la selección natural y la
variación genética natural.
Por otro lado los programas que se construyen o generan se pueden clasificar de dos
maneras como: secuenciales y concurrentes.
5 de 29
En un programa concurrente (algunas veces llamado paralelo), las actividades que lo
constituyen están relativamente superpuestas en el tiempo. Esto significa que una
operación puede ser iniciada en función de la ocurrencia de algún evento, antes del término
de la operación que estaba ejecutándose anteriormente.
6 de 29
7 de 29
FICHA TÉCNICA
PROGRAMACIÓN AVANZADA
Clave: PRA-ES
Competencias
Pensamiento crítico e investigación, solución de problemas, analizar datos.
genéricas a
desarrollar:
8 de 29
lenguajes especializados para eficientar
los procesos de las organizaciones.
Programación
18 6 18 6
concurrente
Total de horas por
120
cuatrimestre:
Total de horas por semana: 8
Créditos: 7
9 de 29
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
REPRESENTACIÓN DE PROBLEMAS Y BÚSQUEDA DE SOLUCIONES
Programación Avanzada
Nombre de la asignatura:
Requerimientos (Material
Bibliografía, computadora, impresora.
o equipo):
Actividades a desarrollar:
Realice la representación solicitada para cada uno de los problemas que a continuación se solicitan:
1. Diseñe una representación mediante espacio de estados para el problema 8 puzzle (ver figura
1). Indique al menos los siguientes elementos: Espacio de estados, estado inicial, estado final,
operadores y solución.
10 de 29
3. Diseñe una representación binaria para el problema de la mochila. Indique al menos los
siguientes elementos: vector solución binario, función objetivo, operadores para generar
soluciones vecinas factibles.
11 de 29
Evidencias a las que contribuye el desarrollo de la práctica:
EP1.
EP1 Formulación de la representación de la solución de un problema en términos de un espacio de
búsqueda.
Programación Avanzada
Nombre de la asignatura:
Resultado de
Implementar heurísticas diversas para la solución de problemas.
aprendizaje:
Requerimientos (Material
Bibliografía, computadora, impresora, compilador.
o equipo):
Actividades a desarrollar:
3. Elabore el reporte de práctica correspondiente, el cual debe contener al menos los siguientes
elementos:
a. Portada e índice.
12 de 29
b. Introducción. Esta sección deberá incluir una introducción a la teoría básica de los
métodos de búsqueda utilizados a lo largo de la práctica. Además de incluir la
descripción de los dos problemas a resolver.
d. Pruebas. En esta sección se presentará con detalle las pruebas realizadas a los dos
programas. Deberá incluir los siguientes elementos:
4. Prepare una presentación para realizar una defensa de las implementaciones realizadas
durante la práctica.
EP2
EP2. Reporte de práctica de la implementación de diversa heurísticas de búsqueda.
ED1. Defensa de la implementación de heurísticas de búsqueda.
13 de 29
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
ALGORITMOS EVOLUTIVOS
Programación avanzada
Nombre de la asignatura:
Requerimientos (Material
Libro de algoritmos evolutivos, computadora.
o equipo):
14 de 29
2. Elaborar el reporte correspondiente, el cual debe contener al menos los siguientes elementos:
a. Portada e índice.
b. Introducción. Esta sección deberá incluir una introducción a la teoría básica de los
algoritmos evolutivos, así como una descripción del problema a resolver.
EP1. Diseño de un algoritmo evolutivo que involucre al menos una técnica de hibridación.
15 de 29
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
ALGORITMOS EVOLUTIVOS
EVOLUTIVOS
Programación avanzada
Nombre de la asignatura:
Resultado de
Implementar algoritmos evolutivos que permitan resolver problemas.
aprendizaje:
4. Elaborar el reporte de práctica correspondiente, el cual debe contener al menos los siguientes
elementos:
a. Portada e índice.
16 de 29
b. Introducción. Esta sección deberá incluir una introducción a la teoría básica de los
algoritmos evolutivos, así como una descripción del problema a resolver.
c. Diseño de la solución. Deberá incluir todos los elementos del diseño del algoritmo.
17 de 29
DESARROLLO DELAACTIVIDAD
DELAACTIVIDAD DE APRENDIZAJE
PROGRAMACIÓN CONCURRENTE
Programación Avanzada
Nombre de la asignatura:
Resultado de
aprendizaje: Modelar algoritmos evolutivos paralelos.
Requerimientos (Material
Bibliografía, computadora, impresora.
o equipo):
1. Diseñar un algoritmo evolutivo para resolver el problema de la mochila entera, que involucre al
menos una técnica de hibridación para resolver el problema de la mochila entera. El diseño
deberá contener al menos los siguientes elementos:
18 de 29
2. Elaborar el reporte correspondiente, el cual debe contener al menos los siguientes elementos:
h. Portada e índice.
19 de 29
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE
PROGRAMACIÓN CONCURRENTE
Programación avanzada
Nombre de la asignatura:
Requerimientos (Material
Libro de algoritmos evolutivos, computadora.
o equipo):
4. Elaborar el reporte de práctica correspondiente, el cual debe contener al menos los siguientes
elementos:
m. Portada e índice.
n. Introducción. Esta sección deberá incluir una introducción a la teoría básica de los
algoritmos evolutivos paralelos, así como una descripción del problema a resolver.
o. Diseño de la solución. Deberá incluir todos los elementos del diseño del algoritmo.
20 de 29
p. Experimentación. En esta sección se presentará con detalle la experimentación
realizada durante la fase de sintonización del algoritmo. Al menos se deberán
sintonizar los siguientes parámetros: tamaño de la población, porcentaje de
mutación/cruzamiento, método de reducción, método de selección, condición de paro.
Se deberá incluir también el escenario de casos de prueba, especificando las
condiciones bajo las cuales se realizó la experimentación, incluyendo las
características de las instancias de prueba, número de ejecuciones realizadas para
obtener los promedios de los valores. La experimentación deberá contemplar los
aspectos de eficacia y eficiencia, es decir, se deberá tomar en cuenta la calidad de la
solución y el tiempo de ejecución. Se deberán incluir gráficas de comparación.
5. Preparar una presentación para realizar una defensa de las implementaciones realizadas en el
proyecto final.
21 de 29
22 de 29
CUESTIONARIO SOBRE MÉTODOS DE BÚSQUEDA
23 de 29
LISTA DE COTEJO
COTEJO PARA
FORMULACIÓN DE UN PROBLEMA EN TÉRMINOS
DE UN ESPACIO DE BÚSQUEDA
INSTRUCCIONES
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer comentarios referentes a lo observado.
Diagrama.
Diagrama. El alumno al describir el problema se apoya en
15% herramientas CASE para hacer más claro la formulación
100.%
100.% CALIFICACIÓN:
NOTAS:
- Los reactivos sombreados deberán ser cumplidos obligatoriamente para que se considere aprobada la evidencia.
24 de 29
GUÍA DE OBSERVACIÓN PARA DEFENSA DE LA
IMPLEMENTACIÓN DE HEURÍSTICAS DE
BÚSQUEDA
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer comentarios referentes a lo observado.
Proyecto
5% Conclusiones.
Conclusiones. Expresa sus opiniones sobre los resultados obtenidos.
Desempeño. El trabajo se entrega en la fecha establecida, observando:
5% puntualidad, responsabilidad, limpieza, orden, ortografía y gramática
adecuada.
Bibliografía. Presenta mínimo dos referencias bibliográficas en el formato
5% adecuado.
5% Eficacia. El programa resuelve el problema planteado.
Presentación
Material de apoyo.
apoyo El material no incluye mucho texto, además presenta
10% gráficos o figuras que ayudan a transmitir ideas.
15% Manejo de conceptos.
conceptos El alumno hace un buen manejo de conceptos.
5% Secuencia.
Secuencia El alumno usa una secuencia lógica en la presentación.
10% Exposición.
Exposición El alumno tiene un manejo adecuado como expositor.
10 Lenguaje.
Lenguaje El alumno hace un correcto uso del lenguaje.
NOTAS:
- Los reactivos sombreados deberán ser cumplidos obligatoriamente para que se considere aprobada la evidencia.
25 de 29
LISTA DE COTEJO PARA LA IMPLEMENTACIÓN
DE UN ALGORITMO EVOLUTIVO
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer comentarios referentes a lo observado.
Pruebas.
Pruebas. Anexa una sección de pruebas donde presenta
5% ejemplos del funcionamiento del planteamiento de la solución.
Conclusiones.
Conclusiones. Expresa sus opiniones sobre los resultados
10% obtenidos.
Desempeño.
Desempeño. El trabajo se entrega en la fecha establecida,
5% observando: puntualidad, responsabilidad, limpieza, orden,
ortografía y gramática adecuada.
Bibliografía.
Bibliografía. Presenta mínimo dos referencias bibliográficas en el
5% formato adecuado.
100.%
00.% CALIFICACIÓN:
NOTAS:
- Los reactivos sombreados deberán ser cumplidos obligatoriamente para que se considere aprobada la evidencia.
26 de 29
GUÍA DE OBSERVACIÓN PARA DEFENSA DE LA
IMPLEMENTACIÓN DE UN ALGORITMO EVOLUTIVO
PARALELO
DATOS GENERALES
GENERALES DEL PROCESO DE EVALUACIÓN
Nombre del alumno Matrícula Firma del alumno:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer comentarios referentes a lo observado.
5% Secuencia.
Secuencia El alumno usa una secuencia lógica en la presentación.
10% Exposición.
Exposición El alumno tiene un manejo adecuado como expositor.
10 Lenguaje.
Lenguaje El alumno hace un correcto uso del lenguaje.
NOTAS:
- Los reactivos sombreados deberán ser cumplidos obligatoriamente para que se considere aprobada la evidencia.
27 de 29
BIBLIOGRAFÍA
BIBLIOGRAFÍA
Básica
TÍTULO: Fundamentos de Algoritmia
AUTOR: Brassard, G., Bratley, P.
AÑO: 2010
EDITORIAL O REFERENCIA: Pearson
LUGAR Y AÑO DE LA EDICIÓN España, 2010
ISBN O REGISTRO: 848966000X
COMPLEMENTARIA
28 de 29
ISBN O REGISTRO: 3540660615
TÍTULO: IntroductiontoGeneticAlgorithms
AUTOR: Sivanandam, S.N; Deepa, S.N.
AÑO: 2008
EDITORIAL O REFERENCIA: Springer
LUGAR Y AÑO DE LA EDICIÓN Berlin, 2008
ISBN O REGISTRO: 9783540731894
COMPLEMENTARIA
INTRODUCCION A LA PROGRAMACION CON JAVA: UN
TÍTULO: ENFOQUE ORIENTADO A OBJETOS
AUTOR: ARNOW - WEISS
AÑO: 2008
EDITORIAL
O REFERENCIA: ADDISON WESLEY
LUGAR Y AÑO DE LA
EDICIÓN MADRID, 2008
ISBN O REGISTRO: 788483223505
Sitio Web
Web
Página oficial: http://java.sun.com/j2se/1.5.0/docs/api/
29 de 29