
- •Введение
- •1. Элементы теории множеств
- •1.1.Понятие множества.
- •1.2. Способы задания множеств.
- •1.3. Свойства множеств.
- •1.4. Конечные и бесконечные множества.
- •1.5. Подмножества.
- •1.6. Множество как абстракция.
- •1.7. Операции над множествами.
- •1.8.Декартово произведение множеств
- •1.9. Контрольные задания
- •2. Отношения
- •2.1. Общие положения
- •2.2. Задание отношений.
- •2.3. Виды отношений.
- •2.3.1. Рефлективность.
- •2.3.2. Симметричность.
- •2.3.3. Транзитивность.
- •2.4. Отношение эквивалентности
- •2.5. Функция.
- •2.6. Отношение как базовое понятие в реляционных
- •2.7. Контрольные задания
- •3. Элементы алгебры логики
- •3.1. Силлогизмы Аристотеля.
- •3.2. Высказывания.
- •3.3. Исчисление высказываний и
- •3.4. Функции алгебры логики
- •3.5. Равносильности алгебры логики
- •3.6. Одна логическая задача
- •3.7. Реализация функций в элементных базисах
- •3.9. Совершенная конъюнктивная нормальная форма
- •3.10. Реализация операции суммирования в компьютере
- •3.11. Контрольные задания
- •4. Элементы теории графов
- •4.1. История возникновения
- •4.2. Основные понятия
- •4.3. Матрицы графа
- •4.4. Деревья
- •4.5. Раскраска
- •5. Элементы теории алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Свойства алгоритмов
- •5.3. Вычислительные и комбинаторные алгоритмы
- •5.5. Асимптотические оценки сложности алгоритма
- •Порядки сложности алгоритма
- •5.6. Комбинаторный взрыв
- •6. Полиномиальные алгоритмы
- •6.1. Построение минимального остовного дерева.
- •6.1.1. Жадный алгоритм
- •6.1.2. Алгоритм Прима
- •6.2. Контрольные задания
- •7. Эвристические алгоритмы
- •7.1. Алгоритм последовательной раскраски
- •7.2. Контрольные задания
- •8. Сетевое планирование
- •8.1. Основные понятия
- •8.2 Параметры сетевого планирования
- •8.3. Вычисление параметров сетевого графика
- •8.4. Контрольные задания
- •9. Элементы абстрактной теории автоматов
- •9.1. Определение абстрактного автомата
- •9.2. Методы задания автоматов
- •9.3. Связь между моделями Мили и Мура.
- •9.4.1. Преобразование автомата Мура в автомат Мили
- •9.4.2. Преобразование автомата Мили в автомат Мура
- •9.5. Контрольные задания
- •10. Уточнение понятия алгоритма
- •10.1. Машина Тьюринга
- •Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
- •10.2. Нормальный алгоритм Маркова
3.3. Исчисление высказываний и
релейно-контактные схемы
Рассмотрим электрическую схему, состоящую из электромеханического реле, источника тока и электрической лампочки. Если реле замкнуто, то лампочка загорается, если же его разомкнуть, - то потухнет.
Обозначим через а высказывание "реле замкнуто", а через f - высказывание "лампочка горит". Очевидно, справедливо равенство f = а. Соответствующая высказыванию f схема показана на рис.3.1.
а
Рис.3.1. f=a
Если высказывание
а интерпретировать как "реле
разомкнуто", то будет справедливо f
= а. Соответствующая f схема приведена
на рис.3.2.
а
Рис.3.2. f=ā
На рис.3.3 показана схема последовательного соединения реле.
a
b
Рис.3.3. f=a·в
Она будет соответствовать конъюнкции высказываний а и в - f = а в, где в как и а означает высказывание "реле замкнуто". Дизъюнкции высказываний а и в-f = а v в соответствует схема параллельного соединения реле (рис.3.4).
a
b
Рис.3.4. f=a v в
Схемы, соответствующие импликации высказываний а и в - f = а→в и эквиваленции высказываний а и в - f = а ~ в приведены, соответственно, на рис.3.5 и рис.3.6.
Ā а в
ā в
в
Рис.3.5. f=a→b=ā v b Рис.3.6. f=a ~b = a∙ b v ā∙в
Оказывается между поведением релейно-контактных схем и формулами исчисления высказываний существует глубокая взаимосвязь. Любой формуле исчисления высказываний можно поставить в соответствие релейно - контактную схему, и наоборот, любой релейно - контактной схеме можно сопос-тавить некоторую формулу исчисления высказываний.
3.4. Функции алгебры логики
Функцией алгебры логики или булевой функции от n переменных f(x1, x2, ... , xn) называется функция, принимающая значения из множества {0,1}, и аргументы которой также принадлежат множеству {0,1}.
Функция у = f(x1, x2, ... , xn) задается своей таблицей истинности (таблица 3.3).
Таблица 3.3
x1 |
x2 |
x3 |
… |
xn-1 |
xn |
y = f (x1, x2, x3,…,xn-1, xn) |
0 |
0 |
0 |
… |
0 |
0 |
f (0, 0, 0,…, 0, 0) 0 |
1 |
0 |
0 |
… |
0 |
0 |
f (1, 0, 0,…, 0, 0) 0 |
0 |
1 |
0 |
… |
0 |
0 |
f (0, 1, 0,…, 0, 0) 1 |
0 |
0 |
1 |
… |
0 |
0 |
f (0, 0, 1,…, 0, 0) 1 |
… |
… |
… |
… |
… |
… |
………… |
1 |
1 |
1 |
… |
1 |
0 |
f (1, 1, 1,…, 1, 0) 1 |
1 |
1 |
1 |
… |
1 |
1 |
f (1, 1, 1,…, 1, 1) 0 |
Значения аргументов функции f заданы всевозможными наборами нулей и единиц, начиная от набора из всех нулей и кончая набором, когда все значения аргументов равны единице.
Так как f принимает значения 0 и 1, то ее можно описать перечислением наборов входных переменных, на которых f = 1 или f = 0. Так как в таблице столбцы x1,…,xn одни и те же, то их можно не писать. Получим компактное представление булевой функции, например, < 0011…10 >.
Поскольку каждая
переменная может принимать два значения,
хi {0,1}, i =
1,n, число всевозможных наборов значений
функции f от n переменных равно 2n .
Таким образом, таблица истинности
функции f от n переменных имеет 2n
строк.
В свою очередь на каждом из 2n наборов значений аргументов функция f ( x1, x2, ... ,xn ) также может принимать два значения - 0 или 1, f {0,1}.
Поэтому
число различных функций от n переменных
равно
. Рассмотрим функции одной переменной,
у = f(х). Их число равно
= 4.
Это, в - первых, функции - константы - тождественный ноль, у = 0 и тождественная единица, у = 1. Их таблицы истинности приведены в таблицах 3.4 и 3.5, соответственно. Для обоих значений аргумента значение функции сохраняет постоянную величину.
Из двух оставшихся
функций одна повторяет
значение переменной, у = х. Вторая функция
инвертирует значение переменной, у =
х. Ее называют отрицанием
переменной х. Таблицы истинности 3.6 и
3.7 определяют эти функции.
Таблица 3.4 Таблица 3.5 Таблица 3.6 Таблица 3.7
x |
y |
|
x |
y |
|
x |
y |
|
x |
y |
0 1 |
0 0 |
0 1 |
1 1 |
0 1 |
0 1 |
0 1 |
1 0 |
Рассмотрим функции от двух переменных у = f( x1, x2 ). Их число равно
= 24 = 16.
Таблица истинности этих функций задана таблицей 3.8.
Таблица 3.8
x1 |
x2 |
f1 |
f2 |
f3 |
f4 |
f5 |
f6 |
f7 |
f8 |
f9
|
f10 |
f11
|
f12 |
f13 |
f14 |
f15 |
f16 |
0 0 1 1 |
0 1 0 1 |
0 0 0 0 |
0 0 0 1 |
0 0 1 0 |
0 0 1 1 |
0 1 0 0 |
0 1 0 1 |
0 1 1 0 |
0 1 1 1 |
10 0 0 |
1 0 0 1 |
1 0 1 0 |
1 0 1 1 |
1 1 0 0 |
1 1 0 1 |
1 1 1 0 |
1 1 1 1 |
Функции f1 и f16 - это функции-константы. Функция f1 (x1, x2) = 0 называется тождественный ноль, а функция f16(x1, x2) = 1 - тождественная единица.
Функция f4 (x1, x2) = х1 называется повторением аргумента x1, а функция f6 (x1, x2) = х2 - повторением аргумента x2.
Функция f13
(x1, x2) = х1 называется
отрицанием переменной x1
- "НЕ x1", а функция
f11(x1, x2) = х2 -
отрицанием переменной х2
- "НЕ x2".
Функция f2 (x1, x2) = х1 x2 = х1 x2 называется конъюнкцией х1 и x2. Еще ее называют функцией "И" или "логическое умножение".
Функция
f8 (x1, x2) = х1
x2 называется дизъюнкцией
переменных х1 и x2. Другие
ее названия - "ИЛИ", понимаемое в
неразделительном смысле или "логическое
сложение".
Функция f14(x1,
х2) = x1
х2 = x1 v х2 называется
импликацией переменных x1 и
х2.
Ф ункция f7( x1, х2) = x1 х2 = x1 х2 v x1 х2 называется сложение по модулю два. Она равна 1, когда значения ее аргументов различны, и 0, когда они равны. По другому ее называют "исключающее ИЛИ" либо "неравнозначность".
Функция f10(x1,
х2) = x1
х2 = x1
х2 x1
х2 называется эквиваленцией
или равнозначностью. Она принимает
значение 1, когда равны ее значения
аргументов, и 0, когда они не равны.
Функция f9(x1,
х2) = x1
х2 = x1 v х2 называется
стрелка Пирса.
Функция f15(x1,
х2) = x1 х2 = x1
х2 называется
штрих Шеффера. Оставшиеся три
функции f3, f5 и f12
специальных названий не имеют. Они легко
выражаются через вышеперечисленные
функции.
f
3(x1,
х2) = x1
х2
f
5(x1,
х2) = x1
х2
f 12(x1, х2) = x1 х2
Таким образом, в булевых функциях мы оперируем с формальными переменными. Из переменных выкинута семантика, нас не интересует их смысловое значение. Это позволило придать булевым функциям однозначную математическую трактовку и использовать их для описания управляющих устройств.
П
ример.
Даны логические функции
f=
и g = X1
Построить для них таблицы истинности.
X1 |
X2 |
X3 |
|
|
|
|
|
|
f |
g=X1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
Таким образом, функции f и g на любых одинаковых наборах принимают одинаковые значения.