- •Раздел 1. Алгебраические структуры Тема 1.1. Бинарные операции и их свойства
- •Тема 1.2. Алгебраические структуры
- •Тема 1.3. Основные свойства групп
- •Тема 1.4. Поля и кольца
- •Раздел 2. Алгебра множеств Тема 2.1. Основные определения теории множеств
- •Тема 2.2. Подмножество, понятие универсального множества
- •Тема 2.3. Операции над множествами
- •Раздел 3. Основные теоремы комбинаторики
- •Тема 3.1. Метод математической индукции
- •Тема 3.2. Основные принципы комбинаторики
- •Раздел 4. Комбинаторные объекты Тема 4.1. Сочетания
- •Тема 4.2. Размещения и перестановки
- •Раздел 5. Полиномиальные тождества Тема 5.1. Бином Ньютона
- •Тема 5.2. Понятие о методе рекуррентных соотношений
- •Тема 5.3. Метод производящих функций
- •Тема 5.4. Метод траекторий
- •Тема 5.5. Примеры комбинаторных задач
- •Раздел 6. Соответствие, отношение, отображение Тема 6.1. Понятие кортежа. Декартово произведение множеств
- •Тема 6.2. Определения и свойства
- •Тема 6.3. Типы отношений
- •Пересечение и объединение отношений
- •Композиция отображений и отношений
- •Тема 6.5. Решётки
- •Тема 6.4. Верхняя и нижняя границы множества.
- •Раздел 7. Операции булевой алгебры Тема 7.1.Понятие высказывания, простые и составные высказывания
- •Тема 7.2.Операции на множестве высказываний
- •Отрицание
- •Конъюнкция
- •Дизъюнкция
- •«Исключающее или»
- •Импликация
- •Эквивалентность
- •Штрих Шеффера
- •Раздел 8. Законы и тождества Булевой алгебры Тема 8.1.Формулы Булевой алгебры
- •Тема 8.2.Законы и тождества Булевой алгебры
- •Тема 8.3.Составление формулы по заданной таблице истинности
- •Тема 8.4. Двойственность
- •Тема 8.5.Булева алгебра и теория множеств
- •Тема 8.6.Днф, интервалы и покрытия
- •Раздел 9. Функциональная полнота. Алгебра Жегалкина
- •Тема 9.1.Функционально полные системы
- •Тема 9.2.Алгебра Жегалкина и линейные функции
- •Тема 9.3.Замкнутые классы. Монотонные функции
- •Тема 9.4.Теоремы о функциональной полноте
- •Раздел 10. Хорновские формулы
- •Тема 10.1.Задача получения продукции
- •Тема 10.2.Решение задачи о продукции
- •Алгоритм замыкание(X,f)
- •Алгоритм ПрямаяВолна(X,y,f)
- •Алгоритм БыстроеЗамыкание(X,f)
- •Раздел 11. Теория релейно-контактных схем Тема 11.1.Основные понятия
- •Тема 11.2.Основные задачи теории релейно-контактных схем
- •Тема 11.3.Построение машины голосования
- •Тема 11.4.Двоичный сумматор
- •Тема 11.5.Методы упрощения логических выражений. Методы решения логических задач
- •Раздел 12. Логика предикатов Тема 12.1.Определение предиката
- •Тема 12.2.Логические операции над предикатами
- •Тема 12.3.Кванторы
- •Тема 12.4. Истинные формулы и эквивалентные соотношения
- •Тема 12.5.Доказательства в логике предикатов
- •Раздел 13. Теория графов
- •Тема 13.1.Основные определения теории графов
- •Тема 13.2. Способы задания графов
- •Тема 13.3. Отношения порядка и эквивалентности на графе
- •Тема 13.4. Числовые характеристики графа
- •Тема 13.5.Изоморфизм графов
- •Раздел 14. Проблемы достижимости на графах Тема 14.1.Граф достижимости
- •Тема 14.2.Взаимная достижимость, компоненты сильной связности и базы графа
- •Раздел 15. Некоторые классы графов Тема 15.1.Деревья
- •Тема 15.2. Обход графа
- •Тема 15.3. Расстояния. Диаметр, радиус и центр графа. Протяжённости.
- •Раздел 16. Машина Тьюринга
- •Тема 16.1. Формальное описание машины Тьюринга
- •Тема 16.2. Примеры построения машины Тьюринга
- •Тема 16.3. Свойства машины Тьюринга как алгоритма
- •Раздел 17. Машина Поста
- •Тема 17.1. Теоретическая часть. Состав машины Поста
- •Тема 17.2. Применимость программ. Определение результата выполнения программ
- •Раздел 18. Основные понятия теории автоматов Тема 18.1. Общие подходы к описанию устройств, предназначенных для обработки дискретной информации
- •Тема 18.2. Способы задания конечного автомата
- •Тема 18.3. Эквивалентные автоматы
- •Тема 18.4. Автоматы Мура и Мили
- •Тема 18.5. Примеры синтеза автоматов
Тема 17.2. Применимость программ. Определение результата выполнения программ
В задачах под массивом понимается последовательность подряд идущих меток, ограниченная пустыми ячейками. Если в задаче говорится, что на ленте задано число в унарной системе, то имеется в виду, что натуральное число закодировано с помощью массива длины. В задачах при описании начального состояния ленты указывается то, что записано начиная с самой левой непустой ячейки и заканчивая самой правой непустой ячейкой. При этом будем использовать следующие обозначения:подряд идущих меток будем обозначать, апустых ячеек –. Если не сказано ничего о местонахождении каретки в начальный момент времени, то считается, что каретка установлена на ячейку с самой левой меткой.
Пример: определить состояние ленты после работы приведённой машины Поста
1. 4.7.
2. 5.8.
3. 6.9.
Начальные состояния:
а). (1110011000) б).(зацикливание) в).(1001011000)
Пример: определить состояние ленты после работы приведённой машины Поста
1. 5.9.
2. 6.10.
3. 7.11.
4. 8.
Начальные состояния:
а). (зацикливание) б).(010011) в).(01010110)
Пример: определить состояние ленты после работы приведённой машины Поста
1. 5.9.
2. 6.10.
3. 7.11.
4. 8.
Начальные состояния:
а). (зацикливание…111)
б). (зацикливание…1111001)
в). (зацикливание 1010111…)
Пример:определить состояние, в котором окажется машина Поста в результате выполнения программы при заданном начальном состоянии ленты. (ячейка, на которую установлена каретка в начальный момент времени подчёркнута).
1. 5.
2. 6.
3. 7.
4. 8.
Начальные состояния:
а). ()
б). ()
Пример:определить состояние, в котором окажется машина Поста в результате выполнения программы при заданном начальном состоянии ленты. (ячейка, на которую установлена каретка в начальный момент времени подчёркнута).
1. 6.11.
2. 7.12.
3. 8.13.
4. 9.
5. 10.
Начальные состояния:
а). ()
б). ()
в). ()
Пример:На ленте задан массив меток. Увеличить длину массива на 2 метки. Каретка находится либо слева от массива, либо над одной из ячеек самого массива.
1. 5.
2. 6.
3. 7.
4. 8.
Пример:Даны два массива меток, которые находятся на некотором расстоянии друг от друга. Требуется соединить их в один массив. Каретка находится над крайней левой меткой первого массива.
1. 6.
2. 7.
3. 8.
4. 9.
5. 10.
Пример:На ленте задана последовательность массивов, включающая в себя один и более массивов. При этом два соседних массива отделены друг от друга одной пустой ячейкой. Необходимо на ленте оставить один массив длиной равной сумме длин массивов, присутствовавших изначально. Каретка находится над крайней левой меткой первого (левого) массива.
1. 6.
2. 7.
3. 8.
4. 9.
5. 10.
Пример:На ленте заданы два массива —и,. Вычислить разность этих массивов. Каретка располагается над левой ячейкой правого массива.
Запишем решение алгоритма в словесной форме:
1. ищем правый край массива , двигаясь слева направо;
2. стираем правую метку массива ;
3. ищем правый край массива , двигаясь слева направо;
4. стираем левую метку массива ;
5. проверяем, мы стёрли последнюю метку в массиве (в этом случае следующая справа ячейка должна быть пустой);
6. если стерли последнюю метку, то конец алгоритма;
7. иначе ищем правый конец массива , двигаясь справа налево;
8. переход на шаг 2.
1. 7.
2. 8.
3. 9.
4. 10.
5. 11.
6. 12.
Пример:На ленте заданы два массива. Найти модуль разности длин массивов. Каретка располагается над первой ячейкой левого массива.
1. 7.13.
2. 8.14.
3. 9.15.
4. 10.16.
5. 11.17.
6. 12.
Пример:На ленте задан массив. Удвоить массив в два раза. Каретка располагается над первой ячейкой массива.
В результате работы программы справа от исходного массива будет сформирован новый массив удвоенной длины, исходный массив будет стёрт.
1. 7.13.
2. 8.14.
3. 9.15.
4. 10.16.
5. 11.
6. 12.
Пример:На ленте задан массив. Вычислить остаток от деления длины заданного массива на 3. Каретка располагается над первой ячейкой массива.
1. 8.
2. 9.
3. 10.
4. 11.
5. 12.
6. 13.
7.
Пример:На ленте машины Поста расположен массив изметок. Составить программу, действуя по которой машина выяснит, делится ли числона 3. Если да, то после массива через одну пустую ячейку поставить метку.
Нужно проверить, что массив состоит не менее чем из трёх меток, сместиться правее них и снова решать ту же задачу. Если правее очередных трёх меток окажется пробел, то за ним поставить ещё одну метку.
1. 6.
2. 7.
3. 8.
4. 9.
5.
Пример:На ленте имеется некоторое множество меток (общее количество меток не менее 1). Между метками множества могут быть пропуски, длина которых составляет одну ячейку. Заполнить все пропуски метками.
1. 5.
2. 6.
3. 7.
4.
Пример:На ленте имеется массив изотмеченных ячеек. Каретка обозревает крайнюю левую метку. Справа от данного массива на расстоянии вячеек находится ещё одна метка. Составьте для машины Поста программу, придвигающую данный массив к данной ячейке.
1. 6.
2. 7.
3. 8.
4. 9.
5. 10.