SlideShare una empresa de Scribd logo
1 de 22
República Bolivariana de Venezuela
Ministerio de Poder Popular para la Educación Universitaria
Instituto Universitario Politécnico “Santiago Mariño”
Extensión Caracas
Programación no numérica II
Programación Dinámica
Autor:
Rubén González C.I.: 17.269.058 Escuela: 47
Caracas, julio de 2020
Introducción
Una subestructura óptima significa que se pueden usar soluciones óptimas de subproblemas
para encontrar la solución óptima del problema en su conjunto. Por ejemplo, el camino más corto
entre dos vértices de un Grafo se puede encontrar calculando primero el camino más corto al
objetivo desde todos los vértices adyacentes al de partida, y después usando estas soluciones
para elegir el mejor camino de todos ellos. En general, se pueden resolver problemas con
subestructuras óptimas siguiendo estos tres pasos:
•Dividir el problema en subproblemas más pequeños.
•Resolver estos problemas de manera óptima usando este proceso de tres pasos recursivamente.
•Usar estas soluciones óptimas para construir una solución óptima al problema original.
Los subproblemas se resuelven a su vez dividiéndolos en subproblemas más pequeños hasta
que se alcance el caso fácil, donde la solución al problema es trivial.
Decir que un problema tiene subproblemas superpuestos es decir que se usa un mismo
subproblema para resolver diferentes problemas mayores. Por ejemplo, en la Sucesión de
Fibonacci (F3 = F1 + F2 y F4 = F2 + F3) calcular cada término supone calcular F2. Como para
calcular F5 hacen falta tanto F3 como F4, una mala implementación para calcular F5 acabará
calculando F2 dos o más veces. Esto sucede siempre que haya subproblemas superpuestos: una
mala implementación puede acabar desperdiciando tiempo recalculando las soluciones óptimas a
subproblemas que ya han sido resueltos anteriormente.
Esto se puede evitar guardando las soluciones que ya hemos calculado. Entonces, si
necesitamos resolver el mismo problema más tarde, podemos obtener la solución de la lista de
soluciones calculadas y reutilizarla. Este acercamiento al problema se llama Memorización (en
inglés "Memorization"). Si estamos seguros de que no volveremos a necesitar una solución en
concreto, la podemos descartar para ahorrar espacio. En algunos casos, podemos calcular las
soluciones a problemas que de antemano sabemos que vamos a necesitar.
Es ligeramente mejor en consumo de espacio y llamadas a funciones, pero a
veces resulta poco intuitivo encontrar todos los subproblemas necesarios para
resolver un problema dado.
Originalmente, el término de programación dinámica se refería a la resolución
de ciertos problemas y operaciones fuera del ámbito de la Ingeniería Informática,
al igual que hacía la Programación lineal. Aquel contexto no tiene relación con la
Programación en absoluto; el nombre es una coincidencia. El término también lo
usó en los años 40 Richard Bellman, un matemático norteamericano, para
describir el proceso de resolución de problemas donde hace falta calcular la mejor
solución consecutivamente.
Programación dinámica
En informática, la programación dinámica es un método para reducir el tiempo de ejecución de
un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas
La programación dinámica es una técnica matemática que se utiliza para la solución de
problemas matemáticos seleccionados, en los cuales se toma un serie de decisiones en forma
secuencial. Proporciona un procedimiento sistemático para encontrar la combinación de decisiones
que maximice la efectividad total, al descomponer el problema en etapas, las que pueden ser
completadas por una o más formas (estados), y enlazando cada etapa a través de cálculos
recursivos.
• Etapa: es la parte del problema que posee un conjunto de alternativas mutuamente excluyentes,
de las cuales se seleccionará la mejor alternativa.
• Estado: es el que refleja la condición o estado de las restricciones que enlazan las etapas.
Representa la “liga” entre etapas de tal manera que cuando cada etapa se optimiza por
separado la decisión resultante es automáticamente factible para el problema completo.
Esquema de una etapa
qi Variable de estado en la
etapa i
Xij Uno de los valores que
puede adoptar la variable
de decisión “Xi” en la
etapa i
Xi * Decisión óptima de la
etapa i
Fórmula y solución de problemas
La programación dinámica no cuenta con una formulación matemática estándar, sino que se trata
de un enfoque de tipo general para la solución de problemas, y las ecuaciones específicas que se
usan se deben desarrollar para que representen cada situación individual.
Comúnmente resuelve el problema por etapas, en donde cada etapa interviene exactamente una
variable de optimización (u optimizadora)
La teoría unificadora fundamental de la programación dinámica es el Principio de Optimalidad,
que nos indica básicamente como se puede resolver un problema adecuadamente descompuesto
en etapas utilizando cálculos recursivos.
“Una política óptima tiene la propiedad de que, independientemente de las decisiones tomadas
para llegar a un estado particular, en una etapa particular, las decisiones restantes deben constituir
una política óptima para abandonar ese estado”.
Para resolver problemas de programación dinámica se necesita:
• Un grado de creatividad
• Un buen conocimiento de la estructura general de los problemas de programación dinámica para
reconocer cuando un problema se puede resolver por medio de estos procedimientos y como
esto se puede llevar a cabo.
Características de los problemas de programación dinámica
• El problema se puede dividir en etapas que requieren una política de decisión en cada una.
• Cada etapa tiene cierto número de estados asociados a ella.
• El efecto de la política de decisión en cada etapa es transformar el estado actual en un estado
asociado con la siguiente etapa.
• El procedimiento de solución esta diseñado para encontrar una política óptima para el problema
completo.
• Dado un estado actual, una política óptima para las etapas restantes es independiente de la
política adoptada en las etapas anteriores (principio de optimalidad).
• El procedimiento de solución se inicia al encontrar la política optima para la ultima etapa.
• Se dispone de una relación recursiva que identifica la política optima par la etapa n dada la
política optima para la etapa (n+1)
Recursividad
Existen dos formas de plantear la fórmula de recursividad en los problemas de programación
dinámica:
• Recursividad de Retroceso: el problema se resuelva partiendo de la última etapa hacia la
primera.
• Recursividad de Avance: el problema se resuelve partiendo de la primera etapa hacia la última.
Las formulaciones de avance y retroceso son en realidad equivalentes en términos de cálculo.
Sin embargo, hay situaciones donde habría alguna diferencia, en la eficiencia del cálculo, según la
formulación que se utilice. Esto sucede en particular en problemas donde intervine la toma de
decisiones conforme transcurre el tiempo. En esto caso las etapas se designan con base en el
estricto orden cronológico de los periodos que ellas representan y la eficiencia de los cálculos
dependerá de si se utiliza formulación de avance o retroceso.
EL PROBLEMA DE LA DILIGENCIA
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 través de territorios sin ley donde existían serios peligros de ser
atacados por merodeadores. Aún cuando su punto de partida y destino eran fijos, tenia muchas
opciones en cuanto a que estados debía elegir como puntos intermedios. Se desea estimar la ruta
mas segura , como el costo de la póliza para cualquier jornada de la diligencia esta basada en una
evaluación de seguridad del recorrido, la ruta mas segura debe ser aquella que tenga el costo total
mas barato.
¿Cuál es la ruta que minimiza el costo total de la póliza ?
SISTEMA DE CAMINOS Y LOS COSTOS DEL PROBLEMA DE LA DILIGENCIA
Solución
• Los cálculos se realizan en etapas dividiendo el problema en subproblemas.
• Después, se considera por separado cada subproblema con el fin de reducir el número de
operaciones de cálculo.
• Se comienza con una pequeña porción del problema original y se encuentra la solución optima.
• Luego, se agranda gradualmente el problema y se encuentra la solución óptima actual a partir
de la que le precede , hasta resolver el problema original completo.
• En cada problema aumentado se puede encontrar la solución óptima tomando en cuenta los
resultados obtenidos en la interacción anterior.
Arboles Binarios
Un árbol impone una estructura jerárquica sobre una colección de objetos. Ejemplos claros de
utilización de árboles se presentan tanto dentro como fuera del área de computación (índices de
libros, árboles genealógicos, etc.); en Informática constituyen una de las estructuras más utilizadas,
con aplicaciones que van desde los árboles sintácticos utilizados para la representación y/o
interpretación de términos de un lenguaje o expresiones aritméticas, pasando por los arboles de
activación de procedimientos recursivos, hasta la representación de datos que se desea mantener
ordenados con un tiempo de acceso relativamente bajo. En general, se usarán árboles siempre que
se quiera representar información jerarquizada, cuando esta converja en un solo punto.
¿Qué es un árbol binario de búsqueda?
Un árbol binario no es más que una estructura de datos cuyos nodos pueden tener un hijo a la
izquierda o a la derecha ( no más de 2). Por lo tanto un árbol binario de búsqueda no es más que
un tipo de árbol binario cuya estructura de árbol se representa en informática.
Estos árboles pueden realizar operaciones de:
• Búsqueda : La búsqueda en un árbol binario de búsqueda consiste en acceder a la raíz del
árbol, si el elemento a localizar coincide con éste la búsqueda ha concluido con éxito, si el elemento
es menor se busca en el subárbol izquierdo y si es mayor en el derecho. Si se alcanza un nodo hoja
y el elemento no ha sido encontrado es que no existe en el árbol. Estas búsquedas son bastantes
eficientes teniendo un máximo de comparaciones en el rango de [log2(N+1)] y N
• Insertado: La inserción es similar a la búsqueda y se puede dar una solución tanto iterativa como
recursiva. Si tenemos inicialmente como parámetro un árbol vacío se crea un nuevo nodo como
único contenido el elemento a insertar. Si no lo está, se comprueba si el elemento dado es menor
que la raíz del árbol inicial con lo que se inserta en el subárbol izquierdo y si es mayor se inserta en
el subárbol derecho.
• Borrado: esta operación es más compleja y hay que tener en cuenta a borrar un nodo hija o
padre el impacto que tendrá en la estructura del mismo.
Árboles de búsqueda binario óptimos
Si no vamos a modificar un árbol de búsqueda, y sabemos exactamente con qué frecuencia cada
artículo será accesible, podemos construir un árbol binario de búsqueda óptimo, que es un árbol de
búsqueda donde el coste medio de buscar un artículo (el esperado coste de búsqueda) se reduce al
mínimo.
Incluso si sólo tenemos estimaciones de los costos de búsqueda, este sistema puede acelerar
considerablemente las búsquedas en promedio.
El Problema del Vendedor Viajero
Consiste en encontrar el circuito óptimo (en términos del viaje más corto) que deberá seguir un
vendedor en un caso con n ciudades, en el que cada ciudad se visita exactamente una vez.
Básicamente es una adaptación del Problema de Asignación que considera restricciones
adicionales que garantiza la exclusión de subcircuitos en la solución óptima.
Podemos considerar esto como una explicación:
Eres vendedor y tienes que visitar varias ciudades de una sola vez. Digamos que unas 100,
porque eres un vendedor muy ambicioso. ¿Ahora cómo vas a hacer eso? ¿Cuál es la ruta más
corta que puede tomar entre esas 100 ciudades
En realidad es un problema realmente difícil de resolver, casi imposible. Los informáticos lo
llaman un problema NP-complejo. El Problema del Vendedor Viajero se vuelve exponencialmente
más difícil de resolver a mayor cantidad de puntos, o ciudades, que el vendedor debe visitar.
Ahora bien, si pensabas que el TSP era difícil, considera esto: ¿qué pasaría si no fuera solo un
vendedor para el que necesitaras planificar las rutas? ¿Qué pasa si tienes varios vendedores, un
equipo completo de ellos? Ese es un enigma aún más desafiante conocido como el problema de
enrutamiento de vehículos (VRP, por sus siglas en inglés): el tema de la tesis de mi compañero.
Por qué el vendedor viajero es importante
Mientras trabajamos nerviosamente en todo este problema de enrutamiento de vendedores
viajeros, tal vez estés pensando: ¿por qué debería importarme? Bueno, porque los TSP y los VRP
están a tu alrededor. El problema en realidad se manifiesta con bastante claridad en la vida
cotidiana.
¿Los mensajeros que entregan paquetes a su oficina?
¿Los camiones de reparto que te traen productos frescos de la tienda?
¿Los autobuses escolares que recogen y dejan a sus hijos?
Camina alrededor de tu ciudad y verás a personas y vehículos lidiando con una situación de TSP
o VRP. Lo que es fascinante de todo esto es lo crítico que es resolver el TSP y el VRP para el
movimiento de bienes y servicios de un lugar a otro, y otro, y otro.
Esto se vuelve especialmente crítico en áreas urbanas densas, donde el espacio es escaso y el
tiempo incluso más estricto. Las empresas que invierten en algoritmos de optimización de rutas han
informado de hasta un 40% de ahorro en lo que respecta al tiempo de conducción y los costos de
combustible.
No es de extrañar que los matemáticos hayan trabajado para resolver el problema de los
vendedores itinerantes y el enrutamiento de vehículos durante siglos.
El Problema del Vendedor Viajero es un hombre muy, pero muy viejo
El TSP fue matemáticamente formulado por primera vez en 1800, por el matemático irlandés Sir
William Rowan Hamilton y por el matemático británico Thomas Penyngton Kirkman. Más tarde, en
la década de 1930, TSP fue notablemente estudiado por el matemático Karl Menger en Viena y
Harvard, y luego promovido por Hassler Whitney y Merrill Flood en la Universidad de Princeton.
A lo largo de los años, los informáticos y programadores han abordado el TSP y el VRP, lo que ha
llevado a soluciones nuevas y mejoradas.
Si está investigando la historia, la Universidad de Waterloo tiene un sitio web fantástico que
profundiza en la historia de TSP y alberga una gran colección de casos de uso de TSP modernos,
incluidos los récords mundiales de TSP y los juegos inspirados en TSP, muy interesante, ¿no?.
El Problema del Vendedor Viajero está en todas partes
El TSP y el VRP pueden parecer aplicables únicamente al transporte y la logística, pero lo
desafío a que mire alrededor de su ciudad y encuentre más ejemplos.
En mi experiencia, el Problema del Viajero Vendedor ha surgido cuando menos lo esperaba. Hay
espacio para la optimización en muchas situaciones: desde encontrar belleza en el arte de TSP; a
personas ocupadas con muchos recados para correr; a fanáticos Pokémon enloquecidos que
necesitan una forma inteligente de llegar a cada Pokéstop de la ciudad.
The Traveling Salesman está en todas partes, amigos. Y con las empresas de entregas cada vez
más populares, parece que está aquí para quedarse.
Conclusión
Un problema de optimización que se pueda dividir en etapas y que sea dinámico en el tiempo
puede resolverse por programación dinámica. Las soluciones se pueden ver de manera parcial.
Si es posible se validan los resultados usando otros métodos de solución como programación
lineal, no lineal, entera o teoría de redes.
La Programación Dinámica es una técnica que permite la optimización de soluciones a
problemas adaptandandolos a la metodología divide y vencerás, fraccionando el problema en
subproblemas y solucionando a cada uno de ellos mediante el uso de la recursividad para luego
combinar estas soluciones parciales para obtener la solución al problema. Cabe destacar que
para que un problema se pueda resolver mediante la Programación Dinámica debe cumplir ciertas
características para que pueda ser tratado como así. Conviene resaltar que a diferencia de la
programación lineal, el modelado de problemas de programación dinámica no tiene una forma
estándar. Así, para cada problema es necesario especificar cada uno de los componentes que
caracterizan un problema de programación dinámica.
Sin embargo un aspecto realmente destacable es la posibilidad de amplio campo de aplicación
que posee la programación dinámica, que desde un turista queriendo viajar o la posibilidad de
combinar objetos de una mochila para ahorrar espacio o también la planificación de programación
de producción e inventarios y sin olvidarse de la gran importancia que posee la “Programación
Dinámica” en la informática.

Más contenido relacionado

La actualidad más candente (20)

Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion Dinamica
 
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
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación Dinámica
 
Programac..
Programac..Programac..
Programac..
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Dynamic programming 01
Dynamic programming 01Dynamic programming 01
Dynamic programming 01
 
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
 
Programacion dinamica jesus plaza
Programacion dinamica jesus plazaProgramacion dinamica jesus plaza
Programacion dinamica jesus plaza
 
61178886 i-o-ii-principal
61178886 i-o-ii-principal61178886 i-o-ii-principal
61178886 i-o-ii-principal
 
Asignacion
AsignacionAsignacion
Asignacion
 
Capitulo 9
Capitulo 9Capitulo 9
Capitulo 9
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Programacion
ProgramacionProgramacion
Programacion
 
Programación deterministica
Programación deterministicaProgramación deterministica
Programación deterministica
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Programación dinámica (apuntes)
Programación dinámica (apuntes)Programación dinámica (apuntes)
Programación dinámica (apuntes)
 
Presentación de investigación de operaciones II
Presentación de investigación de operaciones IIPresentación de investigación de operaciones II
Presentación de investigación de operaciones II
 

Similar a Programación dinámica y árboles binarios de búsqueda

Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicagenesisptc_
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicaJosé Padrón
 
Teoría de optimización
Teoría de optimizaciónTeoría de optimización
Teoría de optimizaciónAngel Jhoan
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistemaDiRossalez
 
Optimizacion Angel Peña
Optimizacion Angel PeñaOptimizacion Angel Peña
Optimizacion Angel PeñaAngel Peña
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeDanny Quintero
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeAndreina Arteaga
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeAndreina Arteaga
 
Javierperez teoría de la optimización
Javierperez teoría de la optimizaciónJavierperez teoría de la optimización
Javierperez teoría de la optimizaciónRobin Duben
 
Documents.mx 13 enfoque-en-la-toma-de-decisiones
Documents.mx 13 enfoque-en-la-toma-de-decisionesDocuments.mx 13 enfoque-en-la-toma-de-decisiones
Documents.mx 13 enfoque-en-la-toma-de-decisioneshugo santiago champs
 
Trabajo escrito individual
Trabajo escrito individual Trabajo escrito individual
Trabajo escrito individual nmanaure
 
323012985 investigacion-operativa-final
323012985 investigacion-operativa-final323012985 investigacion-operativa-final
323012985 investigacion-operativa-finalsaidharimsuarezlondo
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación DinamicaRafael Brito
 

Similar a Programación dinámica y árboles binarios de búsqueda (20)

Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Teoría de optimización
Teoría de optimizaciónTeoría de optimización
Teoría de optimización
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistema
 
Optimizacion Angel Peña
Optimizacion Angel PeñaOptimizacion Angel Peña
Optimizacion Angel Peña
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Javierperez teoría de la optimización
Javierperez teoría de la optimizaciónJavierperez teoría de la optimización
Javierperez teoría de la optimización
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Documents.mx 13 enfoque-en-la-toma-de-decisiones
Documents.mx 13 enfoque-en-la-toma-de-decisionesDocuments.mx 13 enfoque-en-la-toma-de-decisiones
Documents.mx 13 enfoque-en-la-toma-de-decisiones
 
Trabajo escrito individual
Trabajo escrito individual Trabajo escrito individual
Trabajo escrito individual
 
323012985 investigacion-operativa-final
323012985 investigacion-operativa-final323012985 investigacion-operativa-final
323012985 investigacion-operativa-final
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 

Último

PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónjas021085
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfSandXmovex
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfssuserc34f44
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 

Último (20)

PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporación
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 

Programación dinámica y árboles binarios de búsqueda

  • 1. República Bolivariana de Venezuela Ministerio de Poder Popular para la Educación Universitaria Instituto Universitario Politécnico “Santiago Mariño” Extensión Caracas Programación no numérica II Programación Dinámica Autor: Rubén González C.I.: 17.269.058 Escuela: 47 Caracas, julio de 2020
  • 2. Introducción Una subestructura óptima significa que se pueden usar soluciones óptimas de subproblemas para encontrar la solución óptima del problema en su conjunto. Por ejemplo, el camino más corto entre dos vértices de un Grafo se puede encontrar calculando primero el camino más corto al objetivo desde todos los vértices adyacentes al de partida, y después usando estas soluciones para elegir el mejor camino de todos ellos. En general, se pueden resolver problemas con subestructuras óptimas siguiendo estos tres pasos: •Dividir el problema en subproblemas más pequeños. •Resolver estos problemas de manera óptima usando este proceso de tres pasos recursivamente. •Usar estas soluciones óptimas para construir una solución óptima al problema original. Los subproblemas se resuelven a su vez dividiéndolos en subproblemas más pequeños hasta que se alcance el caso fácil, donde la solución al problema es trivial.
  • 3. Decir que un problema tiene subproblemas superpuestos es decir que se usa un mismo subproblema para resolver diferentes problemas mayores. Por ejemplo, en la Sucesión de Fibonacci (F3 = F1 + F2 y F4 = F2 + F3) calcular cada término supone calcular F2. Como para calcular F5 hacen falta tanto F3 como F4, una mala implementación para calcular F5 acabará calculando F2 dos o más veces. Esto sucede siempre que haya subproblemas superpuestos: una mala implementación puede acabar desperdiciando tiempo recalculando las soluciones óptimas a subproblemas que ya han sido resueltos anteriormente. Esto se puede evitar guardando las soluciones que ya hemos calculado. Entonces, si necesitamos resolver el mismo problema más tarde, podemos obtener la solución de la lista de soluciones calculadas y reutilizarla. Este acercamiento al problema se llama Memorización (en inglés "Memorization"). Si estamos seguros de que no volveremos a necesitar una solución en concreto, la podemos descartar para ahorrar espacio. En algunos casos, podemos calcular las soluciones a problemas que de antemano sabemos que vamos a necesitar.
  • 4. Es ligeramente mejor en consumo de espacio y llamadas a funciones, pero a veces resulta poco intuitivo encontrar todos los subproblemas necesarios para resolver un problema dado. Originalmente, el término de programación dinámica se refería a la resolución de ciertos problemas y operaciones fuera del ámbito de la Ingeniería Informática, al igual que hacía la Programación lineal. Aquel contexto no tiene relación con la Programación en absoluto; el nombre es una coincidencia. El término también lo usó en los años 40 Richard Bellman, un matemático norteamericano, para describir el proceso de resolución de problemas donde hace falta calcular la mejor solución consecutivamente.
  • 5. Programación dinámica En informática, la programación dinámica es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas La programación dinámica es una técnica matemática que se utiliza para la solución de problemas matemáticos seleccionados, en los cuales se toma un serie de decisiones en forma secuencial. Proporciona un procedimiento sistemático para encontrar la combinación de decisiones que maximice la efectividad total, al descomponer el problema en etapas, las que pueden ser completadas por una o más formas (estados), y enlazando cada etapa a través de cálculos recursivos. • Etapa: es la parte del problema que posee un conjunto de alternativas mutuamente excluyentes, de las cuales se seleccionará la mejor alternativa. • Estado: es el que refleja la condición o estado de las restricciones que enlazan las etapas. Representa la “liga” entre etapas de tal manera que cuando cada etapa se optimiza por separado la decisión resultante es automáticamente factible para el problema completo.
  • 6. Esquema de una etapa qi Variable de estado en la etapa i Xij Uno de los valores que puede adoptar la variable de decisión “Xi” en la etapa i Xi * Decisión óptima de la etapa i
  • 7. Fórmula y solución de problemas La programación dinámica no cuenta con una formulación matemática estándar, sino que se trata de un enfoque de tipo general para la solución de problemas, y las ecuaciones específicas que se usan se deben desarrollar para que representen cada situación individual. Comúnmente resuelve el problema por etapas, en donde cada etapa interviene exactamente una variable de optimización (u optimizadora) La teoría unificadora fundamental de la programación dinámica es el Principio de Optimalidad, que nos indica básicamente como se puede resolver un problema adecuadamente descompuesto en etapas utilizando cálculos recursivos. “Una política óptima tiene la propiedad de que, independientemente de las decisiones tomadas para llegar a un estado particular, en una etapa particular, las decisiones restantes deben constituir una política óptima para abandonar ese estado”.
  • 8. Para resolver problemas de programación dinámica se necesita: • Un grado de creatividad • Un buen conocimiento de la estructura general de los problemas de programación dinámica para reconocer cuando un problema se puede resolver por medio de estos procedimientos y como esto se puede llevar a cabo. Características de los problemas de programación dinámica • El problema se puede dividir en etapas que requieren una política de decisión en cada una. • Cada etapa tiene cierto número de estados asociados a ella. • El efecto de la política de decisión en cada etapa es transformar el estado actual en un estado asociado con la siguiente etapa. • El procedimiento de solución esta diseñado para encontrar una política óptima para el problema completo. • Dado un estado actual, una política óptima para las etapas restantes es independiente de la política adoptada en las etapas anteriores (principio de optimalidad).
  • 9. • El procedimiento de solución se inicia al encontrar la política optima para la ultima etapa. • Se dispone de una relación recursiva que identifica la política optima par la etapa n dada la política optima para la etapa (n+1) Recursividad Existen dos formas de plantear la fórmula de recursividad en los problemas de programación dinámica: • Recursividad de Retroceso: el problema se resuelva partiendo de la última etapa hacia la primera. • Recursividad de Avance: el problema se resuelve partiendo de la primera etapa hacia la última.
  • 10. Las formulaciones de avance y retroceso son en realidad equivalentes en términos de cálculo. Sin embargo, hay situaciones donde habría alguna diferencia, en la eficiencia del cálculo, según la formulación que se utilice. Esto sucede en particular en problemas donde intervine la toma de decisiones conforme transcurre el tiempo. En esto caso las etapas se designan con base en el estricto orden cronológico de los periodos que ellas representan y la eficiencia de los cálculos dependerá de si se utiliza formulación de avance o retroceso.
  • 11. EL PROBLEMA DE LA DILIGENCIA 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 través de territorios sin ley donde existían serios peligros de ser atacados por merodeadores. Aún cuando su punto de partida y destino eran fijos, tenia muchas opciones en cuanto a que estados debía elegir como puntos intermedios. Se desea estimar la ruta mas segura , como el costo de la póliza para cualquier jornada de la diligencia esta basada en una evaluación de seguridad del recorrido, la ruta mas segura debe ser aquella que tenga el costo total mas barato. ¿Cuál es la ruta que minimiza el costo total de la póliza ?
  • 12. SISTEMA DE CAMINOS Y LOS COSTOS DEL PROBLEMA DE LA DILIGENCIA
  • 13. Solución • Los cálculos se realizan en etapas dividiendo el problema en subproblemas. • Después, se considera por separado cada subproblema con el fin de reducir el número de operaciones de cálculo. • Se comienza con una pequeña porción del problema original y se encuentra la solución optima. • Luego, se agranda gradualmente el problema y se encuentra la solución óptima actual a partir de la que le precede , hasta resolver el problema original completo. • En cada problema aumentado se puede encontrar la solución óptima tomando en cuenta los resultados obtenidos en la interacción anterior.
  • 14. Arboles Binarios Un árbol impone una estructura jerárquica sobre una colección de objetos. Ejemplos claros de utilización de árboles se presentan tanto dentro como fuera del área de computación (índices de libros, árboles genealógicos, etc.); en Informática constituyen una de las estructuras más utilizadas, con aplicaciones que van desde los árboles sintácticos utilizados para la representación y/o interpretación de términos de un lenguaje o expresiones aritméticas, pasando por los arboles de activación de procedimientos recursivos, hasta la representación de datos que se desea mantener ordenados con un tiempo de acceso relativamente bajo. En general, se usarán árboles siempre que se quiera representar información jerarquizada, cuando esta converja en un solo punto. ¿Qué es un árbol binario de búsqueda? Un árbol binario no es más que una estructura de datos cuyos nodos pueden tener un hijo a la izquierda o a la derecha ( no más de 2). Por lo tanto un árbol binario de búsqueda no es más que un tipo de árbol binario cuya estructura de árbol se representa en informática.
  • 15. Estos árboles pueden realizar operaciones de: • Búsqueda : La búsqueda en un árbol binario de búsqueda consiste en acceder a la raíz del árbol, si el elemento a localizar coincide con éste la búsqueda ha concluido con éxito, si el elemento es menor se busca en el subárbol izquierdo y si es mayor en el derecho. Si se alcanza un nodo hoja y el elemento no ha sido encontrado es que no existe en el árbol. Estas búsquedas son bastantes eficientes teniendo un máximo de comparaciones en el rango de [log2(N+1)] y N • Insertado: La inserción es similar a la búsqueda y se puede dar una solución tanto iterativa como recursiva. Si tenemos inicialmente como parámetro un árbol vacío se crea un nuevo nodo como único contenido el elemento a insertar. Si no lo está, se comprueba si el elemento dado es menor que la raíz del árbol inicial con lo que se inserta en el subárbol izquierdo y si es mayor se inserta en el subárbol derecho. • Borrado: esta operación es más compleja y hay que tener en cuenta a borrar un nodo hija o padre el impacto que tendrá en la estructura del mismo.
  • 16. Árboles de búsqueda binario óptimos Si no vamos a modificar un árbol de búsqueda, y sabemos exactamente con qué frecuencia cada artículo será accesible, podemos construir un árbol binario de búsqueda óptimo, que es un árbol de búsqueda donde el coste medio de buscar un artículo (el esperado coste de búsqueda) se reduce al mínimo. Incluso si sólo tenemos estimaciones de los costos de búsqueda, este sistema puede acelerar considerablemente las búsquedas en promedio.
  • 17. El Problema del Vendedor Viajero Consiste en encontrar el circuito óptimo (en términos del viaje más corto) que deberá seguir un vendedor en un caso con n ciudades, en el que cada ciudad se visita exactamente una vez. Básicamente es una adaptación del Problema de Asignación que considera restricciones adicionales que garantiza la exclusión de subcircuitos en la solución óptima. Podemos considerar esto como una explicación: Eres vendedor y tienes que visitar varias ciudades de una sola vez. Digamos que unas 100, porque eres un vendedor muy ambicioso. ¿Ahora cómo vas a hacer eso? ¿Cuál es la ruta más corta que puede tomar entre esas 100 ciudades
  • 18. En realidad es un problema realmente difícil de resolver, casi imposible. Los informáticos lo llaman un problema NP-complejo. El Problema del Vendedor Viajero se vuelve exponencialmente más difícil de resolver a mayor cantidad de puntos, o ciudades, que el vendedor debe visitar. Ahora bien, si pensabas que el TSP era difícil, considera esto: ¿qué pasaría si no fuera solo un vendedor para el que necesitaras planificar las rutas? ¿Qué pasa si tienes varios vendedores, un equipo completo de ellos? Ese es un enigma aún más desafiante conocido como el problema de enrutamiento de vehículos (VRP, por sus siglas en inglés): el tema de la tesis de mi compañero. Por qué el vendedor viajero es importante Mientras trabajamos nerviosamente en todo este problema de enrutamiento de vendedores viajeros, tal vez estés pensando: ¿por qué debería importarme? Bueno, porque los TSP y los VRP están a tu alrededor. El problema en realidad se manifiesta con bastante claridad en la vida cotidiana. ¿Los mensajeros que entregan paquetes a su oficina? ¿Los camiones de reparto que te traen productos frescos de la tienda? ¿Los autobuses escolares que recogen y dejan a sus hijos?
  • 19. Camina alrededor de tu ciudad y verás a personas y vehículos lidiando con una situación de TSP o VRP. Lo que es fascinante de todo esto es lo crítico que es resolver el TSP y el VRP para el movimiento de bienes y servicios de un lugar a otro, y otro, y otro. Esto se vuelve especialmente crítico en áreas urbanas densas, donde el espacio es escaso y el tiempo incluso más estricto. Las empresas que invierten en algoritmos de optimización de rutas han informado de hasta un 40% de ahorro en lo que respecta al tiempo de conducción y los costos de combustible. No es de extrañar que los matemáticos hayan trabajado para resolver el problema de los vendedores itinerantes y el enrutamiento de vehículos durante siglos. El Problema del Vendedor Viajero es un hombre muy, pero muy viejo El TSP fue matemáticamente formulado por primera vez en 1800, por el matemático irlandés Sir William Rowan Hamilton y por el matemático británico Thomas Penyngton Kirkman. Más tarde, en la década de 1930, TSP fue notablemente estudiado por el matemático Karl Menger en Viena y Harvard, y luego promovido por Hassler Whitney y Merrill Flood en la Universidad de Princeton.
  • 20. A lo largo de los años, los informáticos y programadores han abordado el TSP y el VRP, lo que ha llevado a soluciones nuevas y mejoradas. Si está investigando la historia, la Universidad de Waterloo tiene un sitio web fantástico que profundiza en la historia de TSP y alberga una gran colección de casos de uso de TSP modernos, incluidos los récords mundiales de TSP y los juegos inspirados en TSP, muy interesante, ¿no?. El Problema del Vendedor Viajero está en todas partes El TSP y el VRP pueden parecer aplicables únicamente al transporte y la logística, pero lo desafío a que mire alrededor de su ciudad y encuentre más ejemplos. En mi experiencia, el Problema del Viajero Vendedor ha surgido cuando menos lo esperaba. Hay espacio para la optimización en muchas situaciones: desde encontrar belleza en el arte de TSP; a personas ocupadas con muchos recados para correr; a fanáticos Pokémon enloquecidos que necesitan una forma inteligente de llegar a cada Pokéstop de la ciudad. The Traveling Salesman está en todas partes, amigos. Y con las empresas de entregas cada vez más populares, parece que está aquí para quedarse.
  • 21. Conclusión Un problema de optimización que se pueda dividir en etapas y que sea dinámico en el tiempo puede resolverse por programación dinámica. Las soluciones se pueden ver de manera parcial. Si es posible se validan los resultados usando otros métodos de solución como programación lineal, no lineal, entera o teoría de redes. La Programación Dinámica es una técnica que permite la optimización de soluciones a problemas adaptandandolos a la metodología divide y vencerás, fraccionando el problema en subproblemas y solucionando a cada uno de ellos mediante el uso de la recursividad para luego combinar estas soluciones parciales para obtener la solución al problema. Cabe destacar que para que un problema se pueda resolver mediante la Programación Dinámica debe cumplir ciertas características para que pueda ser tratado como así. Conviene resaltar que a diferencia de la programación lineal, el modelado de problemas de programación dinámica no tiene una forma estándar. Así, para cada problema es necesario especificar cada uno de los componentes que caracterizan un problema de programación dinámica.
  • 22. Sin embargo un aspecto realmente destacable es la posibilidad de amplio campo de aplicación que posee la programación dinámica, que desde un turista queriendo viajar o la posibilidad de combinar objetos de una mochila para ahorrar espacio o también la planificación de programación de producción e inventarios y sin olvidarse de la gran importancia que posee la “Programación Dinámica” en la informática.