Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DM-6_lec.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.32 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ

(ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ)

А.В.Гаврилов

Аппликативные вычисления в теории алгоритмов

Утверждено

редсоветом института

в качестве

учебного пособия

Москва 2003

УДК 681.3

Гаврилов А.В. Аппликативные вычисления в теории алгоритмов: Учебное пособие. М.:МИФИ, 2003. – 48 с.

Учебное пособие дает базовые сведения по теории алгоритмов. Подробно рассматриваются основы построения и использования формальных систем, ламбда-исчисление и комбинаторная логика, основы теории абстрактных машин. Основной упор делается на использование полученных теоретических знаний при решении конкретных алгоритмических задач. На примере категориальной абстрактной машины демонстрируются методы формальной реализации и верификации конструкций языков программирования и объектной модели.

Полученные навыки позволяют проводить проектирование, анализ и реализацию формальных моделей для конкретных алгоритмических задач, грамотно специфицировать корректное решение. Учебное пособие "Дискретная математика" является базовым в специальной математической подготовке инженера-математика и предназначено для изучения студентами соответствующих специальностей (факультеты «К», «А», «Б» МИФИ).

Содержание

Аппликативные вычисления в теории алгоритмов 1

Содержание 3

Введение 5

Построение λ- теории 6

Основы теории формальных систем. 6

Понятие λ-исчисления. 7

Построение бестипового λ-исчисления. 7

Свободные и связанные переменные. 8

Подстановка. 9

Коллизия имен переменных. 10

Редукция 10

Погружение классических вычислений в λ-исчисление. 12

Нумералы. 13

Рекурсия 14

Рекурсия в λ-исчислении. 15

Контрольные вопросы 16

Бестиповая комбинаторная логика. 18

Комбинаторы. 18

Построение комбинаторной логики 19

Базис K, S. 20

Базис I,B,C,S 21

Преимущества комбинаторов 21

Контрольные вопросы 21

Типизированные системы. 22

Использование типов. 22

Приписывание типа комбинатору неподвижной точки. 23

Вычисление выражений при помощи комбинаторной логики. 23

Контрольные вопросы 23

Общая схема реализации функциональных языков 24

Расширенное λ-исчисление 25

Редукция графа 26

Алгоритм редукции графа (РГ) 27

Суперкомбинаторы. 28

Алгоритм приведения λ-выражения к суперкомбинаторному виду 29

Упорядочивание параметров. 30

Способы реализации рекурсии. 31

Контрольные вопросы 33

Компиляция в коды абстрактных машин. 34

Кодирование по де Брейну. 34

Алгоритм преобразования λ-выражений по де Брейну. 35

Семантические равенства для кодов де Брейна: 36

Категориальная комбинаторная логика (ККЛ). 37

Общие свойства абстрактных машин. 38

Категориальная абстрактная машина (КАМ). 39

Цикл работы КАМ 40

Оптимизация кода КАМ 41

Дополнительные функциональные инструкции 41

Рекурсия в КАМ 42

Схема трансляции терма расширенного λ-исчисления в код КАМ 42

Пример вычисления выражений на КАМ 43

Контрольные вопросы 45

Смешанные вычисления 46

Процедура смешанных вычислений 46

Трансформационные семантики 48

Проекции Футамуры 50

Контрольные вопросы 50

ЛИТЕРАТУРА 51

Введение

Использование аппликативных вычислений при решении разнообразных задач создания программного обеспечения давно признано мощным и полезным подходом к разработке сложных систем. Широкий спектр систем текстовых преобразований, символьных вычислений, систем декларативного программирования основаны на применении механизмов аппликативных вычислений для решения конкретных прикладных задач.

При этом аппликативный подход хорошо формализуем в рамках теории алгоритмов средствами ламбда-исчисления и его специализированного варианта – комбинаторной логики. Наличие строгого математического аппарата позволяет разработчику, с одной стороны, проверить корректность реализации своих моделей, а с другой – обеспечить формальное проектирование новых средств и алгоритмов.

Более того, решение сложных задач часто предполагает использование разнородных языковых средств реализации специализированных подсистем. Предлагаемый подход обеспечивает единую среду вычислений, основанную на совместном использовании общей абстрактной машины и единой объектной системы. Математически обоснованная обобщенная схема трансляции гарантирует корректность реализации каждого языка в рамках интегрированной вычислительной среды.

Таким образом, использование средств аппликативных вычислений при проектировании сложных прикладных систем позволяет разработчику не только получить адекватное решение комплексных задач обработки информации, но и проверить его корректность формальными методами.

Автор выражает благодарность за помощь в создании данного учебного пособия Колычеву В.Д., Гольцеру Ю.Я., Гусаровой Т.Н.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]