Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ

.pdf
Скачиваний:
111
Добавлен:
03.05.2015
Размер:
443.07 Кб
Скачать

МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

Основная:

1.Варпаховский Ф.Л. Элементы теории алгоритмов. М.:1979.

2.Гиндикин С.Г. Алгебра логики в задачах. М.: Наука, 1972.

3.Игошин В.И. Математическая логика и теория алгоритмов. – М.: Изд. Центр «Академия», 2004.

4.Игошин В.И. Задачи и упражнения по математической логике и теории алгоритмов. – М.: Изд. Центр «Академия», 2005.

5.Криницкий Н.А. Алгоритмы вокруг нас. М.:1984.

6.Лавров И.А. Логика и алгоритмы. Новосибирск, 1970.

7.Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Наука, 1975.

8.Лихтарников Л.М., Сукачева Т. Математическая логика: Курс лекций, задачник-практикум и решения: Учебное пособие для студентов вузов, обучающихся по матем. спец. СПб.: Лань, 1998.

9.Марков А.А., Нагорный Н.М. Теория алгоритмов. М.: Наука, 1984.

10.Мендельсон Э. Введение в математическую логику. М.: Наука, 1984.

11.Никольская И.Л. Математическая логика: Учебник. М.: Высшая школа, 1981.

12.Справочная книга по математической логике: В 4-х частях. М.: Наука, 1982-1983. Ч.1. Теория моделей. Ч.2. Теория множеств. Ч.3. Теория рекурсии. Ч.4. Теория доказательств и конструктивная математика.

13.Судоплатов С.В., Овчинникова Е.В. Математическая логика и теория алгоритмов. – М.:, Новосибирск, 2004.

14.Трахтенброт В.А. Алгоритмы и вычислительные автоматы.

М.:1974.

Дополнительная:

1.Гладков А.В. Теория алгоритмов. Калинин. Гос. Ун-т, 1983.

2.Клини С. Введение в метаматематику. М.: ИЛ, 1987.

3.Клини С. Математическая логика. М.: Мир, 1973.

4.Калужнин Что такое математическая логика. М.: Наука, 1974.

5.Катленд Н. Вычислимость. Введение в теорию рекурсивных функ-

ций. М.: Мир, 1983.

6.Карпов В.Г., Мощенский В.А. Математическая логика и дискретная математика. – Минск: Вышейшая школа, 1977.

7.Мальцев А.И. Алгоритмы и рекурсивные функции. М.:1965.

8.Манин Ю.И. Вычислимое и невычислимое. М.:1980.

1

9.Машины Тьюринга и рекурсивные функции /Г.-Д.Эббинхауз, К.Якобс, Ф.-К.Ман, Г.Хермес. Пер. с нем. Э.Г.Белпш. М.: Мир, 1972.

10.Мощенский В.А. Лекции по математической логике. Минск: 1973.

11.Ершов Ю.Л., Палютин Е.А. Математическая логика. М.: Наука, 1984.

12.Столяр А.А. Логическое введение в математику. Минск: 1971.

13.Столл Р. Множества. Логика. Аксиоматические теории. М.: 1968.

14.Успенский В.А., Семенов А.Л. Теория алгоритмов: основные открытия и приложения. М.: Наука, 1987.

15.Черч А. Введение в математическую логику. М.: ИЛ, 1960.

2

Введение

Термин «ЛОГИКА» происходит от греческого слова' s (логос), что означает «мысль», «разум», «слово», «понятие».

Логика (или формальная логика), как наука, изучает мышление. Но мышление изучается не только логикой, но и различными другими науками: психологией, физиологией, кибернетикой и т.д. Каждая из них изучает какую-то одну из сторон сложного процесса мышления. Логика – есть наука о законах и формах правильного мышления. В.И.Даль определяет в своем словаре логику как науку о здравомыслии. Она изучает формы рассуждений, отвлекаясь от их конкретного содержания, устанавливает, что из чего следует, ищет ответ на вопросы: как мы рассуждаем? Как из одних истинных предложений получить другие истинные предложения?

Математическая логика, называемая также символиче-

ской или теоретической логикой, выросла из традиционной логики. В символической логике различные взаимоотношения между высказываниями, множествами и т.д. выражают на языке формул, который свободен от неясностей и двусмысленности, столь свойственных обычному разговорному языку. Благодаря этому оказывается возможным построить логику на основе некоторых понятий и формул с помощью четко сформулированных правил действий, т.е. также, как это делается в разделах общей алгебры, например.

Основоположником логики как науки является АРИСТОТЕЛЬ (384 – 322г.г. до н.э.). Он впервые разработал теорию дедукции, т.е. теорию логического вывода. Именно он обратил внимание на то, что в рассуждениях мы из одних утверждений выводим другие, исходя не из конкретного содержания утверждений, а из определенной взаимосвязи между их формами, структурами. Науку о правильном мышлении он называл ана-

литикой.

Сам термин логика впервые появляется в философской школе стоиков, которые понимали под логикой науку о пра-

3

вильном мышлении и языке. (Основатель школы стоиков – Зенон из Китиона– 3–2 в.в. до н.э.).

На протяжении многих веков различными философами и целыми философскими школами дополнялась, усовершенствовалась и изменялась логика Аристотеля. Это был первый, «доматематический», этап развития формальной логики. Второй этап связан с применением в логике математических методов, начало которому положил немецкий философ и математик Г.В.Лейбниц (1646–1716г.г.). Он пытался построить универсальный язык, с помощью которого разрешались бы споры между людьми, а затем и вовсе все «идеи заменить вычислениями».

Важный период становления математической логики начинается с появления работ английского математика и логика Джорджа Буля (1815–1864 г.г.): «Математический анализ логики» (1847) и «Исследование законов мышления» (1854). Он применил к логике методы современной ему алгебры – язык символов и формул, составление и решение уравнений. Им была создана своеобразная алгебра – алгебра логики. В этот период она оформилась как алгебра высказываний и была значительно развита в работах шотландского логика А. де Моргана (Огастес, Августус De Morgan – 1806–1871), английского – У.Джевонса (Уильям Стэнли – 1835–1882, создал систему логики, основанную на принципе замещения равных, построил логические счеты и логическую машину).

В Соединенных Штатах выдающиеся работы по логике принадлежат Чарльзу Пирсу (1839–1914). Наиболее полным образом теория Буля была развита в обширном трактате немецкого логика Эрнста Шрёдера (1841–1902) «Лекции по алгебре логики». На рубеже XIX и XX в.в. в России вопросами логики занимались Порецкий Платон Сергеевич (1846–1907) и Жегалкин Иван Иванович. В XX в. логикой занимались А.Чёрч, Х.Карри и др. Значительный вклад в развитие математической логики был внесен трудами советских математиков– логиков: Колмогорова Андрея Николаевича (1903-1987), Но-

4

викова Петра Сергеевича (1901–1975), Маркова Андрея Анд-

реевича (1903–1979).

Логику, которую мы будем изучать, часто называют классической. В ней высказывание может принимать только одно из двух значений: ЛОЖЬ или ИСТИНА. В 20-х г.г. XX в. польский логик Ян Лукасевич построил трехзначную логику, в которой высказывание может иметь три значения: ЛОЖЬ, ИСТИНА, ВОЗМОЖНО. В настоящее время известны многозначные логики (конечные и бесконечные), в которых значения истинности могут быть либо целыми числами (0, 1, 2,…), либо значениями из отрезка [0; 1] и т.д.

Что же изучается в математической логике?

Предметом математической логики являются математические науки в целом.

Прежде чем какую-либо математическую науку подвергнуть логическому анализу, ее нужно формализовать, т.е.изложить на специальном языке, обязательно аксиоматическом.

С помощью математической логики можно ответить на следующие вопросы, адресованные к математической теории:

1) Не противоречива ли математическая теория?

Теория противоречива, если в ней выводимы одновременно два предложения А и противоположное А ( А).

2) Полна ли математическая теория? (вопрос о полноте). Теория называется полной, если любое утверждение этой

теории можно либо доказать, либо опровергнуть. Курт Гёдель (1906–1978) доказал, что большинство математических достаточно развитых теорий являются неполными (например формализованная арифметика. К полным теориям относятся: элементарная геометрия Евклида, теория векторных пространств).

3) Разрешима ли теория?

Теория Т называется разрешимой, если существует универсальный алгоритм (машина), позволяющий для любого утверждения А из этой теории выяснить: истинно оно или ложно?

5

Впервые Альфред Тарский в 1948г. построил алгоритм для элементарной геометрии. Поэтому элементарная геометрия

– пример разрешимой теории.

Большинство же математических теорий являются неразрешимыми. Для алгебры, арифметики, математического анализа доказано, что желаемый алгоритм построить невозможно. Мы будем знакомиться только с самыми азами математической логики. В рамках математической логики впервые было строго определено понятие доказательства. Теория математического доказательства построена в трудах великого немецкого математика Давида Гильберта (1862–1943).

Интерес к математической логике во второй половине XXв. усилился благодаря развитию электронной вычислительной техники, т.к. в тот момент, когда стали создаваться компьютеры, выяснилось, что в рамках математической логики уже создан аппарат, позволяющий компьютерам работать так, как они работают. Современный человек должен отчетливо осознавать неразрывную связь методов математической логики и компьютеров. Эти методы используются как при создании самих компьютеров (алгебра высказываний, булевы функции – математический аппарат для конструирования логических схем–блоков), так и при создании математического обеспечения к ним (в основе многочисленных языков программирования лежит логика предикатов и теория алгоритмов). Кроме того, синтез логики и компьютеров привел к возникновению баз данных и экспертных систем – важнейших этапов на пути к созданию искусственного интеллекта – машинной модели человеческого разума.

6

ВЫСКАЗЫВАНИЯ

АЛГЕБРА ВЫСКАЗЫВАНИЙ

Высказывания и операции над ними

Высказывание – основное, неопределяемое понятие. Любые утверждения, об истинности или ложности кото-

рых имеет смысл говорить, мы будем называть высказываниями, при этом мы можем не знать, истинно ли данное высказывание или нет.

Высказываниями, например, будут следующие утвержде-

ния:

-«Кама является одной из крупнейших рек России»;

-«8 – есть простое число»;

-«9000 – я цифра в десятичной записи числа π есть 7». Первое из этих утверждений истинно, второе – ложно; ис-

тинность или ложность третьего утверждения нам неизвестна. Высказывания будем обозначать латинскими буквами (прописными и строчными, с индексами и без них): A, B, C, ...,

A1, A2, C3, …,p, q, r, …, q2, q3 … .

Итак, пусть p, q, r – высказывания или пропозициональные (высказывательные) переменные, которые могут принимать два значения истинности: Л (0; F – false) и И (1; Т – true). Различным образом сочетая высказывания между собой, мы можем получать новые высказывания. Например, из двух высказываний: «Пермь – столица Пермского края» и «8 – есть простое число» можно получить следующие высказывания:

-«Пермь – столица Пермского края и 8 – есть простое число»,

-«Пермь – столица Пермского края или 8 – есть простое число»,

-«Если Пермь – столица Пермского края, то 8 – есть простое число»,

-«Пермь – столица Пермского края тогда и только тогда, когда 8 – есть простое число».

Из первого высказывания можно получить новое высказывание - «неверно, что Пермь является столицей Пермского края», т.е. высказывания, являющегося отрицанием первого.

7

Приведенные сочетания высказываний образуются при помощи слов «И»; «ИЛИ», «ЕСЛИ…, ТО», «ТОГДА И ТОЛЬКО ТОГДА, КОГДА…», «НЕ». В математической логике для обозначения этих основных типов сочетаний, имеющих название, используются специальные символы:

p q ( p&q , p q , pq – читается «пэ и ку») – обозначает сложное высказывание, истинное только в том случае, когда p и q оба истинны. Такое высказывание называют конъюнкцией (от лат. conjunctio – союз, связь) высказываний p и q.

p q (читается «пэ или ку») обозначает сложное высказывание, истинное тогда лишь, когда по крайней мере одно из высказываний истинно (могут быть истинными оба высказывания). Такое высказывание называют дизъюнкцией (от лат. disjunctio – различение, разобщение) высказываний p и q.

p q ( p q, p q – читается «если пэ, то ку», «пэ достаточно для ку», «ку необходимо для пэ», «ку с необходимостью следует из пэ», «из пэ следует ку», «пэ влечет ку») обозначает сложное высказывание, которое ложно только в том случае, когда p истинно, а q ложно и истинно во всех остальных случаях. Такое высказывание называют импликацией (от лат. implico – тесно связываю) высказываний p и q. В импликативном высказывании p q различают антецедент (основание) – высказывание p и консеквент (следствие) – высказывание q.

p q ( p q, p q, p q – читается «пэ тогда и только тогда, когда ку», «пэ если и только если ку», «пэ в том и только том случае, когда ку») обозначает сложное высказывание, истинное, когда высказывания p и q одновременно оба истинны или оба ложны. Такое высказывание называют эквивалентностью высказываний p и q.

p ( p, p – читается «не пэ», «неверно, что пэ») – есть противоположность p. Обозначает высказывание, истинное,

8

если p ложно и ложное, если p истинно. Такое высказывание называют отрицанием высказывания p.

Замечание 1. Символы &, , , соответствуют бинарным операциям: новое высказывание сопоставляют двум высказываниям p и q, а символ выражает определенную на том же множестве унарную операцию: сопоставляет новое высказывание одному высказыванию p.

Замечание 2. Слова «и»; «или», «если…, то», «тогда и только тогда, когда…», являющиеся связками в нашем обычном языке, в математической логике получают несколько иной смысл.

Вобычном языке союз «и» используется, как правило, для объединения двух предложений, соответствующих друг другу по смыслу в некотором связном повествовании, как это бывает при описании последовательности событий (Елена хорошо подготовилась к экзамену и сдала его на отлично).

Однако в логике И может соединять любые предложения, совершенно независимо от наличия смыслового соответствия между ними.

Аналогично союз ИЛИ в обычном языке употребляется в двух смыслах – в смысле исключающем от лат. aut p или q, но не оба») и в смысле неисключающем от лат. vel p или q, или оба). Именно в последнем смысле мы будем использовать союз ИЛИ чаще. И здесь опять несущественна смысловая зависимость соединяемых высказываний.

Не существенна смысловая связь в логике между высказываниями и при построении импликации, хотя в обычном языке сложное предложение «если p, то q» предполагает между p и q отношение посылки и следствия, или же причины и обусловленного ею действия. (Если будет дождь, то мы не пойдем на прогулку).

Влогике для истинности импликации достаточно, чтобы p было ложно или q – истинно.

Т.о., высказывания типа:

Если 7 – простое число, то 2 2=4;

Если 8 – простое число, то 2 2=4;

9

– Если 8 – простое число, то 2 2=5 Должны считаться истинными.

Утверждение «p тогда и только тогда, когда q» не означает в логике, что составляющие предложения p и q имеют одно и то же значение или один и тот же смысл, оно означает лишь высказывание, которое истинно, когда оба высказывания истинны или ложны.

Все, что говорилось о логическом смысле конъюнкции, дизъюнкции, импликации, эквивалентности и отрицания можно просто и наглядно проиллюстрировать с помощью так называемых таблиц истинности.

В таблицах выписываются всевозможные комбинации истинных и ложных значений составляющих высказываний, а в результирующей колонке указывается истинность или ложность сложного высказывания для каждой такой комбинации. Будем сопоставлять истинному высказыванию символ 1, а ложному – символ 0.

Вот как выглядят таблицы истинности для &, , , и :

p

q

p&q

 

p

q

p q

 

p

q

p q

 

p

q

p q

0

0

0

 

0

0

0

 

0

0

1

 

0

0

1

0

1

0

 

0

1

1

 

0

1

1

 

0

1

0

1

0

0

 

1

0

1

 

1

0

0

 

1

0

0

1

1

1

 

1

1

1

 

1

1

1

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10