- •Т. А. Сливина математическая логика и теория алгоритмов
- •Глава I. Логика высказываний 6
- •Глава 1 логика высказываний
- •§ 1. Логические операции над высказываниями
- •§ 2. Формулы логики высказываний. Основные равносильности и преобразования
- •1. Основные равносильности
- •2. Равносильности, выражающие одни логические операции через другие
- •3. Равносильности, выражающие основные законы алгебры логики
- •§ 3. Алгебра Буля. Функции Буля. Представление произвольной функции алгебры логики в виде формулы алгебры логики
- •§ 4. Дизьюнктивная нормальная форма и совершенная дизьюнктивная нормальная форма. Коньюнктивная нормальная форма и совершенная коньюнктивная нормальная форма
- •§ 5. Приложения алгебры логики в технике и других областях
- •Задачи и упражнения
- •Глава 2 исчиление высказываний
- •§ 1. Этапы построения исчисления высказываний. Понятие формулы исчисления высказываний
- •§ 2. Определение доказуемой формулы. Правила вывода и заключения
- •§ 3. Производные правила вывода
- •§ 4. Выводимость формул из совокупности формул
- •§5. Доказательство некоторых законов логики
- •3. Закон разъединения посылок
- •5. Закон исключенного третьего: ├
- •§6. Связь между алгеброй высказываний и исчислением высказываний
- •§7. Проблемы аксиоматического исчисления высказываний
- •1. Проблема разрешимости исчисления высказываний.
- •3. Проблема полноты исчисления высказываний.
- •4. Проблема независимости аксиом исчисления высказываний.
- •Задачи и упражнения
- •Глава 3 логика предикатов
- •§ 1. Понятие предиката. Логические операции над предикатами. Кванторные операции.
- •§ 2. Понятие формулы логики предикатов. Значение формулы логики предикатов
- •§ 3. Равносильные формулы логики предикатов. Предваренная нормальная форма
- •§ 4. Общезначимость и выполнимость формул. Проблема разрешимости для общезначимости и выполнимости, неразрешимость ее в общем случае
- •§ 5. Применение языка логики предикатов для записи математических предложений, определений, построения отрицания предложений
- •§ 6. Замечание об аксиоматическом исчислении предикатов
- •Задачи и упражнения
- •Глава 4 математические теории
- •§ 1. Теории первого порядка. Основные понятия
- •§ 2. Примеры математических теорий из алгебры, анализа, геометрии
- •1. Теория частичного упорядочения.
- •2. Теория групп.
- •3. Аффинная геометрия.
- •§ 3. Интерпретация языка теории
- •§ 4. Проблемы непротиворечивости, полноты, разрешимости теории
- •2. Проблема полноты.
- •3. Проблема разрешимости.
- •Глава 5 алгоритмы
- •§ 1. Понятие алгоритма и его характерные черты
- •§ 2. Разрешимые и перечислимые множества
- •§ 3. Уточнение понятия алгоритма
- •§ 4. Вычислимые функции. Частично рекурсивные и общерекурсивные функции
- •1. Суперпозиция функций.
- •2. Схема примитивной рекурсии.
- •§ 5. Машины Тьюринга
- •§ 6. Нормальные алгоритмы Маркова
- •§ 7. Неразрешимые алгоритмические проблемы (обзор)
- •1.Неразрешимость проблемы распознавания выводимости в математической логике.
- •3. Проблема эквивалентности слов для ассоциативных исчислений.
- •4. Неразрешимость десятой проблемы Гильберта о диофантовых уравнениях.
- •Задачи и упражнения
- •Заключение
- •Библиографический список
- •Математическая логика и теория алгоритмов
- •660014, Красноярск, просп. Им. Газ. «Красноярский рабочий», 31.
- •660028, Г. Красноярск, ул. Водопьянова, 2-241.
§ 4. Вычислимые функции. Частично рекурсивные и общерекурсивные функции
Для алгоритмических проблем типичным является то обстоятельство, что требуется найти алгоритм для решения задачи, в условия которой входят значения некоторой конечной системы целочисленных параметров x1, х2, ..., хп, а искомым результатом также является целое число у. Следовательно, стоит вопрос о существовании алгоритма для вычисления значений числовой функции у, зависящей от целочисленных значений аргументов x1, х2, ..., хп.
Определение 1. Функция g = f(x1, x2,..., хп) называется эффективно вычислимой, если существует алгоритм, позволяющий вычислить ее значения.
Так как в этом определении алгоритм понимается в интуитивном смысле, то и понятие эффективно вычислимой функции является интуитивным.
Однако переход от алгоритма к эффективно вычислимой функции дает определенные преимущества. Дело в том, что те требования, которые предъявляются к алгоритму в его характерных чертах, выполняются для совокупности всех вычислимых функций, которая носит название совокупности рекурсивных функций.
Гёдель впервые описал класс всех рекурсивных функций как класс всех числовых функций, определяемых в некоторой формальной системе. Черч в 1936 году пришел к тому же классу функций, исходя из других предпосылок. Здесь построение класса вычислимых функций строится следующим образом.
Выбираются простейшие функции
(оператор сдвига),
О(х) = 0 (оператор аннулирования),
(оператор проектирования).
Ясно, что все три простейшие функции всюду определены и интуитивно вычислимы.
Далее вводятся операции над функциями.
1. Суперпозиция функций.
Рассмотрим функции и функцию , функцию , определяемую равенством
.
Будем говорить, что функция получена из функций и f1, f2, ..., fm суперпозицией.
Если мы каким-либо образом умеем вычислять функции f1, f2, ..., fm , то функция может быть вычислена так: придадим переменным xv х2, ..., хп некоторые значения a1, а2, ..., ап. Вычисляя все , найдем . Вычисляя теперь найдем .
Ясно, что если все функции fl, f2, ..., fm и всюду определены, то функция всюду определена. Функция будет не всюду определенной, если хотя бы одна из функций fl, f2, ..., fm не всюду определена, или если можно найти такие значения аргументов а1, а2, ..., аn, что bi=fi(a1,a2,...,an), но (b1,b2,.,.,bm) не определено (i = 1,…, т).
Таким образом, если функции fl, f2, ..., fm, интуитивно вычислимы, то будет интуитивно вычислима и функция .
Отметим, что возможны случаи, когда не все функции f1, f2, ..., fm зависят от всех п аргументов х1, x2, ..., хп. В этих случаях для получения суперпозиции используются фиктивные аргументы и функции . Например, функция получается суперпозицией из функций и
.
2. Схема примитивной рекурсии.
Пусть имеется две функции (х2,х3,...,хп) и , (n > l). Рассмотрим новую функцию, которая удовлетворяет следующим равенствам:
(1)
Отметим, что функция зависит от п-1 аргументов, функция от n+1 аргументов, а функция f – от п аргументов.
Если функция получается из функций и с помощью равенств (1), то говорят, что функция f получена из функций и по схеме примитивной рекурсии.
Если функции и интуитивно вычислимы, то будет интуитивно вычислима и функция f. Действительно, пусть a1, а2, ..., ап – набор значений аргументов х1, х2, ..., хп. Тогда последовательно находим
,
,
и т.д.
Очевидно, что если функции и всюду определены, то будет всюду определена и функция f.
Рассмотрим примеры получения функций по схеме примитивной рекурсии.
Пример 1. Пусть функция f(y,x) задана равенствами:
f(0,x) = x,
f(y+1,x) = f(y,x) + 1.
Здесь функция , а .
Вычислим значение функции f(y,х) при у = 5, х = 2.
Т.к. f(0,2) = (2) = 2 , то из второго равенства последовательно имеем:
Нетрудно показать, что . Действительно, . Полагая в этом равенстве у = 0, получим f(z, х) = f(0, х)+z или f(z, х) = x+z.
Пример 2. Пусть функция f(y, x) задана равенствами:
f(0,x) = 0,
f(y+1,x) = f(y,x) + x.
Здесь , .
Вычислим значение функции f(у, х) при у = 2, х = 2. Так как f(0,x) = , то f(0,2) = 0 , а значения f(1,2) и f(2,2) находим последовательно:
,
.
Легко показать, что в этом примере f(y, x) = ху. Действительно, f(y + z, x) = f(y, x) + zх. Полагая в этом равенстве у = 0, получим f(z, х) = f(0, х) + zх или f(z, х) = zх.
3. Операция минимизации ( -оператор).
Пусть задана некоторая функция f(x,y). Зафиксируем значение х и выясним, при каком у f(x, у) = 0.
Более сложной задачей является отыскание для данной функции f(x, у) и фиксированного х наименьшего из тех значений у, при которых функция f(x,y) = 0. Так как результат решения задачи зависит от х, то наименьшее значение у, при котором функция f(x, y) = 0 есть функция х. Принято обозначение
(Читается: «наименьшее у такое, что f(x,y) = 0 ».)
Аналогично определяется функция многих переменных:
.
Переход от функции к функции принято называть применением -оператора.
Для вычисления функции можно предложить следующий алгоритм:
1. Вычислим . Если это значение f равно нулю, то полагаем =0. Если , то переходим к следующему шагу.
2. Вычислим . Если , то полагаем = 1. Если же, то переходим к следующему шагу. И т.д.
Если окажется, что для всех у функция , то функцию в этом случае считают неопределенной. Но возможно, что существует такое у0, что f(x1,x2,...,xn,y0) = 0 и, значит, есть и наименьшее у, при котором ; и в то же время может случиться, что при некотором z(0 < z < y0) значение функции не определено. Очевидно, что в этом случае процесс вычисления наименьшего у, при котором f(xltx2,...,xn,y) = 0 не дойдет до у0. И здесь функцию считают неопределенной.
Пример. Рассмотрим функцию f(x,y) = х-у, которая может быть получена с помощью оператора минимизации
Вычислим, например, f(7,2), то есть значение функции при у = 2, х = 7. Для этого положим у = 2 и будем придавать x последовательно значения:
z = 0, 2 + 0 = 27,
z = 1, 2 + 1 = 37,
z = 2, 2 + 2 = 47,
z = 3, 2 + 3 = 57,
z = 4, 2 + 4 = 67,
z = 5, 2 + 5 = 7 = 7.
Таким образом, f(7,2) = 5.
Определение 2. Функция называется частично рекурсивной, если она может быть получена в конечное число шагов из простейших функций при помощи операций суперпозиции, схем примитивной рекурсии и -оператора.
Определение 3. Функция f(xltx2,…,xn) называется общерекурсивной, если она частично рекурсивна и всюду определена.
Примерами общерекурсивных функций являются функции:
1) ,
2) О(х),
3) ,
4) f(y, x) = у+x,
5) f(y, x) = ху,
6) f(y, x) = х+n.
Тезис А. Чёрча. Каждая интуитивно вычислимая функция является частично рекурсивной.
Этот тезис нельзя доказать, т.к. он связывает нестрогое математическое понятие интуитивно вычислимой функции со строгим математическим понятием частично рекурсивной функции.
Но этот тезис может быть опровергнут, если построить пример функции интуитивно вычислимой, но не являющейся частично рекурсивной.