- •Ф.К. Алиев, и.А. Юров
- •Введение
- •Основные способы задания двоичных функций
- •1.1. Табличный способ задания
- •1.2. Геометрический способ задания
- •1.3. Задание двоичных функций формулами
- •Основные способы задания двоичных функций (продолжение)
- •2.1. Нормальные формы двоичных функций
- •2.3. Теорема о разложении в ряд Фурье
- •2.2. Многочлен Жегалкина и действительный многочлен двоичной функции
- •Полнота и замкнутость. Критерий полноты системы. Функционально полные системы. Замкнутые классы булевых функций
- •3.1. Полнота и замкнутость. Функционально полные системы
- •3.2. Замкнутые классы булевых функций
- •3.3. Критерий полноты системы булевых функций
- •4.1. Псевдобулевы функции
- •4.2. Функции k-значной логики
- •5.1 Минимизация двоичных функции
- •5.2. Геометрическая интерпретация минимизации днф
- •6.1. Метод Квайна — Мак-Класки нахождения сокращённой днф двоичной функции
- •6.2. Метод нахождения тупиковых днф
- •6.3. Метод Петрика нахождения тупиковых днф
- •Алгебраические системы
- •7.1. Алгебраические системы. Булевы алгебры
- •7.2. Изоморфизм алгебраических систем
- •Алгебры высказываний. Предикаты и операции над ними
- •8.1. Основные логические операции и их свойства
- •8.2. Предикаты и операции над ними
- •Исчисление предикатов
- •9.1. Общее понятие о логическом исчислении
- •9.2. Формулы алгебры предикатов
- •9.3. Равносильность формул. Основные отношения равносильности
- •9.4. Использование равносильностей для упрощения формул
- •9.5. Построение исчисления предикатов
- •9.6. Выводимость и доказуемость формул
- •9.7. Семантика исчисления предикатов
- •Понятие о теории моделей
- •Элементы теории алгоритмов
- •11.1. Основные требования к алгоритмам
- •11.2. Машина Тьюринга и функции, вычислимые по Тьюрингу
- •11.3. Машины произвольного доступа и вычислимые функции
- •Частично рекурсивные функции и их вычислимость
- •Вычислимость суперпозиции
- •Вычислимость рекурсии
- •Вычислимость минимизации
- •Нумерация наборов чисел и слов
- •Нормальные алгоритмы
- •Нумерация алгоритмов
- •1. Нумерация машин Тьюринга
- •2. Нумерация мпд-программ
- •Универсальные функции
- •Алгоритмически неразрешимые проблемы
- •16.1. Алгоритмически неразрешимые проблемы
- •16.2. Примечательные алгоритмически неразрешимые проблемы
- •Характеристики сложности вычислений
- •Характеристика сложности вычислительных задач
- •18.1. Классы сложности p и np и их взаимосвязь
- •18.3. Основные np-полные задачи. Сильная np-полнота
- •Список Литературы
16.2. Примечательные алгоритмически неразрешимые проблемы
Выявлению разрешимых и неразрешимых задач в различных разделах математики посвящено много исследований. Приведем без доказательства некоторые проблемы из алгебры, логики, теоретической кибернетики, которые отличаются простотой формулировки и фундаментальностью.
1. Проблема распознавания истинности формул элементарной арифметики. Формулы строятся с помощью арифметических действий (сложения и умножения), логических операций (логических связок и кванторов) и знака равенства. Проблема состоит в том, чтобы найти алгоритм, который по любой такой формуле определяет, истинна она или нет на натуральном ряду. Неразрешимость этой проблемы установил Гедель К. (1931).
2. Проблема разрешения для логики предикатов первого порядка. Нужно найти алгоритм, который бы проверил общезначимость формулы алгебры предикатов. Неразрешимость этой проблемы установил Черч А. (1936).
3. Проблема сочетаемости Поста. Конечное множество V пар слов в некотором алфавите называется сочетаемым, если для некоторых пар (A1, B1), …, (As, Bs) из V выполнено равенство A1…As = B1…Bs. Нужно найти алгоритм, который по всякому множеству V пар слов узнает сочетаемо оно или нет. Неразрешимость данной проблемы установил Пост Э. (1946).
4. Проблема
представимости матриц.
Рассматриваются (nxn)-матрицы
над кольцом целых чисел Z.
Пусть даны произвольные матрицы U1…Uq
и U.
Нужно иметь алгоритм, который бы решал,
верно ли U =
для
некоторых i1, …, ip.
Неразрешимость данной проблемы, начиная
с n = 4,
установлена Марковым А.А. (1958).
5. Проблема тождества элементарных функций вещественного переменного. Определим класс термов Т индуктивно: x — переменная, (число) — термы. Если u, v — термы, то (u + v), (uv), (u/v), sin u, |u| — термы. Нужно иметь алгоритм, который по любым двум термам из Т узнает, задают ли одну и ту же функцию одного вещественного переменного x. Неразрешимость данной проблемы установил Матиясевич Ю.В. (1973).
6. Проблема полноты автоматных базисов. Дан набор конечных автоматов (базис) с одним множеством входов и выходами, входящими в множество входов. Строятся схемы с помощью присоединения базисного автомата и введения обратной связи. Каждая схема реализует автомат. Если схемами в данном базисе может быть реализован любой автомат в данном алфавите, то базис называется полным, в противном случае — неполным. Проблема полноты заключается в том, чтобы узнавать по заданному базису — является он полным или нет. Неразрешимость данной проблемы установил Кратко М.И. (1966).
7. Десятая проблема Гильберта из 23 поставленным им в 1900 году формулируется так: «Пусть задано диофантово уравнение (т.е. уравнение вида p(x1, …, xn) = 0, р — многочлен) с произвольными неизвестными и целыми рациональными коэффициентами. Указать способ, при помощи которого возможно после конечного числа операций установить, разрешимо ли уравнение в целых рациональных числах.» Неразрешимость 10-й проблемы Гильберта установлена Матиясевичем Ю.В. (1970). Учитывая важность данного результата, приведем его точнее.
Пусть p(x1, …, xn, y1, …, ym) — многочлен над кольцом целых чисел Z. Тогда предикат М(x1, …, xn), задаваемый формулой М(x1, …, xn) = y1…ym(p(x1, …, xn, y1, …, ym) = 0), называется диофантовым предикатом (область определения кванторов — множество N0). Легко убедиться, что диофантовы предикаты являются полувычислимыми. Матиясевич Ю.В. в 1970 году установил справедливость теоремы, гласящей, что каждый полувычислимый предикат диофантов.
Покажем теперь, как из этой теоремы следует неразрешимость десятой проблемы Гильберта. Заметим, что если 10-я проблема Гильберта разрешима, то разрешима и такая проблема: «установить, имеет ли произвольное полиномиальное уравнение p(x1, …, xn) = 0 с целыми коэффициентами решение в множестве натуральных чисел”. Действительно, любое натуральное число может быть представлено как сумма четырех квадратов (по теореме Лагранжа), поэтому, чтобы решать эту проблему достаточно найти целые решения уравнения
.
Возьмем теперь многочлен p(x, y1, …, ym) такой, что x Wx y1…ym(p(x, y1, …, ym) = 0), что можно сделать по теореме Матиясевича. Тогда, если бы существовала разрешающая процедура для 10-й проблемы Гильберта, то существовала бы и разрешающая процедура для проблемы «x Wx»: чтобы проверить, верно ли а Wа, нужно проверить, имеет ли решение в N0 уравнение q(y1, …, ym) = p(a, y1, …, ym). Значит, неразрешимая проблема «x Wx» сводится к проблеме Гильберта, что означает ее неразрешимость.
Укажем еще одно следствие теоремы Матиясевича.
Теорема 16.17. Всякое рекурсивно перечислимое множество является множеством неотрицательных значений, принимаемых некоторым многочленом p(x1, …, xn) над кольцом целых чисел Z (причем x1, …, xn N0).
Доказательство. Пусть А — рекурсивно перечислимое множество. По теореме Матиясевича существует многочлен q(x, y1, …, ym) такой, что x A y1…ym(q(x, y1, …, ym) = 0). Рассмотрим теперь многочлен p(x, y1, …, ym), определяемый формулой p(x, y1, …, ym) = x – (x + 1)(q(x, y1, …, ym))2.
Ясно, что p(x, y1, …, ym) 0 q(x, y1, …, ym) = 0, причем в этом случае p(x, y1, …, ym) = x. Таким образом, А есть множество неотрицательных значений, принимаемых p(x, y1, …, ym), когда x, y1, …, ym пробегает множество N0, что и требовалось доказать.
Одно из приложений этого результата — множество простых чисел. Ясно, что множество простых чисел — рекурсивно перечислимо. На основании доказанного множество простых чисел есть множество положительных значений, принимаемых некоторым многочленом с целыми коэффициентами. Данный факт считался ранее маловероятным и даже невозможным.
Л е к ц и я 17
