You are on page 1of 32

Узунов А.Д.

АИ-193
17 Вариант.

1 2 3 4 5 6 7 8
1 0 6 2 4 ∞ ∞ ∞ ∞
2 6 0 ∞ ∞ 7 3 ∞ ∞
3 2 ∞ 0 8 ∞ 5 ∞ 4
4 4 ∞ 8 0 1 ∞ ∞ ∞
5 ∞ 7 ∞ 1 0 ∞ 4 ∞
6 ∞ 3 5 ∞ ∞ 0 6 ∞
7 ∞ ∞ ∞ ∞ 4 6 0 5
8 ∞ ∞ 4 ∞ ∞ ∞ 5 0

1. Построить с помощью алгоритма Дейкстры кратчайший путь из любой


вершины графа по вариантам заданий

Алгоритм Дейкстры

# create class Graph for representation and calculations


class Graph():

# init method
def __init__(self, vertices):
self.vertices = vertices
self.graph = [[0 for column in range(vertices)]
for row in range(vertices)]

def printRes(self, dist):


print("Distance from source")
for node in range(self.vertices):
print(node, dist[node])

# A utility function to find the vertex with

# minimum distance value, from the set of vertices


# not yet included in shortest path tree
def minDistance(self, dist, sptSet):

# Initialize minimum distance for next node


min = float('inf')

# Search not nearest vertex not in the


# shortest path tree
for v in range(self.vertices):
if dist[v] < min and not sptSet[v]:
min = dist[v]
min_index = v

return min_index

# Function that implements Dijkstra's single source

# shortest path algorithm for a graph represented


# using adjacency matrix representation
def dijkstra(self, src):

dist = [float('inf')] * self.vertices


dist[src] = 0
sptSet = [False] * self.vertices

for cout in range(self.vertices):


# Pick the minimum distance vertex from
# the set of vertices not yet processed.
# u is always equal to src in first iteration
u = self.minDistance(dist, sptSet)

# Put the minimum distance vertex in the


# shortest path tree
sptSet[u] = True

# Update dist value of the adjacent vertices


# of the picked vertex only if the current
# distance is greater than new distance and
# the vertex in not in the shortest path tree
for v in range(self.vertices):
if self.graph[u][v] > 0 and not sptSet[v] and dist[v] >
dist[u] + self.graph[u][v]:
dist[v] = dist[u] + self.graph[u][v]

self.printRes(dist)

g = Graph(8)
g.graph = [[0, 6, 2, 4, 0, 0, 0, 0],
[6, 0, 0, 0, 7, 3, 0, 0],
[2, 0, 0, 8, 0, 5, 0, 4],
[4, 0, 8, 0, 1, 0, 0, 0],
[0, 7, 0, 1, 0, 0, 4, 0],
[0, 3, 5, 0, 0, 0, 6, 0],
[0, 0, 0, 0, 4, 6, 0, 5],
[0, 0, 4, 0, 0, 0, 5, 0]
]

g.dijkstra(0)
Псевдокод алгоритма Дейкстры

Dijkstra(G, s) → (pred, dist)


//Input: G = (V,E) - graph, s - starting node
//Output: pred - array of size |V | such that pred[i] is the predecessor of node i in the shortest path
from s, dist - array of size |V | such that dist[i] is the length of the shortest path calculated from
node s to i
1 pred ← CreateArray(|V |)
2 dist ← CreateArray(|V |)
3 pq ← CreatePQ()
4 foreach v in V do
5 pred[v]←−1
6 if v ≠ s then
7 dist[v]←∞
8 else
9 dist[v] ← 0
10 InsertInPQ(pq, v, dist[v])
11 while SizePQ(pq) ≠ 0 do
12 u ← ExtractMinFromPQ(pq)
13 foreach v in AdjacencyList(G, u) do
14 if dist[v] > dist[u] + Weight(G, u, v) then
15 dist[v] ← dist[u] + Weight(G, u, v)
16 pred[v] ← u
17 UpdatePQ(pq, v, dist[v])
18 return (pred, dist)

2. Показать графически ход построения кратчайшего пути по алгоритму Дейкстры,


используя процедуру Dijkstra(G, s)

Изображение Вершины деревьев Остальные


VT вершиныV-VT
1(-,∞) 2(-,∞) 3(-,∞)
4(-,∞) 5(-,∞) 6(-,∞)
7(-,∞) 8(-,∞)

1(-,0) 2(1,6) 3(1,2) 4(1,4)


3(1,2) 4(3,2+8) 6(3,2+5)
8(3,2+4)

4(1,4) 3(4,4+6) 5(4,4+1)

5(4,5) 2(5,5+7) 7(5,5+4)

2(1,6) 5(2,6+7) 6(2,6+3)


7(5,9)

8(3,6) 7(8,6+5)

6(3,7) 7(6,7+6)

7(5,9)
3. Показать ход построения матрицы расстояний по алгоритму Флойда
Алгоритм Флойда

# Floyd Algorithm in python


# INF variable as infinity
INF = float('inf')

# Our floyd algorithm function


def floyd(vertex, adjacency_matrix):
# calculating all pair shortest path
for k in range(0, vertex):
for i in range(0, vertex):
for j in range(0, vertex):
# relax the distance from i to j by allowing vertex k as in-
termediate vertex
# consider which one is better, going through vertex k or the
previous value
adjacency_matrix[i][j] = min(adjacency_matrix[i][j], adja-
cency_matrix[i][k] + adjacency_matrix[k][j])

# pretty print the graph


# o/d means the leftmost row is the origin vertex
# and the topmost column as destination vertex
print("o/d", end='')
for i in range(0, vertex):
print("\t{:d}".format(i + 1), end='')
print()
for i in range(0, vertex):
print("{:d}".format(i + 1), end='')
for j in range(0, vertex):
print("\t{:d}".format(adjacency_matrix[i][j]), end='')
print()

# Our graph in matrix representation


adjacency_matrix = [[0, 6, 2, 4, INF, INF, INF, INF],
[6, 0, INF, INF, 7, 3, INF, INF],
[2, INF, 0, 8, INF, 5, INF, 4],
[4, INF, 8, 0, 1, INF, INF, INF],
[INF, 7, INF, 1, 0, INF, 4, INF],
[INF, 3, 5, INF, INF, 0, 6, INF],
[INF, INF, INF, INF, 4, 6, 0, 5],
[INF, INF, 4, INF, INF, INF, 5, 0]
]

floyd(8, adjacency_matrix)
Псевдокод алгоритма Флойда

Алгоритм Floyd (W [l..n, l..n])


// Входные данные: Весовая матрица W графа
// Выходные данные: Матрица длин кратчайших путей D
D ← W //Не требуется, если W может быть перезаписана
for k ←1 to n do
for i ←1 to n do
for j ←1 to n do
D[i,j] ←min{D[i,j], D[i,k]+D[k,j]}
return D

Построение кратчайшего пути

i = 0, j = from 0 to 8
d0,0 0 = min(d0,0+d0,0 d0,0)= min(0,0)= 0
d0,1 0 = min(d0,0+d0,1 d0,1)= min(6,6)= 6
d0,2 0 = min(d0,0+d0,2 d0,2)= min(2,2)= 2
d0,3 0 = min(d0,0+d0,3 d0,3)= min(4,4)= 4
d0,4 0 = min(d0,0+d0,4 d0,4)= min(∞,∞)= ∞
d0,5 0 = min(d0,0+d0,5 d0,5)= min(∞,∞)= ∞
d0,6 0 = min(d0,0+d0,6 d0,6)= min(∞,∞)= ∞
d0,7 0 = min(d0,0+d0,7 d0,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, ∞, ∞, 7, 3, ∞, ∞]
[2, ∞, 0, 8, ∞, 5, ∞, 4]
[4, ∞, 8, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 1, j = from 0 to 8
d1,0 0 = min(d1,0+d0,0 d1,0)= min(6,6)= 6
d1,1 0 = min(d1,0+d0,1 d1,1)= min(12,0)= 0
d1,2 0 = min(d1,0+d0,2 d1,2)= min(8,∞)= 8
d1,3 0 = min(d1,0+d0,3 d1,3)= min(10,∞)= 10
d1,4 0 = min(d1,0+d0,4 d1,4)= min(∞,7)= 7
d1,5 0 = min(d1,0+d0,5 d1,5)= min(∞,3)= 3
d1,6 0 = min(d1,0+d0,6 d1,6)= min(∞,∞)= ∞
d1,7 0 = min(d1,0+d0,7 d1,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, ∞, 0, 8, ∞, 5, ∞, 4]
[4, ∞, 8, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 2, j = from 0 to 8
d2,0 0 = min(d2,0+d0,0 d2,0)= min(2,2)= 2
d2,1 0 = min(d2,0+d0,1 d2,1)= min(8,∞)= 8
d2,2 0 = min(d2,0+d0,2 d2,2)= min(4,0)= 0
d2,3 0 = min(d2,0+d0,3 d2,3)= min(6,8)= 6
d2,4 0 = min(d2,0+d0,4 d2,4)= min(∞,∞)= ∞
d2,5 0 = min(d2,0+d0,5 d2,5)= min(∞,5)= 5
d2,6 0 = min(d2,0+d0,6 d2,6)= min(∞,∞)= ∞
d2,7 0 = min(d2,0+d0,7 d2,7)= min(∞,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, ∞, 8, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 3, j = from 0 to 8
d3,0 0 = min(d3,0+d0,0 d3,0)= min(4,4)= 4
d3,1 0 = min(d3,0+d0,1 d3,1)= min(10,∞)= 10
d3,2 0 = min(d3,0+d0,2 d3,2)= min(6,8)= 6
d3,3 0 = min(d3,0+d0,3 d3,3)= min(8,0)= 0
d3,4 0 = min(d3,0+d0,4 d3,4)= min(∞,1)= 1
d3,5 0 = min(d3,0+d0,5 d3,5)= min(∞,∞)= ∞
d3,6 0 = min(d3,0+d0,6 d3,6)= min(∞,∞)= ∞
d3,7 0 = min(d3,0+d0,7 d3,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 4, j = from 0 to 8
d4,0 0 = min(d4,0+d0,0 d4,0)= min(∞,∞)= ∞
d4,1 0 = min(d4,0+d0,1 d4,1)= min(∞,7)= 7
d4,2 0 = min(d4,0+d0,2 d4,2)= min(∞,∞)= ∞
d4,3 0 = min(d4,0+d0,3 d4,3)= min(∞,1)= 1
d4,4 0 = min(d4,0+d0,4 d4,4)= min(∞,0)= 0
d4,5 0 = min(d4,0+d0,5 d4,5)= min(∞,∞)= ∞
d4,6 0 = min(d4,0+d0,6 d4,6)= min(∞,4)= 4
d4,7 0 = min(d4,0+d0,7 d4,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 5, j = from 0 to 8
d5,0 0 = min(d5,0+d0,0 d5,0)= min(∞,∞)= ∞
d5,1 0 = min(d5,0+d0,1 d5,1)= min(∞,3)= 3
d5,2 0 = min(d5,0+d0,2 d5,2)= min(∞,5)= 5
d5,3 0 = min(d5,0+d0,3 d5,3)= min(∞,∞)= ∞
d5,4 0 = min(d5,0+d0,4 d5,4)= min(∞,∞)= ∞
d5,5 0 = min(d5,0+d0,5 d5,5)= min(∞,0)= 0
d5,6 0 = min(d5,0+d0,6 d5,6)= min(∞,6)= 6
d5,7 0 = min(d5,0+d0,7 d5,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 6, j = from 0 to 8
d6,0 0 = min(d6,0+d0,0 d6,0)= min(∞,∞)= ∞
d6,1 0 = min(d6,0+d0,1 d6,1)= min(∞,∞)= ∞
d6,2 0 = min(d6,0+d0,2 d6,2)= min(∞,∞)= ∞
d6,3 0 = min(d6,0+d0,3 d6,3)= min(∞,∞)= ∞
d6,4 0 = min(d6,0+d0,4 d6,4)= min(∞,4)= 4
d6,5 0 = min(d6,0+d0,5 d6,5)= min(∞,6)= 6
d6,6 0 = min(d6,0+d0,6 d6,6)= min(∞,0)= 0
d6,7 0 = min(d6,0+d0,7 d6,7)= min(∞,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 7, j = from 0 to 8
d7,0 0 = min(d7,0+d0,0 d7,0)= min(∞,∞)= ∞
d7,1 0 = min(d7,0+d0,1 d7,1)= min(∞,∞)= ∞
d7,2 0 = min(d7,0+d0,2 d7,2)= min(∞,4)= 4
d7,3 0 = min(d7,0+d0,3 d7,3)= min(∞,∞)= ∞
d7,4 0 = min(d7,0+d0,4 d7,4)= min(∞,∞)= ∞
d7,5 0 = min(d7,0+d0,5 d7,5)= min(∞,∞)= ∞
d7,6 0 = min(d7,0+d0,6 d7,6)= min(∞,5)= 5
d7,7 0 = min(d7,0+d0,7 d7,7)= min(∞,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, ∞, ∞, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 0, j = from 0 to 8
d0,0 1 = min(d0,1+d1,0 d0,0)= min(12,0)= 0
d0,1 1 = min(d0,1+d1,1 d0,1)= min(6,6)= 6
d0,2 1 = min(d0,1+d1,2 d0,2)= min(14,2)= 2
d0,3 1 = min(d0,1+d1,3 d0,3)= min(16,4)= 4
d0,4 1 = min(d0,1+d1,4 d0,4)= min(13,∞)= 13
d0,5 1 = min(d0,1+d1,5 d0,5)= min(9,∞)= 9
d0,6 1 = min(d0,1+d1,6 d0,6)= min(∞,∞)= ∞
d0,7 1 = min(d0,1+d1,7 d0,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 1, j = from 0 to 8
d1,0 1 = min(d1,1+d1,0 d1,0)= min(6,6)= 6
d1,1 1 = min(d1,1+d1,1 d1,1)= min(0,0)= 0
d1,2 1 = min(d1,1+d1,2 d1,2)= min(8,8)= 8
d1,3 1 = min(d1,1+d1,3 d1,3)= min(10,10)= 10
d1,4 1 = min(d1,1+d1,4 d1,4)= min(7,7)= 7
d1,5 1 = min(d1,1+d1,5 d1,5)= min(3,3)= 3
d1,6 1 = min(d1,1+d1,6 d1,6)= min(∞,∞)= ∞
d1,7 1 = min(d1,1+d1,7 d1,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, ∞, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 2, j = from 0 to 8
d2,0 1 = min(d2,1+d1,0 d2,0)= min(14,2)= 2
d2,1 1 = min(d2,1+d1,1 d2,1)= min(8,8)= 8
d2,2 1 = min(d2,1+d1,2 d2,2)= min(16,0)= 0
d2,3 1 = min(d2,1+d1,3 d2,3)= min(18,6)= 6
d2,4 1 = min(d2,1+d1,4 d2,4)= min(15,∞)= 15
d2,5 1 = min(d2,1+d1,5 d2,5)= min(11,5)= 5
d2,6 1 = min(d2,1+d1,6 d2,6)= min(∞,∞)= ∞
d2,7 1 = min(d2,1+d1,7 d2,7)= min(∞,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, ∞, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 3, j = from 0 to 8
d3,0 1 = min(d3,1+d1,0 d3,0)= min(16,4)= 4
d3,1 1 = min(d3,1+d1,1 d3,1)= min(10,10)= 10
d3,2 1 = min(d3,1+d1,2 d3,2)= min(18,6)= 6
d3,3 1 = min(d3,1+d1,3 d3,3)= min(20,0)= 0
d3,4 1 = min(d3,1+d1,4 d3,4)= min(17,1)= 1
d3,5 1 = min(d3,1+d1,5 d3,5)= min(13,∞)= 13
d3,6 1 = min(d3,1+d1,6 d3,6)= min(∞,∞)= ∞
d3,7 1 = min(d3,1+d1,7 d3,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[∞, 7, ∞, 1, 0, ∞, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 4, j = from 0 to 8
d4,0 1 = min(d4,1+d1,0 d4,0)= min(13,∞)= 13
d4,1 1 = min(d4,1+d1,1 d4,1)= min(7,7)= 7
d4,2 1 = min(d4,1+d1,2 d4,2)= min(15,∞)= 15
d4,3 1 = min(d4,1+d1,3 d4,3)= min(17,1)= 1
d4,4 1 = min(d4,1+d1,4 d4,4)= min(14,0)= 0
d4,5 1 = min(d4,1+d1,5 d4,5)= min(10,∞)= 10
d4,6 1 = min(d4,1+d1,6 d4,6)= min(∞,4)= 4
d4,7 1 = min(d4,1+d1,7 d4,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[∞, 3, 5, ∞, ∞, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 5, j = from 0 to 8
d5,0 1 = min(d5,1+d1,0 d5,0)= min(9,∞)= 9
d5,1 1 = min(d5,1+d1,1 d5,1)= min(3,3)= 3
d5,2 1 = min(d5,1+d1,2 d5,2)= min(11,5)= 5
d5,3 1 = min(d5,1+d1,3 d5,3)= min(13,∞)= 13
d5,4 1 = min(d5,1+d1,4 d5,4)= min(10,∞)= 10
d5,5 1 = min(d5,1+d1,5 d5,5)= min(6,0)= 0
d5,6 1 = min(d5,1+d1,6 d5,6)= min(∞,6)= 6
d5,7 1 = min(d5,1+d1,7 d5,7)= min(∞,∞)= ∞

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 6, j = from 0 to 8
d6,0 1 = min(d6,1+d1,0 d6,0)= min(∞,∞)= ∞
d6,1 1 = min(d6,1+d1,1 d6,1)= min(∞,∞)= ∞
d6,2 1 = min(d6,1+d1,2 d6,2)= min(∞,∞)= ∞
d6,3 1 = min(d6,1+d1,3 d6,3)= min(∞,∞)= ∞
d6,4 1 = min(d6,1+d1,4 d6,4)= min(∞,4)= 4
d6,5 1 = min(d6,1+d1,5 d6,5)= min(∞,6)= 6
d6,6 1 = min(d6,1+d1,6 d6,6)= min(∞,0)= 0
d6,7 1 = min(d6,1+d1,7 d6,7)= min(∞,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 7, j = from 0 to 8
d7,0 1 = min(d7,1+d1,0 d7,0)= min(∞,∞)= ∞
d7,1 1 = min(d7,1+d1,1 d7,1)= min(∞,∞)= ∞
d7,2 1 = min(d7,1+d1,2 d7,2)= min(∞,4)= 4
d7,3 1 = min(d7,1+d1,3 d7,3)= min(∞,∞)= ∞
d7,4 1 = min(d7,1+d1,4 d7,4)= min(∞,∞)= ∞
d7,5 1 = min(d7,1+d1,5 d7,5)= min(∞,∞)= ∞
d7,6 1 = min(d7,1+d1,6 d7,6)= min(∞,5)= 5
d7,7 1 = min(d7,1+d1,7 d7,7)= min(∞,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 9, ∞, ∞]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 0, j = from 0 to 8
d0,0 2 = min(d0,2+d2,0 d0,0)= min(4,0)= 0
d0,1 2 = min(d0,2+d2,1 d0,1)= min(10,6)= 6
d0,2 2 = min(d0,2+d2,2 d0,2)= min(2,2)= 2
d0,3 2 = min(d0,2+d2,3 d0,3)= min(8,4)= 4
d0,4 2 = min(d0,2+d2,4 d0,4)= min(17,13)= 13
d0,5 2 = min(d0,2+d2,5 d0,5)= min(7,9)= 7
d0,6 2 = min(d0,2+d2,6 d0,6)= min(∞,∞)= ∞
d0,7 2 = min(d0,2+d2,7 d0,7)= min(6,∞)= 6

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, ∞]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 1, j = from 0 to 8
d1,0 2 = min(d1,2+d2,0 d1,0)= min(10,6)= 6
d1,1 2 = min(d1,2+d2,1 d1,1)= min(16,0)= 0
d1,2 2 = min(d1,2+d2,2 d1,2)= min(8,8)= 8
d1,3 2 = min(d1,2+d2,3 d1,3)= min(14,10)= 10
d1,4 2 = min(d1,2+d2,4 d1,4)= min(23,7)= 7
d1,5 2 = min(d1,2+d2,5 d1,5)= min(13,3)= 3
d1,6 2 = min(d1,2+d2,6 d1,6)= min(∞,∞)= ∞
d1,7 2 = min(d1,2+d2,7 d1,7)= min(12,∞)= 12

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 2, j = from 0 to 8
d2,0 2 = min(d2,2+d2,0 d2,0)= min(2,2)= 2
d2,1 2 = min(d2,2+d2,1 d2,1)= min(8,8)= 8
d2,2 2 = min(d2,2+d2,2 d2,2)= min(0,0)= 0
d2,3 2 = min(d2,2+d2,3 d2,3)= min(6,6)= 6
d2,4 2 = min(d2,2+d2,4 d2,4)= min(15,15)= 15
d2,5 2 = min(d2,2+d2,5 d2,5)= min(5,5)= 5
d2,6 2 = min(d2,2+d2,6 d2,6)= min(∞,∞)= ∞
d2,7 2 = min(d2,2+d2,7 d2,7)= min(4,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 13, ∞, ∞]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 3, j = from 0 to 8
d3,0 2 = min(d3,2+d2,0 d3,0)= min(8,4)= 4
d3,1 2 = min(d3,2+d2,1 d3,1)= min(14,10)= 10
d3,2 2 = min(d3,2+d2,2 d3,2)= min(6,6)= 6
d3,3 2 = min(d3,2+d2,3 d3,3)= min(12,0)= 0
d3,4 2 = min(d3,2+d2,4 d3,4)= min(21,1)= 1
d3,5 2 = min(d3,2+d2,5 d3,5)= min(11,13)= 11
d3,6 2 = min(d3,2+d2,6 d3,6)= min(∞,∞)= ∞
d3,7 2 = min(d3,2+d2,7 d3,7)= min(10,∞)= 10

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, ∞]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 4, j = from 0 to 8
d4,0 2 = min(d4,2+d2,0 d4,0)= min(17,13)= 13
d4,1 2 = min(d4,2+d2,1 d4,1)= min(23,7)= 7
d4,2 2 = min(d4,2+d2,2 d4,2)= min(15,15)= 15
d4,3 2 = min(d4,2+d2,3 d4,3)= min(21,1)= 1
d4,4 2 = min(d4,2+d2,4 d4,4)= min(30,0)= 0
d4,5 2 = min(d4,2+d2,5 d4,5)= min(20,10)= 10
d4,6 2 = min(d4,2+d2,6 d4,6)= min(∞,4)= 4
d4,7 2 = min(d4,2+d2,7 d4,7)= min(19,∞)= 19

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[9, 3, 5, 13, 10, 0, 6, ∞]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 5, j = from 0 to 8
d5,0 2 = min(d5,2+d2,0 d5,0)= min(7,9)= 7
d5,1 2 = min(d5,2+d2,1 d5,1)= min(13,3)= 3
d5,2 2 = min(d5,2+d2,2 d5,2)= min(5,5)= 5
d5,3 2 = min(d5,2+d2,3 d5,3)= min(11,13)= 11
d5,4 2 = min(d5,2+d2,4 d5,4)= min(20,10)= 10
d5,5 2 = min(d5,2+d2,5 d5,5)= min(10,0)= 0
d5,6 2 = min(d5,2+d2,6 d5,6)= min(∞,6)= 6
d5,7 2 = min(d5,2+d2,7 d5,7)= min(9,∞)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 6, j = from 0 to 8
d6,0 2 = min(d6,2+d2,0 d6,0)= min(∞,∞)= ∞
d6,1 2 = min(d6,2+d2,1 d6,1)= min(∞,∞)= ∞
d6,2 2 = min(d6,2+d2,2 d6,2)= min(∞,∞)= ∞
d6,3 2 = min(d6,2+d2,3 d6,3)= min(∞,∞)= ∞
d6,4 2 = min(d6,2+d2,4 d6,4)= min(∞,4)= 4
d6,5 2 = min(d6,2+d2,5 d6,5)= min(∞,6)= 6
d6,6 2 = min(d6,2+d2,6 d6,6)= min(∞,0)= 0
d6,7 2 = min(d6,2+d2,7 d6,7)= min(∞,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[∞, ∞, 4, ∞, ∞, ∞, 5, 0]

i = 7, j = from 0 to 8
d7,0 2 = min(d7,2+d2,0 d7,0)= min(6,∞)= 6
d7,1 2 = min(d7,2+d2,1 d7,1)= min(12,∞)= 12
d7,2 2 = min(d7,2+d2,2 d7,2)= min(4,4)= 4
d7,3 2 = min(d7,2+d2,3 d7,3)= min(10,∞)= 10
d7,4 2 = min(d7,2+d2,4 d7,4)= min(19,∞)= 19
d7,5 2 = min(d7,2+d2,5 d7,5)= min(9,∞)= 9
d7,6 2 = min(d7,2+d2,6 d7,6)= min(∞,5)= 5
d7,7 2 = min(d7,2+d2,7 d7,7)= min(8,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 13, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 0, j = from 0 to 8
d0,0 3 = min(d0,3+d3,0 d0,0)= min(8,0)= 0
d0,1 3 = min(d0,3+d3,1 d0,1)= min(14,6)= 6
d0,2 3 = min(d0,3+d3,2 d0,2)= min(10,2)= 2
d0,3 3 = min(d0,3+d3,3 d0,3)= min(4,4)= 4
d0,4 3 = min(d0,3+d3,4 d0,4)= min(5,13)= 5
d0,5 3 = min(d0,3+d3,5 d0,5)= min(15,7)= 7
d0,6 3 = min(d0,3+d3,6 d0,6)= min(∞,∞)= ∞
d0,7 3 = min(d0,3+d3,7 d0,7)= min(14,6)= 6

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 1, j = from 0 to 8
d1,0 3 = min(d1,3+d3,0 d1,0)= min(14,6)= 6
d1,1 3 = min(d1,3+d3,1 d1,1)= min(20,0)= 0
d1,2 3 = min(d1,3+d3,2 d1,2)= min(16,8)= 8
d1,3 3 = min(d1,3+d3,3 d1,3)= min(10,10)= 10
d1,4 3 = min(d1,3+d3,4 d1,4)= min(11,7)= 7
d1,5 3 = min(d1,3+d3,5 d1,5)= min(21,3)= 3
d1,6 3 = min(d1,3+d3,6 d1,6)= min(∞,∞)= ∞
d1,7 3 = min(d1,3+d3,7 d1,7)= min(20,12)= 12

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 15, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 2, j = from 0 to 8
d2,0 3 = min(d2,3+d3,0 d2,0)= min(10,2)= 2
d2,1 3 = min(d2,3+d3,1 d2,1)= min(16,8)= 8
d2,2 3 = min(d2,3+d3,2 d2,2)= min(12,0)= 0
d2,3 3 = min(d2,3+d3,3 d2,3)= min(6,6)= 6
d2,4 3 = min(d2,3+d3,4 d2,4)= min(7,15)= 7
d2,5 3 = min(d2,3+d3,5 d2,5)= min(17,5)= 5
d2,6 3 = min(d2,3+d3,6 d2,6)= min(∞,∞)= ∞
d2,7 3 = min(d2,3+d3,7 d2,7)= min(16,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 3, j = from 0 to 8
d3,0 3 = min(d3,3+d3,0 d3,0)= min(4,4)= 4
d3,1 3 = min(d3,3+d3,1 d3,1)= min(10,10)= 10
d3,2 3 = min(d3,3+d3,2 d3,2)= min(6,6)= 6
d3,3 3 = min(d3,3+d3,3 d3,3)= min(0,0)= 0
d3,4 3 = min(d3,3+d3,4 d3,4)= min(1,1)= 1
d3,5 3 = min(d3,3+d3,5 d3,5)= min(11,11)= 11
d3,6 3 = min(d3,3+d3,6 d3,6)= min(∞,∞)= ∞
d3,7 3 = min(d3,3+d3,7 d3,7)= min(10,10)= 10

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[13, 7, 15, 1, 0, 10, 4, 19]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 4, j = from 0 to 8
d4,0 3 = min(d4,3+d3,0 d4,0)= min(5,13)= 5
d4,1 3 = min(d4,3+d3,1 d4,1)= min(11,7)= 7
d4,2 3 = min(d4,3+d3,2 d4,2)= min(7,15)= 7
d4,3 3 = min(d4,3+d3,3 d4,3)= min(1,1)= 1
d4,4 3 = min(d4,3+d3,4 d4,4)= min(2,0)= 0
d4,5 3 = min(d4,3+d3,5 d4,5)= min(12,10)= 10
d4,6 3 = min(d4,3+d3,6 d4,6)= min(∞,4)= 4
d4,7 3 = min(d4,3+d3,7 d4,7)= min(11,19)= 11

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 5, j = from 0 to 8
d5,0 3 = min(d5,3+d3,0 d5,0)= min(15,7)= 7
d5,1 3 = min(d5,3+d3,1 d5,1)= min(21,3)= 3
d5,2 3 = min(d5,3+d3,2 d5,2)= min(17,5)= 5
d5,3 3 = min(d5,3+d3,3 d5,3)= min(11,11)= 11
d5,4 3 = min(d5,3+d3,4 d5,4)= min(12,10)= 10
d5,5 3 = min(d5,3+d3,5 d5,5)= min(22,0)= 0
d5,6 3 = min(d5,3+d3,6 d5,6)= min(∞,6)= 6
d5,7 3 = min(d5,3+d3,7 d5,7)= min(21,9)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 6, j = from 0 to 8
d6,0 3 = min(d6,3+d3,0 d6,0)= min(∞,∞)= ∞
d6,1 3 = min(d6,3+d3,1 d6,1)= min(∞,∞)= ∞
d6,2 3 = min(d6,3+d3,2 d6,2)= min(∞,∞)= ∞
d6,3 3 = min(d6,3+d3,3 d6,3)= min(∞,∞)= ∞
d6,4 3 = min(d6,3+d3,4 d6,4)= min(∞,4)= 4
d6,5 3 = min(d6,3+d3,5 d6,5)= min(∞,6)= 6
d6,6 3 = min(d6,3+d3,6 d6,6)= min(∞,0)= 0
d6,7 3 = min(d6,3+d3,7 d6,7)= min(∞,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 19, 9, 5, 0]

i = 7, j = from 0 to 8
d7,0 3 = min(d7,3+d3,0 d7,0)= min(14,6)= 6
d7,1 3 = min(d7,3+d3,1 d7,1)= min(20,12)= 12
d7,2 3 = min(d7,3+d3,2 d7,2)= min(16,4)= 4
d7,3 3 = min(d7,3+d3,3 d7,3)= min(10,10)= 10
d7,4 3 = min(d7,3+d3,4 d7,4)= min(11,19)= 11
d7,5 3 = min(d7,3+d3,5 d7,5)= min(21,9)= 9
d7,6 3 = min(d7,3+d3,6 d7,6)= min(∞,5)= 5
d7,7 3 = min(d7,3+d3,7 d7,7)= min(20,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, ∞, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 0, j = from 0 to 8
d0,0 4 = min(d0,4+d4,0 d0,0)= min(10,0)= 0
d0,1 4 = min(d0,4+d4,1 d0,1)= min(12,6)= 6
d0,2 4 = min(d0,4+d4,2 d0,2)= min(12,2)= 2
d0,3 4 = min(d0,4+d4,3 d0,3)= min(6,4)= 4
d0,4 4 = min(d0,4+d4,4 d0,4)= min(5,5)= 5
d0,5 4 = min(d0,4+d4,5 d0,5)= min(15,7)= 7
d0,6 4 = min(d0,4+d4,6 d0,6)= min(9,∞)= 9
d0,7 4 = min(d0,4+d4,7 d0,7)= min(16,6)= 6

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 10, 7, 3, ∞, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 1, j = from 0 to 8
d1,0 4 = min(d1,4+d4,0 d1,0)= min(12,6)= 6
d1,1 4 = min(d1,4+d4,1 d1,1)= min(14,0)= 0
d1,2 4 = min(d1,4+d4,2 d1,2)= min(14,8)= 8
d1,3 4 = min(d1,4+d4,3 d1,3)= min(8,10)= 8
d1,4 4 = min(d1,4+d4,4 d1,4)= min(7,7)= 7
d1,5 4 = min(d1,4+d4,5 d1,5)= min(17,3)= 3
d1,6 4 = min(d1,4+d4,6 d1,6)= min(11,∞)= 11
d1,7 4 = min(d1,4+d4,7 d1,7)= min(18,12)= 12

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, ∞, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]
i = 2, j = from 0 to 8
d2,0 4 = min(d2,4+d4,0 d2,0)= min(12,2)= 2
d2,1 4 = min(d2,4+d4,1 d2,1)= min(14,8)= 8
d2,2 4 = min(d2,4+d4,2 d2,2)= min(14,0)= 0
d2,3 4 = min(d2,4+d4,3 d2,3)= min(8,6)= 6
d2,4 4 = min(d2,4+d4,4 d2,4)= min(7,7)= 7
d2,5 4 = min(d2,4+d4,5 d2,5)= min(17,5)= 5
d2,6 4 = min(d2,4+d4,6 d2,6)= min(11,∞)= 11
d2,7 4 = min(d2,4+d4,7 d2,7)= min(18,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 10, 6, 0, 1, 11, ∞, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 3, j = from 0 to 8
d3,0 4 = min(d3,4+d4,0 d3,0)= min(6,4)= 4
d3,1 4 = min(d3,4+d4,1 d3,1)= min(8,10)= 8
d3,2 4 = min(d3,4+d4,2 d3,2)= min(8,6)= 6
d3,3 4 = min(d3,4+d4,3 d3,3)= min(2,0)= 0
d3,4 4 = min(d3,4+d4,4 d3,4)= min(1,1)= 1
d3,5 4 = min(d3,4+d4,5 d3,5)= min(11,11)= 11
d3,6 4 = min(d3,4+d4,6 d3,6)= min(5,∞)= 5
d3,7 4 = min(d3,4+d4,7 d3,7)= min(12,10)= 10

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 4, j = from 0 to 8
d4,0 4 = min(d4,4+d4,0 d4,0)= min(5,5)= 5
d4,1 4 = min(d4,4+d4,1 d4,1)= min(7,7)= 7
d4,2 4 = min(d4,4+d4,2 d4,2)= min(7,7)= 7
d4,3 4 = min(d4,4+d4,3 d4,3)= min(1,1)= 1
d4,4 4 = min(d4,4+d4,4 d4,4)= min(0,0)= 0
d4,5 4 = min(d4,4+d4,5 d4,5)= min(10,10)= 10
d4,6 4 = min(d4,4+d4,6 d4,6)= min(4,4)= 4
d4,7 4 = min(d4,4+d4,7 d4,7)= min(11,11)= 11
Матрица расстояний на шаге
[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 5, j = from 0 to 8
d5,0 4 = min(d5,4+d4,0 d5,0)= min(15,7)= 7
d5,1 4 = min(d5,4+d4,1 d5,1)= min(17,3)= 3
d5,2 4 = min(d5,4+d4,2 d5,2)= min(17,5)= 5
d5,3 4 = min(d5,4+d4,3 d5,3)= min(11,11)= 11
d5,4 4 = min(d5,4+d4,4 d5,4)= min(10,10)= 10
d5,5 4 = min(d5,4+d4,5 d5,5)= min(20,0)= 0
d5,6 4 = min(d5,4+d4,6 d5,6)= min(14,6)= 6
d5,7 4 = min(d5,4+d4,7 d5,7)= min(21,9)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[∞, ∞, ∞, ∞, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 6, j = from 0 to 8
d6,0 4 = min(d6,4+d4,0 d6,0)= min(9,∞)= 9
d6,1 4 = min(d6,4+d4,1 d6,1)= min(11,∞)= 11
d6,2 4 = min(d6,4+d4,2 d6,2)= min(11,∞)= 11
d6,3 4 = min(d6,4+d4,3 d6,3)= min(5,∞)= 5
d6,4 4 = min(d6,4+d4,4 d6,4)= min(4,4)= 4
d6,5 4 = min(d6,4+d4,5 d6,5)= min(14,6)= 6
d6,6 4 = min(d6,4+d4,6 d6,6)= min(8,0)= 0
d6,7 4 = min(d6,4+d4,7 d6,7)= min(15,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]
i = 7, j = from 0 to 8
d7,0 4 = min(d7,4+d4,0 d7,0)= min(16,6)= 6
d7,1 4 = min(d7,4+d4,1 d7,1)= min(18,12)= 12
d7,2 4 = min(d7,4+d4,2 d7,2)= min(18,4)= 4
d7,3 4 = min(d7,4+d4,3 d7,3)= min(12,10)= 10
d7,4 4 = min(d7,4+d4,4 d7,4)= min(11,11)= 11
d7,5 4 = min(d7,4+d4,5 d7,5)= min(21,9)= 9
d7,6 4 = min(d7,4+d4,6 d7,6)= min(15,5)= 5
d7,7 4 = min(d7,4+d4,7 d7,7)= min(22,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 0, j = from 0 to 8
d0,0 5 = min(d0,5+d5,0 d0,0)= min(14,0)= 0
d0,1 5 = min(d0,5+d5,1 d0,1)= min(10,6)= 6
d0,2 5 = min(d0,5+d5,2 d0,2)= min(12,2)= 2
d0,3 5 = min(d0,5+d5,3 d0,3)= min(18,4)= 4
d0,4 5 = min(d0,5+d5,4 d0,4)= min(17,5)= 5
d0,5 5 = min(d0,5+d5,5 d0,5)= min(7,7)= 7
d0,6 5 = min(d0,5+d5,6 d0,6)= min(13,9)= 9
d0,7 5 = min(d0,5+d5,7 d0,7)= min(16,6)= 6

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 11, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 1, j = from 0 to 8
d1,0 5 = min(d1,5+d5,0 d1,0)= min(10,6)= 6
d1,1 5 = min(d1,5+d5,1 d1,1)= min(6,0)= 0
d1,2 5 = min(d1,5+d5,2 d1,2)= min(8,8)= 8
d1,3 5 = min(d1,5+d5,3 d1,3)= min(14,8)= 8
d1,4 5 = min(d1,5+d5,4 d1,4)= min(13,7)= 7
d1,5 5 = min(d1,5+d5,5 d1,5)= min(3,3)= 3
d1,6 5 = min(d1,5+d5,6 d1,6)= min(9,11)= 9
d1,7 5 = min(d1,5+d5,7 d1,7)= min(12,12)= 12
Матрица расстояний на шаге
[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 2, j = from 0 to 8
d2,0 5 = min(d2,5+d5,0 d2,0)= min(12,2)= 2
d2,1 5 = min(d2,5+d5,1 d2,1)= min(8,8)= 8
d2,2 5 = min(d2,5+d5,2 d2,2)= min(10,0)= 0
d2,3 5 = min(d2,5+d5,3 d2,3)= min(16,6)= 6
d2,4 5 = min(d2,5+d5,4 d2,4)= min(15,7)= 7
d2,5 5 = min(d2,5+d5,5 d2,5)= min(5,5)= 5
d2,6 5 = min(d2,5+d5,6 d2,6)= min(11,11)= 11
d2,7 5 = min(d2,5+d5,7 d2,7)= min(14,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 3, j = from 0 to 8
d3,0 5 = min(d3,5+d5,0 d3,0)= min(18,4)= 4
d3,1 5 = min(d3,5+d5,1 d3,1)= min(14,8)= 8
d3,2 5 = min(d3,5+d5,2 d3,2)= min(16,6)= 6
d3,3 5 = min(d3,5+d5,3 d3,3)= min(22,0)= 0
d3,4 5 = min(d3,5+d5,4 d3,4)= min(21,1)= 1
d3,5 5 = min(d3,5+d5,5 d3,5)= min(11,11)= 11
d3,6 5 = min(d3,5+d5,6 d3,6)= min(17,5)= 5
d3,7 5 = min(d3,5+d5,7 d3,7)= min(20,10)= 10

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]
i = 4, j = from 0 to 8
d4,0 5 = min(d4,5+d5,0 d4,0)= min(17,5)= 5
d4,1 5 = min(d4,5+d5,1 d4,1)= min(13,7)= 7
d4,2 5 = min(d4,5+d5,2 d4,2)= min(15,7)= 7
d4,3 5 = min(d4,5+d5,3 d4,3)= min(21,1)= 1
d4,4 5 = min(d4,5+d5,4 d4,4)= min(20,0)= 0
d4,5 5 = min(d4,5+d5,5 d4,5)= min(10,10)= 10
d4,6 5 = min(d4,5+d5,6 d4,6)= min(16,4)= 4
d4,7 5 = min(d4,5+d5,7 d4,7)= min(19,11)= 11

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 5, j = from 0 to 8
d5,0 5 = min(d5,5+d5,0 d5,0)= min(7,7)= 7
d5,1 5 = min(d5,5+d5,1 d5,1)= min(3,3)= 3
d5,2 5 = min(d5,5+d5,2 d5,2)= min(5,5)= 5
d5,3 5 = min(d5,5+d5,3 d5,3)= min(11,11)= 11
d5,4 5 = min(d5,5+d5,4 d5,4)= min(10,10)= 10
d5,5 5 = min(d5,5+d5,5 d5,5)= min(0,0)= 0
d5,6 5 = min(d5,5+d5,6 d5,6)= min(6,6)= 6
d5,7 5 = min(d5,5+d5,7 d5,7)= min(9,9)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 11, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 6, j = from 0 to 8
d6,0 5 = min(d6,5+d5,0 d6,0)= min(13,9)= 9
d6,1 5 = min(d6,5+d5,1 d6,1)= min(9,11)= 9
d6,2 5 = min(d6,5+d5,2 d6,2)= min(11,11)= 11
d6,3 5 = min(d6,5+d5,3 d6,3)= min(17,5)= 5
d6,4 5 = min(d6,5+d5,4 d6,4)= min(16,4)= 4
d6,5 5 = min(d6,5+d5,5 d6,5)= min(6,6)= 6
d6,6 5 = min(d6,5+d5,6 d6,6)= min(12,0)= 0
d6,7 5 = min(d6,5+d5,7 d6,7)= min(15,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 7, j = from 0 to 8
d7,0 5 = min(d7,5+d5,0 d7,0)= min(16,6)= 6
d7,1 5 = min(d7,5+d5,1 d7,1)= min(12,12)= 12
d7,2 5 = min(d7,5+d5,2 d7,2)= min(14,4)= 4
d7,3 5 = min(d7,5+d5,3 d7,3)= min(20,10)= 10
d7,4 5 = min(d7,5+d5,4 d7,4)= min(19,11)= 11
d7,5 5 = min(d7,5+d5,5 d7,5)= min(9,9)= 9
d7,6 5 = min(d7,5+d5,6 d7,6)= min(15,5)= 5
d7,7 5 = min(d7,5+d5,7 d7,7)= min(18,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 0, j = from 0 to 8
d0,0 6 = min(d0,6+d6,0 d0,0)= min(18,0)= 0
d0,1 6 = min(d0,6+d6,1 d0,1)= min(18,6)= 6
d0,2 6 = min(d0,6+d6,2 d0,2)= min(20,2)= 2
d0,3 6 = min(d0,6+d6,3 d0,3)= min(14,4)= 4
d0,4 6 = min(d0,6+d6,4 d0,4)= min(13,5)= 5
d0,5 6 = min(d0,6+d6,5 d0,5)= min(15,7)= 7
d0,6 6 = min(d0,6+d6,6 d0,6)= min(9,9)= 9
d0,7 6 = min(d0,6+d6,7 d0,7)= min(14,6)= 6

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 1, j = from 0 to 8
d1,0 6 = min(d1,6+d6,0 d1,0)= min(18,6)= 6
d1,1 6 = min(d1,6+d6,1 d1,1)= min(18,0)= 0
d1,2 6 = min(d1,6+d6,2 d1,2)= min(20,8)= 8
d1,3 6 = min(d1,6+d6,3 d1,3)= min(14,8)= 8
d1,4 6 = min(d1,6+d6,4 d1,4)= min(13,7)= 7
d1,5 6 = min(d1,6+d6,5 d1,5)= min(15,3)= 3
d1,6 6 = min(d1,6+d6,6 d1,6)= min(9,9)= 9
d1,7 6 = min(d1,6+d6,7 d1,7)= min(14,12)= 12

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 2, j = from 0 to 8
d2,0 6 = min(d2,6+d6,0 d2,0)= min(20,2)= 2
d2,1 6 = min(d2,6+d6,1 d2,1)= min(20,8)= 8
d2,2 6 = min(d2,6+d6,2 d2,2)= min(22,0)= 0
d2,3 6 = min(d2,6+d6,3 d2,3)= min(16,6)= 6
d2,4 6 = min(d2,6+d6,4 d2,4)= min(15,7)= 7
d2,5 6 = min(d2,6+d6,5 d2,5)= min(17,5)= 5
d2,6 6 = min(d2,6+d6,6 d2,6)= min(11,11)= 11
d2,7 6 = min(d2,6+d6,7 d2,7)= min(16,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 3, j = from 0 to 8
d3,0 6 = min(d3,6+d6,0 d3,0)= min(14,4)= 4
d3,1 6 = min(d3,6+d6,1 d3,1)= min(14,8)= 8
d3,2 6 = min(d3,6+d6,2 d3,2)= min(16,6)= 6
d3,3 6 = min(d3,6+d6,3 d3,3)= min(10,0)= 0
d3,4 6 = min(d3,6+d6,4 d3,4)= min(9,1)= 1
d3,5 6 = min(d3,6+d6,5 d3,5)= min(11,11)= 11
d3,6 6 = min(d3,6+d6,6 d3,6)= min(5,5)= 5
d3,7 6 = min(d3,6+d6,7 d3,7)= min(10,10)= 10

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 11]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 4, j = from 0 to 8
d4,0 6 = min(d4,6+d6,0 d4,0)= min(13,5)= 5
d4,1 6 = min(d4,6+d6,1 d4,1)= min(13,7)= 7
d4,2 6 = min(d4,6+d6,2 d4,2)= min(15,7)= 7
d4,3 6 = min(d4,6+d6,3 d4,3)= min(9,1)= 1
d4,4 6 = min(d4,6+d6,4 d4,4)= min(8,0)= 0
d4,5 6 = min(d4,6+d6,5 d4,5)= min(10,10)= 10
d4,6 6 = min(d4,6+d6,6 d4,6)= min(4,4)= 4
d4,7 6 = min(d4,6+d6,7 d4,7)= min(9,11)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 5, j = from 0 to 8
d5,0 6 = min(d5,6+d6,0 d5,0)= min(15,7)= 7
d5,1 6 = min(d5,6+d6,1 d5,1)= min(15,3)= 3
d5,2 6 = min(d5,6+d6,2 d5,2)= min(17,5)= 5
d5,3 6 = min(d5,6+d6,3 d5,3)= min(11,11)= 11
d5,4 6 = min(d5,6+d6,4 d5,4)= min(10,10)= 10
d5,5 6 = min(d5,6+d6,5 d5,5)= min(12,0)= 0
d5,6 6 = min(d5,6+d6,6 d5,6)= min(6,6)= 6
d5,7 6 = min(d5,6+d6,7 d5,7)= min(11,9)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 6, j = from 0 to 8
d6,0 6 = min(d6,6+d6,0 d6,0)= min(9,9)= 9
d6,1 6 = min(d6,6+d6,1 d6,1)= min(9,9)= 9
d6,2 6 = min(d6,6+d6,2 d6,2)= min(11,11)= 11
d6,3 6 = min(d6,6+d6,3 d6,3)= min(5,5)= 5
d6,4 6 = min(d6,6+d6,4 d6,4)= min(4,4)= 4
d6,5 6 = min(d6,6+d6,5 d6,5)= min(6,6)= 6
d6,6 6 = min(d6,6+d6,6 d6,6)= min(0,0)= 0
d6,7 6 = min(d6,6+d6,7 d6,7)= min(5,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 11, 9, 5, 0]

i = 7, j = from 0 to 8
d7,0 6 = min(d7,6+d6,0 d7,0)= min(14,6)= 6
d7,1 6 = min(d7,6+d6,1 d7,1)= min(14,12)= 12
d7,2 6 = min(d7,6+d6,2 d7,2)= min(16,4)= 4
d7,3 6 = min(d7,6+d6,3 d7,3)= min(10,10)= 10
d7,4 6 = min(d7,6+d6,4 d7,4)= min(9,11)= 9
d7,5 6 = min(d7,6+d6,5 d7,5)= min(11,9)= 9
d7,6 6 = min(d7,6+d6,6 d7,6)= min(5,5)= 5
d7,7 6 = min(d7,6+d6,7 d7,7)= min(10,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 0, j = from 0 to 8
d0,0 7 = min(d0,7+d7,0 d0,0)= min(12,0)= 0
d0,1 7 = min(d0,7+d7,1 d0,1)= min(18,6)= 6
d0,2 7 = min(d0,7+d7,2 d0,2)= min(10,2)= 2
d0,3 7 = min(d0,7+d7,3 d0,3)= min(16,4)= 4
d0,4 7 = min(d0,7+d7,4 d0,4)= min(15,5)= 5
d0,5 7 = min(d0,7+d7,5 d0,5)= min(15,7)= 7
d0,6 7 = min(d0,7+d7,6 d0,6)= min(11,9)= 9
d0,7 7 = min(d0,7+d7,7 d0,7)= min(6,6)= 6

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 1, j = from 0 to 8
d1,0 7 = min(d1,7+d7,0 d1,0)= min(18,6)= 6
d1,1 7 = min(d1,7+d7,1 d1,1)= min(24,0)= 0
d1,2 7 = min(d1,7+d7,2 d1,2)= min(16,8)= 8
d1,3 7 = min(d1,7+d7,3 d1,3)= min(22,8)= 8
d1,4 7 = min(d1,7+d7,4 d1,4)= min(21,7)= 7
d1,5 7 = min(d1,7+d7,5 d1,5)= min(21,3)= 3
d1,6 7 = min(d1,7+d7,6 d1,6)= min(17,9)= 9
d1,7 7 = min(d1,7+d7,7 d1,7)= min(12,12)= 12

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 11, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 2, j = from 0 to 8
d2,0 7 = min(d2,7+d7,0 d2,0)= min(10,2)= 2
d2,1 7 = min(d2,7+d7,1 d2,1)= min(16,8)= 8
d2,2 7 = min(d2,7+d7,2 d2,2)= min(8,0)= 0
d2,3 7 = min(d2,7+d7,3 d2,3)= min(14,6)= 6
d2,4 7 = min(d2,7+d7,4 d2,4)= min(13,7)= 7
d2,5 7 = min(d2,7+d7,5 d2,5)= min(13,5)= 5
d2,6 7 = min(d2,7+d7,6 d2,6)= min(9,11)= 9
d2,7 7 = min(d2,7+d7,7 d2,7)= min(4,4)= 4

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 9, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 3, j = from 0 to 8
d3,0 7 = min(d3,7+d7,0 d3,0)= min(16,4)= 4
d3,1 7 = min(d3,7+d7,1 d3,1)= min(22,8)= 8
d3,2 7 = min(d3,7+d7,2 d3,2)= min(14,6)= 6
d3,3 7 = min(d3,7+d7,3 d3,3)= min(20,0)= 0
d3,4 7 = min(d3,7+d7,4 d3,4)= min(19,1)= 1
d3,5 7 = min(d3,7+d7,5 d3,5)= min(19,11)= 11
d3,6 7 = min(d3,7+d7,6 d3,6)= min(15,5)= 5
d3,7 7 = min(d3,7+d7,7 d3,7)= min(10,10)= 10

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 9, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 4, j = from 0 to 8
d4,0 7 = min(d4,7+d7,0 d4,0)= min(15,5)= 5
d4,1 7 = min(d4,7+d7,1 d4,1)= min(21,7)= 7
d4,2 7 = min(d4,7+d7,2 d4,2)= min(13,7)= 7
d4,3 7 = min(d4,7+d7,3 d4,3)= min(19,1)= 1
d4,4 7 = min(d4,7+d7,4 d4,4)= min(18,0)= 0
d4,5 7 = min(d4,7+d7,5 d4,5)= min(18,10)= 10
d4,6 7 = min(d4,7+d7,6 d4,6)= min(14,4)= 4
d4,7 7 = min(d4,7+d7,7 d4,7)= min(9,9)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 9, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 5, j = from 0 to 8
d5,0 7 = min(d5,7+d7,0 d5,0)= min(15,7)= 7
d5,1 7 = min(d5,7+d7,1 d5,1)= min(21,3)= 3
d5,2 7 = min(d5,7+d7,2 d5,2)= min(13,5)= 5
d5,3 7 = min(d5,7+d7,3 d5,3)= min(19,11)= 11
d5,4 7 = min(d5,7+d7,4 d5,4)= min(18,10)= 10
d5,5 7 = min(d5,7+d7,5 d5,5)= min(18,0)= 0
d5,6 7 = min(d5,7+d7,6 d5,6)= min(14,6)= 6
d5,7 7 = min(d5,7+d7,7 d5,7)= min(9,9)= 9

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 9, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 11, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 6, j = from 0 to 8
d6,0 7 = min(d6,7+d7,0 d6,0)= min(11,9)= 9
d6,1 7 = min(d6,7+d7,1 d6,1)= min(17,9)= 9
d6,2 7 = min(d6,7+d7,2 d6,2)= min(9,11)= 9
d6,3 7 = min(d6,7+d7,3 d6,3)= min(15,5)= 5
d6,4 7 = min(d6,7+d7,4 d6,4)= min(14,4)= 4
d6,5 7 = min(d6,7+d7,5 d6,5)= min(14,6)= 6
d6,6 7 = min(d6,7+d7,6 d6,6)= min(10,0)= 0
d6,7 7 = min(d6,7+d7,7 d6,7)= min(5,5)= 5

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 9, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 9, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

i = 7, j = from 0 to 8
d7,0 7 = min(d7,7+d7,0 d7,0)= min(6,6)= 6
d7,1 7 = min(d7,7+d7,1 d7,1)= min(12,12)= 12
d7,2 7 = min(d7,7+d7,2 d7,2)= min(4,4)= 4
d7,3 7 = min(d7,7+d7,3 d7,3)= min(10,10)= 10
d7,4 7 = min(d7,7+d7,4 d7,4)= min(9,9)= 9
d7,5 7 = min(d7,7+d7,5 d7,5)= min(9,9)= 9
d7,6 7 = min(d7,7+d7,6 d7,6)= min(5,5)= 5
d7,7 7 = min(d7,7+d7,7 d7,7)= min(0,0)= 0

Матрица расстояний на шаге


[0, 6, 2, 4, 5, 7, 9, 6]
[6, 0, 8, 8, 7, 3, 9, 12]
[2, 8, 0, 6, 7, 5, 9, 4]
[4, 8, 6, 0, 1, 11, 5, 10]
[5, 7, 7, 1, 0, 10, 4, 9]
[7, 3, 5, 11, 10, 0, 6, 9]
[9, 9, 9, 5, 4, 6, 0, 5]
[6, 12, 4, 10, 9, 9, 5, 0]

Выводы: во время проведения лабораторной работе ознакомились с двумя


алгоритмами Дейкстры и Флойда для построения кратчайшего пути. Было
выяснено, что оба алгоритма до сих пор являются одними из самых
популярных и оптимальных алгоритмов для поиска кратчайшего пути.

You might also like