- •Сборник заданий и упражнений по дискретной математике
- •Введение
- •1. Множества
- •1.1. Основные понятия теории множеств
- •1.2. Операции над множествами
- •1.3. Задания на практическую и самостоятельную работу
- •2. Логика буля
- •2.1. Логические переменные и функции алгебры Буля
- •2.2. Постулаты и основные законы булевой алгебры
- •2.3. Формы представления булевых функций
- •2.4. Минимизация булевых функций
- •2.5. Задания на практическую и самостоятельную работу
- •3. Логика высказываний
- •3.1. Основные определения и законы логики высказываний
- •3.2. Доказательства и выводы в логике высказываний
- •3.3. Задания на практическую работу
- •4. Логика предикатов
- •4.1. Действия над предикатами и кванторами
- •4.2. Доказательства в логике предикатов
- •4.3. Задание на практическую работу
- •Библиографический список
1.3. Задания на практическую и самостоятельную работу
1. Постройте диаграммы Эйлера-Венна для операций над тремя множествами, используя следующие выражения.
1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
11. 12.
13. 14.
15. 16.
17. 18.
19. 20.
21. 22.
23. 24.
25. 26.
27. 28.
29. 30.
31. 32.
33. 34.
35. 36.
37. 38.
39. 40.
2. Используя диаграммы Эйлера-Венна, докажите справедливость заданных выражений для операций на двух или трех множествах, постройте диаграммы последовательно для операций правой и левой частей уравнения.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24. .
3. Постойте диаграммы Эйлера-Венна для четырех множеств в соответствии со следующими выражениями.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
4. Постойте диаграммы Эйлера-Венна для четырех множеств последовательно для операций левой и правой частей уравнения с целью доказательства заданного тождества.
.
2. Логика буля
2.1. Логические переменные и функции алгебры Буля
Возвращаясь к диаграмме Эйлера-Венна для двух множеств (рис. 1), с точки зрения логики, вместо одной предметной переменной х удобно ввести две логические переменные а и b, определяемые областями множеств соответственно А и В. Эти переменные могут принимать только два логических значения: 1 – истина, т.е. принадлежность множеству, или 0 – ложь. Тогда подмножества С0, С1, С2 и С3 определят следующие значения логических переменных: С0 - а = 0, b = 0; С1 - а = 1, b = 0; С2 - а = 0, b = 1; С3 - а = 1, b = 1. Таким образом, аппарат логики Буля, или иначе алгебры логики, оперирует с логическими переменными, которые могут принимать только два значения: 0 и 1. Логические переменные определяют некую логическую зависимость, которую принято называть булевой функцией. Множество всех булевых функций и операций над ними образует булеву алгебру или алгебру логики. Булевы функции, или иначе функции алгебры логики (ФАЛ), могут принимать тоже только два взаимно исключающих значения 0 и 1. При формальном рассмотрении законов булевой алгебры логические переменные обычно обозначают строчными буквами латинского алфавита или присваивают им идентификаторы.
Логические величины 0 и 1 нельзя трактовать как числа, над ними нельзя производить арифметические действия, поскольку алгебра логики – это не алгебра чисел, а алгебра состояний. Тем не менее в булевой алгебре производятся логические действия над переменными, которые и определяют характер логических функций. Основные логические действия соответствуют простейшим операциям над множествами, это: инверсия, или отрицание, дизъюнкция, или логическое сложение, и конъюнкция, или логическое умножение. На основании этих трех логических действий строятся все сколь угодно сложные логические функции. При этом следует особо выделить функции одной и двух переменных, которые играют в алгебре Буля весьма важную роль. При помощи этих функций, используя принцип суперпозиции, можно описать любую логическую функцию любой сложности любого числа переменных.
Принцип суперпозиции заключается в том, что каждый аргумент логической функции может являться функцией других логических переменных, а именно: если есть функция , то возможно, что .
Булевых функций одной переменной всего четыре.
Нулевая (const”0”) – значение функции равно нулю, каким бы ни было значение входной переменной.
Инверсия (не) – значение функции инверсно значению входной переменной.
Повторение (да) – значение функции повторяет значение входной переменной.
Единичная (const”1”) – значение функции равно единице при любом значении входной переменной.
Из всех функций двух переменных десять являются самостоятельными и зависят как от переменной а, так и от переменной b. Притом функции Y5 ,Y6 отличаются от соответствующих им Y7 ,Y8 лишь порядком расположения аргументов. Таким образом, лишь восемь из 16-ти булевых функций двух переменных являются оригинальными.
1. -конъюнкция, логическое «и»;
2. -дизъюнкция, логическое «или»;
3. -штрих Шеффера, логическое «и-не»;
4. -стрелка Пирса (функция Вебба),
логическое «или - не»;
5. -запрет b, «а, но не b»
6. -импликация b, «если а, то b»
7. -запрет а, «b, но не а»
8. -импликация а, «если b, то а»
9. -эквивалентность,
равнозначность
10. -неравнозначность,
«сумма по модулю 2».
Все шестнадцать стандартных булевых функций двух переменных приведены в таблице, в которой помимо наименований и обозначений функций представлены их двоичные значения и выражения в базисе «и», «или», «не».
Таблица стандартных логических функций
Перемен-ные |
а |
0 |
0 |
1 |
1 |
Наименование логической функции |
Обозначение логической функции |
Выражение в базисе: «и», «или», «не» |
b |
0 |
1 |
0 |
1 | ||||
Логические функции двух переменных |
F0 |
0 |
0 |
0 |
0 |
Константа «0» |
const “0” | |
F1 |
0 |
0 |
0 |
1 |
Конъюнкция | |||
F2 |
0 |
0 |
1 |
0 |
Запрет b | |||
F3 |
0 |
0 |
1 |
1 |
Повторение a | |||
F4 |
0 |
1 |
0 |
0 |
Запрет a | |||
F5 |
0 |
1 |
0 |
1 |
Повторение b | |||
F6 |
0 |
1 |
1 |
0 |
Неравнозначность | |||
F7 |
0 |
1 |
1 |
1 |
Дизъюнкция | |||
F8 |
1 |
0 |
0 |
0 |
Стрелка Пирса | |||
F9 |
1 |
0 |
0 |
1 |
Равнозначность | |||
F10 |
1 |
0 |
1 |
0 |
Инверсия b | |||
F11 |
1 |
0 |
1 |
1 |
Импликация a | |||
F12 |
1 |
1 |
0 |
0 |
Инверсия a | |||
F13 |
1 |
1 |
0 |
1 |
Импликация b | |||
F14 |
1 |
1 |
1 |
0 |
Штрих Шеффера | |||
F15 |
1 |
1 |
1 |
1 |
Константа «1» |
const “1” |