Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
22.05.2015
Размер:
153.09 Кб
Скачать

1.3 Метод Квайна - Мак-Класки

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

1.3.1 Нахождение простых импликант

Сначала все 0-кубы разделяются на группы с одинаковым числом единиц. Затем попарно сравниваются между собой все 0-кубы соседних групп. Если два 0-куба различаются только по одной координате, то они образуют 1-куб (0-кубы, образующие 1-куб, отмечаются). После построения всех 1-кубов, образующих комплекс К1, производится построение 2-кубов и т.д. При построении r-кубов все (r-1)-кубы, образующие r-кубы, также отмечаются. Этап заканчивается, когда ни один (r+1)-куб не может быть построен. Все не отмеченные кубы комплекса К(f) являются простыми импликантами и образуют покрытие П(f) функции f.

1.3.2 Построение таблицы покрытий матрицы Квайна

Строки таблицы покрытий соответствуют простым импликантам, а столбцы 0-кубам (конституентам единицы) минимизируемой функции. На пересечении строки i и столбца j ставятся метка единица, если импликанта i покрывает конституенту j. Импликанта покрывает конституенту, если она отличается от нее только независимыми координатами.

1.3.3 Отыскание минимального покрытия функции

Для нахождения минимального покрытия необходимо удалить из таблицы покрытия некоторые лишние простые импликанты. С этой целью реализуется следующий эвристический алгоритм решения задачи покрытия.

1) вычерчиваем все столбцы, которые покрываются строками, взятыми в оптимальное покрытие.

2) вычисляем веса столбцов скорректированной таблице покрытий. Вес столбца равен числу единиц в нем. Выбираем столбец или столбцы, содержащие минимальное число единиц.

3) по формуле (1) вычисляем веса строк, покрывающих выбранные столбцы:

(1)

где - вес k-ой строки матрицы;

- вес i - го столбца, равный числу единиц в этом столбце;

- число строк в матрице;

- число единиц в столбце, на пересечении с которыми k - я строка содержит единицу;

t - число единиц в k - ой строке.

4) выбираем строку с минимальным весом и исключаем ее из таблицы.

5) для скорректированной таблицы вычисляем веса столбцов.

6) если вес одного или нескольких столбцов равен единице, то строки, покрывающие эти столбцы, должны быть отнесены в оптимальное покрытие и вместе с данными столбцами исключены из таблицы.

7) Если покрыты еще не все столбцы, то необходимо перейти к пункту 2. В противном случае поиск прекращается.

1.3.4 Получение минимальной формы логической функции

Простые импликанты, соответствующие строкам, которые входят в минимальное покрытие, соединяются знаками дизъюнкции и образуют МДНФ булевой функции.

Соседние файлы в папке дискретка