d1. Информация <–> d2. Системы счисления <–> d3. Обработка информации <–> d4. Дискретные сообщения
d4. Формальный алгоритм <–> d5. НАМ, т. Шеннона <–> d6. Сочетания алгоритмов <–> d7. УМТ <–> d8. Машина фон Неймана
Термины с лекции:
Высокоуровневая модель
— более удобная в использовании модель в сравнении с элементарной за счёт введения абстракции.Абстракция
— смысловая конструкция, описывающая длинные на машинном коде операции.Алгоритм с человеческим лицом
— понятный человеку!Язык Рефал
— теоретический язык, написанный Турчиным для бортового компьютера “Бурана”.Основная алгоритмическая модель
— модель Тьюринга.Инкремент числа
— увеличение числа на 1.Операнд
— аргумент операции; данные, которые обрабатываются командой (a+b, ‘a’ и ‘b’ — операнды).Предикат
определяется как функция на множестве отношений {И,Л}.
***Аналоговый
— непрерывный, относящийся к физическим величинам (в сравнении с цифровым).Цифровой
— описанный технически, с помощью цифр.pdp11
— машина, на которой впервые появился язык C.Все примеры НАМ
— кликни здесьТермины с лабораторки:
Алгоритмы Маркова в оригинале называны алгорифмами. Они были предложены в 1950г. академиком Андреем Марковым (мл.). На их концепции физиком Турчиным основан язык Рефал.
Алгоритм прибавления 1 к десятичному числу:
Входные сообщения (у Маркова) = входное слово, даже если в сообщении много букв.
- У Маркова нет пробелов (как в понимании Тьюринга).
- Звёздочка — это, по сути, маркер движения.
- В конце алгоритма съедается звёздочка (с костылём), и работа завершается.
- С помощью этого трюка можно решить разные задачи.
- Достаточно ли одного маркера для сообщения (?)
- На Тьюринге более простая ленточная структура, и можно использовать один маркер. На Маркове нужно несколько маркеров.
Присоединяющие алгоритмы Маркова:
Высокий уровень НАМ в сравнении с МТ особенно ярко проявляется в рекурсивных правилах вычисления выражений.
Все примеры НАМ
— кликни здесьРадиомикрофон фонит — аналоговый (аналоговый и цифровой - разница ?)
Аналоговый
— непрерывный, относящийся к физическим величинам (в сравнении с цифровым).Цифровой
— описанный технически, с помощью цифр.
высокоуровневая модель
(абстрактная).Вычислить значение выражения, состоящего из цифр (операнда) (!)
© Обратимся к нашим воронам на Воробьёвых горах.
pdp11
машина, на которой впервые появился язык CНАМ - культовая вещь, раз она есть в учебниках разных стран.
Марков работает с цифрами, как и Тьюринг.
- Марков не делит многочлены, но по признакам делимости выводит отстатки от деления (нет арифметики).
- По сути вычитает палочки и оставляет неполные.
- Число - полином.
- При делении уголком присутствует эвристика.
Если в Маркове пишет лямбду или пробелом — иностранный шпион!
© Марков - ортогональная альтернативная алгоритмическая схема.
- Напиши диаграмму своей задачи в Маркове
Мы решили, что Основная алгоритмическая модель — модель Тьюринга.
Клод Шеннон
— 1956 г.
Результаты доказательств теорем довольно громоздки.
- Но они позволили выяснить, какой смысл имеют состояния головки машины Тьюринга.
Вводя вспомогательные буквы, мы можем укоротить МТ.
У Шеннона много теорем, даже из физики!
Теорема 2.4.1 (про два состояния)
Первая т. Шеннона
T
с множеством состояний Q можно эффективным образом построить МТ T'
,
моделирующую машину Тьюринга и имеющую всего два состояния: a и b.Рабочий алфавит содержит: r = 3 * (p+1) * (s+1) + p
букв.
(p+1) * (s+1)
— одна из характеристик эффективности алгоритма.Откуда берётся тройка в формуле? 3 буквы: движемся налево, направо или никуда не движемся
Смысл теоремы в том, что если алфавит большой, то можно построить короткое сообщение.
Теорема 2.4.2 (про одну букву)
Вторая т. Шеннона
T
можно эффективным образом построить МТ T''
,
моделирующую машину Т
и имеющую однобуквенный алфавит.Смысл в том, любой алгоритм может быть записан на очень бедном алфавите.
- Это себя оправдывает на слабом железе!
По т. Шеннона использование доп.букв не нужно => когда мы используем их, показываем нежелание разобраться в теореме.
- Состояния и буквы перетекают друг в друга.
- © Путаница сразу выдаёт шпиона!
Когда строим диаграмму, постепенно получаем доказательство.
- алгоритм из 2 состояний - самая простая семантика (да или нет?) (да! 2 состояния и 5 букв)
Синоним вычислимых функций - алгоритмические функции.
Функцией
называют правило, которое каждому слову исходного алфавита ставит в соответствие единственное результирующее слово,
называемое значением функции.Область определения
- множество исходного алфавита L.Множество значений
- множество всех результирующих слов функции.Функция вычислима по Тьюрингу
, если существует МТ с рабочим алфавитом, обрабатывающим эту функцию.Функция вычислимая лучше обычной, потому что вычислимую можно запрограммировать (т.е. автоматизировать).
С точки зрения математики, алгоритм - вычислимая функция.
Найди примеры невычислимых функций (?)
Функция нормированно вычислимая по Тьюрингу, если вычисляет функцию, и в то же время удовлетворяет условиям:
1) никогда не может остановиться после применения
2) перечисляет значения функции и останавливается (на правильных словах МТ отказать и остановиться не может!)
При нормированных вычислениях головка не должна заходить левее λ.
- Выкинь '#' и ставь пометки.
- Согласно теореме, диез - преступление!
- © 6$!
Теорема 2.5.4
Всякая ВТ-функция является НВТ функцией, причем соответствующая МТ не использует никаких вспомогательных букв.Теорема 2.5.5
Для любой МТ можно эффективным образом построить машину Тn, которая имеет полубесконечную ленту и моделирует машину Tn.Кондовый способ = надёжный! Ограничение ленты не нарушает общности МТ. Внутри ленты раздвигается лента, часть слева с мусором отображается вправо, но вычисления идут на нечётной части (1, 3, 5, 7) Т.е. внутрь одной полубесконечной ленты засунули другую.
Предикат
определяется как функция на множестве отношений {И,Л}.
В случае n = 1 предикат называют свойством, а если n > 1, то n-арным отношением (бинарным, например).Определение 2.5.6