You are on page 1of 75

Outline

Introducci´n o

Areas de estudio

Algoritmos

Heur´ ısticas

Introducci´n a la Computaci´n o o
Cristian S. Rocha
Departamento de Computaci´n o Departamento de Qu´ ımica Inorg´nica, Anal´ a ıtica y Qu´ ımica F´ ısica FCEyN, UBA

Bioinform´tica 2006 - UNSAM, a August 12, 2007

crocha@dc.uba.ar

Introducci´n a la Computaci´n o o

Outline

Introducci´n o

Areas de estudio

Algoritmos

Heur´ ısticas

1

2

3

4

Introducci´n o ¿Porqu´? e ¿Qu´ es? e Un ejemplo Areas de estudio Complejidad Representaci´n de la Informaci´n o o Algoritmos Descripci´n o Ejemplificando Otros problemas Otros conceptos Heur´ ısticas Definici´n o Ejemplificando Caracterizando Tecnicas
crocha@dc.uba.ar Introducci´n a la Computaci´n o o

Outline

Introducci´n o

Areas de estudio

Algoritmos

Heur´ ısticas

Por qu´ Computaci´n e o

Si. . . tienes m´s tareas que tiempo, a

es porque necesitas programar una computadora

crocha@dc.uba.ar

Introducci´n a la Computaci´n o o

tienes m´s tareas que tiempo.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Por qu´ Computaci´n e o Si.uba. es porque necesitas programar una computadora crocha@dc. . a te aburres con las tareas repetitivas. .ar Introducci´n a la Computaci´n o o .

tienes m´s tareas que tiempo.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Por qu´ Computaci´n e o Si.uba. te gusta tener un esclavo que haga las cosas por vos. . a te aburres con las tareas repetitivas. .ar Introducci´n a la Computaci´n o o . es porque necesitas programar una computadora crocha@dc.

ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Programar Computadoras Programar una computadora es poder describir c´mo realizar o una tarea a una computadora. crocha@dc.uba.

uba.ar Introducci´n a la Computaci´n o o . crocha@dc. Una computadora es una m´quina capaz de seguir un a conjunto de instrucciones.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Programar Computadoras Programar una computadora es poder describir c´mo realizar o una tarea a una computadora.

ar Introducci´n a la Computaci´n o o . Una instrucci´n es una descripci´n precisa de una tarea o o at´mica. o crocha@dc.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Programar Computadoras Programar una computadora es poder describir c´mo realizar o una tarea a una computadora. Una computadora es una m´quina capaz de seguir un a conjunto de instrucciones.

uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Programar Computadoras Programar una computadora es poder describir c´mo realizar o una tarea a una computadora.ar Introducci´n a la Computaci´n o o . o No cualquier tarea es resoluble en una computadora. Una computadora es una m´quina capaz de seguir un a conjunto de instrucciones. crocha@dc. Una instrucci´n es una descripci´n precisa de una tarea o o at´mica.

Cada tipo de problema tiene una relaci´n fuerte con el tiempo o y el espacio que necesita para resolverse. Una computadora es una m´quina capaz de seguir un a conjunto de instrucciones. o No cualquier tarea es resoluble en una computadora.ar Introducci´n a la Computaci´n o o . Una instrucci´n es una descripci´n precisa de una tarea o o at´mica.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Programar Computadoras Programar una computadora es poder describir c´mo realizar o una tarea a una computadora. crocha@dc.uba.

uba.ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Ciencias de la Computaci´n o Definici´n o ”Es la disciplina que estudia como resolver problemas con m´quinas autom´ticas (computadoras)” a a crocha@dc.

ar Introducci´n a la Computaci´n o o . crocha@dc.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Ciencias de la Computaci´n o Definici´n o ”Es la disciplina que estudia como resolver problemas con m´quinas autom´ticas (computadoras)” a a Toda soluci´n computacional involucra: o Posibilidad real de resolver el problema.

uba. Algoritmo como soluci´n a un conjunto de problemas. o crocha@dc.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Ciencias de la Computaci´n o Definici´n o ”Es la disciplina que estudia como resolver problemas con m´quinas autom´ticas (computadoras)” a a Toda soluci´n computacional involucra: o Posibilidad real de resolver el problema.ar Introducci´n a la Computaci´n o o .

Algoritmo como soluci´n a un conjunto de problemas. o crocha@dc.ar Introducci´n a la Computaci´n o o . o Espacio f´ ısico de Informaci´n.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Ciencias de la Computaci´n o Definici´n o ”Es la disciplina que estudia como resolver problemas con m´quinas autom´ticas (computadoras)” a a Toda soluci´n computacional involucra: o Posibilidad real de resolver el problema.uba.

Algoritmo como soluci´n a un conjunto de problemas.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Ciencias de la Computaci´n o Definici´n o ”Es la disciplina que estudia como resolver problemas con m´quinas autom´ticas (computadoras)” a a Toda soluci´n computacional involucra: o Posibilidad real de resolver el problema. o Espacio f´ ısico de Informaci´n. crocha@dc. o Tiempo de la respuesta.ar Introducci´n a la Computaci´n o o .uba.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Un Problema Tarea/Problema Teniendo un conjunto de n´meros S.ar Introducci´n a la Computaci´n o o .uba. responder por si o no u ¿Existe alguna suma de esos n´meros que de n? u crocha@dc.

u o o crocha@dc.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Un Problema Tarea/Problema Teniendo un conjunto de n´meros S. responder por si o no u ¿Existe alguna suma de esos n´meros que de n? u Viabilidad No tiene ning´n impedimento te´rico/l´gico.uba.ar Introducci´n a la Computaci´n o o .

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Un Problema Tarea/Problema Teniendo un conjunto de n´meros S. responder por si o no u ¿Existe alguna suma de esos n´meros que de n? u Viabilidad No tiene ning´n impedimento te´rico/l´gico. u o o Soluci´n Hay algoritmo y es el siguiente.ar Introducci´n a la Computaci´n o o . o crocha@dc.uba.

ar Introducci´n a la Computaci´n o o . o Algoritmo Para todo subconjunto P de S: — Si la suma de los elementos de P es igual a n entonces —— la respuesta es SI. Responder NO crocha@dc. responder por si o no u ¿Existe alguna suma de esos n´meros que de n? u Viabilidad No tiene ning´n impedimento te´rico/l´gico.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Un Problema Tarea/Problema Teniendo un conjunto de n´meros S.uba. u o o Soluci´n Hay algoritmo y es el siguiente.

ar Introducci´n a la Computaci´n o o . ¡Tambi´n se necesita recordar el algoritmo! e crocha@dc. P y v .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad Espacio Necesitamos recordar S.uba.

uba. ¡Tambi´n se necesita recordar el algoritmo! e Tiempo Depende del n´mero de particiones del conjunto S. P y v .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad Espacio Necesitamos recordar S. u crocha@dc.ar Introducci´n a la Computaci´n o o .

uba. u crocha@dc. P y v . Existen 2|S| particiones de S. u Algunos c´lculos a Sea |S| el n´mero de elementos de S.ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad Espacio Necesitamos recordar S. ¡Tambi´n se necesita recordar el algoritmo! e Tiempo Depende del n´mero de particiones del conjunto S.

Outline

Introducci´n o

Areas de estudio

Algoritmos

Heur´ ısticas

Complejidad temporal

crocha@dc.uba.ar

Introducci´n a la Computaci´n o o

Outline

Introducci´n o

Areas de estudio

Algoritmos

Heur´ ısticas

Complejidad temporal

N´meros u Si se pudiera verificar cada partici´n en 0.0001 segundo, o tardar´ ıamos para 100 elementos 2100 · 0.0001 = 1267650600228229401496703205376 · 0.0001 1267650600228229401496703205.376 = 60 · 60 · 24 · 360 · 100 = 4075522763080000siglos

crocha@dc.uba.ar

Introducci´n a la Computaci´n o o

Outline

Introducci´n o

Areas de estudio

Algoritmos

Heur´ ısticas

Complejidad

La complejidad nos da una m´trica para comparar algoritmos. e

crocha@dc.uba.ar

Introducci´n a la Computaci´n o o

e Da la relaci´n entre la cantidad de elementos de la entrada y o el tiempo-espacio que se necesitan para resolver el problema.ar Introducci´n a la Computaci´n o o . crocha@dc.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad La complejidad nos da una m´trica para comparar algoritmos.uba.

crocha@dc.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad La complejidad nos da una m´trica para comparar algoritmos. θ(n) Mejor caso. e Da la relaci´n entre la cantidad de elementos de la entrada y o el tiempo-espacio que se necesitan para resolver el problema.ar Introducci´n a la Computaci´n o o .uba.

ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad La complejidad nos da una m´trica para comparar algoritmos. crocha@dc. e Da la relaci´n entre la cantidad de elementos de la entrada y o el tiempo-espacio que se necesitan para resolver el problema. θ(n) Mejor caso. Ω(n) Caso promedio.uba.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Complejidad La complejidad nos da una m´trica para comparar algoritmos. θ(n) Mejor caso. crocha@dc. e Da la relaci´n entre la cantidad de elementos de la entrada y o el tiempo-espacio que se necesitan para resolver el problema.ar Introducci´n a la Computaci´n o o . O(n) Peor caso.uba. Ω(n) Caso promedio.

uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificando la complejidad Constante O(1) crocha@dc.ar Introducci´n a la Computaci´n o o .

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificando la complejidad Constante O(1) Lineal O(n) crocha@dc.ar Introducci´n a la Computaci´n o o .uba.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificando la complejidad Constante O(1) Lineal O(n) Polinomial O(n2 ) crocha@dc.ar Introducci´n a la Computaci´n o o .uba.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificando la complejidad Constante O(1) Lineal O(n) Polinomial O(n2 ) Exponencial O(2n ) crocha@dc.ar Introducci´n a la Computaci´n o o .uba.

uba. 1 crocha@dc.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Unidades de almacenamiento Datos binarios 0.ar Introducci´n a la Computaci´n o o .

nibble (22 = 4 bits).ar Introducci´n a la Computaci´n o o . 1 Encapsulado en unidades binarias bit (20 = 1 bit). byte (23 = 8 bits).Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Unidades de almacenamiento Datos binarios 0. palabra (24 = 16 bits).uba. . . crocha@dc.

crocha@dc. nibble (24 = 16).Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Unidades de almacenamiento Datos binarios 0. . palabra (24 = 16 bits).uba. . palabra (21 6 = 65536). . 1 Encapsulado en unidades binarias bit (20 = 1 bit). byte (28 = 256). byte (23 = 8 bits). nibble (22 = 4 bits). . Capacidad de almacenamiento bit (21 = 2).ar Introducci´n a la Computaci´n o o .

nibble (24 = 16).ar Introducci´n a la Computaci´n o o . . .uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Unidades de almacenamiento Datos binarios 0. . . 1 Encapsulado en unidades binarias bit (20 = 1 bit). byte (23 = 8 bits). Representaci´n octal y hexadecimal o (F 1)16 = (7701)8 = (11110001)2 = (241)10 crocha@dc. byte (28 = 256). Capacidad de almacenamiento bit (21 = 2). palabra (21 6 = 65536). palabra (24 = 16 bits). nibble (22 = 4 bits).

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Almacenando datos N´meros (124)10 = (1111100)2 . (48)16 = (1001000)2 u crocha@dc.uba.ar Introducci´n a la Computaci´n o o .

HOLA = (484F 4C 41)16 crocha@dc.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Almacenando datos N´meros (124)10 = (1111100)2 .ar Introducci´n a la Computaci´n o o . (48)16 = (1001000)2 u Textos Tabla ASCII.

ar Introducci´n a la Computaci´n o o . ATGGATA = (00101111001011)2 crocha@dc. T . 11. (48)16 = (1001000)2 u Textos Tabla ASCII.uba. G = 00. HOLA = (484F 4C 41)16 ADN A.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Almacenando datos N´meros (124)10 = (1111100)2 . 10. 01. C .

ar Introducci´n a la Computaci´n o o .” crocha@dc. ”Hay s´lo 10 tipos de personas en el mundo: las que entienden o binario.uba.. y las que no..Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas .

o crocha@dc. Aproximados y Heur´ ısticas Existen varias maneras de encarar la soluci´n de un problema. o Todo depende de la capacidad de cada uno para esperar la soluci´n.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algoritmos Exactos.ar Introducci´n a la Computaci´n o o .uba.

ar Introducci´n a la Computaci´n o o .uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 crocha@dc.

ar Introducci´n a la Computaci´n o o . 25 crocha@dc.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 133 4 = 33.

uba. 25 10 3 = 3. crocha@dc..Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 133 4 = 33.. 333333333.ar Introducci´n a la Computaci´n o o .

. 333333333.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 133 4 = 33. 25 10 3 = 3.uba.ar Introducci´n a la Computaci´n o o .. Opciones del algoritmo crocha@dc.

Opciones del algoritmo Termino cuanto no tengo m´s resto.uba. 333333333.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 133 4 = 33.. a crocha@dc..ar Introducci´n a la Computaci´n o o . 25 10 3 = 3.

ar Introducci´n a la Computaci´n o o . 333333333.. a Termino cuando llego a colocar la coma. 25 10 3 = 3. Opciones del algoritmo Termino cuanto no tengo m´s resto.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 133 4 = 33.. crocha@dc.uba.

. 333333333.ar Introducci´n a la Computaci´n o o . 25 10 3 = 3. Opciones del algoritmo Termino cuanto no tengo m´s resto.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Dividiendo n´meros u 10 5 =2 133 4 = 33. crocha@dc.. Termino cuando llego al n-´simo d´ e ıgito. a Termino cuando llego a colocar la coma.

ar Introducci´n a la Computaci´n o o .uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Definiciones Algoritmo exacto Da la soluci´n exacta/´ptima. o o crocha@dc.

ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Definiciones Algoritmo exacto Da la soluci´n exacta/´ptima. crocha@dc. o o Algoritmo aproximado Da una soluci´n a la cual puede calcularse o el error.uba.

ar Introducci´n a la Computaci´n o o . Algoritmo heur´ ıstico Da una soluci´n aceptable sin error o calculable.uba. crocha@dc. o o Algoritmo aproximado Da una soluci´n a la cual puede calcularse o el error.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Definiciones Algoritmo exacto Da la soluci´n exacta/´ptima.

ar Introducci´n a la Computaci´n o o . Calcular los primeros n n´meros primos.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Otros problemas. u crocha@dc.uba. . .

uba. Calcular los primeros n n´meros primos.ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Otros problemas. . . u ¿Es posible colocar n damas en un tablero de nxn de manera tal que no se puedan comerse entre ellas? crocha@dc.

ar Introducci´n a la Computaci´n o o . . u ¿Es posible colocar n damas en un tablero de nxn de manera tal que no se puedan comerse entre ellas? Cu´l es la ruta de menor costo que permita viajar a todas las a ciudades con una ciudad de origen y destino determinada. .uba. crocha@dc. Calcular los primeros n n´meros primos.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Otros problemas.

Calcular el flujo m´ximo de una red de servicio de agua a potable. u ¿Es posible colocar n damas en un tablero de nxn de manera tal que no se puedan comerse entre ellas? Cu´l es la ruta de menor costo que permita viajar a todas las a ciudades con una ciudad de origen y destino determinada.uba. Calcular los primeros n n´meros primos. crocha@dc. .ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Otros problemas. .

.ar Introducci´n a la Computaci´n o o . Calcular los primeros n n´meros primos.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Otros problemas. u ¿Es posible colocar n damas en un tablero de nxn de manera tal que no se puedan comerse entre ellas? Cu´l es la ruta de menor costo que permita viajar a todas las a ciudades con una ciudad de origen y destino determinada. O c´mo asignar aulas a materias. Cu´l es la mejor forma de maximizar el n´mero de parejas de a u heterosexuales en una fiesta. . Calcular el flujo m´ximo de una red de servicio de agua a potable. o crocha@dc.

uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificaci´n de problemas o Combinatorios. de Flujo. crocha@dc. Matroids.ar Introducci´n a la Computaci´n o o .

de Flujo.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificaci´n de problemas o Combinatorios. o crocha@dc. Matroids.ar Introducci´n a la Computaci´n o o . Reducci´n de problemas.uba.

Reducci´n de problemas. crocha@dc. o P. de Flujo. NP-hard.uba. NP-completos.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Clasificaci´n de problemas o Combinatorios. Matroids.ar Introducci´n a la Computaci´n o o .

crocha@dc. del griego ”heuriskein” significa encontrar o descubrir.uba. La heur´ ıstica trata de m´todos o algoritmos exploratorios durante e la resoluci´n de problemas en los cuales las soluciones se descubren o por la evaluaci´n del progreso logrado en la b´squeda de un o u resultado final. sin ser capaz de garantizar la factibilidad de las soluciones empleadas ni determinar a que distancia de la soluci´n ´ptima nos o o encontramos. Un algoritmo heur´ ıstico es un procedimiento de b´squeda de u soluciones casi optimales a un coste computacional razonable.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Heur´ ısticas Heur´ ıstica. T´cnicas heur´ e ısticas. las cuales son empleadas en una gran cantidad de disciplinas y ´reas del conocimiento y su finalidad es la a de entregar soluciones que satisfagan al m´ximo el problema al a cual se pretenden encontrar salidas.ar Introducci´n a la Computaci´n o o .

o o crocha@dc.uba. Tomo cada tirada como un d´ ıgito binario y el n´mero resultante es la u soluci´n de la divisi´n.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algoritmo de la divisi´n o Lanzo una moneda n veces hasta que me canse.ar Introducci´n a la Computaci´n o o .

ar Introducci´n a la Computaci´n o o . u ´ crocha@dc. o o Tiro hasta que el n´mero supere cualquiera de los dos u n´meros. Tomo cada tirada como un d´ ıgito binario y el n´mero resultante es la u soluci´n de la divisi´n. descarto la ultima tirada.uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algoritmo de la divisi´n o Lanzo una moneda n veces hasta que me canse.

ar Introducci´n a la Computaci´n o o . Tomo cada tirada como un d´ ıgito binario y el n´mero resultante es la u soluci´n de la divisi´n.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algoritmo de la divisi´n o Lanzo una moneda n veces hasta que me canse. e a crocha@dc. descarto la ultima tirada.uba. o o Tiro hasta que el n´mero supere cualquiera de los dos u n´meros. u ´ Seguir hasta que obtengamos por lo menos n-n´meros. y u elegir aqu´l que quede m´s cerca del dividendo.

o o Tiro hasta que el n´mero supere cualquiera de los dos u n´meros. e a Seguir hasta conseguir que el n´mero obtenido multiplicado u por el divisor de el dividendo. descarto la ultima tirada. u ´ Seguir hasta que obtengamos por lo menos n-n´meros. crocha@dc.ar Introducci´n a la Computaci´n o o . y u elegir aqu´l que quede m´s cerca del dividendo. Tomo cada tirada como un d´ ıgito binario y el n´mero resultante es la u soluci´n de la divisi´n.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algoritmo de la divisi´n o Lanzo una moneda n veces hasta que me canse.uba.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Caracter´ ısticas No aseguran el resultado ´ptimo.uba.ar Introducci´n a la Computaci´n o o . o crocha@dc.

o No se puede decir que tan bueno es el resultado. crocha@dc.ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Caracter´ ısticas No aseguran el resultado ´ptimo.uba.

uba. o No se puede decir que tan bueno es el resultado. o crocha@dc.ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Caracter´ ısticas No aseguran el resultado ´ptimo. El tiempo de la resoluci´n es aceptable.

o No se puede decir que tan bueno es el resultado. o Se puede hacer estudios estad´ ısticos de los resultados.uba. crocha@dc.ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Caracter´ ısticas No aseguran el resultado ´ptimo. El tiempo de la resoluci´n es aceptable.

ar Introducci´n a la Computaci´n o o .uba.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algunas t´cnicas heur´ e ısticas Recocido simulado (o simulated annealing) crocha@dc.

ar Introducci´n a la Computaci´n o o .Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algunas t´cnicas heur´ e ısticas Recocido simulado (o simulated annealing) Vecino m´s cercano.uba. a crocha@dc.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algunas t´cnicas heur´ e ısticas Recocido simulado (o simulated annealing) Vecino m´s cercano. crocha@dc. a Red neuronal.ar Introducci´n a la Computaci´n o o .uba.

Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algunas t´cnicas heur´ e ısticas Recocido simulado (o simulated annealing) Vecino m´s cercano. a Red neuronal.uba. Algoritmo gen´tico. e crocha@dc.ar Introducci´n a la Computaci´n o o .

Algoritmo gen´tico.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algunas t´cnicas heur´ e ısticas Recocido simulado (o simulated annealing) Vecino m´s cercano.ar Introducci´n a la Computaci´n o o . crocha@dc. a Red neuronal. e Modelo oculto de Markov.uba.

Algoritmo gen´tico.uba.ar Introducci´n a la Computaci´n o o . a Red neuronal. e Modelo oculto de Markov.Outline Introducci´n o Areas de estudio Algoritmos Heur´ ısticas Algunas t´cnicas heur´ e ısticas Recocido simulado (o simulated annealing) Vecino m´s cercano. Funciones heur´ ısticas. crocha@dc.