Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ДискрСтная ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π±Π΅Π· Ρ„ΠΎΡ€ΠΌΡƒΠ»Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 13

Автор БоловьСв АлСксандр

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, выполняСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΡ€Π΅Π΄'явлСнноС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ½ свСртываСт ΠΏΠΎ грамматичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ двигаясь ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΊ Π»Π΅Π²ΠΎΠΉ) Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Β».

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

Π•ΡΡ‚ΡŒ достаточно грубая, Π½ΠΎ, всС Ρ€Π°Π²Π½ΠΎ, полСзная Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ классификация Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ, принадлСТащая Π₯омскому. Он ΠΈΡ… Π΄Π΅Π»ΠΈΡ‚ Π½Π° Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ°, Ссли Π½Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ. К Π½ΡƒΠ»Π΅Π²ΠΎΠΌΡƒ ΠΎΠ½ относит Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ с грамматичСскими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. А Ρ€Π°Π· Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Ρ‚ΠΎ Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’ΠΎΡ‡Π½Π΅Π΅, считайтС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈ сдСлали Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈ Π½Π΅ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ Π΄Π΅Π»ΠΎ бСссмыслСнно. Π”Π°ΠΆΠ΅ ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠΈΠΌ.

Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠšΠžΠΠ’Π•ΠšΠ‘Π’ΠΠž-Π—ΠΠ’Π˜Π‘Π˜ΠœΠ«ΠœΠ˜ (ΠΈΠ»ΠΈ просто ΠšΠ—). Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ замСняСт строго ΠΎΠ΄ΠΈΠ½ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠšΠ—β€“ΠΏΡ€Π°Π²ΠΈΠ» Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½Π° Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа Π½Π° строку допускаСтся, ΠΊΠΎΠ³Π΄Π° этот символ находится Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов (Π² контСкстС). НапримСр, Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ Β«ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ «пустой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Β», Ссли Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΠΎΠΉ строкС ΠΏΠ΅Ρ€Π΅Π΄ символом Β«ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Β» Π±Ρ‹Π» Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ нСпосрСдствСнно слСдовал Β«ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Β». А ΠΈΠ½Π°Ρ‡Π΅ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ Π΄Π΅Π»Π°Ρ‚ΡŒ нСльзя.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π½Ρ‚Π°. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρƒ грязной Ρ‚Π°Ρ€Π΅Π»ΠΊΠΈ Π½Π° выписанный счСт ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠΏΡƒΡΡ‚ΠΎΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΎΠΊΠ°Π»Π°. Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΌ контСкстС (ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ Π±ΠΎΠΊΠ°Π»Π΅ [Π³Ρ€Π°Π½Π΅Π½ΠΎΠΌ стаканС] рядом) вмСсто грязной Ρ‚Π°Ρ€Π΅Π»ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ прСдлагаСтся новая закуска.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΎΡ‚Π½ΠΎΡΠΈΠ»Π°ΡΡŒ ΠΊ Ρ‚ΠΈΠΏΡƒ ΠšΠ— достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. (ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ).

Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠšΠžΠΠ’Π•ΠšΠ‘Π’ΠΠž-Π‘Π’ΠžΠ‘ΠžΠ”ΠΠ«ΠœΠ˜ (ΠΈΠ»ΠΈ просто КБ). КаТдоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π±Π΅Π· оглядки Π½Π° контСкст. ВмСсто грязной Ρ‚Π°Ρ€Π΅Π»ΠΊΠΈ – новая закуска (Π±Π΅Π· всяких Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… условий)… Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ язык. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ Π΄ΠΈΠΊΡ‚ΡƒΡŽΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΊ Ρ‚ΠΈΠΏΡƒ КБ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡƒΠΆΠ΅ этого Ρ‚ΠΈΠΏΠ° Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ограничСния, Ρ‡Ρ‚ΠΎ позволяСт сущСствСнно ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ грамматичСский Ρ€Π°Π·Π±ΠΎΡ€ Π² компиляторС.

Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ послСднСго Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΠ’Π’ΠžΠœΠΠ’ΠΠ«ΠœΠ˜ ΠΈΠ»ΠΈ Π Π•Π“Π£Π›Π―Π ΠΠ«ΠœΠ˜. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΈ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°ΠΌΠΈ (эту ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ с ΠšΠ°Π»Π°ΡˆΠ½ΠΈΠΊΠΎΠ²Ρ‹ΠΌ, Π° с фамилиями ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠ²-Π»ΠΎΠ³ΠΈΠΊΠΎΠ² Мили ΠœΡƒΡ€Π° Π’Ρ€Π°Ρ…Ρ‚Π΅Π½Π±Ρ€ΠΎΡ‚Ρ‚Π° ΠΈ Ρ‚. ΠΏ.) ΠΈ рСгулярными выраТСниями (это, ΠΊΠ°ΠΊ ΠΈ Π² рСгулярной Π°Ρ€ΠΌΠΈΠΈ – выраТСния строятся ΠΏΠΎ простым ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ просто Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ΡΡ – это Ρ‚ΠΎΠΆΠ΅ матСматичСская модСль).

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π½Ρ‹Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ лСксики. ЛСксСма, Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ – это словарная Π΅Π΄ΠΈΠ½ΠΈΡ†Π°. Π’Π΅ΠΌ Π½ΠΈ ΠΌΠ΅Π½Π΅Π΅, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния компилятора это «символ», коль скоро «словом» Π±ΡƒΠ΄Π΅Ρ‚ вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 345.08 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ распознан ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ символ – Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число.

ЛСксичСский Π°Π½Π°Π»ΠΈΠ· Π² компиляторС ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ синтаксичСскому анализу… Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ UNIXlex ΠΈ yacc, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс написания лСксичСского ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² компилятора.

Что– Ρ‚ΠΎ ΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΊΠ»ΠΎΠ½ΠΈΠ»ΠΈΡΡŒ Π² сторону программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ -это Ρ‚ΠΎΠΆΠ΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π’ΠΎΠΆΠ΅ дискрСтная. Но ΡƒΠΆΠ΅ другая. И это другая история.

А ΠΈΠ· программирования ΡƒΠΆΠ΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊ просто Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡβ€¦

ЛСкция 13. Π‘Π›ΠžΠ–ΠΠžΠ‘Π’Π¬ Π’Π«Π§Π˜Π‘Π›Π•ΠΠ˜Π™

Мало Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ алгоритмичСски Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΡ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΡ… бСсконСчно большС, Ρ‡Π΅ΠΌ Π·Π°Π΄Π°Ρ‡ алгоритмичСски Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΡ‹Ρ…. Π‘ практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π½Π°ΠΌ Π½Π΅ Π»Π΅Π³Ρ‡Π΅, Ссли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Π»Π΅Ρ‚. РаньшС Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ расчСты… Π­Ρ‚ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ-Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Для нас (простых смСртных) Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ алгоритмичСски Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΡ‹Ρ….

А ситуация с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ туманная, Ρ‡Π΅ΠΌ с алгоритмичСской Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΠΎΡΡ‚ΡŒΡŽ. Пока СдинствСнный, фактичСски, Β«ΠΆΠ΅Π»Π΅Π·Π½Ρ‹ΠΉΒ» Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ нашСй бСспомощности, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° относится ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ-Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹ΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ нашСл для Π½Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ! Π”Π°ΠΆΠ΅ амСриканскиС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ.

ΠΠ΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ситуации усугубится, Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ дискрСтныС Π·Π°Π΄Π°Ρ‡ΠΈ (Π·Π°Π΄Π°Ρ‡ΠΈ Π»ΠΈΠ±ΠΎ Π½Π° поиск ΠΎΠΏΡ‚ΠΈΠΌΡƒΠΌΠ°, Π»ΠΈΠ±ΠΎ распознавания [Π΄Π°-Π½Π΅Ρ‚]), любая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… (тСорСтичСски) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° хотя Π±Ρ‹ (Π·Π° Π½Π΅ΠΈΠΌΠ΅Π½ΠΈΠ΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ) простым ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ. Но ΠΎΡ‚ этого Π½Π΅ Π»Π΅Π³Ρ‡Π΅, Ссли Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π»Π΅Π³Π΅Π½Π΄Ρƒ ΠΎΠ± ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»Π΅ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ попросил Π² Π½Π°Π³Ρ€Π°Π΄Ρƒ Π·Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠ»Π΅Ρ‚ΠΎΡ‡ΠΊΡƒ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доски ΠΎΠ΄Π½ΠΎ Π·Π΅Ρ€Π½Ρ‹ΡˆΠΊΠΎ, Π·Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ два… Π·Π° 64-ю ΠΊΠ»Π΅Ρ‚ΠΎΡ‡ΠΊΡƒ – 2 Π² 64-ΠΎΠΉ стСпСни Π·Π΅Ρ€Π½Ρ‹ΡˆΠ΅ΠΊ. Π§Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π·Π΅Ρ€Π½ΠΎΠ²Ρ‹Π΅ рСсурсы Π—Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΠ°Ρ€Π°.

Одна ΠΈΠ· ΠΊΠ½ΠΈΠ³ ΠΏΠΎ слоТности вычислСний Π½Π°Ρ‡ΠΈΠ½Π°Π»Π°ΡΡŒ с Ρ†ΠΈΡ‚Π°Ρ‚Ρ‹ ΠΈΠ· украинского философа ГСоргия Π‘ΠΊΠΎΠ²ΠΎΡ€ΠΎΠ΄Ρ‹:" Бпасибо Ρ‚Π΅Π±Π΅ Господи, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ создал всС Π½ΡƒΠΆΠ½ΠΎΠ΅ Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ, Π° всС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠ΅ – Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌ." Но каТСтся, Ρ‡Ρ‚ΠΎ здСсь Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ другая ΠΌΡ‹ΡΠ»ΡŒ ΠΈΠ· Π‘ΠΊΠΎΠ²ΠΎΡ€ΠΎΠ΄Ρ‹, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, эпитафия Π½Π° Π΅Π³ΠΎ ΠΌΠΎΠ³ΠΈΠ»Π΅: Β«ΠœΠΈΡ€ Π»ΠΎΠ²ΠΈΠ» мСня, Π½ΠΎ Π½Π΅ поймал»… И Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΌΡ‹ΡΠ»ΡŒ Π±ΠΎΠ»Π΅Π΅ конкрСтная ΠΌΡ‹ΡΠ»ΡŒ ΡƒΠΆΠ΅ ΠΎΡ‚ соврСмСнных ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠ²: Β«Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ становится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π²Π΅ΠΊΠ°Β».

Из-Π·Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства нСсущСствСнных особСнностСй Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ) вычислСния ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдовало Π±Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ слоТности вычислСний слишком многочислСнны ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹. Но Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сходится ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ всС ΠΌΠΎΠΆΠ½ΠΎ свСсти ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (числу элСмСнтарных шагов) вычислСния ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ памяти. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΈ видят ΠΏΡ€ΠΈ этом Π² качСствС Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ – ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ быстро свСли ΠΊ Π΄Π²ΡƒΠΌ словам ΠΈ ΠΈΡ… ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΡŽ.

Π­Ρ‚ΠΈ слова Polinomial – ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Nondeterministic – Π½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ.

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

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