SlideShare una empresa de Scribd logo
3
Lo más leído
4
Lo más leído
11
Lo más leído
PROGRAMACION DIMANICA
Estrategias de Diseño
Daniel Gomez Jaramillo.
Por:
CONTENIDO
1. Introducción
2. Descripción de la programación dinámica
I. Ventajas y desventajas.
II. Metodología
III. Aplicaciones
3. Conclusiones
4. Bibliografía.
INTRODUCCIÓN DE LA ESTRATEGIA DE DISEÑO
La programación dinámica a evolucionado hasta convertirse en un importante paradigma del diseño
de algoritmos. Fue acuñado por Richard Bellman para describir un tipo de problema de control
optimo. Originalmente el nombre describía mas el problema mas que la técnica para resolverlo.
La programación dinámica nos permite resolver problemas complejos caracterizados por decisiones
que se deben tomar en forma secuencial y las cuales influyen en las decisiones de estas secuencias.
Una característica importante de este método es que sustituye un calculo en tiempo
exponencial en tiempo polinomico.
DESCRIPCIÓN DEL MÉTODO
Características
Divide el
problema en
etapas
Es un método capaz de
resolver un problema
eficientemente
Resuelve los sub
problemas una sola
ves
El tiempo de
ejecución pude
mejorarse
substancialmente
DESCRIPCIÓN DEL MÉTODO
Una subestructura óptima significa que se pueden usar soluciones óptimas de subproblemas para
encontrar la solución óptima del problema en su conjunto.
En grandes líneas, el diseño de un algoritmo de Programación Dinámica consta de los siguientes
pasos:
1. Planteamiento de la solución como una sucesión de decisiones y verificación de que ésta cumple
el principio de óptimo.
2. Definición recursiva de la solución.
3. Cálculo del valor de la solución óptima mediante una tabla en donde se almacenan soluciones a
problemas parciales para reutilizar los cálculos.
4. Construcción de la solución óptima haciendo uso de la información contenida en la tabla anterior.
VENTAJAS Y DESVENTAJAS
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
-Si la red es muy grande se vuelve laborioso.
- No aplicable a todo tipo de problemas.
- Si hay un error en alguna tabla afecta a todo el problema.
METODOLOGIA DE LA PROGRAMACION DINAMICA
Problemas que se puede dividir
en problemas mas pequeños, y
esos a su vez en problemas mas
pequeños.
Se puede aplicar cuando
métodos mas especializados
fallan (al costo de la eficiencia).
¿Cuáles son los sub-problemas?
Es una técnica poderosa
para resolver tipos de
problemas en particular.
Se resuelve de abajo para arriba,
sub problemas-problema, “bottom-
up”.
Problema
Su-problema
básico básico básico
Sub problema
básico básico básico
Sub problema
básico básico básico
¿Cualquier problema usa
cualquier sub-problema?
SERIE DE FIBONACCI
fibonacci_1(n)= O(2^n)
1. Por recursividad dado un numero n sumando
(n-1)+(n-2)
f(6)=8
f(5)=5 f(4)=3
f(4)=3 f(3)=2
f(3)=2 f(2)=1
f(2)=1 f(1)=1
f(3)=2 f(2)=1
f(2)=1 f(1)=1
SERIE DE FIBONACCI
2. Construir un vector que permita ir almacenando los
cálculos realizados anteriormente hasta llegar al
número
fibonacci_2(n) = O(n)
0 1 2 3 4 5 6
N i arreglo(i-1) arreglo(i-2)
6 2 arreglo(1) arreglo(0)
3 arreglo(2) arreglo(1)
4 arreglo(3) arreglo(2)
5 arreglo(4) arreglo(3)
6 arreglo(5) arreglo(4)
0 1 1 2 3 5 8
SERIE DE FIBONACCI
3. Eliminar el vector y quedarnos solamente con
dos variables para almacenar los dos últimos
términos N i x y suma
6 1 1
2 2 1 2
3 3 2 3
4 5 3 5
5 8 5 8
GRAFO DE COSTOS ENTRE CIUDADES DEL ECUADOR
Azuay
Cañar
Guayas
Chimborazo
Los Ríos
Bolívar
Pichincha
Cotopaxi
8
5
9
2
3
1
10
4
2
• Azuay – Cañar – Guayas - Los Ríos - Pichincha
15
• Azuay – Cañar – Bolívar - Cotopaxi -Pichincha
17
• Azuay – Cañar - Chimborazo – Cotopaxi - Pichincha16
CONCLUSIONES FINALES
• La Programación Dinámica es para
cierto tipo de problemas, aquellos
que pueden seguirse dividiendo en
sub-problemas mas pequeños.
• En la Programación Dinámica
resuelve principalmente los
problemas mas pequeños y
simples, donde los guarda en
una tabla, un arreglo, etc.
Proc1
SubP1
SubP2
SubP3
SubP1.1
SubP1.2
SubP2.1
SubP2.1
SubP3.1
SubP3.1
• Este se aplica cuando métodos
mas especializados FALLAN,
pero puede llegar a ser MENOS
eficiente.
 Problema de la Serie de Fibonacci
 Camino del coste mínimo entre dos nodos de
un grafo.
REFERENCIAS BIBLIOGRÁFICAS
 S. Dasgupta, C.H. Papadimitriou, U. V. Vazirani, Algorithms, McGraw-Hill, Donnelley Crawfordsville
IN, Julio 2006.
 Baase, S. Van Gelder, A.(2002). Algoritmos Computacionales. Mexico: PEARSON EDUCATION
 Arbones, E(1989). Programacion de Recursos. Barcelona, España: marcombo
Estructura de Datos y Análisis de Algoritmos
¡¡ GRACIAS !!

Más contenido relacionado

DOCX
Optimizacion de redes
PDF
Programacion dinamica final
PPTX
Modelos De Programacion Entera
PPTX
Problema de la ruta mas corta
PDF
Optimizacion De Redes
PPTX
PDF
5.3 arbol expansión minima algoritmo de kruskal
PPT
Localizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos
Optimizacion de redes
Programacion dinamica final
Modelos De Programacion Entera
Problema de la ruta mas corta
Optimizacion De Redes
5.3 arbol expansión minima algoritmo de kruskal
Localizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos

La actualidad más candente (20)

PPTX
Programación Dinámica
DOCX
5.5 flujo a costo minimo
PPTX
Presentacion programacion dinamica
PPTX
2.3. procedimiento para resolver problemas
PDF
5.2 la ruta mas corta
PDF
Solución de problemas en programación lineal
PPTX
Ejemplo de PERT y CPM 1
PPTX
Metodologia de Sistemas duros
PPTX
Simulación en promodel clase 04
PPTX
Función de Pérdida de Taguchi-1.pptx
DOCX
Programación deterministica
PPTX
Consulta a la fuerza de ventas - Pronósticos de demanda
PPTX
Sistemas tradicionales y modernos
PPT
Simulación: Teoría y aplicaciones con Promodel
PDF
Programacion y secuenciacion de operaciones
DOC
Problemas resueltos-de-metodos-de-transporte
PPTX
Planeacion y diseño de instalaciones
DOCX
Sistemas duros y blandos
PPTX
Unidad 4 Datos Estándar y Propósito de los estándares de tiempo
PPTX
Investigacion de operaciones clase 7
Programación Dinámica
5.5 flujo a costo minimo
Presentacion programacion dinamica
2.3. procedimiento para resolver problemas
5.2 la ruta mas corta
Solución de problemas en programación lineal
Ejemplo de PERT y CPM 1
Metodologia de Sistemas duros
Simulación en promodel clase 04
Función de Pérdida de Taguchi-1.pptx
Programación deterministica
Consulta a la fuerza de ventas - Pronósticos de demanda
Sistemas tradicionales y modernos
Simulación: Teoría y aplicaciones con Promodel
Programacion y secuenciacion de operaciones
Problemas resueltos-de-metodos-de-transporte
Planeacion y diseño de instalaciones
Sistemas duros y blandos
Unidad 4 Datos Estándar y Propósito de los estándares de tiempo
Investigacion de operaciones clase 7
Publicidad

Similar a Programación dinámica (20)

PDF
Presentación Estrategia de Marketing Moderno Amarillo_df045adb26b92d02b63994...
PPTX
Programacion dinamica jesus plaza
PDF
Trabajo programacion lineal
DOCX
Solucionar problemas por medio de algoritmos
PPTX
Programacion d inamica
PPTX
TECNICAS DE RESOLUCION DE PROBLEMAS
PDF
Introduccion a programacion lineal u de manizales
PDF
Librodeinvestigacion francisco-chediak
DOCX
Programación lineal y pert. do
DOC
Herramientas basicas para_la_solucion_de_problemas_1 (1)
PDF
Io 2da programacion lineal
DOCX
Diana010
PDF
Notas analisis algoritmos_vf
PPTX
Problemas de programación lineal entera.pptx
DOCX
Solucionar problemas por medio de algoritmos
PDF
memoria de trabajos y de unidades de diseñoa de cada unidad de desempeño de t...
PPTX
SESIÓN 04.pptx clasess de calculo clasess de calculo
PDF
Unidad_II.pdf aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
PPT
Ingeniería-Sistemas
Presentación Estrategia de Marketing Moderno Amarillo_df045adb26b92d02b63994...
Programacion dinamica jesus plaza
Trabajo programacion lineal
Solucionar problemas por medio de algoritmos
Programacion d inamica
TECNICAS DE RESOLUCION DE PROBLEMAS
Introduccion a programacion lineal u de manizales
Librodeinvestigacion francisco-chediak
Programación lineal y pert. do
Herramientas basicas para_la_solucion_de_problemas_1 (1)
Io 2da programacion lineal
Diana010
Notas analisis algoritmos_vf
Problemas de programación lineal entera.pptx
Solucionar problemas por medio de algoritmos
memoria de trabajos y de unidades de diseñoa de cada unidad de desempeño de t...
SESIÓN 04.pptx clasess de calculo clasess de calculo
Unidad_II.pdf aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Ingeniería-Sistemas
Publicidad

Más de Daniel Gomez Jaramillo (16)

PDF
DotVVM Fundamentals
PDF
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
PDF
Microsoft Cognitive Services y el lado humano de las aplicaciones inteligentes.
PDF
HTML y Alojamiento en Azure.
PDF
Internet y seguridad en redes
PDF
Sistema de gestión de base de datos SQL UC
PDF
Colecciones en Scala
PDF
Codificación de Huffman
PPTX
Algoritmos de ordenamiento externo sobre archivos
PDF
Reproductor de música DG Player
PDF
Colecciones en Python
PDF
Paradigmas de la programación
PDF
Fuerzas de rozamiento
PDF
Clases y objetos en Java
PDF
Arboles M-Way, 2-3 y 2-3-4
PDF
Algoritmo de ordenamiento: Heap Sort
DotVVM Fundamentals
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
Microsoft Cognitive Services y el lado humano de las aplicaciones inteligentes.
HTML y Alojamiento en Azure.
Internet y seguridad en redes
Sistema de gestión de base de datos SQL UC
Colecciones en Scala
Codificación de Huffman
Algoritmos de ordenamiento externo sobre archivos
Reproductor de música DG Player
Colecciones en Python
Paradigmas de la programación
Fuerzas de rozamiento
Clases y objetos en Java
Arboles M-Way, 2-3 y 2-3-4
Algoritmo de ordenamiento: Heap Sort

Último (7)

PDF
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
Conceptos básicos de programación por Antonia Díaz Bernal
PDF
Conceptos básicos de programación por Antonia Diaz Bernal
PDF
Software para la Administración Y Control de Condominios
PPTX
Agentes-Racionales-en-IA- Benjamin S.pptx
PDF
ANÁLISIS Y DISEÑO DE ALGORITMOS
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Conceptos básicos de programación por Antonia Díaz Bernal
Conceptos básicos de programación por Antonia Diaz Bernal
Software para la Administración Y Control de Condominios
Agentes-Racionales-en-IA- Benjamin S.pptx
ANÁLISIS Y DISEÑO DE ALGORITMOS

Programación dinámica

  • 1. PROGRAMACION DIMANICA Estrategias de Diseño Daniel Gomez Jaramillo. Por:
  • 2. CONTENIDO 1. Introducción 2. Descripción de la programación dinámica I. Ventajas y desventajas. II. Metodología III. Aplicaciones 3. Conclusiones 4. Bibliografía.
  • 3. INTRODUCCIÓN DE LA ESTRATEGIA DE DISEÑO La programación dinámica a evolucionado hasta convertirse en un importante paradigma del diseño de algoritmos. Fue acuñado por Richard Bellman para describir un tipo de problema de control optimo. Originalmente el nombre describía mas el problema mas que la técnica para resolverlo. La programación dinámica nos permite resolver problemas complejos caracterizados por decisiones que se deben tomar en forma secuencial y las cuales influyen en las decisiones de estas secuencias. Una característica importante de este método es que sustituye un calculo en tiempo exponencial en tiempo polinomico.
  • 4. DESCRIPCIÓN DEL MÉTODO Características Divide el problema en etapas Es un método capaz de resolver un problema eficientemente Resuelve los sub problemas una sola ves El tiempo de ejecución pude mejorarse substancialmente
  • 5. DESCRIPCIÓN DEL MÉTODO Una subestructura óptima significa que se pueden usar soluciones óptimas de subproblemas para encontrar la solución óptima del problema en su conjunto. En grandes líneas, el diseño de un algoritmo de Programación Dinámica consta de los siguientes pasos: 1. Planteamiento de la solución como una sucesión de decisiones y verificación de que ésta cumple el principio de óptimo. 2. Definición recursiva de la solución. 3. Cálculo del valor de la solución óptima mediante una tabla en donde se almacenan soluciones a problemas parciales para reutilizar los cálculos. 4. Construcción de la solución óptima haciendo uso de la información contenida en la tabla anterior.
  • 6. VENTAJAS Y DESVENTAJAS 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 -Si la red es muy grande se vuelve laborioso. - No aplicable a todo tipo de problemas. - Si hay un error en alguna tabla afecta a todo el problema.
  • 7. METODOLOGIA DE LA PROGRAMACION DINAMICA Problemas que se puede dividir en problemas mas pequeños, y esos a su vez en problemas mas pequeños. Se puede aplicar cuando métodos mas especializados fallan (al costo de la eficiencia). ¿Cuáles son los sub-problemas? Es una técnica poderosa para resolver tipos de problemas en particular. Se resuelve de abajo para arriba, sub problemas-problema, “bottom- up”. Problema Su-problema básico básico básico Sub problema básico básico básico Sub problema básico básico básico ¿Cualquier problema usa cualquier sub-problema?
  • 8. SERIE DE FIBONACCI fibonacci_1(n)= O(2^n) 1. Por recursividad dado un numero n sumando (n-1)+(n-2) f(6)=8 f(5)=5 f(4)=3 f(4)=3 f(3)=2 f(3)=2 f(2)=1 f(2)=1 f(1)=1 f(3)=2 f(2)=1 f(2)=1 f(1)=1
  • 9. SERIE DE FIBONACCI 2. Construir un vector que permita ir almacenando los cálculos realizados anteriormente hasta llegar al número fibonacci_2(n) = O(n) 0 1 2 3 4 5 6 N i arreglo(i-1) arreglo(i-2) 6 2 arreglo(1) arreglo(0) 3 arreglo(2) arreglo(1) 4 arreglo(3) arreglo(2) 5 arreglo(4) arreglo(3) 6 arreglo(5) arreglo(4) 0 1 1 2 3 5 8
  • 10. SERIE DE FIBONACCI 3. Eliminar el vector y quedarnos solamente con dos variables para almacenar los dos últimos términos N i x y suma 6 1 1 2 2 1 2 3 3 2 3 4 5 3 5 5 8 5 8
  • 11. GRAFO DE COSTOS ENTRE CIUDADES DEL ECUADOR Azuay Cañar Guayas Chimborazo Los Ríos Bolívar Pichincha Cotopaxi 8 5 9 2 3 1 10 4 2 • Azuay – Cañar – Guayas - Los Ríos - Pichincha 15 • Azuay – Cañar – Bolívar - Cotopaxi -Pichincha 17 • Azuay – Cañar - Chimborazo – Cotopaxi - Pichincha16
  • 12. CONCLUSIONES FINALES • La Programación Dinámica es para cierto tipo de problemas, aquellos que pueden seguirse dividiendo en sub-problemas mas pequeños. • En la Programación Dinámica resuelve principalmente los problemas mas pequeños y simples, donde los guarda en una tabla, un arreglo, etc. Proc1 SubP1 SubP2 SubP3 SubP1.1 SubP1.2 SubP2.1 SubP2.1 SubP3.1 SubP3.1 • Este se aplica cuando métodos mas especializados FALLAN, pero puede llegar a ser MENOS eficiente.  Problema de la Serie de Fibonacci  Camino del coste mínimo entre dos nodos de un grafo.
  • 13. REFERENCIAS BIBLIOGRÁFICAS  S. Dasgupta, C.H. Papadimitriou, U. V. Vazirani, Algorithms, McGraw-Hill, Donnelley Crawfordsville IN, Julio 2006.  Baase, S. Van Gelder, A.(2002). Algoritmos Computacionales. Mexico: PEARSON EDUCATION  Arbones, E(1989). Programacion de Recursos. Barcelona, España: marcombo
  • 14. Estructura de Datos y Análisis de Algoritmos ¡¡ GRACIAS !!

Notas del editor

  • #15: En el modo Presentación con diapositivas, haga clic en las flechas para visitar los vínculos.