Está en la página 1de 44

ALGORITMO DE DIJKSTRA

Y
ALGORITMO DE PRIM

MATEMÁTICA DISCRETA

13

1
PROPÓSITO
RESUELVE EJERCICIOS APLICANDO EL ALGORITMO DE
DIJKSTRA Y ALGORITMO DE PRIM.
INTRODUCCIÓN
Dado un grafo con etiquetas no negativas, se trata de calcular el
costo del camino mínimo desde un vértice dado al resto . La utilidad
de un procedimiento que solucione esta cuestión es clara: el caso
más habitual es disponer de un grafo que represente una distribución
geográfica, donde las aristas den el costo (en precio, en distancia o
similares) de la conexión entre dos lugares y sea necesario averiguar
el camino más corto para llegar a un punto partiendo de otro (es
decir, determinar la secuencia de aristas para llegar a un nodo a
partir del otro con un costo mínimo). La solución más eficiente a este
problema es el denominado algoritmo de Dijkstra, en honor a su
creador, E.W. Dijkstra. Formulado en 1959
GRAFOS PONDERADOS

GRAFO NO DERIGIDO ETIQUETADO GRAFO DERIGIDO ETIQUETADO


S
O
L
N
Supongamos queA todas las calles de la ciudad no tienen la misma longitud
O
Dados dos distritos.
S Si cada arista representa una calle que los conecta,
T
¿cuál es el camino
C mas corto entre el distrito Z y X
O
ConsideramosOel grafo asociado al plano, que tiene un vértice en cada cruce de
D
calles y cuyasNarista son los tramos de calle entre intersecciones, según indica la
A
figura. E
S
X
L
C
A
I
S
Z
C
E
O
S
N
H
E
A
X
N
C
D
E
X
S
E
H
R SIN EMBARGO A
D
NO TODAS LAS CONEXIONES HAN DE SER DE IGUAL IMPORTANTES N
E
D
I
E
ALGORITMO DE DIJKSTRA

ETIQUETAD0
Determina la mínima distancia entre A y H

1 5
A C F

2 2 3
3

B 1
D
H
5 4

1
G 4 E
a) Determine la matriz de Dijkstra (ETIQUETADO) de “A” hasta “H”
b) Determine el subgrafo del camino más corto.

c) Determine el peso.
4 D
6
A
3 1
4
2 Y
F
X C
2 3
5
2 3

B 4
E
a) Determine la matriz de Dijkstra (ETIQUETADO) de “A” hasta “I”
b) Determine el subgrafo del camino más corto.
c) Determine el peso
6
b g
4
7
16
2 8

a 10
c f
16
z
12

5 10 3
4
5

d 15 e
a) Determine la matriz de Dijkstra (ETIQUETADO) de “A” hasta “I”
b) Determine el subgrafo del camino más corto.

c) Determine el peso.
Del siguiente grafo.

a) Determine la matriz de Dijkstra (ETIQUETADO) de “X” hasta “Y”.


b) Determine el subgrafo del camino más corto aplicando el algoritmo de Dijkstra.
7
Q 6
R P

1
3 5
5 2
5

9 8 1 5
X N T V Y

2
5 6 3
6

D B

4 C 4
4
C F
a) Determine la matriz de Dijkstra de “A” 1
3 1 3
hasta “G”
b) b) Determine el subgrafo del camino A
más corto aplicando el Algoritmo de
2
D G
Dijkstra.
1 2
3 5
c) Determine el peso.

B 5
E
[1,A]1
[5,C]2

[0,-]0
[5,D]3
[4,C]2 [8,F]3

[4,B]2
[11,E]3
[6,D]3

[1,A]1 [6,B]2
5
A B

13 3

6
D C
5
3
4
2

6
E F
14
1

H 4 G
4
B E

2 6 3

4
A 3
D G
5
3
7
C 4
F
Determina la mínima distancia entre a y J

b f

a
c e j

d g
ALGORITMO DE PRIM
Árbol de expansión mínima
Un árbol de expansión mínima es aquel que conecta
todos los nodos de una red, que están en una distancia
mínima y que no contiene un ciclo.
Debemos hallar el conjunto de aristas que permitan la
conexión de todos los vértices del grafo de forma que
la suma de los valores asociados a cada arista sea
mínimo.
PASOS PARA ELABORAR UN ÁRBOL DE EXPANSIÓN MÍNIMA
1. Seleccionar cualquier nodo de la red o indicado según el
problema.
2. Colocar este nodo al más cercano que minimice la
distancia y proseguir considerando todos los nodos que
estén conectados, escogiendo de igual manera el que
tenga la mínima distancia, hasta incluir todos los nodos. Si
hay empate se selecciona uno arbitrariamente, un empate
sugiere que puede haber más de una solución óptima.
Esquema del Algoritmo De Prim
EJEMPLO 01
De todos los vértices marcados, cual es el mínimo costo a un vértice no marcado

9 3
2

1 4
A F C

8 6
5

E 7 D
B

3
9
2

A 4
F C
1

8
6 5

7
E D
B

3
2

A
F C
1

6 5

E D
Determine el árbol recubridor de coste mínimo utilizando Prim, inicia en el vértice “0 ” y el peso

9
A D

8
5
8 10 4

7 9 6
O B E G

10 10
5
4
7

C 9 F

ÁRBOL DE EXPANSIÓN MÍNIMA


ÁRBOL DE EXPANSIÓN MÍNIMA

A D

5
4

7 6
O B E G

5
4

C 9 F
7 20 J
B E
3 11
3
6
H
A 6 9
8
F
1 D 3 13
7
1
2
C
5 G
I
4
a) Determine el árbol de costo mínimo utilizando el algoritmo de Prim empezando de “C” (2 puntos)

b) El peso(costo total) (1 punto)


PESO =37

PESO =37
EJEMPLO 03

La potabilización de agua de Sedam


requiere suministrar agua a varios distritos
de Huancayo. En el siguiente gráfico se
presenta los diferentes puntos donde debe
dar el abastecimiento.
Se explicará con este problema de forma
breve y concisa de como determinar la
forma más económica de suministrar agua a
todos los distritos a través de la expansión
mínima.
60
48 30
40
12 30

6 20 15
8 20
16
24 10 15
4 10
6
3
2 4 12 5 10
8
3
2 5
2 4
1
1
60
30

12 30

6 20 15

10
15
4 10
6

3
2 5 10

3
2 5

2
4
1
1
A 4
G

8 1
3

B
F
13 2
2 D 4
3 1
C E
15
3
F E
1 C
6
3 1
2 5
3
G H 7
D
2 7
5
4
2
A B
2
A

23
21

3
9
C 13 B
7

5 6 11
19

2 15
I 17 G
D E
10 8
13
16

H
2
3

1 4

6 5

a) Determine el árbol recubierto de coste mínimo


utilizando el algoritmo de Prim empezando de “1”

b) El peso
2 3

b 4

3 5
4
E
9 C
5 1 4
B
14 K
2
7 3
6
19 L
4 F
10
2
8
D J
A 3 9
8
17 18
9
I
a) Determine el árbol de costo mínimo utilizando el algoritmo de Prim empezando de “C”

b) El peso(costo total)
Digamos que tenemos 7 casas, las cuales están representadas
por letras del alfabeto, queremos configurar líneas telefónicas
entre estas casas. Los bordes (aristas) entre la casas
representan el costo de establecer la línea entre dos casas.
Determina el costo mínimo. Siguiendo el algoritmo de Prim.
Costo total 39
CONCLUSIONES
1. Un modelo de red es muy utilizado para resolución de
muchos problemas comerciales (de conexión de
tubería, cableado, transporte, entre otros).
2. Una de las grandes diferencias del modelo de red de
árbol de expansión mínima con respecto a otros
modelos de redes es que tiene un inicio pero no un
final, puesto que en este modelo todos los nodos son
un destino.
• Identifica el número de proposiciones verdaderas
• 1.Es un grafo simple()
• 2.Tiene aristas paralelas()
• 3.El grado del vértice V1 es 6()
• 4. El vértice V5 y V1 son adyacentes()

También podría gustarte