- •Министерство образования и науки украины
- •Дискретная математика
- •0915 - “Компьютерная инженерия”
- •Содержание
- •Введение
- •Операции алгебры множеств
- •Теоретические сведения
- •Операция объединение множеств
- •Операция пересечение множеств
- •Операция разность множеств
- •Операция симметрическая разность множеств
- •Универсум
- •Дополнение множества
- •Множество всех подмножеств (булеан)
- •Логические функции и реляционные операторы
- •Основные орпределения
- •Теоретические сведения
- •Табличный способ задания логической функции
- •Матричный способ представления
- •Графический способ представления
- •Аналитический способ представления
- •Переход от табличной формы к аналитической
- •Минимизация функций методом Квайна – Мак-Класки
- •Минимизация логических функций методом Петрика
- •Переход от алгебры Буля к алгебре Жегалкина
- •Реляционный оператор Select (выборка)
- •Реляционный оператор Project (проекция)
- •Алгоритмы на графах
- •Теоретические сведения
- •Задача о кратчайшем пути
- •Алгоритм Дейкстры нахождения кратчайшего пути в графе
- •Пример решения задачи нахождения кратчайшего пути
- •Задача нахождения наибольшего потока
- •Алгоритм Форда и Фалкерсона нахождения максимального потока транспортной сети
- •Пример нахождения максимального потока
- •Транспортная задача по критерию стоимости
- •Алгоритм метода частичных потоков
- •Пример решения транспортной задачи по критерию стоимости
- •Алгоритм Флёри нахождения эйлерова цикла
- •Пример решения задачи о коммивояжёре
- •Алгоритм Краскала нахождения остова минимального веса
- •Кодирование информации
- •6. Исправление ошибок в линейном систематическом коде.
- •7. Исправление ошибок в коде Хэмминга.
- •8. Исправление ошибок в циклическом коде.
- •Основные определения
- •Теоретические сведения
- •Построение онк по методике Шеннона-Фано
- •Построение онк по методике Хаффмена
- •Построение линейного систематического кода
- •Исправление ошибок в линейном систематическом коде
- •Построение кода Хємминга
- •Исправление ошибок в коде Хэмминга
- •Построение циклического кода
- •Исправление ошибок в циклическом коде
- •Алгоритмы теории чисел
- •Теоретические сведения
- •Вычисление степени числа а по модулю n
- •Алгоритм Евклида для нахождения наибольшего общего делителя
- •Вычисление обратных величин
- •Основные способы нахождения обратных величин
- •Расширенный алгоритм Евклида
- •Китайская теорема об остатках
Минимизация логических функций методом Петрика
Петрик формализовал второй этап минимизации, т.е. нахождение минимальной ДНФ – исключение лишних простых импликант. Данный метод позволяет свести работу с импликантной матрицей к аналитическим выражениям. По импликантной матрице строится так называемое конъюнктивное представление импликантной матрицы.
Алгоритм метода:
Все простые импликанты обозначаются буквами.
Для каждого i – го столбца матрицы строится дизъюнкция всех букв, обозначающих строки матрицы, пересечение которых с i – м столбцом отмечено .
Конъюнкция построенных дизъюнкций для всех столбцов матрицы и есть конъюнктивное представление импликантной матрицы.
К данному выражению можно применять все законы булевой алгебры с целью его упрощения. После раскрытия скобок и всех возможных поглощений получаем дизъюнкцию конъюнкций, каждая из которых содержит все импликанты тупиковой ДНФ.
Пример: Имеем после первого этапа минимизации следующую импликантную матрицу (смотри метод Квайна – Мак-Класки):
Таблица 2.11 – Импликантная матрица
|
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х1 х2 х3 х4 |
х3 х4 = A |
|
|
|
|
|
|
|
|
|
х1 х3 = B |
|
|
|
|
|
|
|
|
|
х1 х2 = C |
|
|
|
|
|
|
|
|
|
х2 х3 = D |
|
|
|
|
|
|
|
|
|
F |
A |
C D |
A C D |
C |
C |
B |
A B |
B D |
A B D |
Отсюда конъюнктивное представление импликантной матрицы:
F = A (C D) (A C D) C C B (A B) (B D) (A B D).
После раскрытия скобок и поглощений получаем минимальную ДНФ:
F = A C B = х3 х4 х1 х2 х1 х3
Пример: Имеем после первого этапа минимизации следующую импликантную матрицу (смотри метод Квайна – Мак-Класки):
Таблица 2.12 – Импликантная матрица
|
х1 х2 х3 |
х1 х2 х3 |
х1 х2 х3 |
х1 х2 х3 |
х1 х2 х3 |
Х1 х3 = A |
|
|
|
|
|
Х1 х2 = B |
|
|
|
|
|
х2 х3 = C |
|
|
|
|
|
х1 х2 = D |
|
|
|
|
|
F |
A B |
A C |
C D |
D |
B |
Отсюда:
F = (A B) (A C) (C D) D B = (A C) D B = A D B C D B.
Т.е. имеем две минимальные ДНФ:
F1 = х1 х3 х1 х2 х1 х2,
F2 = х2 х3 х1 х2 х1 х2 .
