SlideShare una empresa de Scribd logo
GRUPO 7
PROGRAMACION DINAMICA
Integrantes:
• Molina Ballon Dalih Medeliz
• Chura Poma Cristian
• Javier Henry Quispe Pinto
PROGRAMACION
DINAMICA
1.- INTRODUCCIÓN
2.- VENTAJAS
3 .- DESVENTAJAS
4.- EJEMPLOS
5.-CONCLUSION
INTRODUCCION
 Es un método cuantitativo de toma de decisiones desarrollada por
Bellman y Dantzig en 1957
 La programación dinámica (PD) determina la solución óptima de un
problema de n variables descomponiéndola en n etapas, con cada
etapa incluyendo un subproblema de una sola variable. La mayor
parte de las veces, la programación dinámica obtiene soluciones
con un avance en reversa, desde el final de un problema hacia el
principio con lo que un problema grande se convierte en una serie
de problemas más pequeños y más tratables. Así, la programación
dinámica se puede definir como una técnica matemática útil que
resuelve una serie de decisiones secuenciales, cada una de las
cuales afecta las decisiones futuras.
Ventajas
 Eficaz para resolver problemas de gran complejidad al
dividirlo y secuenciarlo.
 Resuelve cada sub problema una sola vez.
 Los cálculos de cada etapa se organizan y se guardan de
manera eficiente, facilitando su consulta para posteriores
análisis.
Desventajas
 No aplicable a todo tipo de problemas.
 Si hay algún error en una tabla afecta a todo el problema.
Tenemos n objetos, cada uno con un peso (wi) y un beneficio
(vi), y una mochila en la que podemos meter objetos, con una
capacidad de peso máximo M. El objetivo es maximizar el
beneficio de los objetos transportados, donde cada objeto se
puede coger entero (xi=1) o nada (xi=0).
Problema de la mochila 0/1
Programacion Dinamica. Problema de la mochila
Ganancias en capacidad…
Etapa Articulo
Peso
(Kg)
Benefici
o Bs 0 1 2 3 4 5 6 7 8
0 estado inicial 0 0 0 0 0 0 0 0 0
1 A 1 2 0
2 B 2 5 0
3 C 4 6 0
4 D 5 10 0
5 E 7 13 0
6 F 8 16 0
2 2 2 2 2 2 2 2
A A A A A A A A
2
A
5
B
7
A+B
7 7 7 7 7
A+B A+B A+B A+B A+B
2 5 7
A B A+B
7
A+B
8
A+C
11
B+C
13
A+B+C
13
A+B+C
2 5 7 7
A B A+B A+B
10
D
12
A+D
15
B+D
17
A+B+D
2 5 7 7 10 12
A B A+B A+B D A+D
15
B+D
17
A+B+D
2 5 7 7 10 12 15
A B A+B A+B D A+D B+D
17
A+B+D
Forma de rellenar las tablas:
 Inicializar los casos base.
 Para todo i, desde 1 hasta n, y j desde 1 hasta M, aplicar la
ecuación de recurrencia:
V[i, j] = max (V[i - 1, j] , V[i - 1, j - wi]+ vi)
 Si j es negativo, entonces V[i, j] = -, y el máximo será el otro
término.
Tiempo de ejecución: (n).
1. En que problemas se utiliza la programación dinámica?
Resp.- La programación dinámica se suele utilizar en problemas de
optimización, donde una solución está formada por una serie de decisiones.
1. Comparando con la técnica de Divide y vencerás en que se parecen?
Resp.- Los dos resuelven el problema original combinando las soluciones para
subproblemas más pequeños.
1. Y en que se diferencian de la técnica de Divide y Vencerás?
Resp.-almacena los resultados de los subproblemas en una tabla, calculando
primero las soluciones para los problemas pequeños.
1. La programación Dinámica en que principio se basa?
Resp.- La programación dinámica se basa en el Principio de Optimalidad de
Bellman: cualquier subsecuencia de una secuencia óptima debe ser, a su vez,
una secuencia óptima.
1. Que aspecto importante tiene la programación Dinámica?
Resp.-los algoritmos de programación dinámica necesitan una tabla para
almacenar los resultados parciales, que puede ocupar mucha memoria.
PREGUNTAS
1. Cual es la definición de top down?
Resp.- El problema se divide en sub problemas y estos se resuelven
recordándolos las soluciones de arriba hacia abajo
1. Cual es la definición de Bottom up?
Resp.- este enfoque es ligeramente es mejor en su consumo de espacio y
llamadas de funciones encontrando todos los sub problemas necesarios.
1. A que se refiere optimizar?
Resp.-a buscar alguna de las mejores soluciones de entre muchas
alternativas posibles
1. La programación dinámica es …?
Resp.- un método para reducir el tiempo de ejecución.
1. Quien invento la programación dinámica?
Resp.-Richard Bellman en 1953
PREGUNTAS

Más contenido relacionado

Similar a Programacion d inamica

Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
John Leyton
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
Salvador Fernández Fernández
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
KimLinares
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
guestc2dbad8
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
guestc2dbad8
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
Juan Esteban Puerta Cano
 
Asignacion
AsignacionAsignacion
Asignacion
William Cp
 
DIAPOS EXPO FINAL IO2.pptx
DIAPOS EXPO FINAL IO2.pptxDIAPOS EXPO FINAL IO2.pptx
DIAPOS EXPO FINAL IO2.pptx
EberVilasTello
 
Prog dinamica
Prog dinamicaProg dinamica
Prog dinamica
Albert Díaz Vargas
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
VINAYOCANDO13
 
Investigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos GeneralesInvestigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos Generales
Instituto Tecnologico De Pachuca
 
Programacion
ProgramacionProgramacion
Programacion
JavierVelasquezVivar
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
liisab04
 
Programacion dinamica 22
Programacion dinamica 22Programacion dinamica 22
Programacion dinamica 22
Mariannys Leon
 
Programacion dinamica jesus plaza
Programacion dinamica jesus plazaProgramacion dinamica jesus plaza
Programacion dinamica jesus plaza
Jesus Plaza Aguilera
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
Rafael Brito
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
JOSEPHBADRA3
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion lineal
luis fernandez
 
Analisis de dualidad
Analisis de dualidadAnalisis de dualidad
Analisis de dualidad
MATERIALES PEREZ
 
Clase3
Clase3Clase3
Clase3
Cesar Mejia
 

Similar a Programacion d inamica (20)

Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Asignacion
AsignacionAsignacion
Asignacion
 
DIAPOS EXPO FINAL IO2.pptx
DIAPOS EXPO FINAL IO2.pptxDIAPOS EXPO FINAL IO2.pptx
DIAPOS EXPO FINAL IO2.pptx
 
Prog dinamica
Prog dinamicaProg dinamica
Prog dinamica
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Investigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos GeneralesInvestigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos Generales
 
Programacion
ProgramacionProgramacion
Programacion
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programacion dinamica 22
Programacion dinamica 22Programacion dinamica 22
Programacion dinamica 22
 
Programacion dinamica jesus plaza
Programacion dinamica jesus plazaProgramacion dinamica jesus plaza
Programacion dinamica jesus plaza
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion lineal
 
Analisis de dualidad
Analisis de dualidadAnalisis de dualidad
Analisis de dualidad
 
Clase3
Clase3Clase3
Clase3
 

Último

Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 

Último (7)

Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 

Programacion d inamica

  • 1. GRUPO 7 PROGRAMACION DINAMICA Integrantes: • Molina Ballon Dalih Medeliz • Chura Poma Cristian • Javier Henry Quispe Pinto
  • 2. PROGRAMACION DINAMICA 1.- INTRODUCCIÓN 2.- VENTAJAS 3 .- DESVENTAJAS 4.- EJEMPLOS 5.-CONCLUSION
  • 3. INTRODUCCION  Es un método cuantitativo de toma de decisiones desarrollada por Bellman y Dantzig en 1957  La programación dinámica (PD) determina la solución óptima de un problema de n variables descomponiéndola en n etapas, con cada etapa incluyendo un subproblema de una sola variable. La mayor parte de las veces, la programación dinámica obtiene soluciones con un avance en reversa, desde el final de un problema hacia el principio con lo que un problema grande se convierte en una serie de problemas más pequeños y más tratables. Así, la programación dinámica se puede definir como una técnica matemática útil que resuelve una serie de decisiones secuenciales, cada una de las cuales afecta las decisiones futuras.
  • 4. Ventajas  Eficaz para resolver problemas de gran complejidad al dividirlo y secuenciarlo.  Resuelve cada sub problema una sola vez.  Los cálculos de cada etapa se organizan y se guardan de manera eficiente, facilitando su consulta para posteriores análisis.
  • 5. Desventajas  No aplicable a todo tipo de problemas.  Si hay algún error en una tabla afecta a todo el problema.
  • 6. Tenemos n objetos, cada uno con un peso (wi) y un beneficio (vi), y una mochila en la que podemos meter objetos, con una capacidad de peso máximo M. El objetivo es maximizar el beneficio de los objetos transportados, donde cada objeto se puede coger entero (xi=1) o nada (xi=0). Problema de la mochila 0/1
  • 7. Programacion Dinamica. Problema de la mochila Ganancias en capacidad… Etapa Articulo Peso (Kg) Benefici o Bs 0 1 2 3 4 5 6 7 8 0 estado inicial 0 0 0 0 0 0 0 0 0 1 A 1 2 0 2 B 2 5 0 3 C 4 6 0 4 D 5 10 0 5 E 7 13 0 6 F 8 16 0 2 2 2 2 2 2 2 2 A A A A A A A A 2 A 5 B 7 A+B 7 7 7 7 7 A+B A+B A+B A+B A+B 2 5 7 A B A+B 7 A+B 8 A+C 11 B+C 13 A+B+C 13 A+B+C 2 5 7 7 A B A+B A+B 10 D 12 A+D 15 B+D 17 A+B+D 2 5 7 7 10 12 A B A+B A+B D A+D 15 B+D 17 A+B+D 2 5 7 7 10 12 15 A B A+B A+B D A+D B+D 17 A+B+D
  • 8. Forma de rellenar las tablas:  Inicializar los casos base.  Para todo i, desde 1 hasta n, y j desde 1 hasta M, aplicar la ecuación de recurrencia: V[i, j] = max (V[i - 1, j] , V[i - 1, j - wi]+ vi)  Si j es negativo, entonces V[i, j] = -, y el máximo será el otro término. Tiempo de ejecución: (n).
  • 9. 1. En que problemas se utiliza la programación dinámica? Resp.- La programación dinámica se suele utilizar en problemas de optimización, donde una solución está formada por una serie de decisiones. 1. Comparando con la técnica de Divide y vencerás en que se parecen? Resp.- Los dos resuelven el problema original combinando las soluciones para subproblemas más pequeños. 1. Y en que se diferencian de la técnica de Divide y Vencerás? Resp.-almacena los resultados de los subproblemas en una tabla, calculando primero las soluciones para los problemas pequeños. 1. La programación Dinámica en que principio se basa? Resp.- La programación dinámica se basa en el Principio de Optimalidad de Bellman: cualquier subsecuencia de una secuencia óptima debe ser, a su vez, una secuencia óptima. 1. Que aspecto importante tiene la programación Dinámica? Resp.-los algoritmos de programación dinámica necesitan una tabla para almacenar los resultados parciales, que puede ocupar mucha memoria. PREGUNTAS
  • 10. 1. Cual es la definición de top down? Resp.- El problema se divide en sub problemas y estos se resuelven recordándolos las soluciones de arriba hacia abajo 1. Cual es la definición de Bottom up? Resp.- este enfoque es ligeramente es mejor en su consumo de espacio y llamadas de funciones encontrando todos los sub problemas necesarios. 1. A que se refiere optimizar? Resp.-a buscar alguna de las mejores soluciones de entre muchas alternativas posibles 1. La programación dinámica es …? Resp.- un método para reducir el tiempo de ejecución. 1. Quien invento la programación dinámica? Resp.-Richard Bellman en 1953 PREGUNTAS