Está en la página 1de 3

Programacin dinmica

Esta tcnica se aplica sobre problemas que presentan las siguientes


caractersticas:
Subproblemas optmales: La solucin ptima a un problema puede ser
definida en funcin de soluciones ptimas a subproblemas de tamao menor.
Solapamiento entre subproblemas: Al plantear la solucin recursiva del
problema, un mismo problema se resuelve ms de una vez.
Enfoque ascendente (bottom-up):

Primero se calculan las soluciones ptimas para problemas de tamao


pequeo.
Luego, utilizando dichas soluciones, encuentra soluciones a problemas
de mayor tamao.

Clave: Memorizacin
Almacenar las soluciones de los subproblemas en alguna estructura de datos
para reutilizarlas posteriormente. De esa forma, se consigue un algoritmo ms
eficiente que la fuerza bruta, que resuelve el mismo subproblema una y otra
vez.
Memorizacin
Para evitar calcular lo mismo varias veces:
Cuando se calcula una solucin, sta se almacena.
Antes de realizar una llamada recursiva para un subproblema X, se
comprueba si la solucin ha sido obtenida previamente:
Si no ha sido obtenida, se hace la llamada recursiva y, antes de
devolver la solucin, sta se almacena.
Si ya ha sido previamente calculada, se recupera la solucin
directamente (no hace falta calcularla).
Usualmente, se utiliza una matriz que se rellena conforme las soluciones
a los subproblemas son calculados (espacio vs. tiempo).

Ejemplo:
Un caza fortunas de Missouri decide irse al oeste a unirse a la fiebre del oro en
California. Tiene que hacer el viaje en diligencia a travs de territorios sin ley
donde existan serios peligros de ser atacados por merodeadores. Aun cuando
su punto de partida y destino eran fijos, tena muchas opciones en cuanto a
que estados deba elegir como puntos intermedios. Se desea estimar la ruta
ms segura, como el costo de la pliza para cualquier jornada de la diligencia
est basada en una evaluacin de seguridad del recorrido, la ruta ms segura
debe ser aquella que tenga el costo total ms barato. Cul es la ruta que
minimiza el costo total de la pliza?

Hacia atrs
Empezamos por la etapa k=4
Estados

x4

Distancias acumulada

H
I

Decisin optima

3
4

u4

J
J

Etapa k=3

Estados
E
F
G

x3

Estado

x4

1+3=4
6+3=9
3+3=6

4+4=8
3+4=7
3+4=7

Distancias
acumulada

Decisin

f 3

optima

4
7
6

H
I
H

u3

Etapas k=2
Estado

Estados

x3

x2

B
C
D

7+4=11
3+4=7
4+4=8

4+7=11
2+7=9
1+7=8

6+6=12
4+6=10
5+6=11

Distancias
acumulada

Decisin
optima

f 2

u2

11
7
8

E,F
E
E,F

Distancias
acumulada

Decisin
optima

f 1

u1

11

C,D

Etapa k=1
Estado

Estados

x2

x1

2+11=1
2

4+7=11

3+8=11

Rutas optimas:
ACEHJ

ADEHJ
ADFIJ

4+3+1+3=11

3+4+1+3=11

3+1+3+4=11

También podría gustarte