Programacion dinamica
-
Upload
david-valdiviezo -
Category
Documents
-
view
466 -
download
1
Transcript of Programacion dinamica
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
EXTENSIÓN PORLAMAR
PROGRAMACIÓN NO NUMÉRICA II
PROGRAMACION DINAMICA
RELIZADO:
Br. Valdiviezo David C.I:21.326.272
FACILITADOR:
Ing. Rodríguez Diógenes
Porlamar, Julio del 2013
INTRODUCCIÓN
En la actualidad los métodos o algoritmos de ordenamiento son de gran
importancia en la informática ya que nos permiten ordenar de manera
eficaz vectores, listas, arreglos que son estructuras de datos que nos
facilitan el manejo de grandes cantidades de datos alfanuméricos.
Los métodos de ordenamientos que trataremos son de tipo interno ya
que estos se almacenar en la memoria principal ya que el tiempo de
acceso a los elementos que la componen es la misma cantidad que
contenga el vector o matriz a resolver.
MÉTODO DE ORDENAMIENTO SHELL SORT
• El método de ordenamiento
Shell Sort fue desarrollado por
Donald Shell en 1959 y este
método consiste en comparar
los elementos con saltos de
mayor tamaño, pero con
incrementos de manera
decírsete y así los elementos
que dan ordenados de manera
mas eficiente.
EJEMPLO DE ORDENAMIENTO SHELL SORT
Deducir las secuencias parciales de clasificación por el método de Shell para ordenar de
manera ascendente la siguiente lista de números 6, 1 , 5, 2, 3, 4, 0.
Para iniciar este método de ordenamiento primero debemos dividir el numero total de elementos que
componen el vector entre dos y en este caso seria 6/2= 3 lo cual indica el numero de saltos para realizar el
recorrido del vector
Recorrido Salto Lista Recorrida Intercambio
1 3 2,1,4,5,0,3,5,6 (6,2),(5,4),(6,0),(2,0)
2 3 0,1,4,2,3,5,6 (2,0)
3 3 0,1,4,2,3,5,6 No hay intercambio
4 3 0,1,2,3,4,5,6 (4,2),(4,3)
5 3 0,1,2,3,4,5,6 No hay intercambio
MÉTODO DE ORDENAMIENTO POR BURBUJA
• El método de ordenamiento por burbuja es uno de los mas conocidos
ya que es fácil de emplear y no requiere de gran conocimiento para el
desarrollo del mismo y por ende es un de los métodos de
ordenamiento menos eficientes que existe en la actualidad.
• El ordenamiento por burbuja o ordenamiento por hundimiento funciona
revisando cada elemento del vector que va hacer ordenado, con el
siguiente intercambiando posiciones si los elementos esta ordenados
de manera equivocada
EJEMPLO DE ORDENAMIENTO POR
BURBUJA • Ordenar de manera accedente un vector de 5 elemento.
80 55 35 21 15
80 55 35 21 15
55 80 35 21 15
55 35 80 21 15
55 35 21 80 15
55 35 21 15 80
35 55 21 15 80
35 21 55 15 80
35 21 15 55 80
21 35 15 55 80
15 21 35 55 80
Se necesitaron 4 comparaciones (n-1) para colocar el valor mayor de ultimo
Se inicia comparando los elementos del vector desde el lado izquierdo para así ordenarlos de manera accedente
MÉTODO DE ORDENAMIENTO MERGER
SORT 2
• Este método de ordenamiento fue desarrollado por John Von
Neumann en el año 1945 este algoritmo o método de ordenamiento
es similar a Quick Sort ya que estos dos métodos emplean para la
solución de los problemas de ordenamiento la técnica de divide y
vencerás la cual se basa en la descomposición del vector o lista a
ordenar en bloques o partes mas pequeñas para así facilitar el
trabajo de ordenamiento del vector o lista.
EJEMPLO DE ORDENAMIENTO MERGE SORT 2 • Este método se basa en la técnica de divides y vencerá por lo cual el vector se va
descomponiendo en partes mas pequeñas para que así sea mas fácil la solución del siguiente
problema.
MÉTODO DE LA MOCHILA
El problema de la mochila o algoritmo
de la mochila es un problema de
optimización combinatoria es el único
algoritmo. La función de este algoritmo
consiste en llenar una mochila de
manera que el contenido sea el máximo
posible. Este problema ha sido resuelto
habitualmente mediante programación
lineal entera.
EJEMPLO DE METODO DE LA MOCHILA
• El club de baloncestos Unicaja de Málaga quiere contratar un jugador nuevo; para ello, ha
sondeado el mercado y ha encontrado a 5 jugadores que pueden adaptarse a lo requerido por
el entrenador. Para reforzar el equipo el unicaja dispone de un presupuesto máximo de 50.000
€/mes. En la siguiente tabla aparece una relación de los candidatos a ser fichados junto con su
aportación esperada y el sueldo que percibirían:
Como puede apreciarse en este caso, estamos aplicando elproblema de la mochila a una solución de índole económico.Teniendo como intención es elegir los mejores jugadores, cuyaaportación es mayor y proporcionan una mayor utilidad para elunicaja, optimizando también el desembolso que conlleva unanueva contratación. Sin olvidar la restricción de 50.00€.
Donde la función objetivo es la suma de las utilidades que reporta cada jugador y representa, portanto, la utilidad que percibirá Unicaja en la función de la combinación de jugadores que elija,puesto que se trata de la utilidad del club de baloncesto le interesa que sea la mayor posible. Deahí que el objetivo sea maximizar la función.
En cuanto a la restricción, es la restricción presupuestaria del equipo, es decir, son los 50.00€mensuales de los que dispone unicaja para remunerar a sus nuevos jugadores.
Si llamamos xi al jugador “i” el problema a resolver es:
Para resolverlo utilizaremos las dos formas vistas. Primero utilizando elplanteamiento “lógico”; escogeremos como criterio el ratio “Aportación/Sueldo”.Ya que tenemos en cuenta ambos factores en la decisión: mientras más alto seael ratio, preferible será contratar a ese jugador. Reconsideramos el sueldo,dividiendo por 1.000 para hacer el ratio más operativo:
Como se ha mencionado escogeremos aquellos jugadores con mejor ratio hasta agotar el presupuesto.Jugador 5: ratio = 0,58333, sueldo = 12.000 €Jugador 4: ratio = 0,41666, sueldo = 36.000 €Como el total disponible era de 50.000 € y tenemos acumulado 48.000 € no hay más jugadores cuyo sueldo pueda entrar en presupuesto, así que este es nuestro resultado definitivo de este método.
Por otra parte, resolviendo obtenemos la misma solución contratando a lo0s jugadores 3 y 5. La utilidad para el equipo de los jugadores nuevo al equipo 22.