You are on page 1of 17

Análisis de Algoritmos ICI-522

Análisis de Algoritmos ICI-522

Sergio Hernández
PhD computer science

Universidad Católica del Maule.


shernandez@ucm.cl
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmos Voraces

La idea de los algoritmos voraces es encontrar la solución de


un problema mediante soluciones intermedias.
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmos Voraces

La idea de los algoritmos voraces es encontrar la solución de


un problema mediante soluciones intermedias.
Si bien las soluciones intermedias podrı́an ser las mejores,
estas soluciones son localmente óptimas.
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmos Voraces

La idea de los algoritmos voraces es encontrar la solución de


un problema mediante soluciones intermedias.
Si bien las soluciones intermedias podrı́an ser las mejores,
estas soluciones son localmente óptimas.
Los algoritmos voraces no siempre encuentran soluciones
óptimas, pero son útiles para algunos problemas.
Análisis de Algoritmos ICI-522
Algoritmos

Arboles de Expansión

Definición
El árbol de expansión T de un gráfo G es un sub–grafo de G que
contiene todos los vértices de G y no contiene ciclos.
Análisis de Algoritmos ICI-522
Algoritmos

Arboles de Expansión

Definición
El árbol de expansión T de un gráfo G es un sub–grafo de G que
contiene todos los vértices de G y no contiene ciclos.

Definición
Dado un grafo ponderado (G , w ) donde G = (V , E ) y w : E 7→ R,
un arbol de expansión mı́nima es un arbol de expansión en el
que la suma de los pesos w de las aristas es mı́nima.
Análisis de Algoritmos ICI-522
Algoritmos

Arboles de Expansión

a b c d

e f g

Figure: Grafo conexo con ciclos


Análisis de Algoritmos ICI-522
Algoritmos

Ejemplo

a b c d

e f g
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmo de Prim

El algoritmo de Prim construye un arbol visitando vértices de


manera iterativa hasta que se obtiene un árbol de expansión
mı́nima.
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmo de Prim

El algoritmo de Prim construye un arbol visitando vértices de


manera iterativa hasta que se obtiene un árbol de expansión
mı́nima.
Se comienza desde un vértice cualquiera y en cada iteración se
agrega la arista que tenga el mı́nimo peso y no complete un
ciclo.
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmo de Prim

El algoritmo de Prim construye un arbol visitando vértices de


manera iterativa hasta que se obtiene un árbol de expansión
mı́nima.
Se comienza desde un vértice cualquiera y en cada iteración se
agrega la arista que tenga el mı́nimo peso y no complete un
ciclo.
La complejidad computacional del algoritmo de Prim es O(V
log V).
Análisis de Algoritmos ICI-522
Algoritmos

Algoritmo Prim

Require: G = (V , E ), START NODE ∈ V


T ←∅
u ← START NODE
U ← {u}
while U 6= V do
(u, v ) ← arista menor costo, tal que u ∈ U y v ∈ V \ U
T = T ∪ {(u, v )}
U = U ∪ {v }
end while
return T
Análisis de Algoritmos ICI-522
Algoritmos

Problema de la Mochila
Las entradas del sistema son el conjunto de items
X = {x1 , . . . , xn }, los pesos de cada item W = {w1 , . . . , wn }
y el valor de cada item V = {v1 , . . . , vn } y wmax la capacidad
de la mochila.
Análisis de Algoritmos ICI-522
Algoritmos

Problema de la Mochila
Las entradas del sistema son el conjunto de items
X = {x1 , . . . , xn }, los pesos de cada item W = {w1 , . . . , wn }
y el valor de cada item V = {v1 , . . . , vn } y wmax la capacidad
de la mochila.
Análisis de Algoritmos ICI-522
Algoritmos

Problema de la Mochila
Las entradas del sistema son el conjunto de items
X = {x1 , . . . , xn }, los pesos de cada item W = {w1 , . . . , wn }
y el valor de cada item V = {v1 , . . . , vn } y wmax la capacidad
de la mochila.
Definición
Si hacemos xi sea una variable que indica la presencia del item i.
El problema de la mochila consiste en solucionar el siguiente
problema de optimización:

n
X
xi vi = F (X ) (1)
i
n
X
xi wi ≤ wmax (2)
i
Análisis de Algoritmos ICI-522
Algoritmos

Problema de la Mochila Entera

item 1 item 2 item 3 mochila

20

10 20 30 50 30

$ 60 $ 100 $ 120 $ 220


Análisis de Algoritmos ICI-522
Algoritmos

Problema de la Mochila Fraccional

item 1 item 2 item 3 mochila

20/30

20

10 20 30 50 10

$ 60 $ 100 $ 120 $ 240

You might also like