- •Введение
- •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.9. Совершенная конъюнктивная нормальная форма
Представление
функции алгебры логики в виде f(X1,
X2, …, Xn)=
называется совершенной конъюнктивной нормальной формой (СКНФ).
Алгоритм перехода от табличного задания функции к СКНФ
Выбрать в таблице задания функции все наборы аргументов, на которых функция обращается в ноль.
Выписать дизъюнкции, соответствующие этим наборам аргументов. При этом если аргумент X
входит в данный набор как 0, он вписывается
без изменения в дизъюнкцию, соответствующую
данному набору. Если же Х
входит в данный набор как 1, то в
соответствующую дизъюнкцию вписывается
его отрицание.Все полученные дизъюнкции соединяются между собой знаками конъюнкций.
f(X1,
X2, X3)=(X1
3.10. Реализация операции суммирования в компьютере
Как
известно, все математические операции
в ЭВМ сводятся к сложению двух чисел.
Поэтому для их реализации требуется
единственное устройство – сумматор.
Так как в вычислительной технике
используется двоичная система счисления,
то будем считать, что числа X и Y содержат
n разрядов
,
,
где
,
i=1,…,n.
Операция сложения X и Y в обычной записи:
x
+
ynyn-1…y2y1
s
nsn-1…s2s1
Структурная схема сложения чисел X и Y будет иметь следующий вид:
xn yn xi yi x2 y2 x1 y1
p
n
pn-1 … pi
pi-1 … p2
p1
sn si s2 s1
Обозначения: si – сумма значений xi и yi;
pi – перенос из i – го разряда в i + 1й разряд.
Блок, реализующий сложение чисел x1 и y1, является логическим (2,2)-полюсником. Он называется полусумматором.
x f1
y f2
Сложение в двоичной системе счисления выполняется по правилам:
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0.
Поэтому функция f1 реализует операцию сложения по модулю два.
f1=s1=x1
y1=
Функция f2 реализует перенос p1 во второй разряд. Он имеет место только при единичных значениях x1 и y1. Поэтому функция f2 реализует операцию конъюнкции:
f2=p2=
Все остальные блоки являются полными сумматорами, представляющими собой логические (3,2)- полюсники:
y
p f2
Функция f1 реализует сложение по модулю два чисел x, y, p. Функция f2 реализует перенос в старший разряд.
Составим таблицу истинности для функций f 1 и f2.
x |
y |
p |
f1 |
f2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Функция
f 1 равна 1, если при сложении по
модулю два x, y, p получится 1, то есть при
нечетном числе единиц в строке. Выпишем
СДНФ функции f 1 и покажем, что
f1=
.
f1=
p)==
.
На наборах данных функция f2 равна 1, когда из трех переменных x, y, p, по крайней мере, две равны 1. Выпишем СДНФ функции f2 и упростим ее:
f2=
=
