ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ (Ρ.Π΅. Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ Π΄Π»ΠΈΠ½ Π΄ΡΠ³) ΠΏΡΡΡ ΠΎΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π° s ΠΊ ΡΠ·Π»Ρ t Π²ΠΎ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠΌ ΠΎΡΠ³ΡΠ°ΡΠ΅. Π Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ 3.3 ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ Π·Π°ΠΏΠΈΡΡ, Π½Ρ ΡΠ°ΠΌΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΡ, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ, ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ·Π»Ρ ΠΎΡΠ³ΡΠ°ΡΠ° ΠΏΠ΅ΡΠ΅Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Ρ, Π° ΡΠ°ΠΌ ΠΎΡΠ³ΡΠ°Ρ Π·Π°Π΄Π°Π½ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Π΄Π»ΠΈΠ½ Π΄ΡΠ³ Π‘: array of real, Π³Π΄Π΅ C=0, Π‘—Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ (Ρ.Π΅. Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ Π΄Π»ΠΈΠ½ Π΄ΡΠ³) ΠΏΡΡΡ ΠΎΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π° s ΠΊ ΡΠ·Π»Ρ t Π²ΠΎ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΠΎΠΌ ΠΎΡΠ³ΡΠ°ΡΠ΅. Π Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ 3.3 ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ Π·Π°ΠΏΠΈΡΡ, Π½Ρ ΡΠ°ΠΌΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΡ, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ, ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ[1]. Π ΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ·Π»Ρ ΠΎΡΠ³ΡΠ°ΡΠ° ΠΏΠ΅ΡΠ΅Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Ρ, Π° ΡΠ°ΠΌ ΠΎΡΠ³ΡΠ°Ρ Π·Π°Π΄Π°Π½ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Π΄Π»ΠΈΠ½ Π΄ΡΠ³ Π‘: array [l.n, l. n] of real, Π³Π΄Π΅ C[i, i]=0, Π‘ [ i, j ]—Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π΄ΡΠ³Π° ΠΈΠ· ΡΠ·Π»Π° Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ i Π² ΡΠ·Π΅Π» Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ j ΠΈ Π‘ [ i, i ] =°°, Π΅ΡΡΡ Π½Π΅Ρ Π΄ΡΠ³ΠΈ ΠΈΠ· ΡΠ·Π»Π° Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ i Π² ΡΠ·Π΅Π» Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ j. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°: Π²Π΅ΠΊΡΠΎΡ Π’: array [l.n] of real ΠΈ H: array [ 1. n] of 0. n, Π³Π΄Π΅ n — ΡΠΈΡΠ»ΠΎ ΡΠ·Π»ΠΎΠ² Π² ΠΎΡΠ³ΡΠ°ΡΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π΅ΡΠ»ΠΈ ΡΠ·Π΅Π» v Π»Π΅ΠΆΠΈΡ Π½Π° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅ΠΌ ΠΏΡΡΠΈ ΠΎΡ ΡΠ·Π»Π° s ΠΊ ΡΠ·Π»Ρ t, ΡΠΎ Π’ [v] — Π΄Π»ΠΈΠ½Π° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ ΠΎΡ s ΠΊ v, Π° Π [ v ] — ΡΠ·Π΅Π», Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ·Π»Ρ v Π½Π° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅ΠΌ ΠΏΡΡΠΈ ΠΎΡ ΡΠ·Π»Π° s ΠΊ ΡΠ·Π»Ρ t. Π’Π°ΠΊΠΎΠΉ ΠΏΡΠΈΠ΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΠΏΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠΌΠ΅ΡΠΎΠΊ X: array [l.n] of bool.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ 33. ΠΠΎΠΈΡΠΊ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ
Proc Dijkstra (Π‘: array [l.n, l. n] of real, // Π΄Π»ΠΈΠ½Ρ Π΄ΡΠ³ Π’: array [l.n] of real, // Π΄Π»ΠΈΠ½Ρ ΠΏΡΡΠ΅ΠΉ .
H: array [l.n] of 0. n) // ΠΏΡΠ΅Π΄, ΡΠ·Π΅Π». for v from 1 to n do T[v] := °° // ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ X[v] := false // Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ end for.
H[s] := 0 // ΡΠ·Π»Ρ s Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ T[s] := 0 // ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΎΡ s ΠΊ s ΠΈΠΌΠ΅Π΅Ρ Π΄Π»ΠΈΠ½Ρ Π X[s] := true // ΠΈ ΠΎΠ½ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ v := s // ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΠ½Π° while v*t do // ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠ΅ΡΠΎΠΊ for u from 1 to n do.
if C [v, u] T[v]+C[v, u] then.
T[u] := T[v]+C[v, u] // Π½Π°ΠΉΠ΄Π΅Π½ Π±ΠΎΠ»Π΅Π΅.
// ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΡΡΡ ΠΈΠ· $s$ Π² $u$ ΡΠ΅ΡΠ΅Π· $v$ H[u] := v // Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π΅Π³ΠΎ.
end if.
end if.
end for.
// ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠ½ΡΠ° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ m := v: =0.
for u from 1 to n do.
if —iX [ u ] & T[u] < m then.
// Π²Π΅ΡΡΠΈΠ½Π° v Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ // ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΈΠ· s.
v := u; m := T[u].
end if.
end for.
if v=0 then.
stop // Π½Π΅Ρ ΠΏΡΡΠΈ ΠΈΠ· s Π² t.
end if.
X[v] := true // Π½Π°ΠΉΠ΄Π΅Π½ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΈΠ· s Π² v.
end while end proc.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π΄Π»ΠΈΠ½Ρ Π΄ΡΠ³ Π±ΡΠ»ΠΈ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Ρ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π»ΠΈΠ½Ρ Π΄ΡΠ³, ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π³ΡΠ°ΡΠ΅ Ρ ΡΡΠ΅ΠΌΡ ΡΠ·Π»Π°ΠΌΠΈ s, t ΠΈ ΠΈ, Π΅ΡΠ»ΠΈ Π‘ [ s, t ] =2, Π‘ [ s, u ] =3 ΠΈ Π‘[u, t]=-2, Π°Π»Π³ΠΎΡΠΈΡΠΌ 3.3 Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 1 ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΏΡΡΡ Π΄Π»ΠΈΠ½Ρ 2.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»ΠΈΠ½ Π΄ΡΠ³ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ, Π½ΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π³ΡΠ°ΡΠ΅ Ρ ΡΡΠ΅ΠΌΡ ΡΠ·Π»Π°ΠΌΠΈ s, t ΠΈ ΠΈ, Π΅ΡΠ»ΠΈ C[s, t]=2, C[s, u] =-2 ΠΈ Π‘ [ u, t ] =3, Π°Π»Π³ΠΎΡΠΈΡΠΌ 3.3 Π½Π°ΠΉΠ΄Π΅Ρ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ Π΄Π»ΠΈΠ½ΠΎΠΉ 1, Ρ ΠΎΡΡ Π² Π³ΡΠ°ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π΄ΡΠ³ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ.
ΠΠ»Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° while, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ v ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·Π΅Π», Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΈΠ· ΡΠ·Π»Π° s. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ X [ v] = true, ΡΠΎ Π’ [v] = d (s, v), ΠΈ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ Π½Π° ΠΏΡΡΠΈ ΠΈΠ· ΡΠ·Π»Π° s Π² ΡΠ·Π΅Π» v, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ Π½, ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ, Π³. Π΅.
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ (ΠΏΠΎ ΠΈΠ½Π΄ΡΠΊΡΠΈΠΈ), ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ v ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·Π΅Π» s, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΏΡΡΡΠΎΠΉ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π΄Π»ΠΈΠ½Ρ 0 (Π½Π΅ΠΏΡΡΡΡΠ΅ ΠΏΡΡΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΡΠΎΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π»ΠΈΠ½Ρ Π΄ΡΠ³ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Ρ). ΠΡΡΡΡ Π’ [u] =d (s, ΠΈ) Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ·Π»ΠΎΠ² ΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π½ΠΎΠ²Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ·Π΅Π» v, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΡ Π’ [v] = min{ T[u] | ->X[u] }. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΡΡΡ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, ΡΠΎ Π³Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ (ΠΎΡ ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠ³ΠΎ), ΡΡΠΎ Π’ [v] >d (s, v), Ρ. Π΅. Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΠΏΡΡΡ, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΈΠ· s Π² v, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΌ. Π’ΠΎΠ³Π΄Π° Π½Π° ΡΡΠΎΠΌ ΠΏΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ w Π½Π° ΡΡΠΎΠΌ ΠΏΡΡΠΈ, ΡΠ°ΠΊΡΡ ΡΡΠΎiX [w]. ΠΠΌΠ΅Π΅ΠΌ: T[w] = d (s, w) < T [v], ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ Π²ΡΠ±ΠΎΡΡ Π²Π΅ΡΡΠΈΠ½Ρ v ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° 3.3.
Π ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΡΠ΅Π½ΠΊΠ° ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΠΈ Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 0(ΠΏ2). ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΈΠΊΠ» while Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏ ΡΠ°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½Π° Π²Π΅ΡΡΠΈΠ½Π° ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²Π΅ΡΡΠΈΠ½Ρ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ. Π ΡΠ΅Π»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π²Π»ΠΎΠΆΠ΅Π½Ρ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠΊΠ»Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ ΠΏ ΡΠ°Π·. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΈΠΊΠ»Π°Ρ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠ°: ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·Π»Π° v, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π½Π°ΠΈΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΈΠ· ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΡ ΠΏΡΡΠ΅ΠΉ, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ·Π»ΠΈΡΠ½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ «Π΄Π°Π»Π΅ΠΊΠΈΠ΅» ΡΠ·Π»Ρ — ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΡΠΊΠΎΠΌΡΠΌ ΡΠ·Π»ΠΎΠΌ v. ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ, ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π±ΠΈΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ Π΄ΠΎ 0(ΠΏ log ΠΏ) Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅[2].
ΠΠ΄ΡΠ³Π΅Ρ ΠΠΈΠ±Π΅ ΠΠ΅ΠΉΠΊΡΡΡΠ° (Π½ΠΈΠ΄Π΅ΡΠ». Edsger Wybe Dijkstra), 1930— 2002 — Π²ΡΠ΄Π°ΡΡΠΈΠΉΡΡ Π½ΠΈΠ΄Π΅ΡΠ»Π°Π½Π΄ΡΠΊΠΈΠΉ ΡΡΠ΅Π½ΡΠΉ, ΠΈΠ΄Π΅ΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π½ΠΈΠΌΠ°Π»ΡΡ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ»Π³ΠΎΠ». ΠΠ΄ΠΈΠ½ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°Π²ΡΠΎΡ ΡΡΠ΄Π° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ½ΠΈΠ³ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π 1972 Π³. ΠΠ΅ΠΉΠΊΡΡΡΠ° Π±ΡΠ» ΡΠ΄ΠΎΡΡΠΎΠ΅Π½ ΠΏΡΠ΅ΠΌΠΈΠΈ Π’ΡΡΡΠΈΠ½Π³Π°.
«ΠΠΎΠΏΡΠΎΡ «ΡΠΌΠ΅Π΅Ρ Π»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄ΡΠΌΠ°ΡΡ» ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΌΡΡΠ»Π°, ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡ «ΡΠΌΠ΅Π΅Ρ Π»ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Π°Ρ Π»ΠΎΠ΄ΠΊΠ° ΠΏΠ»Π°Π²Π°ΡΡ ««.
- [1] ΠΠΎΠ²ΠΈΠΊΠΎΠ² Π€. Π. ΠΠΈΡΠΊΡΠ΅ΡΠ½Π°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°.
- [2] Π ΠΎΠΌΠ°Π½ΠΎΠ²ΡΠΊΠΈΠΉ Π. Π. ΠΠΈΡΠΊΡΠ΅ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·: ΡΡΠ΅Π±, ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ², ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΡ ΡΡ ΠΏΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅. Π‘ΠΠ±.: ΠΠ΅Π²ΡΠΊΠΈΠΉ ΠΠΈΠ°Π»Π΅ΠΊΡ, ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2003.