Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ коммивояТСра ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ коммивояТСра

РСшСниС Π±ΡƒΠ΄Π΅ΠΌ вСсти с использованиСм ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π² качСствС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°:
X0= (1,2);(2,3);(3,4);(4,5);(5,1)
Π’ΠΎΠ³Π΄Π° F(X0) = 90 + 40 + 60 + 50 + 20 = 260
Для опрСдСлСния Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ мноТСства Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ привСдСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎ строкам, для Ρ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ D Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт.
di= min(j) dij

i j12345di
1M90804010040
260M40507040
35030M602020
4107020M5010
520405020M20

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ diΠΈΠ· элСмСнтов рассматриваСмой строки. Π’ связи с этим Π²ΠΎ вновь ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ ноль.

i j12345
1M5040060
220M01030
33010M400
406010M40
5020300M

Π’Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ столбцам, для Ρ‡Π΅Π³ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ столбцС Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт:
dj= min(i) dij

i j12345
1M5040060
220M01030
33010M400
406010M40
5020300M
dj010000

ПослС вычитания ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π³Π΄Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ diΠΈ djΠ½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ константами привСдСния.

i j12345
1M4040060
220M01030
3300M400
405010M40
5010300M

Π‘ΡƒΠΌΠΌΠ° констант привСдСния опрСдСляСт ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ H:
H = βˆ‘di+ βˆ‘dj
H = 40+40+20+10+20+0+10+0+0+0 = 140
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ dijΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°ΡΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΎΡ‚ ΠΏΡƒΠ½ΠΊΡ‚Π° i Π΄ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° j.
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ n Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ², Ρ‚ΠΎ D являСтся ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ nxn с Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами dij>=0
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ допустимый ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ прСдставляСт собой Ρ†ΠΈΠΊΠ», ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ коммивояТСр посСщаСт Π³ΠΎΡ€ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ возвращаСтся Π² исходный Π³ΠΎΡ€ΠΎΠ΄.
Π”Π»ΠΈΠ½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° опрСдСляСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
F(Mk) = βˆ‘dij
ΠŸΡ€ΠΈΡ‡Π΅ΠΌ каТдая строка ΠΈ столбСц входят Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· с элСмСнтом dij.
Π¨Π°Π³ β„–1.
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ€Π΅Π±Ρ€ΠΎ вСтвлСнияи Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ всС мноТСство ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этого Ρ€Π΅Π±Ρ€Π° Π½Π° Π΄Π²Π° подмноТСства (i,j) ΠΈ (i*,j*).
Π‘ этой Ρ†Π΅Π»ΡŒΡŽ для всСх ΠΊΠ»Π΅Ρ‚ΠΎΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ элСмСнтами замСняСм ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π½ΡƒΠ»ΠΈ Π½Π° М(Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ) ΠΈ опрСдСляСм для Π½ΠΈΡ… сумму ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠΈΡ…ΡΡ констант привСдСния, ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² скобках.

i j12345di
1M40400(40)6040
220M0(20)103010
3300(10)M400(30)0
40(10)5010M4010
50(0)10300(0)M0
dj010100300

d(1,4) = 40 + 0 = 40; d(2,3) = 10 + 10 = 20; d(3,2) = 0 + 10 = 10; d(3,5) = 0 + 30 = 30; d(4,1) = 10 + 0 = 10; d(5,1) = 0 + 0 = 0; d(5,4) = 0 + 0 = 0;
Наибольшая сумма констант привСдСния Ρ€Π°Π²Π½Π° (40 + 0) = 40 для Ρ€Π΅Π±Ρ€Π° (1,4), ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, мноТСство разбиваСтся Π½Π° Π΄Π²Π° подмноТСства (1,4) ΠΈ (1*,4*).
НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² этого подмноТСства:
H(1*,4*) = 140 + 40 = 180
Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° (1,4) ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнта d14= 0 Π½Π° M, послС Ρ‡Π΅Π³ΠΎ осущСствляСм ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ расстояний для ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎΡΡ подмноТСства (1*,4*), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

i j12345di
1M4040M6040
220M010300
3300M4000
405010M400
5010300M0
dj0000040

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° (1,4) проводится ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх элСмСнтов 1-ΠΎΠΉ строки ΠΈ 4-Π³ΠΎ столбца, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ элСмСнт d41замСняСм Π½Π° М, для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ образования Π½Π΅Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Π° Ρ†ΠΈΠΊΠ»Π°.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ (4 x 4), которая ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния.
Π‘ΡƒΠΌΠΌΠ° констант привСдСния сокращСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹:
βˆ‘di+ βˆ‘dj= 10
ПослС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния сокращСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

i j1235di
220M0300
3300M00
4M50104010
501030M0
dj000010

НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° подмноТСства (1,4) Ρ€Π°Π²Π½Π°:
H(1,4) = 140 + 10 = 150 ≀ 180
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° этого подмноТСства (1,4) мСньшС, Ρ‡Π΅ΠΌ подмноТСства (1*,4*), Ρ‚ΠΎ Ρ€Π΅Π±Ρ€ΠΎ (1,4) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ с Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ H = 150
Π¨Π°Π³ β„–2.
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ€Π΅Π±Ρ€ΠΎ вСтвлСнияи Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ всС мноТСство ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этого Ρ€Π΅Π±Ρ€Π° Π½Π° Π΄Π²Π° подмноТСства (i,j) ΠΈ (i*,j*).
Π‘ этой Ρ†Π΅Π»ΡŒΡŽ для всСх ΠΊΠ»Π΅Ρ‚ΠΎΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ элСмСнтами замСняСм ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π½ΡƒΠ»ΠΈ Π½Π° М(Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ) ΠΈ опрСдСляСм для Π½ΠΈΡ… сумму ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠΈΡ…ΡΡ констант привСдСния, ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² скобках.

i j1235di
220M0(20)3020
3300(10)M0(30)0
4M400(30)3030
50(30)1030M10
dj20100300

d(2,3) = 20 + 0 = 20; d(3,2) = 0 + 10 = 10; d(3,5) = 0 + 30 = 30; d(4,3) = 30 + 0 = 30; d(5,1) = 10 + 20 = 30;
Наибольшая сумма констант привСдСния Ρ€Π°Π²Π½Π° (0 + 30) = 30 для Ρ€Π΅Π±Ρ€Π° (3,5), ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, мноТСство разбиваСтся Π½Π° Π΄Π²Π° подмноТСства (3,5) ΠΈ (3*,5*).
НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² этого подмноТСства:
H(3*,5*) = 150 + 30 = 180
Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° (3,5) ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнта d35= 0 Π½Π° M, послС Ρ‡Π΅Π³ΠΎ осущСствляСм ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ расстояний для ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎΡΡ подмноТСства (3*,5*), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

i j1235di
220M0300
3300MM0
4M400300
501030M0
dj0003030

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° (3,5) проводится ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх элСмСнтов 3-ΠΎΠΉ строки ΠΈ 5-Π³ΠΎ столбца, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ элСмСнт d53замСняСм Π½Π° М, для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ образования Π½Π΅Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Π° Ρ†ΠΈΠΊΠ»Π°.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ (3 x 3), которая ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния.
Π‘ΡƒΠΌΠΌΠ° констант привСдСния сокращСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹:
βˆ‘di+ βˆ‘dj= 10
ПослС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния сокращСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

i j123di
220M00
4M4000
5010M0
dj010010

НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° подмноТСства (3,5) Ρ€Π°Π²Π½Π°:
H(3,5) = 150 + 10 = 160 ≀ 180
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° этого подмноТСства (3,5) мСньшС, Ρ‡Π΅ΠΌ подмноТСства (3*,5*), Ρ‚ΠΎ Ρ€Π΅Π±Ρ€ΠΎ (3,5) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ с Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ H = 160
Π¨Π°Π³ β„–3.
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ Ρ€Π΅Π±Ρ€ΠΎ вСтвлСнияи Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ всС мноТСство ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этого Ρ€Π΅Π±Ρ€Π° Π½Π° Π΄Π²Π° подмноТСства (i,j) ΠΈ (i*,j*).
Π‘ этой Ρ†Π΅Π»ΡŒΡŽ для всСх ΠΊΠ»Π΅Ρ‚ΠΎΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ элСмСнтами замСняСм ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π½ΡƒΠ»ΠΈ Π½Π° М(Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ) ΠΈ опрСдСляСм для Π½ΠΈΡ… сумму ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠΈΡ…ΡΡ констант привСдСния, ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² скобках.

i j123di
220M0(20)20
4M300(30)30
50(20)0(30)M0
dj203000

d(2,3) = 20 + 0 = 20; d(4,3) = 30 + 0 = 30; d(5,1) = 0 + 20 = 20; d(5,2) = 0 + 30 = 30;
Наибольшая сумма констант привСдСния Ρ€Π°Π²Π½Π° (0 + 30) = 30 для Ρ€Π΅Π±Ρ€Π° (5,2), ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, мноТСство разбиваСтся Π½Π° Π΄Π²Π° подмноТСства (5,2) ΠΈ (5*,2*).
НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² этого подмноТСства:
H(5*,2*) = 160 + 30 = 190
Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° (5,2) ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнта d52= 0 Π½Π° M, послС Ρ‡Π΅Π³ΠΎ осущСствляСм ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ расстояний для ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎΡΡ подмноТСства (5*,2*), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

i j123di
220M00
4M3000
50MM0
dj030030

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° (5,2) проводится ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх элСмСнтов 5-ΠΎΠΉ строки ΠΈ 2-Π³ΠΎ столбца, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ элСмСнт d25замСняСм Π½Π° М, для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ образования Π½Π΅Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Π° Ρ†ΠΈΠΊΠ»Π°.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ (2 x 2), которая ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния.
Π‘ΡƒΠΌΠΌΠ° констант привСдСния сокращСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹:
βˆ‘di+ βˆ‘dj= 20
ПослС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ привСдСния сокращСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

i j13di
22000
4M00
dj20020

НиТняя Π³Ρ€Π°Π½ΠΈΡ†Π° подмноТСства (5,2) Ρ€Π°Π²Π½Π°:
H(5,2) = 160 + 20 = 180 ≀ 190
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° этого подмноТСства (5,2) мСньшС, Ρ‡Π΅ΠΌ подмноТСства (5*,2*), Ρ‚ΠΎ Ρ€Π΅Π±Ρ€ΠΎ (5,2) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ с Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ H = 180
Π’ соотвСтствии с этой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Ρ€Π΅Π±Ρ€Π° (2,1) ΠΈ (4,3).
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ² Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ€Π΅Π±Ρ€Π°:
(1,4), (4,3), (3,5), (5,2), (2,1),
Π”Π»ΠΈΠ½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Ρ€Π°Π²Π½Π° F(Mk) = 180

РСшСниС. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π² качСствС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°: X0= (1,2);(2,3);(3,4);(4,5);(5,6);(6,1)
Π’ΠΎΠ³Π΄Π° F(X0) = 4 + 7 + 9 + 3 + 4 + 2 = 29
Для опрСдСлСния Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ мноТСства Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈΠΈΠ»ΠΈ привСдСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎ строкам, для Ρ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ D Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт.
di= min(j) dij

i j123456di
1M445433
22M71161
323M9452
4132M311
57411M41
623479M2

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ² Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ€Π΅Π±Ρ€Π°:
(2,5), (5,4), (4,6), (6,3), (3,1), (1,2)
Π”Π»ΠΈΠ½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Ρ€Π°Π²Π½Π° F(Mk) = 13
РСшСниС

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π² качСствС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°: X0 = (1,2);(2,3);(3,4);(4,5);(5,6);(6,1)

Π’ΠΎΠ³Π΄Π° F(X0) = 10 + 11 + 3 + 12 + 14 + 17 = 67

Для опрСдСлСния Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ мноТСства Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ привСдСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎ строкам, для Ρ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ D Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт.

di = min(j) dij

i j123456di
1M10591685
26M11818196
3713M34143
4596M12175
554116M144
6177121316M7

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ diΠΈΠ· элСмСнтов рассматриваСмой строки. Π’ связи с этим Π²ΠΎ вновь ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ ноль.

i j123456
1M504113
20M521213
3410M0111
4041M712
51072M10
6100569M

Π’Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ столбцам, для Ρ‡Π΅Π³ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ столбцС Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт: dj= min(i) dij

i j123456
1M504113
20M521213
3410M0111
4041M712
51072M10
6100569M
dj000013

ПослС вычитания ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π³Π΄Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ diΠΈ djΠ½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ константами привСдСния.

i j123456
1M504100
20M521110
3410M008
4041M69
51072M7
6100568M

Π‘ΡƒΠΌΠΌΠ° констант привСдСния опрСдСляСт ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ H: H = βˆ‘di+ βˆ‘dj = H = 5+6+3+5+4+7+0+0+0+0+1+3 = 34

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ² Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ€Π΅Π±Ρ€Π°:

Π”Π»ΠΈΠ½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Ρ€Π°Π²Π½Π° F(Mk) = 38

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РСшаСм Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТёра простым ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π’Ρ‡Π΅Ρ€Π° ΠΌΡ‹ рассказывали, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π·Π°Π΄Π°Ρ‡Π° коммивояТёра. Если ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ β€” это класс Π·Π°Π΄Π°Ρ‡ Π½Π° поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° срСди Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ². Или ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Ρƒ. Или поиск ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Ρ‹ для Π°Ρ€Π΅Π½Π΄Ρ‹ ΠΏΠΎ нСскольким ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ β€” это Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ситуациях со мноТСством ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

БСгодня ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТёра самым простым способом β€” простым ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ.

πŸ‘‰ ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТёра ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ Π½Π΅ получится, Ссли Ρƒ нас ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ². Но ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈ посмотрим, ΠΊΠ°ΠΊΠΎΠΉ получится ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π“ΠΎΡ€ΠΎΠ΄Π° ΠΈ расстояния

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ 5 Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соСдинён с Π΄Ρ€ΡƒΠ³ΠΈΠΌ:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

Из-Π·Π° Ρ€Π΅Π»ΡŒΠ΅Ρ„Π° мСстности Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π° Π½Π΅ всСгда соСдинСны ΠΏΠΎ прямой, Π½ΠΎ для простоты ΠΌΡ‹ нарисовали Ρ‚Π°ΠΊ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ проставим врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся для ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄Π° ΠΈΠ· Π³ΠΎΡ€ΠΎΠ΄Π° Π² Π³ΠΎΡ€ΠΎΠ΄:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ расстояниями, сдСлаСм Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

НулСвыС ячСйки ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ здСсь Π½Π΅Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΏΡƒΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ числа β€” это расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ. НапримСр, расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ Π³ΠΎΡ€ΠΎΠ΄ΠΎΠΌ β€” 6 ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΌ ΠΈ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ β€” 10 ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

На языкС JavaScript это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹

Наша Π·Π°Π΄Π°Ρ‡Π° β€” Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сумма ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ минимальной.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π‘ΠΊΡ€ΠΈΠΏΡ‚

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта Π½Π°ΠΌ понадобятся Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Π‘ΠΎΠ±Π΅Ρ€Ρ‘ΠΌ скрипт. Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

Π Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Когда ΠΌΡ‹ запустим скрипт Π² консоли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠ΅:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ» Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ провСрял, Π° Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‹Π΄Π°Π» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если ΠΌΡ‹ пролистаСм Π½Π°Π²Π΅Ρ€Ρ… вСсь Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ², Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ скрипт постСпСнно Π½Π°Ρ…ΠΎΠ΄ΠΈΠ» ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ всё ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ ΠΊΠΎΡ€ΠΎΡ‡Π΅:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

Но Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ ΠΎΠ½ Π½Π°ΡˆΡ‘Π» самый ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π²ΠΎΡˆΡ‘Π» Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

Π§Ρ‚ΠΎ здСсь Π½Π΅ Ρ‚Π°ΠΊ

Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Ρƒ нас получился простой ΠΈ понятный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эти нСдостатки Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ Π·Π°Π΄Π°Ρ‡Π΅. Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ коммивояТСра Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Π›ΠΈΡ‚Ρ‚Π»Π° с Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° плоскости

Π˜Π·Π²Π΅ΡΡ‚Π½Π°Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ с 19 Π²Π΅ΠΊΠ° Π·Π°Π΄Π°Ρ‡Π° коммивояТСра ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ описана. Π•Π΅ оптимизационная вСрсия являСтся NP-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΉ, поэтому ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†.

ΠŸΡ‹Ρ‚Π°ΡΡΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π›ΠΈΡ‚Ρ‚Π»Π° (частный случай ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†), я понял, Ρ‡Ρ‚ΠΎ Π² Ρ€ΡƒΠ½Π΅Ρ‚Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ описаниС понятным языком ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Однако ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠΈ описания ΠΎΠ±ΠΌΠ°Π½Ρ‡ΠΈΠ²ΠΎ ΠΏΡ€Π°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ°Π»ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π±Π΅Π· Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра. Π€ΠΎΡ‚ΠΎ Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ коммивояТСра

ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†

Алгоритм Π›ΠΈΡ‚Ρ‚Π»Π° являСтся частным случаСм ΠœΠ’ΠΈΠ“, Ρ‚.Π΅. Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° слоТности ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°. ВСорСтичСскоС описаниС выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠΆΠ΅Ρ‚Π²ΠΎ S всСх Π³Π°ΠΌΠΈΠ»ΡŒΡ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Ρ€Π°Ρ„Π°. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π² S ищСтся Ρ€Π΅Π±Ρ€ΠΎ (i, j), ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° максимально ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ ΠΎΡ†Π΅Π½ΠΊΡƒ снизу. Π”Π°Π»Π΅Π΅ происходит Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ мноТСства Π½Π° Π΄Π²Π° Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ S1 ΠΈ S2. S1 β€” всС Ρ†ΠΈΠΊΠ»Ρ‹, содСрТащиС Ρ€Π΅Π±Ρ€ΠΎ (i, j) ΠΈ Π½Π΅ содСрТащиС (j, i). S2 β€” всС Ρ†ΠΈΠΊΠ»Ρ‹, Π½Π΅ содСрТащиС (i, j). Π”Π°Π»Π΅Π΅ вычисляСтся ΠΎΡ†Π΅Π½ΠΊΠ° снизу для Π΄Π»ΠΈΠ½Ρ‹ ΠΏΡƒΡ‚ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ мноТСства ΠΈ, Ссли ΠΎΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΡƒΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, мноТСство отбрасываСтся. Если Π½Π΅Ρ‚ β€” мноТСства S1 ΠΈ S2 ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ S.

АлгоритмичСскоС описаниС

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° расстояний M. Π”ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒ заполняСтся бСсконСчными значСниями, Ρ‚.ΠΊ. Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ имССтся пСрСмСнная, хранящая ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ вСсти ΡƒΡ‡Π΅Ρ‚ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ² бСсконСчностСй β€” ΠΎΠ΄Π½Π° добавляСтся послС удалСния строки ΠΈ столбца ΠΈΠ· ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ², другая β€” ΠΏΡ€ΠΈ отбрасывании Ρ€Π΅Π±Π΅Ρ€. Π‘Π»ΡƒΡ‡Π°ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅. ΠŸΠ΅Ρ€Π²ΡƒΡŽ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°ΠΊ inf1, Π²Ρ‚ΠΎΡ€ΡƒΡŽ β€” inf2. Π”ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° inf1.

Эвристика состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ M1 ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° Π½Π΅ большС, Ρ‡Π΅ΠΌ Ρƒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ M2 ΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ рассматриваСтся Π²Π΅Ρ‚Π²ΡŒ, содСрТащая Ρ€Π΅Π±Ρ€ΠΎ (i, j).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство, Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ интСрСсный находится Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ с Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ»Π»ΡŽΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ (СдинствСнная найдСнная ΠΌΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΡ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡ€ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½ΠΎ, ΠΊ соТалСнию, Π² Π½Π΅ΠΉ нСдостаточно алгоритмичСскоС описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° β€” сначала ΠΏΡ€ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΎ мноТСства). Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ссли Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ‚ΠΊΠΈ с Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΡˆΡ‚Ρ€Π°Ρ„ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ шаги поиска ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ для этой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

01234
0inf2018128
15inf14711
21218inf611
3111711inf12
45555inf

РСализация

Π¨Π°Π³ 1

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅ΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ столбцС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *