Monticulos, Programacion Dinamica
Monticulos, Programacion Dinamica
Monticulos, Programacion Dinamica
Algoritmos
Título: MONTÍCULOS Y
PROGRAMACIÓN DINÁMICA
INTEGRANTES:
SUNTAXI CRISTIAN
VAQUILEMA LUIS
VELA SAUL
Algoritmos
MONTÍCULOS
Es un tipo especial de Árbol con información de un conjunto ordenado que se implementan
sobre vectores. Su característica principal es que cada nodo tiene un valor mayor o igual que el
montículo, de manera que los subárboles de un nodo son intercambiables. (Demonics, Tic
en la UNED (2016))
un comparador a medida.
Universidad Central del Ecuador
Búsquedas el máximo, mínimos, o cualquier otro factor a tener en cuenta en la
RemoveTop() – Elimina un ítem del tope (El mayor o menor según sea el caso) y
lo retorna.
2
Algoritmos
Heapify(array, from) - Mantiene la propiedad del montículo (Mayor o menor
item en el tope).
Left(rootIndex) – Calcula el índice del hijo izquierdo a partir del índice del
padre
(rootIndex * 2) + 1
Right(rootIndex) – Calcula el índice del hijo derecho a partir del índice del padre
(rootIndex * 2) + 2
derecho)
(rootIndex – 1) / 2
elementos:
Un vector T [1.n].
2
Algoritmos
El algoritmo de ordenación por montículos o Heap Sort recorre el conjunto de elementos
dicho elemento. Una vez terminado este proceso, se inicia el proceso de ordenación
cuenta que el proceso de organizar el montículo en el peor caso solamente tiene que hacer
intercambios sobre una sola línea de elementos desde la raíz del árbol hasta alguna de las
Flotar: reubica el elemento i-esimo del vector en caso de que este sea mayor que
Hundir: reubica el elemento i-esimo del vector en caso de que éste sea menor que
alguno de sus hijos. En tal caso, intercambia su valor por el del mayor de sus hijos
(montículo de máximos).
2
Algoritmos
ObtenerCima: devuelve la cima del montículo, la elimina del mismo y
Programación Dinámica
“Es una secuencia de decisiones óptima toda subsecuencia ha de ser también óptima”.
(Bellman en 1957)
programación informático, puesto que claramente se puede trabajar con ella, pero su
origen es antaño, puesto que la programación dinámica nace con la computación y es una
etapas sucesivas donde se debe minimizar el coste total de dichas decisiones. En cada
etapa se valora no sólo el coste actual de tomar una decisión sino los costes futuros que se
Etapas: k
2
Algoritmos
Decisiones en cada etapa: uk
podríamos tomar una decisión sobre x 1, luego sobre x 2, etc. Una sucesión optimal de
correspondiente función objetivo. En el caso del camino mínimo, una forma de encontrar
ese camino mínimo desde un vértice i a otro j en un grafo dirigido G, es decidiendo que
vértice debe ser el segundo, cual el tercero, cual el cuarto, etc. hasta que alcanzáramos el
Dado un estado, la política óptima para las siguientes etapas no depende de la política
La decisión de óptima inmediata sólo depende del estado en el que se está, no de cómo se
Una vez conocida la solución óptima global, cualquier solución parcial que involucre sólo
1
Universidad Politécnica de Comillas (Ramos Andrés, 2011)
2
Guerequeta y Vallecilla 1998
2
Algoritmos
Todo subconjunto de una solución óptima es a su vez una solución óptima para un
problema parcial.3
caracterizando está en términos de la política óptima para un problema similar, pero con
n-1 etapas. Por este motivo comenzamos nuestra exposición analizando el método de la
1. Variables independientes, que son las variables manipulables para el control del
proceso.
2. Variables dependientes, que sirven para medir y describir el estado del proceso en
3. Variables producto, que se usan para indicar y medir la calidad de la tarea que realiza
el sistema de control, y
4. Ruidos, que son variables incontrolables que dependen del ambiente en el que el
3
Universidad Politécnica de Comillas (Ramos Andrés, 21011)
2
Algoritmos
El problema general del control optimal de un proceso consiste en determinar la forma en
de las fluctuaciones que los ruidos, o los cambios de parámetros, puedan causar. Las
variables producto se usan para describir el índice de eficacia del control del sistema. Así
de tiempo t por medio de un conjunto finito de cantidades (x 1 (t), x 2 (t), x n (t)). Estas
cantidades se conocen como las variables de estado del sistema, y constituyen las
componentes del vector de estado del sistema: x(t). La relación entre los cambios del
parámetro tiempo y las variables de estado del sistema, se establece mediante una sencilla
Universidad Central
y útil hipótesis como es que ladel Ecuador
derivada del vector de estado, dx/dt, solo dependa del
estado del sistema en curso y no de su historia anterior. Esta hipótesis básica lleva a una
caracterización matemática del proceso por medio de una ecuación diferencial vectorial,
En esa ecuación m(t) nota el vector de control, y f es una función vectorial de las
condición, g(m) ≤ 0 que refleja las restricciones que el control del sistema tenga. La
proceso que debemos controlar, determinar la ley de control, o sucesión, tal que el
2
Algoritmos
conjunto de índices de eficacia, previamente fijado, sea óptimo. A veces, las variables de
estado de un sistema son todas accesibles para medirlas y observarlas. Para los sistemas
lineales que tienen esta característica, aun en presencia de ruido, puede tratarse
directamente de determinar la ley de control optimal como una función de las variables
de estado. Sin embargo, es bastante frecuente que las variables de estado no sean todas
como una función de las mejores estimaciones de las variables de estado, que se calculan
a partir de las señales de salida del sistema que se hayan medido. Por tanto, en el caso
de estimación optimal.
Universidad Central
estado y del diseño del sistemadel Ecuador
por medio de técnicas basadas en su representación como
desde los métodos clásicos del cálculo de variaciones, a las técnicas numéricas de
En todos los casos, el propósito es encontrar la ley de control optimal tal que dado el
funcional del índice de eficacia del sistema, lo optimice. Pero es muy significativo que
2
Algoritmos
los tres métodos tienen en común el uso de principios variacionales: Cada uno de estos
tres métodos está íntimamente ligado a alguna formulación bien conocida de la Mecánica
clásica. Los primeros, con la ecuación de Euler-Lagrange, los segundos con el Principio
según el cual un problema difícil de resolver, esta encajado en una clase de problemas
Universidad
más simples Central del
de resolver, lo que Ecuador
permite encontrar una solución al problema original.
algoritmos que resuelvan eficientemente problemas por lo que, una vez que la hemos
el punto de vista del diseño de su control optimal para, después, presentar el Principio de
Bibliografía
2
Algoritmos
Ramos, A. (2011). Programación Dinámica (DP). Madrid: Universidad Politécnica de
Comillas.
magia,programagic.http://programagic.blogspot.com/2016/11/heaps-monticulos.html
Programacion.http://jorgep.blogspot.com/2010/09/ordenacion-por-monticulos-heap-sort.html