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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ вычислСний Π² абстрактных ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…

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

Π’Π΅ΠΎΡ€Π΅ΠΌΠ° Π§Π΅Ρ€Ρ‡Π° — РоссСра. ΠŸΡƒΡΡ‚ΡŒ Π•1 ΠΈ Π•2 — лямбда-выраТСния, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ справСдливо ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅: Π•1=Π•2. Π’ΠΎΠ³Π΄Π° сущСствуСт лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π• Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π•1=Π•; Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π•2=Π•. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ символ «=» Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡ‹ понимаСтся Π² ΡΠΌΡ‹ΡΠ»Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ конвСртируСмости. Если Π² ΡΠ·Ρ‹ΠΊΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ, Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ приводят ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΎΠ΄ΠΈΠ½… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ вычислСний Π² абстрактных ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

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

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ нСдостатки рассмотрСнной Π²Ρ‹ΡˆΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ направлСния ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, прСдставлСнных Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… инструкций «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΉ» КАМ. Π’ Ρ‡Π°ΡΡ‚ности, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ систСмы инструкций КАМ с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ многомСстных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ рСкурсивных вычислСний. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, прСдставлСна ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° классификации Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… стратСгий, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… языках программирования. ΠŸΡ€ΠΈ этом сущСствСнноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрСны ΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½Ρ‹ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π΅ΠΎΡ€Π΅ΠΌ Π§Π΅Ρ€Ρ‡Π° — РоссСра ΠΎ ΡΡ‚ратСгиях вычислСний.

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

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

Как Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅, такая формализация Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΊΠ°ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ абстрактная машина, позволяСт Π²ΠΏΠΎΠ»Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ модСль транслятора языка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΈΠΌΠ΅Π½Π½ΠΎ КАМ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для использования Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ соврСмСнных ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (Π² Ρ‡Π°ΡΡ‚ности, языка CaML), Π² Ρ‚ΠΎΠΌ числС ΠΈ Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ (Π² Ρ‡Π°ΡΡ‚ности, языка Object CaML).

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² Ρ‚ΠΎΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ построСния ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅, сущСствуСт ряд ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… нСдостатков, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Π΅ стратСгии вычислСний, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ соврСмСнным систСмам программирования.

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

Выявив ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ² нСдостатки «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΉ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π°ΠΌΠ΅Ρ‚ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ направлСния ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ инструкций КАМ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ громоздкости вычислСний (которая, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΠΈ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ КАМ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ одномСстными инструкциями) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΡ‚Π½Ρ‹ΠΌ опСрациям, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² синтаксис ΠΈ ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΡƒ языка программирования ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ†Π΅Π»ΡΡ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ цСлСсообразно ввСсти ряд Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… инструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ обСспСчивали Π±Ρ‹ ускорСниС вычислСний ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ сокращСнии ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ удобочитаСмости тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для КАМ. Π—Π°Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ слоТности, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной машиной рСкурсивных вычислСний, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ срСду, Π½ΠΎ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ язык программирования КАМ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями. НаконСц, слСдуСт Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ вопрос ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вычислСний ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…одимости, ΠΈΠ½Π°Ρ‡Π΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… «Π»Π΅Π½ΠΈΠ²Ρ‹ΠΌΠΈ» (lazy).

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

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

+ =8 О .

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ характСристичСских равСнств для ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅.

8 ΠΎ =x ΠΎ ,.

находящССся Π² ΠΏΠΎΠ»Π½ΠΎΠΌ соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ, принятыми Π² Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ систСмС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ построСна К AM. ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ (схСму смСны состояний) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ² пространство состояний КАМ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ КАМ, прСдставим Π² Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Π°Π±Π». 4.4.

Π’Π°Π±Π»ΠΈΡ†Π° 4.4

Π‘Ρ‚Π°Ρ€ΠΎΠ΅ состояниС КАМ.

НовоС состояниС КАМ.

Π’Π΅Ρ€ΠΌ.

Код.

Π‘Ρ‚Π΅ΠΊ.

Π’Π΅Ρ€ΠΌ.

Код.

Π‘Ρ‚Π΅ΠΊ.

True.

if, а b с.

sm.

S.

а с.

m.

false.

if, а Ь с.

sm.

S.

Ь с.

m.

(Π°, Π¬).

add с.

S.

{Π°+Π¬>

Π‘.

S.

(Π°, Π¬).

eq с.

S.

true / false.

Π‘.

S.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, пространство состояний ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ посрСдством ввСдСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния if, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условия eq, Π° Ρ‚Π°ΠΊΠΆΠ΅ слоТСния add. ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ. Рассмотрим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΡƒΡŽ сумму Ρ†Π΅Π»Ρ‹Ρ… чисСл 2 ΠΈ 3 Π² «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΉ» вСрсии «ΡΠ·Ρ‹ΠΊΠ° программирования» КАМ:

push cur (push push edr swap quote 1 cons app swap push cur (edr) swap quote 2 cons app cons app) swap quote+cons app.

Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ Π² ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии КАМ: push quote 2 swap quote 3 cons add.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ объСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сократился Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π²Ρ‚Ρ€ΠΎΠ΅.

Рассмотрим, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½Ρ‹ΠΌΠΈ вычислСниями Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной машинС, которая сводится ΠΊ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ цикличности ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ бСсконСчности ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… инструкций.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ слоТности, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной машиной рСкурсивных вычислСний, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ язык программирования КАМ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями.

ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ (схСму смСны состояний) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ² пространство состояний КАМ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, прСдставим Π² Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Π°Π±Π». 4.5.

Π’Π°Π±Π»ΠΈΡ†Π° 4.5

Π‘Ρ‚Π°Ρ€ΠΎΠ΅ состояниС КАМ.

НовоС состояниС КАМ.

Π’Π΅Ρ€ΠΌ.

Код.

Π‘Ρ‚Π΅ΠΊ.

Π’Π΅Ρ€ΠΌ.

Код.

Π‘Ρ‚Π΅ΠΊ.

Π’.

dum с.

S.

$Y.

Π‘.

S.

[Π°: Π¬].

wind с.

(t $Y) S.

(t. [Π°: b]).

Π‘.

S.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, пространство состояний ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ посрСдством ввСдСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ wind ΠΈ dum для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСкурсивных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π”ΠΎ ΡΠΈΡ… ΠΏΠΎΡ€ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ абстрактных машин, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ означивания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, извСстный ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Однако ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ стратСгии вычислСний. Рассмотрим Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΎΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ вычислСнии с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (call-by-value) всС выраТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ Π΄ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°ΠΏΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈ вычислСнии с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ (call-by-name) Π΄ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°ΠΏΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° подстановка Ρ‚Π΅Ρ€ΠΌΠΎΠ² вмСсто всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄ΠΎ ΠΎΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΡ. ИмСнно эта стратСгия Π»Π΅ΠΆΠΈΡ‚ Π² ΠΎΡΠ½ΠΎΠ²Π΅ «Π»Π΅Π½ΠΈΠ²Ρ‹Ρ…» (lazy), «ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ…» (delayed) ΠΈΠ»ΠΈ «Π·Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ…» (frozen) вычислСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ бСсконСчных структур Π΄Π°Π½Π½Ρ‹Ρ….

НаконСц, ΠΏΡ€ΠΈ вычислСнии с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…одимости (call-by-need) Ρ€Π°Π½Π΅Π΅ вычислСнныС значСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ слоТности с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной машиной «Π»Π΅Π½ΠΈΠ²Ρ‹Ρ…» вычислСний, пСрСсмотрим Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ КАМ, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ² пространство состояний Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями для «Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ» (freeze) ΠΈ «Ρ€Π°Π·ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ» (unfreeze), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдставим Π² Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Π°Π±Π». 4.6.

Π’Π°Π±Π»ΠΈΡ†Π° 4.6

Π‘Ρ‚Π°Ρ€ΠΎΠ΅ состояниС ΠšΠ›Πœ.

НовоС состояниС ΠšΠ›Πœ.

Π’Π΅Ρ€ΠΌ.

Код.

Π‘Ρ‚Π΅ΠΊ.

Π’Π΅Ρ€ΠΌ.

Код.

Π‘Ρ‚Π΅ΠΊ.

S.

(freeze C).Cj.

S.

C.s.

Π‘,

S.

C.s.

unfreeze. Π‘.

S.

S.

с

S.

S.

unfreeze. Π‘.

S.

S.

с

S.

Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ряд Ρ‚Π΅ΠΎΡ€Π΅ΠΌ, извСстных ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠ°ΠΊ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡ‹ Π§Π΅Ρ€Ρ‡Π° — РоссСра ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ особСнности Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… стратСгий, Π° Ρ‚Π°ΠΊΠΆΠ΅ взаимосвязСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ «Π»Π΅Π½ΠΈΠ²ΠΎΠ³ΠΎ» связывания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ·Ρ‹ΠΊΠ°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π΅ΠΎΡ€Π΅ΠΌ Π§Π΅Ρ€Ρ‡Π° — РоссСра.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρ‚Π΅ΠΎΡ€Π΅ΠΌ Π§Π΅Ρ€Ρ‡Π° — РоссСра Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ этой ΠΊΠ½ΠΈΠ³ΠΈ, ограничимся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΎΠΊ Ρ‚Π΅ΠΎΡ€Π΅ΠΌ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ….

Π’Π΅ΠΎΡ€Π΅ΠΌΠ° Π§Π΅Ρ€Ρ‡Π° — РоссСра. ΠŸΡƒΡΡ‚ΡŒ Π•1 ΠΈ Π•2 — лямбда-выраТСния, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ справСдливо ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅: Π•1=Π•2. Π’ΠΎΠ³Π΄Π° сущСствуСт лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π• Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π•1=Π•; Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π•2=Π•. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ символ «=» Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡ‹ понимаСтся Π² ΡΠΌΡ‹ΡΠ»Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ конвСртируСмости. Если Π² ΡΠ·Ρ‹ΠΊΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ, Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ приводят ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если вычислСниС значСния выраТСния ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ρ‚ΠΎ ΠΊ Π½Π΅ΠΌΡƒ всСгда ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° — Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

ПослС выяснСния особСнностСй Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… стратСгий, Π° Ρ‚Π°ΠΊΠΆΠ΅ взаимосвязСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π°ΠΌΠ΅Ρ‚ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ направлСния Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стратСгии «Π»Π΅Π½ΠΈΠ²Ρ‹Ρ…» вычислСний.

НаиболСС ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, исходя ΠΈΠ· ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠΈ Ρ†Π΅Π»Π΅ΠΉ этой ΠΊΠ½ΠΈΠ³ΠΈ, прСдставляСтся ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрСсматриваСтся Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ пространство состояний Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями для «Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ» (freeze) ΠΈ «Ρ€Π°Π·ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ» (unfreeze), Ρ€Π°Π½Π΅Π΅ прСдставлСнными Π½Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π». 4.6.

Напомним, Ρ‡Ρ‚ΠΎ Π½ΠΈ SECD-машина П. Π›Π΅Π½Π΄ΠΈΠ½Π°, Π½ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ абстрактная машина Π² «Ρ‡ΠΈΡΡ‚ΠΎΠΌ», «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΌ» прСдставлСнии Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ означивания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π”Ρ€ΡƒΠ³ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ «Π»Π΅Π½ΠΈΠ²ΠΎΠΉ» стратСгии вычислСний ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ использованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² для прСобразования лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ означивания для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

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

Подводя ΠΈΡ‚ΠΎΠ³ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° стратСгий вычислСния ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ ΠΈΡ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ (Π² ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ КАМ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной тСхнологичСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET).

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… рассматриваСмой ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»Ρ‹ΡŽ-тСхнологичСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина с ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ высокоуровнСвым ассСмблСром (MSIL), ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ подобная КАМ. Абстрактная машина .NET транслируСт исходный тСкст Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π² ΠΊΠΎΠ΄ MSIL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни являСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ КАМ-ΠΊΠΎΠ΄Ρƒ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ-тСхнологичСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET являСтся достаточно ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ваТнСйшиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ проСктирования ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языков программирования, ΠΊΠ°ΠΊ цСнтрализованная «ΡΠ±ΠΎΡ€ΠΊΠ° мусора», ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина .NET, ΠΊΠ°ΠΊ ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ абстрактная машина, отличаСтся высокой Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ ряд ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ схСму вычислСний.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина .NET, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ абстрактной ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΏΠ΅Ρ€Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚. Π΅. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования Π² ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ срСды вычислСний. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прСдставляСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ичСски Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ цСлСсообразных языках программирования.

Π’-Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹Ρ…, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина .NET обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ срСды вычислСний с ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ спСктром ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ Π΄Π°Π½Π½Ρ‹Ρ….

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

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

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

РассмотрСны вопросы, связанныС с ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π², Π° Ρ‚Π°ΠΊΠΆΠ΅ с Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ рСкурсивных вычислСний. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ исслСдований стали ваТнСйшиС аспСкты Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языков программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ схСму трансляции Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин SECD ΠΈ ΠšΠΠœ. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ‹ Π² ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стратСгии вычислСний ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°.

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

  • 1) матСматичСскоС обоснованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ языка программирования Π‘#);
  • 2) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ языков Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования F# ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π‘#);
  • 3) тСория ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событийно управляСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
  • 4) ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ исслСдованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ исслСдования, согласно ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, слоТившСйся Π½Π° ΠΏΡ€ΠΎΡ‚яТСнии ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΊΠ½ΠΈΠ³ΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ синтСтичСски ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡΠΌ тСорСтичСского обоснования программирования Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ соврСмСнных Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… систСм computer science ΠΈ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ проСктирования ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π΅ΡΡΠΈΠ²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы

Вопрос 1.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: Π² Ρ‡Π΅ΠΌ состоит основноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°?

  • Π°) Π² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ эффСктивности (+);
  • Π±) Π² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ удобочитаСмости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;
  • Π²) Π² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ удобства использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: ΠΊΠ°ΠΊΠΎΠ²Ρ‹ основныС стратСгии вычислСний?

  • Π°) Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…одимости (+);
  • Π±) Π²Ρ‹Π·ΠΎΠ², Π½ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ;
  • Π²) Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…одимости.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 3: Ρ‡Ρ‚ΠΎ ΠΈΠ· ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ являСтся синонимом «Π»Π΅Π½ΠΈΠ²Ρ‹Ρ…» вычислСний?

  • Π°) Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ;
  • Π±) Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…одимости (+);
  • Π²) Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Вопрос 2.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: ΠΊΠ°ΠΊΠΎΠ²Ρ‹ основныС Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»Π΅Π½ΠΈΠ²Ρ‹Ρ… вычислСний?

  • Π°) рСдукция Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚орная Π»ΠΎΠ³ΠΈΠΊΠ° (+);
  • Π±) рСдукция Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Ρ‚Сория вычислСний;
  • Π²) тСория вычислСний ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚орная Π»ΠΎΠ³ΠΈΠΊΠ°.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: ΠΊΠ°ΠΊΠΎΠ² графичСский ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»Π΅Π½ΠΈΠ²Ρ‹Ρ… вычислСний?

  • Π°) Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚;
  • Π±) тСория вычислСний;
  • Π²) рСдукция Π³Ρ€Π°Ρ„ΠΎΠ² (+).

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 3: ΠΊΠ°ΠΊΠΎΠ²Ρ‹ основныС ΠΏΡƒΡ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ КАМ-ΠΊΠΎΠ΄Π°?

  • Π°) Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ многомСстных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (+);
  • Π±) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° рСкурсивных вычислСний (+);
  • Π²) устранСниС ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Вопрос 3.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: Ρ‡Ρ‚ΠΎ являСтся нСдостатком «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΉ» вСрсии КАМ?

  • Π°) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ одномСстных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (+);
  • Π±) отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ рСкурсивных вычислСний (+);
  • Π²) ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: Π² Ρ‡Π΅ΠΌ состоит практичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡ‹ Π§Π΅Ρ€Ρ‡Π° — РоссСра?

  • Π°) Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ «Π»Π΅Π½ΠΈΠ²Ρ‹Ρ…» вычислСний (+);
  • Π±) Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π»ΠΈΠΊΠ²ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;
  • Π²) Π² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ности Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 3: ΠΊΠ°ΠΊΠΎΠ²Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ способы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ «Π»Π΅Π½ΠΈΠ²Ρ‹Ρ…» вычислСний?

  • Π°) Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ абстрактных машин (+);
  • Π±) рСдукция Π³Ρ€Π°Ρ„ΠΎΠ² (+);
  • Π²) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ комбинаторная Π»ΠΎΠ³ΠΈΠΊΠ°.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ