- •Теория алгоритмов
- •Математическая логика
- •Вагин в.Н., Фомина м.В.
- •Предисловие
- •Содержание
- •1. Теория алгоритмов
- •1.1. Нормальные алгоритмы Маркова
- •1.2 Машины Тьюринга.
- •Задачи.
- •1.3. Рекурсивные функции.
- •1.4. Алгоритмы и сложность
- •2. Формальные системы
- •2.1. Понятие формальной системы
- •2.2. Исчисление высказываний
- •2.2.1. Предложения и высказывания
- •2.2.2. Исчисление высказываний как формальная система
- •2.3. Исчисление предикатов первого порядка как формальная система
- •2.4. Проблема разрешимости
- •3. Автоматическое доказательство теорем
- •Нормальные формы исчисления высказываний
- •Нормальные формы исчисления предикатов
- •3.3. Логические следования
- •3.4. Процедура вывода Эрбрана
- •3.5. Принцип резолюции для логики высказываний
- •3.6. Принцип резолюции для логики предикатов
- •3.7. Семантическая резолюция
- •3.8. Линейная резолюция
- •Ремендуемая литература
2. Формальные системы
2.1. Понятие формальной системы
Появление формальных систем было обусловлено осознанием того факта, что совершенно различные системы, будь то технические, социальные, экономические или биологические, обладают глубоким сходством. Действительно, каждая конкретная система состоит из каких-то первичных (базовых) элементов, обладающих какими-то свойствами. Затем, исходя из наличия исходных описаний, можно логическим путем вывести описание новых свойств, причем утверждения о наличии исходных или выведенных свойств воспринимаются как истинные на основании смысла определений данных элементов.
В формальной системе (ФС), оперирующей теми или иными символами, эти символы воспринимаются просто как элементы, с которыми обращаются согласно определенным правилам, зависящим лишь от формы выражений, образованных из символов. Здесь нет понятия истинности, оно появляется лишь в связи с возможными приложениями (интерпретациями) этой системы.
Формальные системы, с которыми мы будем иметь дело, – это аксиоматические системы, т. е. системы с наличием определенного числа исходных заранее выбранных и фиксированных высказываний, называемых аксиомами.
Говорят, что аксиоматическая ФС «проста» и «эффективна». Под «простотой» будем понимать то, что для любой реальной системы, являющейся интерпретацией данной аксиоматической системы, можно обойтись одним и тем же числом исходных допущений, необходимых для получения тех или иных выводов любой системы. Говоря об «эффективности» ФС, следует иметь в виду то, что каждый вывод аксиоматической системы может быть автоматически перенесен на любую из ее интерпретаций. Поскольку любая рассматриваемая в книге формальная система имеет аксиомы, слово «аксиоматическая» в дальнейшем будет опускаться.
Предъявим к формальным системам еще одно требование. Это требование связано с понятием эффективной процедуры. Под эффективной процедурой (алгоритмом) в интуитивном смысле будем понимать совокупность предписаний, позволяющую посредством формального выполнения этих предписаний через конечное число шагов получить ответ на любой вопрос из некоторого класса вопросов.
Формальная система считается заданной, если выполнены следующие условия.
Задано некоторое множество, состоящее из конечного или бесконечного числа элементов, которые носят название термов. Имеется другое конечное множество, элементы которого есть связки или операции.
Любую линейно упорядоченную совокупность термов и операций1 будем называть формулой. Из множества формул выделим подмножество правильно построенных формул (ППФ). Для ППФ задаются правила их конструирования, т. е. определяется эффективная процедура, позволяющая по данному выражению выяснить, является ли оно ППФ или нет в данной ФС.
Выделено некоторое множество ППФ, называемых аксиомами ФС. Понятие аксиомы должно быть эффективным, т. е., так же как и для ППФ, должна иметься эффективная процедура, позволяющая для произвольной ППФ решить, является ли она аксиомой.
Имеется конечное множество R1, R2,…,Rk отношений между ППФ, называемых правилами вывода. Понятие «вывода» также должно быть эффективным. Иными словами, должна иметься эффективная процедура, позволяющая для произвольной конечной последовательности ППФ решить, может ли каждый член этой последовательности быть выведен из одной или нескольких предшествующих ППФ этой последовательности посредством некоторых фиксированных правил вывода.
Выводом в ФС называется любая последовательность ППФ A1, A2, …, Аn такая, что для любого i (1 ≤ i ≤ n) ППФ Ai есть либо аксиома ФС, либо непосредственное следствие каких-либо предыдущих ППФ по одному из правил вывода. ППФ В называется теоремой (или выводимой ППФ) ФС, если существует вывод в ФС, в котором последней ППФ является В. Понятие теоремы не обязательно эффективно, так как, вообще говоря, может и не существовать эффективной процедуры, позволяющей узнавать по данной ППФ существует ли ее вывод в ФС. Формальная система, для которой такая эффективная процедура существует, называется разрешимой, в противном случае – неразрешимой.
ППФ В выводима из ППФ A1, A2, …, Аn (или является следствием множества A1, A2, …, Аn) тогда и только тогда, когда существует такая конечная последовательность ППФ B1, B2,, …, Br, что Вr есть В и для любого i (1 ≤ i ≤ r) Вi есть:
либо аксиома,
либо Аi (1 ≤ i ≤ n),
либо непосредственное следствие некоторых предыдущих ППФ по одному из правил вывода.
Элементы последовательности ППФ A1, A2, …, Аn называются посылками вывода (или гипотезами). Сокращенно вывод В из A1, A2, …, Аn будем записывать A1, A2, …, Аn ├ B , или если Г = {A1, A2, …, Аn}, то Г ├ В. Вывод ППФ В без использования посылок есть доказательство ППФ В, а сама В – теорема, что записывается ├ В.
Приведем несколько свойств понятия выводимости из посылок.
Если Г П и Г ├ В, то П ├ В. Это значит, что если ППФ В выводима из множества посылок Г, то она также будет выводима, если к Г добавятся новые посылки.
Г ├ В тогда и только тогда, когда в Г существует конечное подмножество П, для которого П ├ В. Это очевидно, исходя из (1).
Если П ├ A и Г ├ В для любой ППФ В из множества П, то Г ├ A . Это значит, что если ППФ А выводима из П и каждая содержащаяся в П ППФ выводима из Г, то ППФ А выводима из Г.
Таким образом, любая ФС задается четверкой:
<Т, Н, А, R,
где Т – множество термов и операций; Н – множество правил конструирования ППФ; А – система аксиом; R – множество правил вывода.
Пример 2.1. Рассмотрим «неандертальскую» систему счисления. Множество Т состоит из палочек и операций: сложения, приписывания одной палочки к другой и равенства.
Правила конструирования ППФ:
| есть ППФ;
если α – ППФ. то α| также ППФ;
если α и β – ППФ, то α + β также ППФ;
если α и β – ППФ, то α = β также ППФ;
других ППФ нет.
Отсюда
|| … || – ППФ (правило 2);
|| … || + || … || – ППФ (правила 2, 3);
– ППФ (правила 2, 4) (как в случае n ≠ m, так и в случае n = m);
|| … || + || … || = || … || + || … || + … + || … || = || … || … – ППФ (правила 2, 3, 4) и т.д., но + || не есть ППФ, так как нет такого правила образования ППФ.
Система аксиом состоит из одной аксиомы: | = |.
Правила вывода:
все аксиомы выводимы, т. е. являются теоремами;
если ├ α = β, то ├ α + | = β|;
других правил вывода нет.
Найдем множество теорем: | = | – теорема (правило 1);
| + | = || – теорема (правило 2);
– теорема (правило 2),
т. е. теоремой будет любая ППФ, в которой слева и справа от знака равенства стоит одно и то же число палочек.
Теперь рассмотрим расширение формальной системы путем ввода дополнительных правил на множества H, А и R. Пусть на множество H, задающее синтаксис ФС, действуют некоторые правила η, фиксирующие изменения в правилах H, т. е. правила η изменяют синтаксис формальной системы. В системах принятия решений такая задача может рассматриваться, например, как задача перевода фактов из одной системы представления знаний в другую.
Далее, пусть в ФС допускается как добавление новых аксиом, так и исключение старых. Это может делаться с помощью некоторых правил γ, изменяющих систему аксиом А. Эти правила целенаправленно изменяют А, причем нахождение тех из них, которые задают целевые факты, может трактоваться, например, как задача поиска закономерностей мира, в котором функционирует та или иная система принятия решений.
И, наконец, пусть в ФС разрешается изменять набор правил вывода R, что и делается с помощью некоторых правил ρ. Для систем принятия решений проблема изменения правил R может пониматься, например, как задача адаптации данной системы к внешней среде.
Таким образом, полученная семерка
<Т, H, А, R, η, γ, ρ>
будет характеризовать расширение формальной системы, называемое семиотической системой. Ее особенность проявляется прежде всего в том, что семиотическая система является открытой, так как множество аксиом А может изменяться с помощью правил γ. Кроме того, такая система пригодна как для реализации дедуктивных, так и недедуктивных процессов, а также вследствие ее открытости процессов обучения и адаптации.
Для функционирования семиотической системы необходимо задать проблемно ориентированную формальную систему и правила ее изменения. Отметим, что сама формальная система не является ни языком, ни системой знания, она не содержит никаких утверждений об объектах, а является просто исчислением – некоторого рода действиями по определенным правилам над последовательностями термов.
Мы рассмотрим два класса формальных систем, являющихся математической базой для построения систем принятия решений: исчисление высказываний и исчисление предикатов первого порядка.