
- •Математическая логика и теория алгоритмов
- •1. Информация о дисциплине
- •1.1. Предисловие
- •1.2. Содержание дисциплины и виды учебной работы
- •2. Рабочие учебные материалы
- •2.1. Рабочая программа
- •2.2. Тематический план дисциплины
- •2.3. Структурно-логическая схема дисциплины
- •2.4. Временной график изучения дисциплины
- •2.5. Практический блок
- •2.6. Рейтинговая система
- •3. Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект лекций по дисциплине
- •ВВЕДЕНИЕ
- •1. ЛОГИКА ВЫСКАЗЫВАНИЙ
- •2. ЛОГИКА ПРЕДИКАТОВ
- •5. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
- •6. ВЕРИФИКАЦИЯ АЛГОРИТМОВ И ПРОГРАММ
- •7. ЭФФЕКТИВНОСТЬ АЛГОРИТМОВ
- •Заключение
- •3.3. Учебное пособие
- •3.4. Глоссарий
- •4. Блок контроля освоения дисциплины
- •4.2. Тестирование
- •Содержание

3.2. Опорный конспект лекций по дисциплине
ВВЕДЕНИЕ
Дисциплина “Математическая логика и теория алгоритмов” изучается студентами направления подготовки 230100 – “Информатика и вычислительная техника” всех форм обучения в одном семестре. Для изучения дисциплины “Математическая логика и теория алгоритмов” студенты должны быть знакомы с разделами дискретной математики, в которых рассматриваются понятия
множества и отношения.
Предмет дисциплины “Математическая логика и теория алгоритмов” включает: логику высказываний и предикатов; формальные теории, исчисление высказываний и предикатов; логическое программирование; модальную, нечеткую и темпоральную логики; элементы теории алгоритмов, основы логической верификации и эффективность алгоритмов.
Целью изучения дисциплины является изучение логики высказываний и логики предикатов, формальных теорий и теории алгоритмов. Задачи изучения дисциплины – усвоение основных положений математической логики и теории алгоритмов.
Врезультатеизучениядисциплиныстудентдолжен:
−усвоить основные законы логики высказываний и предикатов; равносильные преобразования логических выражений.
−научиться применять их для решения задач анализа и проектирования аппаратных и программных средств вычислительной техники;
−определять отношения логического следования и эквивалентности формул логикивысказываний;
−применятьзаконылогикидляанализафункцийнесложныхпрограмм.
−владеть методами преобразования предложений естественного языка в выражениялогикивысказыванийилогикипредикатов.
−сформировать представления о нечеткой, модальной и темпоральной логике; о методе резолюций и принципах логического программирования; об аксиоматических системах, формальных теориях и исчислениях; об элементах теориииметодахоценкисложностиалгоритмовипрограмм.
Полученные знания прежде всего необходимы для изучения таких дисциплин, как “Теория автоматов”, “Схемотехника ЭВМ” и “Организация ЭВМ и систем”, а также используются для анализа и проектирования аппаратных и программных средств вычислительной техники.
Нумерация рубрик и других элементов опорного конспекта не зависит от нумерации УМК.
15
1. ЛОГИКА ВЫСКАЗЫВАНИЙ
В данном разделе изучаются основы логики и алгебра высказываний, основные операции над высказываниями, формулы логики и отношения логического следования и равносильности между формулами. Логика изучает формальные законы мышления. Для изучения дисциплины “Математическая логика и теория алгоритмов” требуется, чтобы студент владел базовыми понятиями теории множеств (множество, подмножество, отношение,
функция и т.д.). Дополнительные сведения по тематике данного раздела студенты могут найти в [2, 11, 15-19].
После завершения работы с теоретическим материалом следует ответить на вопросы для самопроверки по каждой теме и выполнить тестовые задания, приведенные в разделе 4.2. Практические занятия служат для закрепления изучаемого материала и получения практических навыков определения логического следования и равносильности для формул логики высказываний, равносильных преобразований и упрощения формул логики высказываний. Для контроля усвоения материала студенты очно-заочной и заочной форм обучения выполняют 1-е и 2-е задания контрольной работы № 1. Для получения задания на контрольную работу следует использовать программу MLTA2007.exe, которая выставлена на сайте СЗТУ (СЗТУ > Кафедры > ВМКСС > О кафедре > Вопросы, программа MLTA2007). Вариант задания генерируется по шифру студента.
1.1.Логические операции над высказываниями
Определение 1.1. Высказывание это повествовательное предложение, в отношении которого имеет смысл утверждение об его истинности или
ложности.
16
Пример истинного высказывания: "Земля вращается вокруг Солнца". Пример ложного высказывания: "3 > 5". Поскольку предметом изучения логики являются только значения истинности высказываний, для них вводят буквенные обозначения A, B, C, ... . Считается, что каждое высказывание либо истинно, либо ложно. Для краткости, если это не приводит к недоразумениям, будем вместо значения истинно писать 1, а вместо значения ложно – 0. Например, A = "Земля вращается вокруг Солнца" и B = "3 > 5", причем A = 1 и B = 0. Высказывание не может быть одновременно истинным и ложным.
Высказывания могут быть простыми и составными. Высказывания "Земля вращается вокруг Солнца" и "3 > 5" являются простыми. Составные высказывания образуются из простых с помощью связок естественного языка: НЕ, И, ИЛИ, ЕСЛИ-ТО, ТОГДА-И-ТОЛЬКО-ТОГДА.
При использовании буквенных обозначений для высказываний эти связки заменяются специальными математическими символами, которые можно рассматривать как символы логических операций. В табл. 1.1 приведены варианты символов для обозначения связок и названия соответствующих логических операций.
Таблица 1.1. Варианты обозначения логических связок
Связка |
Варианты |
Наименование операции |
|
|
символов |
|
|
НЕ |
|
|
отрицание (инверсия) |
И |
& |
|
конъюнкция |
ИЛИ |
|
+ |
дизъюнкция |
ЕСЛИ-ТО |
→ |
импликация |
|
ТОГДА-И-ТОЛЬКО- |
↔ ~ |
эквивалентность |
|
ТОГДА |
|
|
|
Операция отрицания (инверсии) определяется следующим образом: если A
истинно, то A ложно и наоборот. Остальные операции определяются по табл. 1.2.
17
Таблица 1.2. Определение конъюнкции, дизъюнкции, импликации и эквивалентности
Операнды |
|
Определение операции |
|
||
A |
B |
A & B |
A B |
A → B |
A ↔ B |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Следует обратить внимание, на следующие свойства конъюнкции, дизъюнкции, импликации и эквивалентности:
•Конъюнкция A&B истинна тогда и только тогда, когда A и B одновременно истинны, а в остальных случаях ложна. Конъюнкцию также иногда именуют логическим произведением.
•Дизъюнкция A B ложна тогда и только тогда, когда A и B одновременно ложны, а в остальных случаях истинна. Дизъюнкцию также иногда именуют
логической суммой.
•Импликация A→B истинна тогда и только тогда, когда A=1, а B=0.
Существуют варианты чтения импликации A→B : "Если A, то B"; "То, что A, влечет то, что B"; "A только тогда, когда B"; "То, что A, есть достаточное условие того, что B"; "Чтобы A, необходимо, чтобы B".
• Эквивалентность A↔B истинна тогда и только тогда, когда значения истинности A и B совпадают.
Вопросы для самопроверки по теме 1.1
1.Определите понятие высказывания.
2.Дайте определение логических операций отрицания, конъюнкции, дизъюнкции, импликации и эквивалентности.
3.Приведите варианты чтения импликации.
4.Приведите варианты чтения эквивалентности.
18
1.2. Формулы логики высказываний
С помощью логических операций, определенных выше, можно из простых высказываний строить формулы логики высказываний, представляющие различные составные высказывания. Например, из высказываний A, B и C
можно построить составные высказывания (A & B) C и A → [B ↔ (A C)]. Логическое значение составного высказывания зависит от структуры высказывания, выраженной формулой, и логических значений образующих его элементарных высказываний. Например, если A = 0, B = 1 и C = 0, то
(A & B) C = (0 & 1) 0 = 0 0 =1 0= 1 ,
A → [B ↔ (A C)] = 0 → [1 ↔ (0 0)] = 0 → [1 ↔ 0] = 0 → 0 = 1.
Для систематического изучения формул, выражающих высказывания, вводят переменные высказывания P, P1, P2, ... и т. д., принимающие значения из множества {0, 1}. Переменные высказывания называются также логическими или булевыми переменными.
Определение 1.2. Формула логики высказываний Ф(P1, P2,..., PN) называется выполнимой, если она принимает значение 1 (истина) хотя бы для одного набора значений логических переменных P1, P2,..., PN .
Определение 1.3. Формула логики высказываний Ф(P1, P2,..., PN) называется
тавтологией или тождественно истинной, если ее значение для любых значений P1, P2,..., PN есть 1.
Некоторые тавтологии играют большую роль в логике и поэтому называются законами: законы рефлексивности P ↔ P, закон исключенного третьего P P, закон отрицания противоречия ( P & P), закон двойного отрицания P↔ P, законы де Моргана
(P1 & P2) ↔ ( P1 P2) и (P1 P2) ↔ ( P1 & P2), а также другие.
19
Операции → и ↔ можно выразить через операции , & и :
P1→ P2 = P1 P2 , P1 ↔ P2 = ( P1 → P2)( P2 → P1) ,
P1 ↔ P2 = ( P1 P2 ) (P1P2 ).
На множестве формул логики высказываний можно определить семантические (смысловые) отношения равносильности и следования. Эти отношения играют важную практическую роль при упрощении логических выражений и построении корректных логических выводов.
Определение 1.4. Две формулы логики высказываний Ф1(P1, ..., PN) и Ф2(P1,
..., PN) называются равносильными, если они принимают одинаковое значение для любых значений P1, ..., PN.
Две равносильные формулы имеют одну и ту же таблицу истинности и, наоборот, формулы, имеющие одну и ту же таблицу истинности, равносильны.
Условие равносильности формул выражает теорема 1.1.
Теорема 1.1. Формулы Ф1(P1,..., PN) и Ф2(P1, ..., PN) равносильны тогда и только тогда, когда их эквивалентность Ф1(P1, ..., PN) ↔ Ф2(P1, ..., PN) является тавтологией.
Отношение равносильности обозначается символом =.
Определение 1.5. Формула Ф2(P1,...,PN) логически следует из формулы
Ф1(P1,...,PN), или Ф1(P1,...,PN) Ф2(P1,...,PN), если Ф2(P1,...,PN) истинна на всех наборах значений P1,...,PN, на которых Ф1(P1,...,PN) истинна.
Логическое следование Ф1 Ф2 означает, что из истинности Ф1 следует истинность Ф2, но если Ф1 ложна, то относительно Ф2 ничего сказать нельзя.
Отношение следования формул выражает теорема 1.2.
Теорема 1.2. Ф1(P1,...,PN) Ф2(P1,...,PN) тогда и только тогда, когда импликация Ф1(P1,...,PN)→ Ф2(P1,...,PN) является тавтологией.
Определение 1.6. Формула логики высказываний, имеющая вид конъюнкции логических переменных со знаком инверсии или без него,
называется элементарной конъюнкцией.
20

Определение 1.7. Формула логики высказываний в виде дизъюнкции элементарных конъюнкций называется дизъюнктивной нормальной формой
(д.н.ф.).
Определение 1.8. Формула логики высказываний, имеющая вид дизъюнкции логических переменных со знаком инверсии или без него,
называется элементарной дизъюнкцией.
Определение 1.9. Формула логики высказываний в виде конъюнкции элементарных дизъюнкций называется конъюнктивной нормальной формой
(к.н.ф.).
Примером д.н.ф. является формула P1P2 P1P2 P3 P2 P4 , а примером к.н.ф.
− формула (P1 P2 P3 )(P1 P2 P3 )(P2 P4 ) .
Вопросы для самопроверки по теме 1.2
1.Какое высказывание называется составным?
2.Определите понятие тавтологии.
3.Дайте определение логического следования и равносильности формул логики высказываний.
4.Каким образом связаны понятия импликации и логического следования формул логики высказываний?
5.Каким образом связаны понятия эквивалентности и равносильности формул логики высказываний?
6.Каким образом дизъюнкция выражается через конъюнкцию и отрицание?
7.Каким образом импликация выражается через дизъюнкцию и отрицание?
8.Каким образом эквивалентность выражается через дизъюнкцию, конъюнкцию
иотрицание?
9.Дайте определение конъюнктивной и дизъюнктивной нормальных форм.
1.3. Логика высказываний и булева алгебра
Множество операций { ,&, } и констант {0,1} логики высказываний образуют алгебру высказываний, причем операции → и ↔ можно рассматривать как сокращения при записи формул в базисе { , &, }:
A B = A→ B ; ( A B)( A B) = A↔ B; ( A B ) (AB )= A↔ B.
21

Алгебра высказываний относится к типу булевых алгебр.
Определение 1.10. Булева алгебра − ограниченная и дистрибутивная
структура, в которой для каждого элемента существует дополнение. Ограниченная структура имеет ноль и единицу.
Покажем сначала, что алгебра высказываний является структурой.
Определение 1.11. Структура − это тройка H;∩, , где ∩ и −
идемпотентные, коммутативные и ассоциативные операции над множеством
H, для которых выполняются законы поглощения. Для конъюнкции и дизъюнкции имеют место X & X = X , X X = X (идемпотентность)
X & Y = Y & X , |
X Y = Y X (коммутативность) |
|
(X & Y ) & Z = X & (Y & Z), |
(X Y ) Z = X (Y Z ) (ассоциативность) |
|
X X & Y = X ; |
X & (X Y ) = X (поглощение) |
|
Следовательно, |
{0,1}; &, |
− это структура. |
X & (Y Z) = (X & Y ) (X & Z ) (дистрибутивность & относительно )
X(Y & Z) = (X Y ) & (X Z ) (дистрибутивность относительно &)
Валгебре высказываний H ={0,1}, причем для каждого элемента
существует дополнение: 0 =1; 1 = 0.
Роль нуля в алгебре высказываний играет логическое значение 0, т.е. ложь, а роль единицы — логическое значение 1, т.е. истина:
0 & 0 = 0; 0 &1 = 0; 1& 0 = 0; 1&1 =1; X & X = 0; 0 & X = 0; 1& X = X ; 0 0 = 0; 0 1 =1; 1 0 =1; 1 1 =1; X X =1; 0 X = X ; 1 X =1.
Следовательно, алгебра высказываний {0,1}; ¬, &, |
− это булева алгебра. |
||
Другим |
примером |
булевой алгебры является булева |
алгебра подмножеств |
2I ; ¬, |
∩, , где |
2I − множество подмножеств |
множества I (булеан |
Названа в честь английского математика Джоржа Буля (1815-1864).
22