Метод Петрика — метод для получения всех минимальных ДНФ из таблицы простых импликант. Метод Петрика довольно сложно применять для больших таблиц, но очень легко реализовать программно.
Алгоритм
- Упростить таблицу простых импликант, исключив необходимые импликанты и соответствующие им термы.
- Обозначить строки упрощенной таблицы :
, и т. д.
- Сформировать логическую функцию
, которая истинна когда покрыты все столбцы.
состоит из КНФ, в которой каждый конъюнкт имеет форму
, где каждая переменная
представляет собой строку, покрывающую столбец
.
- Упростить
до минимальной ДНФ умножением и применением
,
и
.
- Каждый дизъюнкт в результате представляет решение, то есть набор строк, покрывающих все минтермы в таблице простых импликант.
- Далее для каждого решения, найденного в шаге 5 необходимо подсчитать количество литералов в каждой простой импликанте.
- Выбрать терм (или термы), содержащие минимальное количество литералов и записать результат.
Пример
Есть булева функция от трех переменных, заданная суммой минтермов:
Таблица простых импликант из метода Куайна-МакКласки:
|
0 |
1 |
2 |
5 |
6 |
7 |
K (
) |
✓ |
✓ |
|
|
|
|
L (
) |
✓ |
|
✓ |
|
|
|
M (
) |
|
✓ |
|
✓ |
|
|
N (
) |
|
|
✓ |
|
✓ |
|
P (
) |
|
|
|
✓ |
|
✓ |
Q (
) |
|
|
|
|
✓ |
✓ |
Основываясь на пометках в таблице выше, выпишем КНФ (строки складываются, их суммы перемножаются):
Используя свойство дистрибутивности, обратим выражение в ДНФ. Также будем использовать следующие эквивалентности для упрощения выражения:
,
и
.
Теперь снова используем
для дальнейшего упрощения:
Выберем произведениями с наименьшим количеством переменных являются
и
.
Выберем терм с наименьшим количеством литералов. В нашем случае оба произведения расширяются до шести литералов:
расширяется в
расширяется в
Поэтому минимальными являются оба терма.
| Эту статью следует сделать более понятной широкому кругу читателей. Пожалуйста, попытайтесь изложить эту статью так, чтобы она была понятна неспециалисту. Вам могут помочь советы в этом эссе.
Пояснение: надо до описания алгоритма рассказать, что этот алгоритм должен делать
|
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .