Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛ2.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

2.4. Метод Петрика

Метод заключается в нахождении всего множества тупиковых форм по таблице покрытий. Для этого составляется функция (например, по таблице 2.6) следующим образом. Запишем дизъюнкцию всех строк таблицы для каждого столбца, в которых имеются метки покрытий в виде, заданном латинскими буквами. Функция , покрывающая все столбцы будет тождественно истинной.

Преобразуем это выражение. По закону поглощения члены , . Кроме того, выражения вида .

С учетом этих правил функцию можно записать как

.

Так как и - существенные импликанты, то их можно добавить в каждый член функции после раскрытия скобок. При раскрытии скобок могут получаться длинные конъюнкции. Чтобы избежать ошибок, лучше записывать переменные в них по порядку следования букв в алфавите.

Раскрываем скобки:

Просматриваем все члены на возможность применения законов тавтологии (повторения) и поглощения и вычеркиваем лишние члены.

Если записать каждый член функции в виде дизъюнкций переменных с добавлением существенных импликант, то получим 5 тупиковых форм заданной функции и сведем их в таблицу 2.10. В таблице приведены все тупиковые формы заданной функции с количеством членов и букв.

Таблица 2.10. Метод Петрика

№

Запись в буквах

Число членов

Число букв

1

5

15

2

6

18

3

6

17

4

6

17

5

5

14

Метод подтверждает, что минимальной ДНФ является функция (14 букв) – формула (2.13), а кратчайшими – функции и (5 членов).

Метод Петрика одинаково пригоден для нахождения тупиковых форм, как в ДНФ, так и в КНФ.

Недостатком метода становится необходимость длинных преобразований функции , количество которых резко увеличивается с количеством переменных и даже с количеством импликант в таблице покрытий при одном и том же числе переменных. При ручном синтезе это требует большой внимательности при логических преобразованиях из-за возможности ошибок. Отсюда следует ограниченность метода даже при переменных равных пяти - шести. Особенная сложность возникает, когда в таблице покрытий не имеется существенных импликант, что увеличивает число равноценных покрытий.

Даже при четырех переменных число минимальных и кратчайших нормальных одинаковых форм может превосходить 10 и больше (компьютерный анализ дает до 40 МДНФ и КДНФ).

К примеру, имеет 10 минимальных и кратчайших форм в ДНФ, каждая из которых содержит по 6 членов, 19 букв.

2.5. Обработка таблиц покрытий

При поиске тупиковых форм БФ по методу Петрика преобразования значительно сокращаются при наличии существенных импликант, так как при этом сокращается число членов в записи функции Петрика (пример 2.5)

Но часто таблица покрытий не содержит существенных импликант. В этом случае может помочь метод псевдосущественных импликант, пригодный для минимизации БФ в классе кратчайших форм. Рассмотрим на примере.

Пример 2.8. Пусть в процессе минимизации получена таблица покрытий (табл. 2.11), не содержащая существенных импликант.

Таблица 2.11.

К примеру 2.8

Таблица 2.12.

К примеру 2.8

1

2

3

4

5

6

7

1

3

4

5

6

Решение. 3-й столбец является частью 2-го, поэтому 2-й столбец можно вычеркнуть также как и 7-й столбец. Получим таблицу 2.12.

Выбираем из оставшихся столбец с минимальным числом меток, например, 1-й столбец.

Примем за псевдосущественную импликанту строку . 3-й столбец исключается входящим в него 1-м. Получим таблицу 2.13, а.

Таблица 2.13, а

1

3

4

5

6

Таблица 2.13, б

1

3

4

5

6

Примем за псевдосущественную импликанту строку . В этом случае можно исключить столбцы 5 и 6 таблицы 2.13, б, которые входят в столбец 1.

В результате получаем множество тупиковых форм:

.

.

Окончательно находим кратчайшую тупиковую форму:

.

Разбиение на подтаблицы упрощает поиск тупиковых форм.

Если не требуется решение в классе минимальных форм, а только в классе кратчайших форм, то можно использовать для минимизации способ поочередного вычеркивания строк и столбцов.

Введем понятие доминирующей строки, используя значение цены (стоимости) простой импликанты . Строка является доминирующей по отношению к строке , если и покрывает все 1, входящие в (т.е. строка содержит 1 во всех столбцах, в которых стоят 1 в строке ). Если доминирует над , то существует покрытие минимальной стоимости, не содержащее . Поэтому можно исключить из таблицы покрытий, оставив доминирующую строку .

Аналогично можно ввести понятие доминирующего столбца. Столбец доминирует над столбцом , если каждая простая импликанта, покрывающая , покрывает также , т.е. содержит 1 во всех строках, в которых стоят 1 в столбце . Значит любая простая импликанта, покрывающая , покрывает также и . Поэтому можно исключить , так как любое покрывающее множество для упрощенной таблицы будет одновременно покрывать .

Из приведенных соображений составим простые правила для обработки таблиц покрытий.

1. Если имеются два столбца, один из которых входит в другой, то длинный столбец (доминирующий) по закону поглощения можно исключить.

2. Если одна строка входит в другую, то короткую строку можно исключить.

3. Вычеркивание можно начинать как со строк, так и со столбцов.

Пример 2.9. В результате первого этапа минимизации по методу Квайна–Мак-Класки получена таблица покрытий (табл. 2.14). Найти кратчайшие формы булевой функции.

Таблица 2.14. Исходная таблица покрытий

1

2

3

4

5

6

7

8

9

10

Решение. Начнем вычеркивания со столбцов. Рассматривая 1-й и 8-й столбцы, видим, что 8-ой столбец можно вычеркнуть. После 1-го этапа обработки получим табл. 2.15.

Таблица 2.15. Обработка таблиц

1

2

3

4

5

6

7

9

10

Видим, что строка входит в строку , строка в и , строка в строку . Короткие строки , и исключаем. После второго этапа обработки получим табл. 2.16.

Таблица 2.16. Обработка таблиц (продолжение)

1

2

3

4

5

6

7

9

10

Снова рассматриваем таблицу по столбцам. В столбце 1 одна метка, т.е. импликанта - существенная, значит столбец 6 можно исключить (табл. 2.17).

Таблица 2.17. Обработка таблиц (продолжение)

1

2

3

4

5

7

9

10

Снова рассматриваем полученную таблицу по строкам. Строка входит в строку и может быть исключена (табл. 2.18). Рассматриваем табл. 2.18 по столбцам.

Таблица 2.18.

Обработка таблиц

(продолжение)

1

2

3

4

5

7

9

10


Таблица 2.19.

Обработка таблиц

(продолжение)

1

2

3

5

7

10

Отметим вторую существенную импликанту в строке , а значит можно исключить столбцы 4-й и 9-й (табл. 2.19). Строка входит в строку и ее можно исключить. Получим табл. 2.20.

Таблица 2.20. Окончание

1

2

3

10

Наконец, рассматривая по столбцам таблицу 2.19, видим, что импликанта существенная и столбцы 5-й и 7-й можно исключить. Получим окончательную таблицу покрытий (табл. 2.20), в которой 3 существенных импликанты , , и две метки в 10-м столбце, следовательно, функция имеет две кратчайшие формы:

;

.

Данный метод обработки покрытий можно сочетать с другими методами, например с методом Петрика.