
- •Введение
- •1. Основные сведения из формальной логики
- •1.1. Введение в формальную логику
- •1.2. Формы познания человеком окружающего мира
- •1.3. Формы абстрактного мышления
- •«Все s есть p»,
- •«Если s есть p, то s есть p1».
- •1.4. Содержательное описание основных законов классической формальной логики и границы их применимости
- •1.5. Способы правильных умозаключений, обусловленных основными законами формальной логики.
- •1.6. Правильные способы рассуждений, основанные на теории силлогизмов
- •Вопросы для самоконтроля
- •2. Элементы теории множеств
- •2.1. Понятие множества. Способы задания множеств
- •Упражнения
- •2.2. Части множеств
- •2.2.1. Понятие подмножества
- •2.2.2. Множество-степень
- •2.2.3. Понятие о верхней и нижней гранях множеств
- •2.3. Операции над множествами.
- •2.4. Основные свойства операций над множествами
- •2.5. Отношения на множествах
- •2.5.1. Операции над отношениями
- •2.5.2. Основные свойства отношений
- •2.6. Функции как отношения на множествах
- •2.7. Отношения эквивалентности
- •2.8. Отношения порядка
- •Упражнения
- •Парадоксы теории множеств
- •Вопросы для самоконтроля
- •1. Алгебра логики
- •Понятие о простом и сложном высказывании
- •Упражнения
- •Логические операции над высказываниями
- •Упражнения
- •Упражнения
- •1.4. Аксиомы и законы алгебры логики
- •1.4.1. Правила склеивания для элементарных конъюнкций и дизъюнкций
- •Дизъюнкций
- •1.4.3. Правило развёртывания
- •Все ке для двух высказываний
- •Развёртывание элементарной дизъюнкции
- •Упражнения
- •1.5. Функции алгебры логики. Нормальные формы логических функций
- •Общая запись любой логической функции в сндф имеет вид
- •Пример. По заданной таблице истинности составить сндф функций
- •Снкф для выше приведенной таблицы истинности будут иметь вид
- •Упражнения
- •1.6.Минимизация логических функций
- •1.6.1. Расчетный метод минимизации
- •1.6.2. Табличный метод минимизации
- •1.6.3. Расчетно-табличный метод минимизации (метод Квайна)
- •Упражнения
- •1.7. Некоторые применения алгебры логики
- •Упражнения
- •Вопросы для самоконтроля
- •2. Исчисление высказываний
- •2.1. Понятие формулы исчисления высказываний
- •Упражнения
- •2.2. Аксиомы и простейшие правила вывода
- •Система аксиом исчисления высказываний
- •Тогда правило подстановка схематически запишется так
- •2.3. Определение доказуемой формулы
- •Рассмотрим примеры получения доказуемых формул.
- •2.4. Производные правила вывода
- •Упражнения
- •2.5. Определение формулы, выводимой из совокупности формул н
- •2.6. Понятие вывода
- •2.7. Основные правила выводимости
- •2.8. Доказательство некоторых законов логики
- •2.9. Проблемы аксиоматического исчисления высказываний
- •Вопросы для самоконтроля
- •3. Логика предикатов
- •3.1. Понятие предиката
- •3.2. Логические операции над предикатами
- •Упражнения
- •Кванторные операции
- •Упражнения
- •Определение формулы логики предикатов
- •3.5. Равносильные формулы логики предикатов
- •Упражнения
- •3.6. Предварённая нормальная форма
- •Выполнимость и общезначимость формул
- •Упражнения
- •Применение языка логики предикатов в математике и технике
- •Вопросы для самоконтроля
- •4. Основные положения теории алгоритмов
- •4.1. Интуитивное понятие алгоритма
- •4.2. Уточнение понятия алгоритма
- •4.3. Частично-рекурсивные и общерекурсивные функции
- •Упражнения
- •4.4. Машины Тьюринга
- •Упражнения
- •4.5. Понятие о нормальных алгоритмах Маркова
- •4.6. Алгоритмически неразрешимые проблемы
- •4.7. Сложность алгоритмов
- •Вопросы для самоконтроля
- •Ответы и решения
- •Раздел 1
- •Подраздел 1.3
- •Раздел 2
- •Раздел 3.
- •Раздел 4
- •Библиографический список
- •Список сокращений
- •Содержание
Упражнения
1) Составить
функциональную схему для МТ, вычисляющую
функцию
в десятичной системе счисления, и
выписать соответствующие конфигурации
для
и
.
2) Составить функциональную схему для МТ, вычисляющей функцию для чисел n, заданных в двоичной системе счисления, и выписать соответствующие конфигурации для n =101, 110 и 111.
3) Реализовать на
МТ алгоритм вычисления функции
,
где n
– числа десятичной системы счисления,
и выписать конфигурации для n
= = 48 и n
=297.
4) Построить
функциональную схему для МТ, которая
осуществляет циклический сдвиг слова,
состоящего из любого количества букв
внешнего алфавита
.
Под циклическим сдвигом понимается
преобразование слова
в новое слово
,
причем в общем случае местоположение
букв в слове может быть произвольным,
а каждая буква в слове может встречаться
многократно. Например: для приведенного
двухбуквенного алфавита слово может
быть таким:
По построенной
функциональной схеме записать все
конфигурации для слов
и
до получения их циклического сдвига.
5) Построить функциональную схему для МТ, определяющей значение функции
где
− целые числа.
Примечание.
Функция
иногда называется знаковой (от лат.
signature
− буква, знак), поскольку она принимает
всего два значения (0 и 1), то их можно
соответственно обозначить “+” и “−”.
Так именно принято в информатике и
вычислительной технике.
Тогда любое слово (в данном случае число) можно представлять состоящим из комбинаций всего лишь двух символов: 0 и, например, * (звездочка, которая символизирует любое число ). При этом нуль будем обозначать одним разрядом, а все числа в виде: *00*0, *000** и т.д.
Учитывая примечание, в качестве проверки правильности работы МТ, привести все конфигурации для слов: 0; *; *0; *0*0.
4.5. Понятие о нормальных алгоритмах Маркова
Очень близкой по
своей сущности к идеологии МТ, уточняющей
понятие алгоритма, является идеология
нормальных алгоритмов Маркова. Она
отличается от идеологии МТ лишь тем,
что в явном виде не оперирует машинными
механизмами. Здесь, так же как и в МТ,
задается алфавит
,
который является областью определения
некоторого алгоритма U,
а также некоторое множество подстановок
Р и
порядок их применения. Алгоритм Маркова
переводит одно слово Q,
заданное в
виде конечной последовательности букв
алфавита А,
в новое слово
S,
состоящее
из букв того же алфавита. Говорят, что
некоторый алгоритм U
применим к
слову Q,
если оно содержится в области определения
алгоритма U,
и подстановки
выполняются в той же области определения.
Рассмотрим пример задания алгоритма по Маркову. Возьмем алфавит русского языка и будем использовать следующие подстановки:
1.
2.
3.
4.
5.
6.
7.
8.
.
Пусть порядок их применения будет таким:
1) проверить возможность подстановок в порядке возрастания их номеров, и если подстановка возможна, т.е. левая буква подстановки обнаружена в исходном слове, то произвести подстановку, заменив левую букву на правую;
2) если в примененной подстановке имеется символ “!”, то преобразования прекращаются, а если нет, то текущее состояние становится исходным и весь процесс начинается заново;
3) если ни одна подстановка неприменима, то процесс преобразования завершен.
Тогда, например, слово “слон” преобразуется в слово “муха”
“СЛОН”→“СУОН”→“МУОН”→“МУХН”→“МУХА”.