ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² связном Π³Ρ€Π°Ρ„Π΅

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄ прямого поиска ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ сводится ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Ρƒ всСвозмоТных Ρ†Π΅ΠΏΠ΅ΠΉ, Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. Для Π³Ρ€Π°Ρ„ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΡΡ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ эффСктивСн, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ поиск Π² Π³Ρ€Π°Ρ„Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ всСго Π·Π° 2 шага (ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры Π·Π° 4), Π² Π³Ρ€Π°Ρ„Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π·Π° 4 шага (ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры Π·Π° 6). Однако… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² связном Π³Ρ€Π°Ρ„Π΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ
  • 1.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ²
  • 1.2 Π‘Π²ΡΠ·Π½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΎΠ²
  • 1.3 Π—Π°Π΄Π°Ρ‡Π° ΠΎ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ
  • 1.4 ΠœΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅
  • 2. РСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π°
  • 2.1 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ДСйкстры
  • 2.2 ОписаниС Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля
  • 2.3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1: ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2: Π³Ρ€Π°Ρ„Ρ‹ тСстовых расчСтов

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ чСловСчСства насчитываСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π»Π΅Ρ‚. На Π²ΡΠ΅ΠΉ Π΅Π΅ ΠΏΡ€ΠΎΡ‚яТСнности люди ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΎΡ‚ Π½ΠΈΡ… принятия ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ рСсурсы, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ сСлами с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ сил ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π² ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π•Ρ‰Π΅ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π²Π΅ΠΊΠ΅, Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π­Π’Πœ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ слоТной ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π² Ρ€Π°ΡΠΏΠΎΡ€ΡΠΆΠ΅Π½ΠΈΠΈ Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° имССтся ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями, Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… матСматичСских, физичСских, экономичСских Π·Π°Π΄Π°Ρ‡, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, стало Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΠΏΡ€ΠΈΡΡ‚Π½Π΅Π΅. Достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π­Π’Πœ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΠ½Π° ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚!

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ сочСтаСт Π² ΡΠ΅Π±Π΅ ΡΠ»Π΅Π³Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ мысли ΠΈ Π²Ρ‹ΡΠΎΡ‡Π°ΠΉΡˆΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ проводится Π΅Π³ΠΎ сравнСниС с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ простого ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ являСтся, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самым ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… обСспСчиваСт отысканиС Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ Ρ†Π΅ΠΏΠΈ Π² Π³Ρ€Π°Ρ„Π΅.

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

1.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ²

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ систСму ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ взаимосвязанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎ ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽΡ‚ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ: Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Π² ΠΏΡ€ΠΎΡΡ‚ранствС выбираСтся нСсколько Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ линиями.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ получаСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ построСния, называСтся Π³Ρ€Π°Ρ„ΠΎΠΌ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ-схСму Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π³Ρ€Π°Ρ„ соСдинСний Π² ΡΠ»Π΅ΠΊΡ‚ричСской схСмС, ΡΠ΅Ρ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΉ Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠ³ΠΎ сообщСния ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠžΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ систСму ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, примСняя ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ построСниС: Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… ΠΈΡ… Π»ΠΈΠ½ΠΈΠΉ Π±Ρ€Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ ΠΊΡ€ΠΈΠ²Ρ‹Π΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, Π° ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ систСму связСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΠ»ΠΎΠ²Π΅ΡΠ½ΠΎΠΉ. Π­Ρ‚ΠΎ рассуТдСниС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π°, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π°Ρ‚ΡŒ наглядно.

Говорят, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Π½ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„, Ссли Π·Π°Π΄Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° [1]:

1) ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ мноТСство, элСмСнты этого мноТСства Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ Π³Ρ€Π°Ρ„Π°;

2) НСкотороС мноТСство нСупорядочСнных ΠΏΠ°Ρ€ элСмСнтов ΠΈΠ·, это мноТСство обозначаСтся, Π΅Π³ΠΎ элСмСнты, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ.

ΠΌΠ΅Ρ‚ΠΎΠ΄ дСйкстра связный Π³Ρ€Π°Ρ„ Π’ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Ρ„ опрСдСляСтся ΠΏΠ°Ρ€ΠΎΠΉ мноТСств ΠΈ, записываСтся Π² Π²ΠΈΠ΄Π΅. ΠŸΡ€ΠΈ наглядном прСдставлСнии Π³Ρ€Π°Ρ„Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, Ρ€Π΅Π±Ρ€Π° — линиями, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΌΠΈ эти Ρ‚ΠΎΡ‡ΠΊΠΈ.

НапримСр,, Π³Π΄Π΅

.

Π’ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ этот Π³Ρ€Π°Ρ„ прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅.

Наряду с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π³Ρ€Π°Ρ„Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ соСдиняСт нСсколько Ρ€Π΅Π±Π΅Ρ€. Π’Π°ΠΊΠΈΠ΅ Π³Ρ€Π°Ρ„Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ³Ρ€Π°Ρ„Π°ΠΌΠΈ. Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π³Ρ€Π°Ρ„Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Ρ‹. Π’Π°ΠΊΠΈΠ΅ Ρ€Π΅Π±Ρ€Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ пСтлями. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π° ΠΎΠ΄Π½ΠΈΠΌ Ρ€Π΅Π±Ρ€ΠΎΠΌ. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΏΠΎΠ΄ Π³Ρ€Π°Ρ„ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ Π±Π΅Π· ΠΏΠ΅Ρ‚Π΅Π»ΡŒ ΠΈ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Ρ€Π΅Π±Ρ€Π°ΠΌ Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ½Ρ†ΠΎΠ² Ρ€Π΅Π±Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎΠΌ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ — ΠΊΠΎΠ½Ρ†ΠΎΠΌ.

Говорят, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Π½ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„, Ссли ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

1) нСпустоС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ мноТСство — Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π°;

2) мноТСство, составлСнноС ΠΈΠ· ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€ Π²Π΅Ρ€ΡˆΠΈΠ½.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ мноТСства Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄ΡƒΠ³Π°ΠΌΠΈ. Π”ΡƒΠ³Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π° изобраТаСтся ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠΌ со ΡΡ‚Ρ€Π΅Π»ΠΊΠΎΠΉ.

ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ Π³Ρ€Π°Ρ„. О Ρ€Π΅Π±Ρ€Π΅ этого Π³Ρ€Π°Ρ„Π° говорят, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ соСдиняСт Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ. Π’Π΅Ρ€ΡˆΠΈΠ½Ρ‹, соСдинСнныС Ρ€Π΅Π±Ρ€ΠΎΠΌ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ смСТными. О Ρ€Π΅Π±Ρ€Π΅ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ говорят, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹, Ρ‚ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ€Π΅Π±Ρ€Π΅ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ .

Π‘ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ число Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° Π±ΡƒΠΊΠ²ΠΎΠΉ, Π° Ρ‡ΠΈΡΠ»ΠΎ Ρ€Π΅Π±Π΅Ρ€ — Π±ΡƒΠΊΠ²ΠΎΠΉ:. Π­Ρ‚ΠΎ основныС числовыС характСристики Π³Ρ€Π°Ρ„Π°.

Число Ρ€Π΅Π±Π΅Ρ€, ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅, называСтся ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ этой Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ся. Π’Π΅Ρ€ΡˆΠΈΠ½Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ, называСтся ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ. Π’Π΅Ρ€ΡˆΠΈΠ½Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Ρ€Π°Π²Π½ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ висячими. НапримСр, Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌ Ρ€Π°Π½Π΅Π΅, висячиС, Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π° — изолированная.

Π‘ΠΏΡ€Π°Π²Π΅Π΄Π»ΠΈΠ²Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ утвСрТдСния:

сумма стСпСнСй всСх Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° Ρ€Π°Π²Π½Π° ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΌΡƒ числу Ρ€Π΅Π±Π΅Ρ€;

число Π²Π΅Ρ€ΡˆΠΈΠ½, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π½Π΅Ρ‡Π΅Ρ‚Π½ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Ρ‡Π΅Ρ‚Π½ΠΎ.

Для ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ² вмСсто стСпСни Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ вводят понятия полустСпСнСй: ΠΏΠΎΠ»ΡƒΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π·Π°Ρ…ΠΎΠ΄Π° — это количСство Π΄ΡƒΠ³, входящих Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… стрСлкой ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. ΠŸΠΎΠ»ΡƒΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ исхода — это количСство Π΄ΡƒΠ³, выходящих ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ .

Π“Ρ€Π°Ρ„, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π±Π΅Ρ€, называСтся пустым. ВсС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ пустого Π³Ρ€Π°Ρ„Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅. Π“Ρ€Π°Ρ„, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ каТдая ΠΏΠ°Ρ€Π° Π²Π΅Ρ€ΡˆΠΈΠ½ соСдинСна Ρ€Π΅Π±Ρ€ΠΎΠΌ, называСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ. ΠŸΠΎΠ»Π½Ρ‹ΠΉΠ²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ обозначаСтся, для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π³ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠΌΠ΅Π΅ΠΌ .

ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ Π³Ρ€Π°Ρ„. Удаляя ΠΈΠ· Π³Ρ€Π°Ρ„Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π° ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„Ρ‹ исходного Π³Ρ€Π°Ρ„Π°.

Π“Ρ€Π°Ρ„ называСтся ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ΠΎΠΌ Π³Ρ€Π°Ρ„Π°, Ссли ΠΈ .

Π“Ρ€Π°Ρ„ называСтся остовным ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ΠΎΠΌ Π³Ρ€Π°Ρ„Π°, Ссли ΠΈ. ΠžΡΡ‚ΠΎΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ получаСтся, Ссли Π² Π³Ρ€Π°Ρ„Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Π±Π΅Ρ€, Π½Π΅ Ρ‚рогая Π²Π΅Ρ€ΡˆΠΈΠ½.

НС Π²ΡΠ΅Π³Π΄Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ это ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ. НапримСр, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π³Ρ€Π°Ρ„Π° Π½Π° Π­Π’Πœ, Π΅Π³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ ΠΈ. Π—Π°Π½ΡƒΠΌΠ΅Ρ€ΡƒΠ΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° числами. Рассмотримматрицу, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ:, Ссли, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС .

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° называСтся ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ смСТности Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°. Для случая Π³Ρ€Π°Ρ„Π° эта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° симмСтрична ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΡƒΠ»ΠΈ Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ.

Число Π΅Π΄ΠΈΠ½ΠΈΡ† Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ строкС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности Ρ€Π°Π²Π½ΠΎ стСпСни ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.

ΠŸΡ€ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ матСматичСского понятия всСгда Π΄ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ. Π˜Π·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ — это Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΉ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ся ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. НапримСр, Π³Ρ€Π°Ρ„Ρ‹, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ размСщСния Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ.

Если Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΏΠΎ ΡΡ…Π΅ΠΌΠ΅

Ρ‚ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ Ρ€Π΅Π±Π΅Ρ€ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π³Ρ€Π°Ρ„Π°Ρ… совпадут, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ся ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π³Ρ€Π°Ρ„.

Π“Ρ€Π°Ρ„Ρ‹ ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ся ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΌΠΈ, Ссли ΠΌΠ΅ΠΆΠ΄Ρƒ мноТСствами ΠΈΡ… Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ соотвСтствиС, Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ смСТны Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π³Ρ€Π°Ρ„ΠΎΠ² Π² Ρ‚ΠΎΠΌ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ смСТны Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π΄Π²Π° ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π°.

1.2 Π‘Π²ΡΠ·Π½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΎΠ²

ΠŸΡƒΡΡ‚ΡŒ — Π³Ρ€Π°Ρ„. ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ Ρ€Π΅Π±Π΅Ρ€ Π³Ρ€Π°Ρ„Π°

Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π±Ρ€ΠΎ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ, называСтся ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ Π½Π° Π³Ρ€Π°Ρ„Π΅ .

Говорят, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ (1.1) соСдиняСт Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ. Число Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π»ΠΈΠ½Π° — это количСство Ρ€Π΅Π±Π΅Ρ€, входящих Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚. ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ называСтся Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Ρ‹ΠΌ, Ссли .

ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС Ρ€Π΅Π±Ρ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, называСтся Ρ†Π΅ΠΏΡŒΡŽ. Замкнутая Ρ†Π΅ΠΏΡŒ называСтся Ρ†ΠΈΠΊΠ»ΠΎΠΌ.

ЦСпь называСтся простой, Ссли всС Π΅Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ†ΠΈΠΊΠ» — это Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹.

Π’ Π³Ρ€Π°Ρ„Π΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅,

— ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚,

— Ρ†Π΅ΠΏΡŒ,

— ΠΏΡ€ΠΎΡΡ‚ая Ρ†Π΅ΠΏΡŒ.

ΠŸΡƒΡΡ‚ΡŒ Π² Π³Ρ€Π°Ρ„Π΅ имССтся ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ. Если Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Π²ΠΈΠ΄Π°

ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°

Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ прСобразования снова получится ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ нСсколько Ρ€Π°Π·, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π² Π³Ρ€Π°Ρ„Π΅ сущСствуСт ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ, Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΡΡ‚ая Ρ†Π΅ΠΏΡŒ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π°Ρ Ρ‚Π΅ ΠΆΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹.

Π“Ρ€Π°Ρ„ называСтся связным, Ссли Π»ΡŽΠ±Ρ‹Π΅ Π΄Π²Π΅ Π΅Π³ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ†Π΅ΠΏΡŒΡŽ.

Рассмотрим ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„, ΠΏΡƒΡΡ‚ΡŒ — нСкоторая Π²Π΅Ρ€ΡˆΠΈΠ½Π°. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ†Π΅ΠΏΡŒΡŽ с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ. Если Π΄Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ связный, Ρ‚ΠΎ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС .

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π³Ρ€Π°Ρ„Π΅ Π½Π΅Ρ‚ Ρ€Π΅Π±Π΅Ρ€, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ ΠΈΠ·: Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ†Π΅ΠΏΡŒ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΡƒΡŽ с, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π΄ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· мноТСство Ρ€Π΅Π±Π΅Ρ€ Π³Ρ€Π°Ρ„Π°, ΠΎΠ±Π° ΠΊΠΎΠ½Ρ†Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ мноТСству .

ΠŸΡƒΡΡ‚ΡŒ. Π’ΠΎΠ³Π΄Π° — связный Π³Ρ€Π°Ρ„. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡƒΡΡ‚ΡŒ,. БоСдиняя Ρ†Π΅ΠΏΡŒ ΠΎΡ‚ ΠΊ Ρ Ρ†Π΅ΠΏΡŒΡŽ ΠΎΡ‚ ΠΊ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΈ. Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, этот ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ†Π΅ΠΏΡŒ.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ построСниС для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ Π³Ρ€Π°Ρ„, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ свойствами, Ρ‡Ρ‚ΠΎ ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ связный ΠΈ Ρ‚Π°ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ любоС Ρ€Π΅Π±Ρ€ΠΎ исходного Π³Ρ€Π°Ρ„Π° Π»ΠΈΠ±ΠΎ соСдиняСт Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ·, Π»ΠΈΠ±ΠΎ соСдиняСт Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ· .

Если мноТСство Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°Π΅Ρ‚ всСх Π²Π΅Ρ€ΡˆΠΈΠ½ исходного Π³Ρ€Π°Ρ„Π°, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ построСниС для Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ построСны связныС Π³Ρ€Π°Ρ„Ρ‹

Ρ‚Π°ΠΊΠΈΠ΅ Ρ‡Ρ‚ΠΎ

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π³Ρ€Π°Ρ„Ρ‹ связаны, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΡ… Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ Ρ€Π΅Π±Π΅Ρ€, Π° ΠΊΠ°ΠΆΠ΄Π°Ρ Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ исходного Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΡΡ‚ΠΈΡ… Π³Ρ€Π°Ρ„ΠΎΠ².

Π“Ρ€Π°Ρ„Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ связности Π³Ρ€Π°Ρ„Π°. Число — Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° числовая характСристика Π³Ρ€Π°Ρ„Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, сколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ связности ΠΎΠ½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚. Для связного Π³Ρ€Π°Ρ„Π°, Ссли Π³Ρ€Π°Ρ„ нСсвязный, Ρ‚ΠΎ .

Если Π΄Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся связным ΠΈ Ρ€Π°ΡΠΏΠ°Π΄Π°Π΅Ρ‚ся Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ вопроса ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этого Π³Ρ€Π°Ρ„Π°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ свСсти ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связны. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Ρ„ связный.

Рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вопрос ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π³Ρ€Π°Ρ„Π°. ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ Π³Ρ€Π°Ρ„. РасстояниСм ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ ΠΈ Π³Ρ€Π°Ρ„Π° Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ ΠΈΠ· Π΄Π»ΠΈΠ½ Ρ†Π΅ΠΏΠ΅ΠΉ, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… эти Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. РасстояниС Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· .

Π’Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ расстояниС удовлСтворяСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ аксиомам ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

1); ;

2) ;

3) .

Π”ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π³Ρ€Π°Ρ„Π° называСтся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°

Π³Π΄Π΅ максимум бСрСтся ΠΏΠΎ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ

Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ расстояниС ΠΎΡ‚ Π΄ΠΎ ΡΠ°ΠΌΠΎΠΉ Π΄Π°Π»Π΅ΠΊΠΎΠΉ ΠΎΡ‚ Π½Π΅Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π°. ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ этой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Π³Ρ€Π°Ρ„Π° называСтся радиусом Π³Ρ€Π°Ρ„Π° :

.

Π’Π΅Ρ€ΡˆΠΈΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ достигаСтся этот ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ:, называСтся Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ.

1.3 Π—Π°Π΄Π°Ρ‡Π° ΠΎ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ

ΠŸΡ€ΠΈ вычислСнии расстояний ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ Π³Ρ€Π°Ρ„Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ [3]: Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ Π·Π°Π΄Π°Π½Ρ‹ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ; Π½Π°ΠΉΡ‚ΠΈ Ρ†Π΅ΠΏΡŒ наимСньшСй Π΄Π»ΠΈΠ½Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΡƒΡŽ Ρ†Π΅ΠΏΡŒ, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ с .

Рассмотрим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ. Он ΡΠΎΡΡ‚ΠΎΠΈΡ‚ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ присвоСнии Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Π³Ρ€Π°Ρ„Π° цСлочислСнных ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ; ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° любой Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ оказываСтся Ρ€Π°Π²Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ этой Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ .

ΠŸΠΎΠΌΠ΅Ρ‚ΠΈΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ «0». ВсС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, смСТныС с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ, ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ «1». НСпомСчСнныС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, смСТныС с Π½ΠΈΠΌΠΈ — ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ «3» ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π°. Допустим, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ. ВозвращаСмся ΠΎΡ‚ ΠΊ, отыскивая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ: ΡΠΌΠ΅ΠΆΠ½ΡƒΡŽ с Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ, ΡΠΌΠ΅ΠΆΠ½ΡƒΡŽ с Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ «1», Π½Π΅ ΠΏΡ€ΠΈΠ΄Π΅ΠΌ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ. ЦСпь искомая, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ .

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π²ΠΎΠ»Π½ΠΎΠ²Ρ‹ΠΌ: процСсс расстановки ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ распространСниС возмущСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ ΠΈ Π΄Π²ΠΈΠΆΠ΅Ρ‚ся со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ΄Π½ΠΎ Ρ€Π΅Π±Ρ€ΠΎ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ; Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ„Ρ€ΠΎΠ½Ρ‚ Π²ΠΎΠ»Π½Ρ‹.

Рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ — это Π·Π°Π΄Π°Ρ‡Π° ΠΎ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² Π³Ρ€Π°Ρ„Π΅ с Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ.

ΠŸΠΎΡΡ‚Π°Π²ΠΈΠΌ Π² ΡΠΎΠΎΡ‚вСтствиС ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π΅Π±Ρ€Ρƒ Π³Ρ€Π°Ρ„Π° Ρ†Π΅Π»ΠΎΠ΅ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½ΠΎΠΉ Ρ€Π΅Π±Ρ€Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ этом получаСтся, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π³Ρ€Π°Ρ„ΠΎΠΌ с Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ, ΠΎΠ½ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ся. Π”Π»ΠΈΠ½ΠΎΠΉ Ρ†Π΅ΠΏΠΈ Π² Ρ‚Π°ΠΊΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ Π½Π°Π·ΠΎΠ²Π΅ΠΌ сумму Π΄Π»ΠΈΠ½ входящих Π² Ρ†Π΅ΠΏΡŒ Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π²Π½ΠΎΠ²ΡŒ рассмотрим Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΠ± ΠΎΡ‚ыскании Ρ†Π΅ΠΏΠΈ наимСньшСй Π΄Π»ΠΈΠ½Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ ΠΈ .

Как ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ состоит Π² Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ числовых ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π·, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для Π΄Π»ΠΈΠ½Ρ‹ Ρ€Π΅Π±Ρ€Π° наряду с ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ .

ПослС окончания процСсса вычислСния ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ трСбованиям — условиям ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΈ условия сформулированы Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ.

Π£Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π³Ρ€Π°Ρ„Π΅ с Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ приписана ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия:

1) ;

2) Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ€Π°

3) ;

4) Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ найдСтся смСТная с Π½Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π°, такая Ρ‚ΠΎ

.

Π’ΠΎΠ³Π΄Π°:

Π΄Π»ΠΈΠ½Π° ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ ΠΈ Ρ€Π°Π²Π½Π° ;

сама ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ°Ρ Ρ†Π΅ΠΏΡŒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ

, Ρ‚Π°ΠΊΠΈΠΌ Ρ‡Ρ‚ΠΎ .

Для Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ†Π΅ΠΏΡŒ (1.2), ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ говорится Π² ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство 3). Для этого Π½Π°Π΄ΠΎ, Π½Π°Ρ‡Π°Π² с Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, Π½Π°ΠΉΡ‚ΠΈ ΡΠΌΠ΅ΠΆΠ½ΡƒΡŽ Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ

;

Π”Π°Π»Π΅Π΅ Π½Π°ΠΉΡ‚ΠΈ ΡΠΌΠ΅ΠΆΠ½ΡƒΡŽ с Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся свойство 3), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ Ρ€Π°Π²Π½Π° Π΄Π»ΠΈΠ½Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ… Ρ€Π΅Π±Ρ€Π°. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ .

Π”Π»ΠΈΠ½Π° построСнной Ρ†Π΅ΠΏΠΈ Ρ€Π°Π²Π½Π°

.

ПокаТСм, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†Π΅ΠΏΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ. ΠŸΡƒΡΡ‚ΡŒ

ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ†Π΅ΠΏΠ΅ΠΉ.

Π’ ΡΠΈΠ»Ρƒ свойства ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ 2) для Ρ€Π΅Π±Π΅Ρ€ Ρ†Π΅ΠΏΠΈ (1.3) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСравСнства:

Π‘Π»ΠΎΠΆΠΈΠ² эти нСравСнства, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ

Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Π° Ρ†Π΅ΠΏΠΈ Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ .

Π£Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ.

1.4 ΠœΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ эффСктивноС Π΅Π΅ ΠΎΡ‚ысканиС ΠΏΡƒΡ‚Π΅ΠΌ присвоСния Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Π³Ρ€Π°Ρ„Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… свойствам 1) — 3).

Алгоритм состоит ΠΈΠ· Π΄Π²ΡƒΡ… этапов:

Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ расстановка ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ;

цикличСски ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° исправлСния ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ.

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° всС ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ дСлятся Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅. Алгоритм ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° всС ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ станут ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ДСйкстры [4]:

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ расстановка ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ.

ПолагаСм

.

ВсС ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ объявляСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ.

Π‘Ρ€Π΅Π΄ΠΈ всСх ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ. ΠŸΡƒΡΡ‚ΡŒ это ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, смСТной с ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ, исправляСм ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ:

.

ПослС исправлСния ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ всСх смСТных с Π²Π΅Ρ€ΡˆΠΈΠ½ объявляСм ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг исправлСния ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ… ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, шаг исправлСния ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·, Π³Π΄Π΅ — число Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ всСгда ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ условиям ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 1) — 3).

ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ°Ρ Ρ†Π΅ΠΏΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. ΠžΡ‚Ρ‹ΡΠΊΠΈΠ²Π°Π΅ΠΌ ΡΠΌΠ΅ΠΆΠ½ΡƒΡŽ с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ρ‚Π°ΠΊΡƒΡŽ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½ΠΎ Π΄Π»ΠΈΠ½Π΅ Ρ€Π΅Π±Ρ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΡƒΡŽ Ρ†Π΅ΠΏΡŒ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ для Π½Π΅Π΅ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅ΠΌ Π΄ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½Π°Ρ Ρ†Π΅ΠΏΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ (ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ).

ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ сравнСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ДСйкстры с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ прямого поиска.

ΠœΠ΅Ρ‚ΠΎΠ΄ прямого поиска ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ сводится ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Ρƒ всСвозмоТных Ρ†Π΅ΠΏΠ΅ΠΉ, Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. Для Π³Ρ€Π°Ρ„ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΡΡ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ эффСктивСн, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ поиск Π² Π³Ρ€Π°Ρ„Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ всСго Π·Π° 2 шага (ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры Π·Π° 4), Π² Π³Ρ€Π°Ρ„Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π·Π° 4 шага (ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры Π·Π° 6). Однако с Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ числа Π²Π΅Ρ€ΡˆΠΈΠ½ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° прямого ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° катастрофичСски ΠΏΠ°Π΄Π°Π΅Ρ‚. Число Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² возрастСт ΠΏΠΎ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π°ΠΊΠΎΠ½Ρƒ. НапримСр, для Π³Ρ€Π°Ρ„Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ 30 Π²Π΅Ρ€ΡˆΠΈΠ½, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ прямого поиска Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π³Π΄Π΅ 49 — число Ρ€Π΅Π±Π΅Ρ€, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ‚ всСго лишь 30 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ! Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π° ΠΈ Π²ΠΈΠ΄Π½Π° Π½Π΅Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ Π³Π»Π°Π·ΠΎΠΌ.

2. РСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

2.1 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ДСйкстры

ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Ρ†Π΅Π»ΡŒ: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ для нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅. Для простоты Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π³Ρ€Π°Ρ„Ρ‹ с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ — .

Для Π³Ρ€Π°Ρ„Π° примСняСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ .

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ расстановка ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ.

ПолагаСм

.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ бСсконСчности ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ большоС число, Ρ‚Π°ΠΊΠΎΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· большС любой ΠΈΠ· Π΄Π»ΠΈΠ½ Ρ€Π΅Π±Π΅Ρ€ Π² ΠΈΡΡΠ»Π΅Π΄ΡƒΠ΅ΠΌΠΎΠΌ Π³Ρ€Π°Ρ„Π΅.

ВсС ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ объявляСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ.

Π‘Ρ€Π΅Π΄ΠΈ всСх ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ. ΠŸΡƒΡΡ‚ΡŒ это ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, смСТной с ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ, исправляСм ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ:

.

ПослС исправлСния ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ всСх смСТных с Π²Π΅Ρ€ΡˆΠΈΠ½ объявляСм ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ построСниС ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ, ΡΡ‚Π°Ρ€Ρ‚ΡƒΡŽ ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ .

2.2 ОписаниС Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1. НиТС Π±ΡƒΠ΄ΡƒΡ‚ описаны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля ΠΈ ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Ѐункция main () являСтся Π±Π°Π·ΠΎΠ²ΠΎΠΉ. Она Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ДСйкстры, описанного Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Ѐункция search_min_versh () ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поиск наимСньшСй Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ сквозноС сканированиС ΠΏΠΎ Π²ΡΠ΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Π³Ρ€Π°Ρ„Π°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€ наимСньшСй ΠΈΠ· Π½ΠΈΡ….

Ѐункция setup_preview_values (x, y) расстанавливаСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ для Π²Π΅Ρ€ΡˆΠΈΠ½, смСТных с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ Π³Ρ€Π°Ρ„Π°.

Ѐункция print_graph () ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Π³Ρ€Π°Ρ„Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для этого графичСский Ρ€Π΅ΠΆΠΈΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅ΠΌ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΡƒΡŽ Ρ†Π΅ΠΏΡŒ.

Ѐункция print_title () ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²Ρ‹Π²ΠΎΠ΄Π° названия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° GRISHA-Corp. Optimal Way Searcher v1.02 Professional написана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования высокого уровня Borland C++ 3.1 Π² Π²ΠΈΠ΄Π΅ прилоТСния MS-DOS. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ΡΡ полная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со Π²ΡΠ΅ΠΌΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстными ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚: MS-DOS 5. x,

6. xx,

7. xx,

8. xx, Windows 9x/Me/2000/NT/XP. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ расчСты Π³Ρ€Π°Ρ„ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π΄ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π³Ρ€Π°Ρ„ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠ΅. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π³Ρ€Π°Ρ„Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обрабатываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ — это. Если Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π³Ρ€Π°Ρ„Π° слишком Π²Π΅Π»ΠΈΠΊΠΈ ΠΈ Π΅Π³ΠΎ нСльзя ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ создаваСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ graf. txt ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Π½Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π° вся подробная информация ΠΎ Π³Ρ€Π°Ρ„Π΅, ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ°Ρ Ρ†Π΅ΠΏΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½. Π€Π°ΠΉΠ» graf. txt создаСтся автоматичСски ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ NotePad ΠΈΠ»ΠΈ Shtirlitz.

2.3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² рассмотрим отысканиС ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… связных ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π°Ρ…. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ 2 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π³Ρ€Π°Ρ„Ρ‹ с Π½Π°Π½Π΅ΡΠ΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° Π½ΠΈΡ… ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, Π΄Π»ΠΈΠ½Π°ΠΌΠΈ Ρ€Π΅Π±Π΅Ρ€ ΠΈ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΡŒΡŽ. ЦСпь Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° ΠΆΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ созданы самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ILYA-Corp. Optimal Way Searcher v1.02 Professional.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ Π±Ρ‹Π» рассмотрСн ΠΌΠ΅Ρ‚ΠΎΠ΄ ДСйкстры нахоТдСния ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² ΡΠ²ΡΠ·Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅. Раскрыты основныС понятия Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ описан сам ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π΅Π³ΠΎ сравнСниС с Π΄Ρ€ΡƒΠ³ΠΈΠΌ родствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ.

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ тСорСтичСского ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° программная рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ДСйкстры, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π±Ρ‹ΡΡ‚родСйствиС, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ тСстовыС расчСты, построСны Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ числСнного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. АттСтков А. Π’., Π“Π°Π»ΠΊΠΈΠ½ Π‘. Π’., Π—Π°Ρ€ΡƒΠ±ΠΈΠ½ Π’. Π‘. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. — Πœ.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠœΠ“Π’Π£ ΠΈΠΌ. Π. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°, 2001. — 440 с.

2. Π‘Π΅Ρ€ΠΆ К. ВСория Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. — Πœ.: ΠœΠΈΡ€, 1962. — 512 с.

3. Π“Π»Π°Π³ΠΎΠ»Π΅Π² Π’. Π’. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ дискрСтной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. — Π’ΡƒΠ»Π°: Π’ΡƒΠ»Π“Π£, 2000. — 232 с.

4. Н. ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Π΄Ρ. ВСория Π³Ρ€Π°Ρ„ΠΎΠ². АлгоритмичСский ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. — Πœ.: ΠœΠΈΡ€, 1977. — 432 с.

5. Π₯Ρƒ Π’., ЦСлочислСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π² ΡΠ΅Ρ‚ях. — Πœ.: ΠœΠΈΡ€, 1974. — 457 с.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1: ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

// - ——————————————————————————————————- - //

#include

#include

#include

#include

#define INFTY 32 766 // Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ бСсконСчности

#define VERSION 1.02 // ВСрсия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

int min_x; // ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΠΎ x

int min_y; // ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΠΎ y

int lengths_hor [50]; // Массив Π΄Π»ΠΈΠ½ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€

int lengths_vert [50]; // Массив Π΄Π»ΠΈΠ½ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€

int values [51]; // Массив числовых ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°

short remarks [51]; // Массив ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° (0-preview, 2-final)

int min_value; // МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ)

int i, j; // Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для использования Π² Ρ†ΠΈΠΊΠ»Π°Ρ…

int n = 2; // ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ

int m = 2; // ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ

int x, y; // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для отыскания ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ

int temp; // ВрСмСнная слуТСбная пСрСмСнная

FILE *myfile; // Π€Π°ΠΉΠ»

int search_min_versh (void); // Поиск наимСньшСй Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹

void setup_preview_values (int x, int y); // Расстановка ΠΏΡ€Π΅Π΄Π². ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ

void print_title (void); // ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ названия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

void print_graph (); // ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„Π°

void main (void); // Главная функция

// - ——————————————————————————————————- - //

void main (void)

{

int gdriver = DETECT, gmode, errorcode;

int xmax, ymax;

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

initgraph (&gdriver, &gmode, «»);

// Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

errorcode = graphresult ();

// Π’ ΡΠ»ΡƒΡ‡Π°Π΅ обнаруТСния ошибки

if (errorcode! = grOk)

{

printf («ΠžΡˆΠΈΠ±ΠΊΠ° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ: %s. n», grapherrormsg (errorcode));

printf («ΠΠ°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. «);

getch ();

exit (1);

}

clrscr ();

cleardevice ();

textcolor (0);

setbkcolor (0);

clrscr ();

cleardevice ();

print_title ();

label1: printf («Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ количСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ: «);

scanf («%d», &n);

if (n < 2 || n > 50)

{

printf («ΠžΠ¨Π˜Π‘ΠšΠ! Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 2.50! n»);

goto label1;

}

label2: printf («Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ количСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ: «);

scanf («%d», &m);

if (m < 2 || m > 50)

{

printf («ΠžΠ¨Π˜Π‘ΠšΠ! Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 2.50! n»);

goto label2;

}

clrscr ();

cleardevice ();

print_title ();

printf («ΠŸΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ с %dx%d Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ. n», n, m);

printf («Π‘Сйчас Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅Π±Ρ€Π°ΠΌ Π³Ρ€Π°Ρ„Π°. nn»);

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n — 1; i++)

{

label5: printf («Π Π΅Π±Ρ€ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ (%d,%d) ΠΈ (%d,%d) Ρ€Π°Π²Π½ΠΎ:», i, j, i + 1, j);

scanf («%d», &temp);

if (temp < 1)

{

printf («ΠžΠ¨Π˜Π‘ΠšΠ! Π”Π»ΠΈΠ½Π° Ρ€Π΅Π±Ρ€Π° Π·Π°Π΄Π°Π½Π° Π½Π΅Π²Π΅Ρ€Π½ΠΎ! n»);

goto label5;

}

lengths_hor [i] [j] = temp;

}

}

clrscr ();

cleardevice ();

print_title ();

printf («Π‘Сйчас Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅Π±Ρ€Π°ΠΌ Π³Ρ€Π°Ρ„Π°. nn»);

for (j = 1; j <= m — 1; j++)

{

for (i = 1; i <= n; i++)

{

label6: printf («Π Π΅Π±Ρ€ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ (%d,%d) ΠΈ (%d,%d) Ρ€Π°Π²Π½ΠΎ:», i, j, i, j + 1);

scanf («%d», &temp);

if (temp < 1)

{

printf («ΠžΠ¨Π˜Π‘ΠšΠ! Π”Π»ΠΈΠ½Π° Ρ€Π΅Π±Ρ€Π° Π·Π°Π΄Π°Π½Π° Π½Π΅Π²Π΅Ρ€Π½ΠΎ! n»);

goto label6;

}

lengths_vert [i] [j] = temp;

}

}

printf («ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ. Находим ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ (1,1) ΠΊ (%d,%d). nn», n, m);

if (n > 8 || m > 7)

{

printf («nΠ Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π³Ρ€Π°Ρ„Π° слишком Π²Π΅Π»ΠΈΠΊΠΈ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ отобраТСния Π½Π° ΡΠΊΡ€Π°Π½Π΅. n»);

printf («Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ созданным Ρ„Π°ΠΉΠ»ΠΎΠΌ graf. txt. n»);

printf («nДля Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ENTER. «);

x = n;

y = m;

fprintf (myfile, «-> ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΡƒΡŽ Ρ†Π΅ΠΏΡŒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹: n»);

fprintf (myfile, «(%d,%d) — >», x, y);

label3_:

if (x == 1 && y == 1)

{

goto label4_;

}

else

{

// шаг Π²Π²Π΅Ρ€Ρ…

if (values [x] [y] - values [x] [y — 1] == lengths_vert [x] [y — 1] && y >= 2)

{

fprintf (myfile, «(%d,%d) — >», x, y — 1);

y = y — 1;

}

// шаг вниз

if (values [x] [y] - values [x] [y + 1] == lengths_vert [x] [y] && y <= m — 1)

{

fprintf (myfile, «(%d,%d) — >», x, y + 1);

y = y + 1;

}

// шаг влСво

if (values [x] [y] - values [x — 1] [y] == lengths_hor [x — 1] [y] && x >= 2)

{

fprintf (myfile, «(%d,%d) — >», x — 1, y);

x = x — 1;

}

// шаг Π²ΠΏΡ€Π°Π²ΠΎ

if (values [x] [y] - values [x + 1] [y] == lengths_hor [x] [y] && x <= n — 1)

{

fprintf (myfile, «(%d,%d) — >», x + 1, y);

x = x + 1;

}

}

goto label3_;

label4_:

fprintf (myfile, «n->ΠšΠΎΠ½Π΅Ρ†»);

fclose (myfile);

while (getch ()! = 13);

exit (0);

}

// УстанавливаСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π°,

// Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния расстояний Π² 'Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ'

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n; i++)

{

remarks [i] [j] = 0;

values [i] [j] = INFTY;

}

}

// ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ€ΡˆΠΈΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ, ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ бСсконСчности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0)

values [1] = 0;

min_x = 1;

min_y = 1;

// РасстанавливаСм ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ всС Π½Π΅ ΡΡ‚Π°Π½ΡƒΡ‚ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ

while (1)

{

setup_preview_values (min_x, min_y);

if (search_min_versh () == - 1)

{

break;

}

}

printf («ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ вычислСн, ОК!»);

clrscr ();

cleardevice ();

// Π§Π΅Ρ€Ρ‚ΠΈΠΌ Π³Ρ€Π°Ρ„

gotoxy (1,2);

print_graph ();

// Π§Π΅Ρ€Ρ‚ΠΈΠΌ ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠΈ

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n; i++)

{

setcolor (7);

circle (i * 72 — 16, j * 65 — 44, 15);

}

}

// Π§Π΅Ρ€Ρ‚ΠΈΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π°

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n — 1; i++)

{

setcolor (15);

line (i * 72, j * 65 — 44, i * 72 +40, j * 65 — 44);

}

}

// Π§Π΅Ρ€Ρ‚ΠΈΠΌ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π°

for (j = 1; j <= m — 1; j++)

{

for (i = 1; i <= n; i++)

{

setcolor (15);

line (i * 72 — 16, j * 65 — 28, i * 72 — 16, j * 65 + 6);

}

}

// Наносим Π΄Π»ΠΈΠ½Ρ‹ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ Π² Π³Ρ€Π°Ρ„Π΅

for (j = 1; j <= m — 1; j++)

{

for (i = 1; i <= n; i++)

{

gotoxy (i * 9, j * 4);

printf («%d», lengths_vert [i] [j]);

}

}

// Наносим Π΄Π»ΠΈΠ½Ρ‹ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ Π² Π³Ρ€Π°Ρ„Π΅

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n — 1; i++)

{

gotoxy (i * 9 + 3, j * 4 — 3);

printf («%d», lengths_hor [i] [j]);

}

}

// Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ

x = n;

y = m;

fprintf (myfile, «-> ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΡƒΡŽ Ρ†Π΅ΠΏΡŒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹: n»);

fprintf (myfile, «(%d,%d) — >», x, y);

label3:

if (x == 1 && y == 1)

{

goto label4;

}

else

{

// шаг Π²Π²Π΅Ρ€Ρ…

if (values [x] [y] - values [x] [y — 1] == lengths_vert [x] [y — 1] && y >= 2)

{

fprintf (myfile, «(%d,%d) — >», x, y — 1);

gotoxy (1,12);

y = y — 1;

// Π·Π°ΠΌΡƒΠ»Π΅Π²Π°Ρ‚ΡŒ Ρ€Π΅Π±Ρ€ΠΎ Π²Π΅Ρ€Ρ‚_ (x, y)

setcolor (2);

line (x * 72 — 16, y * 65 — 28, x * 72 — 16, y * 65 + 6);

line (x * 72 — 17, y * 65 — 28, x * 72 — 17, y * 65 + 6);

line (x * 72 — 15, y * 65 — 28, x * 72 — 15, y * 65 + 6);

}

// шаг вниз

if (values [x] [y] - values [x] [y + 1] == lengths_vert [x] [y] && y <= m — 1)

{

fprintf (myfile, «(%d,%d) — >», x, y + 1);

y = y + 1;

// Π·Π°ΠΌΡƒΠ»Π΅Π²Π°Ρ‚ΡŒ Ρ€Π΅Π±Ρ€ΠΎ Π²Π΅Ρ€Ρ‚_ (x, y — 1)

setcolor (2);

line (x * 72 — 16, (y — 1) * 65 — 28, x * 72 — 16, (y — 1) * 65 + 6);

line (x * 72 — 17, (y — 1) * 65 — 28, x * 72 — 17, (y — 1) * 65 + 6);

line (x * 72 — 15, (y — 1) * 65 — 28, x * 72 — 15, (y — 1) * 65 + 6);

}

// шаг влСво

if (values [x] [y] - values [x — 1] [y] == lengths_hor [x — 1] [y] && x >= 2)

{

fprintf (myfile, «(%d,%d) — >», x — 1, y);

x = x — 1;

// Π·Π°ΠΌΡƒΠ»Π΅Π²Π°Ρ‚ΡŒ Ρ€Π΅Π±Ρ€ΠΎ Π³ΠΎΡ€_ (x, y)

setcolor (2);

line (x * 72, y * 65 — 44, x * 72 + 40, y * 65 — 44);

line (x * 72, y * 65 — 45, x * 72 + 40, y * 65 — 45);

line (x * 72, y * 65 — 43, x * 72 + 40, y * 65 — 43);

}

// шаг Π²ΠΏΡ€Π°Π²ΠΎ

if (values [x] [y] - values [x + 1] [y] == lengths_hor [x] [y] && x <= n — 1)

{

fprintf (myfile, «(%d,%d) — >», x + 1, y);

x = x + 1;

// Π·Π°ΠΌΡƒΠ»Π΅Π²Π°Ρ‚ΡŒ Ρ€Π΅Π±Ρ€ΠΎ Π³ΠΎΡ€_ (x — 1, y)

setcolor (2);

line ((x — 1) * 72, y * 65 — 44, (x — 1) * 72 + 40, y * 65 — 44);

line ((x — 1) * 72, y * 65 — 45, (x — 1) * 72 + 40, y * 65 — 45);

line ((x — 1) * 72, y * 65 — 43, (x — 1) * 72 + 40, y * 65 — 43);

}

}

goto label3;

label4:

fprintf (myfile, «n->ΠšΠΎΠ½Π΅Ρ†»);

fclose (myfile);

gotoxy (1, 25);

printf («Π”ля Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ENTER. «);

while (getch ()! = 13);

clrscr ();

cleardevice ();

printf («ILYA Corporation Soft Group FOREVER! n»);

printf («ilya-corp@mail.run»);

printf («http://ilya-corp. narod. run»);

closegraph ();

}

// - ——————————————————————————————————- - //

int search_min_versh (void)

{

// Ѐункция отыскиваСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ

int s = INFTY;

int success = 0;

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n; i++)

{

if (remarks [i] [j] == 0 && values [i] [j] < s)

{

s = values [i] [j];

min_x = i;

min_y = j;

success = 1;

}

}

}

if (success == 0)

{

min_x = - 1;

min_y = - 1;

return — 1;

}

return 1;

}

// - ——————————————————————————————————- - //

void setup_preview_values (int x, int y)

{

// Ѐункция расстанавливаСт значСния для смСТных Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°

if (remarks [x — 1] [y] == 0 && x — 1 >= 1)

{

if (values [x — 1] [y] > values [x] [y] + lengths_hor [x — 1] [y])

{

values [x — 1] [y] = values [x] [y] + lengths_hor [x — 1] [y];

}

}

if (remarks [x + 1] [y] == 0 && x + 1 <= n)

{

if (values [x + 1] [y] > values [x] [y] + lengths_hor [x] [y])

{

values [x + 1] [y] = values [x] [y] + lengths_hor [x] [y];

}

}

if (remarks [x] [y + 1] == 0 && y + 1 <= m)

{

if (values [x] [y + 1] > values [x] [y] + lengths_vert [x] [y])

{

values [x] [y + 1] = values [x] [y] + lengths_vert [x] [y];

}

}

if (remarks [x] [y — 1] == 0 && y — 1 >= 1)

{

if (values [x] [y — 1] > values [x] [y] + lengths_vert [x] [y — 1])

{

values [x] [y — 1] = values [x] [y] + lengths_vert [x] [y — 1];

}

}

remarks [x] [y] = 1;

}

// - ——————————————————————————————————- - //

void print_graph ()

{

// ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½

myfile = fopen («graf. txt», «w+»);

fprintf (myfile, «GRISHA-Corp Optimal Way Searcher v%g Professionaln», VERSION);

fprintf (myfile, «=======================================n»);

fprintf (myfile, «-> Π“Ρ€Π°Ρ„ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ %dx%dn», n, m);

fprintf (myfile, «-> Π“Ρ€Π°Ρ„ связный: Π”Π°n»);

fprintf (myfile, «-> Π—Π°Π΄Π°Ρ‡Π°: поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ Π² Π³Ρ€Π°Ρ„Π΅n»);

fprintf (myfile, «-> Π”Π»ΠΈΠ½Π° ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΉ Ρ†Π΅ΠΏΠΈ: %dn», values [n] [m]);

fprintf (myfile, «-> ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½: n»);

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n; i++)

{

if (values [i] [j] == INFTY)

{

printf («oo «);

}

else

{

printf («%8d», values [i] [j]);

}

}

printf («nnnn»);

}

for (j = 1; j <= m; j++)

{

for (i = 1; i <= n; i++)

{

fprintf (myfile, «%5d», values [i] [j]);

}

fprintf (myfile, «n»);

}

}

// - ——————————————————————————————————- - //

void print_title ()

{

printf («GRISHA-Corp Optimal Way Searcher v%g Professionaln», VERSION);

printf («________________________________________________________________________________»);

}

// - ——————————————————————————————————- - //

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2: Π³Ρ€Π°Ρ„Ρ‹ тСстовых расчСтов

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ