Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Algoritmos Voraces , Ejercicios de Ingeniería de Telecomunicaciones

Asignatura: programación, Profesor: Manuel Rubio, Carrera: Ingeniería de Tecnologías y Servicios de Telecomunicación, Universidad: UPM

Tipo: Ejercicios

2017/2018

Subido el 04/06/2018

mrx13
mrx13 🇪🇸

4.7

(3)

2 documentos

1 / 65

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 5: Algoritmos Voraces
Dise˜no y An´alisis de Algoritmos
Grado en Ingenier
´
ıa Inform´
atica
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41

Vista previa parcial del texto

¡Descarga Algoritmos Voraces y más Ejercicios en PDF de Ingeniería de Telecomunicaciones solo en Docsity!

Tema 5: Algoritmos Voraces

Dise˜no y An´alisis de Algoritmos

Grado en Ingenier´ıa Inform´atica

Tema 5: Algoritmos voraces Contenidos

Contenidos

(^1) Introducci´on

2 Ejemplos b´asicos

(^3) Cambio de monedas

4 Problema de la mochila

(^5) Problemas de planificaci´on de tareas

(^6) Patrones ´optimos de mezcla

(^7) Arbol de recubrimiento de coste m´´ ınimo

(^8) Caminos m´ınimos desde un nodo

Tema 5: Algoritmos voraces Introducci´on

Algoritmos voraces

Los algoritmos voraces se suelen aplicar a problemas de optimizaci´on Maximizar o minimizar una funci´on objetivo

Suelen ser r´apidos y f´aciles de implementar

Exploran soluciones “locales”

No siempre garantizan la soluci´on ´optima

Tema 5: Algoritmos voraces Introducci´on

Algoritmos voraces

Son algoritmos que siguen una heur´ıstica mediante la cual toman decisiones ´optimas locales en cada paso, de manera muy eficiente, con la esperanza de poder encontrar un ´optimo global tras una serie de pasos

Se aplican, sobre todo, a problemas duros, desde un punto de vista computacional Ejemplo: problema del viajante (NP-completo) Heur´ıstica: “escoge la ciudad m´as pr´oxima no visitada a´un”

Para ciertos problemas se puede demostrar que algunas estrategias voraces s´ı que logran hallar un ´optimo global de manera eficiente

Tema 5: Algoritmos voraces Introducci´on

Elementos

Conjunto de candidatos C : la soluci´on se construir´a con un subconjunto de estos candidatos

Funci´on de selecci´on: selecciona el candidato “local” m´as id´oneo

Funci´on de factibilidad: comprueba si un candidato es factible

Funci´on objetivo: determina el valor de la soluci´on (funci´on a optimizar)

Funci´on soluci´on: determina si el subconjunto de candidatos ha alcanzado una soluci´on

Tema 5: Algoritmos voraces Introducci´on

Esquema general

La t´ecnica voraz funciona por pasos: Partimos de una soluci´on vac´ıa y de un conjunto de candidatos a formar parte de la soluci´on En cada paso se intenta a˜nadir el mejor de los candidatos restantes a la soluci´on parcial Una vez tomada la decisi´on, no se puede deshacer Si la soluci´on ampliada es v´alida ⇒ candidato incorporado Si la soluci´on ampliada no es v´alida ⇒ candidato desechado

El algoritmo acabar´a cuando el conjunto de elementos seleccionados constituya una soluci´on o cuando no queden elementos sin considerar

Tema 5: Algoritmos voraces Ejemplos b´asicos

Ejemplos b´asicos

Tema 5: Algoritmos voraces Ejemplos b´asicos

Camino m´as corto - 1

Camino m´as corto - 1 Encontrar el camino m´as corto de v 0 a vn, donde solo hay caminos entre v´ertices adyacentes (vi− 1 y vi , para i = 1,... , n).

5 1 3

10 9 2 6

4

7

v 0 v 1 v 2 v 3

¿Funci´on de selecci´on? M´etodo voraz: en cada paso se coge el arco de menor longitud 5 1 3

10 9 2 6

4

7

v 0 v 1 v 2 v 3

Soluci´on optima: 1 + 2 + 4 = 7 Se demuestra que la estrategia es ´optima (por contradicci´on)

Tema 5: Algoritmos voraces Ejemplos b´asicos

Camino m´as corto - 2

¿Funci´on de selecci´on? M´etodo voraz: en cada paso se coge el arco de menor longitud

v0,1 v3, v1,

v2,

v1,

v1,

v1, v2,

v2,

3 1 5

7

13 1

2

3 2 9 10 5

7

4

(^62)

Longitud de la soluci´on voraz: 1 + 9 + 13 = 23 (v 0 , 1 , v 1 , 2 , v 2 , 1 , v 3 , 1 )

Tema 5: Algoritmos voraces Ejemplos b´asicos

Camino m´as corto - 2

v0,1 v3, v1,

v2,

v1,

v1,

v1, v2,

v2,

3 1 5

7

13 1

2

3 2 9 10 5

7

4

(^62)

Se demuestra que la estrategia no es ´optima (contraejemplo) Longitud de la soluci´on optima: 3 + 3 + 1 = 7 (v 0 , 1 , v 1 , 1 , v 2 , 2 , v 3 , 1 )

Tema 5: Algoritmos voraces Cambio de monedas

Cambio de monedas

Problema del cambio de monedas Se dispone de n monedas de euro con valores de 1,2,5,10,20 y 50 c´entimos de euro, 1 y 2 euros.

Dada una cantidad X de euros, devolver dicha cantidad con el menor n´umero posible de monedas

Ejemplo: devolver 2.24e Soluci´on: 4 (2 + 0,20 + 0,02 + 0,02)

Tema 5: Algoritmos voraces Cambio de monedas

Cambio de monedas

Conjunto de candidatos: Todos los tipos de monedas Funci´on soluci´on: Conjunto de monedas que suman X , {n 1 , n 2 ,... , n 8 }, ni = n´umero de monedas de tipo i Funci´on de factibilidad: Si ∑ 8 i=1 ni^ >^ X^ , el conjunto obtenido no podr´a ser soluci´on Funci´on objetivo: Minimizar la cardinalidad de las soluciones posibles Funci´on de selecci´on: Moneda de valor m´as alto posible, que no supere el valor que queda por devolver

Tema 5: Algoritmos voraces Problema de la mochila

Problema de la mochila

Tema 5: Algoritmos voraces Problema de la mochila

Problema de la mochila - 1

Problema de la mochila - Versi´on 1 Se tiene un conjunto de n objetos, cada uno con un peso pi , y una mochila con capacidad C.

p (^1) p (^2)

p (^3) C

Maximizar el n´umero de objetos que se pueden introducir en la mochila sin sobrepasar la capacidad C