Post on 30-Dec-2014
transcript
GUIAS DE PRACTICA DE BIOINFORMATICA
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 01
1 Realizar un Algoritmo Geneacutetico para una pareja de padres que tengan 5 cromosomas
cada uno
Ingrese el coacutedigo de la madre 24
Su Cromosoma es 11000
Ingrese el coacutedigo del padre 19
Su Cromosoma es 10011
Realizar el cruce de un punto el nuacutemero de posicioacuten del punto del cruce es 2
[1] [2] [3] [4]
Obtener los Hijos realizando el respectivo cruce
Hijo 01 11011
Hijo 02 10000
2 Realizar un Algoritmo Geneacutetico para una pareja de individuos X que tengan 5
cromosomas y hallar
A) ingresar el padre y la madre elegidos
Padre 13
Madre 24
B) Representar sus cromosomas
Padre 01101
Madre 11000
C) Realizar el cruce de un punto ingresando el lugar de la posicioacuten del cruce (1-3)
Cruce 1 Cruce 2 Cruce 3
Padre 0 1 1 0 1 01000 01100 01100
Madre 1 1 0 0 0 11101 11001 11001
D) Realizar la mutacioacuten cambio de un bit ingresando la posicioacuten del bit a mutar(solo del
padre) ingrese posicioacuten del bit a mutar 4
Padre 0 1 1 0 1
Padre Mutado 0 1 1 1 1
2 Ing Lizbeth Dora Briones Pereyra
1 2
1 2 3 4 5
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
E) Realizar el cruce con el nuevo padre mutado y la madre
Padre 01111
Madre 11000
Ingresar la cantidad de puntos a cruzar y sus posiciones Ejemplo 2 puntos
Primer punto (posicioacuten 2) y segundo punto (posicioacuten 4)
Padre 0 1 1 1 1
Madre 1 1 0 0 0
Hijos del primer punto
Hijo 01 0 1 000
Hijo 02 1 1 111
Padre 0 1 1 1 1
Madre 1 1 0 0 0
Hijos del segundo punto
Hijo 01 0 1 1 1 0
Hijo 02 1 1 0 0 1
3 Para 2 poblaciones de A Y B y X individuos de tal manera que tengan 5 cromosomas
cada uno hallar
A) ingresar el padre y la madre de las 2 poblaciones
Poblacioacuten A Padre A 13 Madre A 24
Poblacioacuten B Padre B 8 Madre B 19
B) Representar sus cromosomas
Padre A 01101 Madre A 11000
Padre B 01000 Madre B 10011
C) Realizar el cruce de un punto con posicioacuten 2 para ambas parejas
3 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Poblacioacuten A Cruce A
Padre A 0 1 1 0 1 01000 hijo1 A
Madre A 1 1 0 0 0 11101 hijo2 A
Poblacioacuten B Cruce B
Padre B 0 1 0 0 0 01011 hijo1 B
Madre B 1 0 0 1 1 10000 hijo2 B
D) Realizar el cruce de 1 punto (posicioacuten2) del hijo 2A con el hijo 1B y hallar la 3era
generacioacuten
11101 hijo2 A
01011 hijo1 B
Hijos de la tercera generacioacuten
11 011
01 01
4 Presentar el avance del problema de la Mochila
PRACTICA 02
PROBLEMA DE LA MOCHILA
Para el problema de la mochila basado en la Optimizacioacuten basada en colonias de hormigas
Crear el programa de la Mochila usando cualquier lenguaje de programacioacuten estructurada (C
C++ C Java etc) veamos el siguiente Algoritmo Propuesto
Capturar Paraacutemetros
Inicializar los rastros de feromonas
Colocar hormigas en posicioacuten inicial
Repetir
Para K desde 1 Hasta el numero de hormigas Hacer
Construir la solucioacuten para la hormiga K
Seleccionar la mejor solucioacuten
Actualizar los rastros de feromonas
Hasta Alcanzar el nuacutemero de ciclos o encontrar la solucioacuten optima
4 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Donde cada paso quiere decir
Inicializacioacuten de la feromona Las hormigas se comunican a traveacutes de la feromona
depositada en los objetos debido a que no se cuenta con ninguna relacioacuten entre ellos
estos son tomados como objetos independientes y cada objeto contiene la concentracioacuten
de la feromona La concentracioacuten de feromona en el Objeto i es denotada por y
inicialmente se coloca un valor pequentildeo a todos los objetos
Colocar hormigas en posicioacuten inicial Se coloca cada una de las hormigas en una posicioacuten
inicial (objeto) manualmente o aleatoreamente
Construccioacuten de la solucioacuten con las hormigas Iterativamente se escoge el siguiente objeto
para ser agregado a la mochila Dentro de un conjunto de candidatos que contiene todos
los objetos que no han sido colocados en la mochila y no sobrepasan el peso restante es
decir la capacidad de la mochila menos el peso de los objetos seleccionados hasta el
momento
Seleccionar la mejor solucioacuten Consiste en seleccionar la solucioacuten que da mayor utilidad
Actualizar los rastros de feromonas Se actualiza las feromonas en cada uno de los objetos
utilizando la Ec (1)
La simbologiacutea utilizada en el algoritmo es Es la solucioacuten la cual contiene el objeto donde
fue colocada inicialmente la hormiga k P es la suma de los pesos de los objetos dentro del
conjunto solucioacuten (S) U es la suma de la utilidad de los objetos dentro del conjunto
solucioacuten (S) Op es el primer objeto dentro de la solucioacuten Candidatos es la lista de los
objetos que pueden ser seleccionados
5 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
CORRIDA DEL PROBLEMA DE LA MOCHILA
Para realizar el disentildeo de experimento se tiene es el numero de hormigas es la
concentracioacuten inicial de la feromona la capacidad de la mochila 1049121 que es el factor de
evaporacioacuten de la feromona Nc el nuacutemero de ciclos que se correraacute el algoritmo ademaacutes de
los mencionados anteriormente Se crearon varios archivos con extensioacutendat los cuales
contienen las instancias con las cuales fue corrido el algoritmo actualmente se cuenta con
10 instancias creadas en este formato las cuales seraacuten utilizadas para generar un disentildeo
de experimento maacutes robusto la informacioacuten de estas instancias se encuentra guardada
como se muestra en la siguiente 2
La solucioacuten para el siguiente problema seriacutea el siguiente
6 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 01
1 Realizar un Algoritmo Geneacutetico para una pareja de padres que tengan 5 cromosomas
cada uno
Ingrese el coacutedigo de la madre 24
Su Cromosoma es 11000
Ingrese el coacutedigo del padre 19
Su Cromosoma es 10011
Realizar el cruce de un punto el nuacutemero de posicioacuten del punto del cruce es 2
[1] [2] [3] [4]
Obtener los Hijos realizando el respectivo cruce
Hijo 01 11011
Hijo 02 10000
2 Realizar un Algoritmo Geneacutetico para una pareja de individuos X que tengan 5
cromosomas y hallar
A) ingresar el padre y la madre elegidos
Padre 13
Madre 24
B) Representar sus cromosomas
Padre 01101
Madre 11000
C) Realizar el cruce de un punto ingresando el lugar de la posicioacuten del cruce (1-3)
Cruce 1 Cruce 2 Cruce 3
Padre 0 1 1 0 1 01000 01100 01100
Madre 1 1 0 0 0 11101 11001 11001
D) Realizar la mutacioacuten cambio de un bit ingresando la posicioacuten del bit a mutar(solo del
padre) ingrese posicioacuten del bit a mutar 4
Padre 0 1 1 0 1
Padre Mutado 0 1 1 1 1
2 Ing Lizbeth Dora Briones Pereyra
1 2
1 2 3 4 5
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
E) Realizar el cruce con el nuevo padre mutado y la madre
Padre 01111
Madre 11000
Ingresar la cantidad de puntos a cruzar y sus posiciones Ejemplo 2 puntos
Primer punto (posicioacuten 2) y segundo punto (posicioacuten 4)
Padre 0 1 1 1 1
Madre 1 1 0 0 0
Hijos del primer punto
Hijo 01 0 1 000
Hijo 02 1 1 111
Padre 0 1 1 1 1
Madre 1 1 0 0 0
Hijos del segundo punto
Hijo 01 0 1 1 1 0
Hijo 02 1 1 0 0 1
3 Para 2 poblaciones de A Y B y X individuos de tal manera que tengan 5 cromosomas
cada uno hallar
A) ingresar el padre y la madre de las 2 poblaciones
Poblacioacuten A Padre A 13 Madre A 24
Poblacioacuten B Padre B 8 Madre B 19
B) Representar sus cromosomas
Padre A 01101 Madre A 11000
Padre B 01000 Madre B 10011
C) Realizar el cruce de un punto con posicioacuten 2 para ambas parejas
3 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Poblacioacuten A Cruce A
Padre A 0 1 1 0 1 01000 hijo1 A
Madre A 1 1 0 0 0 11101 hijo2 A
Poblacioacuten B Cruce B
Padre B 0 1 0 0 0 01011 hijo1 B
Madre B 1 0 0 1 1 10000 hijo2 B
D) Realizar el cruce de 1 punto (posicioacuten2) del hijo 2A con el hijo 1B y hallar la 3era
generacioacuten
11101 hijo2 A
01011 hijo1 B
Hijos de la tercera generacioacuten
11 011
01 01
4 Presentar el avance del problema de la Mochila
PRACTICA 02
PROBLEMA DE LA MOCHILA
Para el problema de la mochila basado en la Optimizacioacuten basada en colonias de hormigas
Crear el programa de la Mochila usando cualquier lenguaje de programacioacuten estructurada (C
C++ C Java etc) veamos el siguiente Algoritmo Propuesto
Capturar Paraacutemetros
Inicializar los rastros de feromonas
Colocar hormigas en posicioacuten inicial
Repetir
Para K desde 1 Hasta el numero de hormigas Hacer
Construir la solucioacuten para la hormiga K
Seleccionar la mejor solucioacuten
Actualizar los rastros de feromonas
Hasta Alcanzar el nuacutemero de ciclos o encontrar la solucioacuten optima
4 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Donde cada paso quiere decir
Inicializacioacuten de la feromona Las hormigas se comunican a traveacutes de la feromona
depositada en los objetos debido a que no se cuenta con ninguna relacioacuten entre ellos
estos son tomados como objetos independientes y cada objeto contiene la concentracioacuten
de la feromona La concentracioacuten de feromona en el Objeto i es denotada por y
inicialmente se coloca un valor pequentildeo a todos los objetos
Colocar hormigas en posicioacuten inicial Se coloca cada una de las hormigas en una posicioacuten
inicial (objeto) manualmente o aleatoreamente
Construccioacuten de la solucioacuten con las hormigas Iterativamente se escoge el siguiente objeto
para ser agregado a la mochila Dentro de un conjunto de candidatos que contiene todos
los objetos que no han sido colocados en la mochila y no sobrepasan el peso restante es
decir la capacidad de la mochila menos el peso de los objetos seleccionados hasta el
momento
Seleccionar la mejor solucioacuten Consiste en seleccionar la solucioacuten que da mayor utilidad
Actualizar los rastros de feromonas Se actualiza las feromonas en cada uno de los objetos
utilizando la Ec (1)
La simbologiacutea utilizada en el algoritmo es Es la solucioacuten la cual contiene el objeto donde
fue colocada inicialmente la hormiga k P es la suma de los pesos de los objetos dentro del
conjunto solucioacuten (S) U es la suma de la utilidad de los objetos dentro del conjunto
solucioacuten (S) Op es el primer objeto dentro de la solucioacuten Candidatos es la lista de los
objetos que pueden ser seleccionados
5 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
CORRIDA DEL PROBLEMA DE LA MOCHILA
Para realizar el disentildeo de experimento se tiene es el numero de hormigas es la
concentracioacuten inicial de la feromona la capacidad de la mochila 1049121 que es el factor de
evaporacioacuten de la feromona Nc el nuacutemero de ciclos que se correraacute el algoritmo ademaacutes de
los mencionados anteriormente Se crearon varios archivos con extensioacutendat los cuales
contienen las instancias con las cuales fue corrido el algoritmo actualmente se cuenta con
10 instancias creadas en este formato las cuales seraacuten utilizadas para generar un disentildeo
de experimento maacutes robusto la informacioacuten de estas instancias se encuentra guardada
como se muestra en la siguiente 2
La solucioacuten para el siguiente problema seriacutea el siguiente
6 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
E) Realizar el cruce con el nuevo padre mutado y la madre
Padre 01111
Madre 11000
Ingresar la cantidad de puntos a cruzar y sus posiciones Ejemplo 2 puntos
Primer punto (posicioacuten 2) y segundo punto (posicioacuten 4)
Padre 0 1 1 1 1
Madre 1 1 0 0 0
Hijos del primer punto
Hijo 01 0 1 000
Hijo 02 1 1 111
Padre 0 1 1 1 1
Madre 1 1 0 0 0
Hijos del segundo punto
Hijo 01 0 1 1 1 0
Hijo 02 1 1 0 0 1
3 Para 2 poblaciones de A Y B y X individuos de tal manera que tengan 5 cromosomas
cada uno hallar
A) ingresar el padre y la madre de las 2 poblaciones
Poblacioacuten A Padre A 13 Madre A 24
Poblacioacuten B Padre B 8 Madre B 19
B) Representar sus cromosomas
Padre A 01101 Madre A 11000
Padre B 01000 Madre B 10011
C) Realizar el cruce de un punto con posicioacuten 2 para ambas parejas
3 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Poblacioacuten A Cruce A
Padre A 0 1 1 0 1 01000 hijo1 A
Madre A 1 1 0 0 0 11101 hijo2 A
Poblacioacuten B Cruce B
Padre B 0 1 0 0 0 01011 hijo1 B
Madre B 1 0 0 1 1 10000 hijo2 B
D) Realizar el cruce de 1 punto (posicioacuten2) del hijo 2A con el hijo 1B y hallar la 3era
generacioacuten
11101 hijo2 A
01011 hijo1 B
Hijos de la tercera generacioacuten
11 011
01 01
4 Presentar el avance del problema de la Mochila
PRACTICA 02
PROBLEMA DE LA MOCHILA
Para el problema de la mochila basado en la Optimizacioacuten basada en colonias de hormigas
Crear el programa de la Mochila usando cualquier lenguaje de programacioacuten estructurada (C
C++ C Java etc) veamos el siguiente Algoritmo Propuesto
Capturar Paraacutemetros
Inicializar los rastros de feromonas
Colocar hormigas en posicioacuten inicial
Repetir
Para K desde 1 Hasta el numero de hormigas Hacer
Construir la solucioacuten para la hormiga K
Seleccionar la mejor solucioacuten
Actualizar los rastros de feromonas
Hasta Alcanzar el nuacutemero de ciclos o encontrar la solucioacuten optima
4 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Donde cada paso quiere decir
Inicializacioacuten de la feromona Las hormigas se comunican a traveacutes de la feromona
depositada en los objetos debido a que no se cuenta con ninguna relacioacuten entre ellos
estos son tomados como objetos independientes y cada objeto contiene la concentracioacuten
de la feromona La concentracioacuten de feromona en el Objeto i es denotada por y
inicialmente se coloca un valor pequentildeo a todos los objetos
Colocar hormigas en posicioacuten inicial Se coloca cada una de las hormigas en una posicioacuten
inicial (objeto) manualmente o aleatoreamente
Construccioacuten de la solucioacuten con las hormigas Iterativamente se escoge el siguiente objeto
para ser agregado a la mochila Dentro de un conjunto de candidatos que contiene todos
los objetos que no han sido colocados en la mochila y no sobrepasan el peso restante es
decir la capacidad de la mochila menos el peso de los objetos seleccionados hasta el
momento
Seleccionar la mejor solucioacuten Consiste en seleccionar la solucioacuten que da mayor utilidad
Actualizar los rastros de feromonas Se actualiza las feromonas en cada uno de los objetos
utilizando la Ec (1)
La simbologiacutea utilizada en el algoritmo es Es la solucioacuten la cual contiene el objeto donde
fue colocada inicialmente la hormiga k P es la suma de los pesos de los objetos dentro del
conjunto solucioacuten (S) U es la suma de la utilidad de los objetos dentro del conjunto
solucioacuten (S) Op es el primer objeto dentro de la solucioacuten Candidatos es la lista de los
objetos que pueden ser seleccionados
5 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
CORRIDA DEL PROBLEMA DE LA MOCHILA
Para realizar el disentildeo de experimento se tiene es el numero de hormigas es la
concentracioacuten inicial de la feromona la capacidad de la mochila 1049121 que es el factor de
evaporacioacuten de la feromona Nc el nuacutemero de ciclos que se correraacute el algoritmo ademaacutes de
los mencionados anteriormente Se crearon varios archivos con extensioacutendat los cuales
contienen las instancias con las cuales fue corrido el algoritmo actualmente se cuenta con
10 instancias creadas en este formato las cuales seraacuten utilizadas para generar un disentildeo
de experimento maacutes robusto la informacioacuten de estas instancias se encuentra guardada
como se muestra en la siguiente 2
La solucioacuten para el siguiente problema seriacutea el siguiente
6 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Poblacioacuten A Cruce A
Padre A 0 1 1 0 1 01000 hijo1 A
Madre A 1 1 0 0 0 11101 hijo2 A
Poblacioacuten B Cruce B
Padre B 0 1 0 0 0 01011 hijo1 B
Madre B 1 0 0 1 1 10000 hijo2 B
D) Realizar el cruce de 1 punto (posicioacuten2) del hijo 2A con el hijo 1B y hallar la 3era
generacioacuten
11101 hijo2 A
01011 hijo1 B
Hijos de la tercera generacioacuten
11 011
01 01
4 Presentar el avance del problema de la Mochila
PRACTICA 02
PROBLEMA DE LA MOCHILA
Para el problema de la mochila basado en la Optimizacioacuten basada en colonias de hormigas
Crear el programa de la Mochila usando cualquier lenguaje de programacioacuten estructurada (C
C++ C Java etc) veamos el siguiente Algoritmo Propuesto
Capturar Paraacutemetros
Inicializar los rastros de feromonas
Colocar hormigas en posicioacuten inicial
Repetir
Para K desde 1 Hasta el numero de hormigas Hacer
Construir la solucioacuten para la hormiga K
Seleccionar la mejor solucioacuten
Actualizar los rastros de feromonas
Hasta Alcanzar el nuacutemero de ciclos o encontrar la solucioacuten optima
4 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Donde cada paso quiere decir
Inicializacioacuten de la feromona Las hormigas se comunican a traveacutes de la feromona
depositada en los objetos debido a que no se cuenta con ninguna relacioacuten entre ellos
estos son tomados como objetos independientes y cada objeto contiene la concentracioacuten
de la feromona La concentracioacuten de feromona en el Objeto i es denotada por y
inicialmente se coloca un valor pequentildeo a todos los objetos
Colocar hormigas en posicioacuten inicial Se coloca cada una de las hormigas en una posicioacuten
inicial (objeto) manualmente o aleatoreamente
Construccioacuten de la solucioacuten con las hormigas Iterativamente se escoge el siguiente objeto
para ser agregado a la mochila Dentro de un conjunto de candidatos que contiene todos
los objetos que no han sido colocados en la mochila y no sobrepasan el peso restante es
decir la capacidad de la mochila menos el peso de los objetos seleccionados hasta el
momento
Seleccionar la mejor solucioacuten Consiste en seleccionar la solucioacuten que da mayor utilidad
Actualizar los rastros de feromonas Se actualiza las feromonas en cada uno de los objetos
utilizando la Ec (1)
La simbologiacutea utilizada en el algoritmo es Es la solucioacuten la cual contiene el objeto donde
fue colocada inicialmente la hormiga k P es la suma de los pesos de los objetos dentro del
conjunto solucioacuten (S) U es la suma de la utilidad de los objetos dentro del conjunto
solucioacuten (S) Op es el primer objeto dentro de la solucioacuten Candidatos es la lista de los
objetos que pueden ser seleccionados
5 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
CORRIDA DEL PROBLEMA DE LA MOCHILA
Para realizar el disentildeo de experimento se tiene es el numero de hormigas es la
concentracioacuten inicial de la feromona la capacidad de la mochila 1049121 que es el factor de
evaporacioacuten de la feromona Nc el nuacutemero de ciclos que se correraacute el algoritmo ademaacutes de
los mencionados anteriormente Se crearon varios archivos con extensioacutendat los cuales
contienen las instancias con las cuales fue corrido el algoritmo actualmente se cuenta con
10 instancias creadas en este formato las cuales seraacuten utilizadas para generar un disentildeo
de experimento maacutes robusto la informacioacuten de estas instancias se encuentra guardada
como se muestra en la siguiente 2
La solucioacuten para el siguiente problema seriacutea el siguiente
6 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Donde cada paso quiere decir
Inicializacioacuten de la feromona Las hormigas se comunican a traveacutes de la feromona
depositada en los objetos debido a que no se cuenta con ninguna relacioacuten entre ellos
estos son tomados como objetos independientes y cada objeto contiene la concentracioacuten
de la feromona La concentracioacuten de feromona en el Objeto i es denotada por y
inicialmente se coloca un valor pequentildeo a todos los objetos
Colocar hormigas en posicioacuten inicial Se coloca cada una de las hormigas en una posicioacuten
inicial (objeto) manualmente o aleatoreamente
Construccioacuten de la solucioacuten con las hormigas Iterativamente se escoge el siguiente objeto
para ser agregado a la mochila Dentro de un conjunto de candidatos que contiene todos
los objetos que no han sido colocados en la mochila y no sobrepasan el peso restante es
decir la capacidad de la mochila menos el peso de los objetos seleccionados hasta el
momento
Seleccionar la mejor solucioacuten Consiste en seleccionar la solucioacuten que da mayor utilidad
Actualizar los rastros de feromonas Se actualiza las feromonas en cada uno de los objetos
utilizando la Ec (1)
La simbologiacutea utilizada en el algoritmo es Es la solucioacuten la cual contiene el objeto donde
fue colocada inicialmente la hormiga k P es la suma de los pesos de los objetos dentro del
conjunto solucioacuten (S) U es la suma de la utilidad de los objetos dentro del conjunto
solucioacuten (S) Op es el primer objeto dentro de la solucioacuten Candidatos es la lista de los
objetos que pueden ser seleccionados
5 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
CORRIDA DEL PROBLEMA DE LA MOCHILA
Para realizar el disentildeo de experimento se tiene es el numero de hormigas es la
concentracioacuten inicial de la feromona la capacidad de la mochila 1049121 que es el factor de
evaporacioacuten de la feromona Nc el nuacutemero de ciclos que se correraacute el algoritmo ademaacutes de
los mencionados anteriormente Se crearon varios archivos con extensioacutendat los cuales
contienen las instancias con las cuales fue corrido el algoritmo actualmente se cuenta con
10 instancias creadas en este formato las cuales seraacuten utilizadas para generar un disentildeo
de experimento maacutes robusto la informacioacuten de estas instancias se encuentra guardada
como se muestra en la siguiente 2
La solucioacuten para el siguiente problema seriacutea el siguiente
6 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
CORRIDA DEL PROBLEMA DE LA MOCHILA
Para realizar el disentildeo de experimento se tiene es el numero de hormigas es la
concentracioacuten inicial de la feromona la capacidad de la mochila 1049121 que es el factor de
evaporacioacuten de la feromona Nc el nuacutemero de ciclos que se correraacute el algoritmo ademaacutes de
los mencionados anteriormente Se crearon varios archivos con extensioacutendat los cuales
contienen las instancias con las cuales fue corrido el algoritmo actualmente se cuenta con
10 instancias creadas en este formato las cuales seraacuten utilizadas para generar un disentildeo
de experimento maacutes robusto la informacioacuten de estas instancias se encuentra guardada
como se muestra en la siguiente 2
La solucioacuten para el siguiente problema seriacutea el siguiente
6 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Como se puede ver el formato es sencillo y puede ser modificado faacutecilmente estas
modificaciones serian por ejemplo poner maacutes objetos por lo cual cambiariacuteamos el nuacutemero
de iacutetems cambiar la capacidad de la mochila y finalmente algo que se tendriacutea que hacer es
aumentar o disminuir el nuacutemero de objeto para que la lista sea igual al nuacutemero de iacutetems
puesto anteriormente tambieacuten puede ser modificado el peso y la utilidad de los objetos
anteriores una vez hecho el archivo este puede ser leiacutedo por el sistema sin ninguacuten
problema y no hay que modificar el coacutedigo
Se puede observar que se pueden ingresar maacutes objetos como se muestra en a figura
La solucioacuten para el ingreso de 20 objetos se muestra a continuacioacuten
7 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 8 41
El peso de los objetos es 5
La Utilidad es 11
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
PRACTICA 03
Problema de Poblaciones
Partiendo de una poblacioacuten inicial (soluciones factibles) donde se selecciona individuos
(favorecer a los de mayor calidad) luego Recombinarlos Introducir mutaciones en sus
descendientes y Insertarlos en la siguiente generacioacuten
POBLACION Toda el aula de Bioinformaacutetica SECCION ldquoArdquo
MUESTRA 4 INDIVIDUOS (2 MUJERES Y 2 HOMBRES)
Crear un programa en cualquier lenguaje de programacioacuten estructurada (C C++ C Java
etc)
Codificacioacuten
ndash Utilizar cadenas de bits para representar las soluciones
ndash Los bits pueden codificar nuacutemeros enteros reales conjuntos
ndash Ventaja los operadores de cruce y mutacioacuten son simples
ndash Inconveniente no siempre resulta ldquonaturalrdquo
Seleccioacuten
ndash Asignar una probabilidad de supervivencia proporcional a la calidad
ndash Generar una poblacioacuten intermedia
ndash Elegir parejas de forma aleatoria o de acuerdo a criterios como rendimiento acadeacutemico y
valores en cada individuo
No se pueden cruzar elementos de dos generaciones distintas
Operador de cruce de un punto
Mutacioacuten
ndash Hay una pequentildea probabilidad de cambio de un bit
Ejemplo Suponiendo que de nuestra poblacioacuten se seleccionoacute 4 individuos
Seleccioacuten de la muestra = 4 individuos 1324 8 y 19
8 Ing Lizbeth Dora Briones Pereyra
Solucioacuten 1 4 2 13 10 11 18
El peso de los objetos es 15
La Utilidad es 26
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Hallar
a) La seleccioacuten aleatoria o manual del aula de Bioinformaacutetica (4 individuos)
b) Mostrar los resultados como en la tabla anterior
c) Realizar el cruce y mostrar los hijos de cada pareja
d) Construir el cuadro de la segunda generacioacuten
e) Cruzar los hijos y construir el cuadro de la tercera generacioacuten
f) Dar una conclusioacuten Final
PRACTICA 04
El Problema del Viajante
Para el problema del viajante Crear el programa usando cualquier lenguaje de programacioacuten
estructurada (C C++ C Java etc)
El viajante sale de una ciudad para visitar todas las demaacutes pasando exactamente una vez por
cada una y volver al punto de partida habiendo recorrido la menor distancia posible
El problema se representa como un grafo no dirigido con n nodos
Un ciclo del grafo que pase por todos los nodos exactamente una vez se denomina ciclo
hamiltoniano Por lo tanto para resolver el problema hay que hallar el ciclo hamiltoniano maacutes
corto del grafo
Por ejemplo
En este caso el recorrido oacuteptimo tiene una longitud de 58
Estaacute distancia se logroacute haciendo el recorrido 1236451 Nuestro algoritmo heuriacutestico
comenzaraacute en un nodo arbitrario y ahiacute decidiraacute visitar el nodo maacutes cercano que no haya sido
Visitado Asiacute si comienzo en 1 recorriendo las distancias maacutes cortas seraacute 1-2-3-5-4-6-1
dando un total de 60
Aunque este algoritmo heuriacutestico no es tan oacuteptimo tampoco estaacute mal y puede ser utilizado
PRACTICA 05
9 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
Coloreado de un grafo (Tarea para Casa)
1 Colorear cada nodo de manera que no haya dos nodos adyacentes del mismo color
2 Cuaacutel es el nuacutemero miacutenimo de colores La solucioacuten oacuteptima nos dice que el miacutenimo son dos
colores Secuencia 1-2-3-4-5
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 pinta
Pasa al 4 pinta
Pasa al 5 no puede pintar (3 y 4 ya estaacuten pintados)
Selecciona otro nodo y pinta con otro color
Pasa al siguiente etc
Solucioacuten oacuteptima
3) Secuencia 1-5-2-3-4
Selecciona el nodo 1 como inicial pinta con un color al azar
Pasa al 5 pinta
Pasa al 2 no puede pintar (1 ya estaacute pintado)
Pasa al 3 no puede pintar (5 ya estaacute pintado)
Pasa al 4 no puede pintar (5 ya estaacute pintado)
Selecciona otro nodo (2) y pinta con otro color
Pasa al 3 y al 4 no puede pintar (2 ya estaacute pintado)
Solucioacuten NO oacuteptima
Pasa al siguiente (3) y selecciona otro color
Pasa al 4 pinta
10 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra
Universidad Nacional del Santa Facultad de Ingenieriacutea Guiacuteas de Praacutectica de Bioinformaacutetica E A P Ingenieriacutea de Sistemas e Informaacutetica Unidad I
11 Ing Lizbeth Dora Briones Pereyra