Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
2-2. ПОСТАНОВКА ЗАДАЧИ МИНИМИЗАЦИИ В КЛАССЕ ДНФВ предыдущем параграфе мы наметили основные пути построения МДНФ для данной функции алгебры логики. На первом этапе однозначно по данной функции строится СДНФ, а на втором этапе, выбрасывая из СДНФ лишние максимальные интервалы, находим МДНФ. В отличие от первого этапа второй этап неоднозначен. Эта неоднозначность нахождения МДНФ определяется двумя факторами: во-первых, для данной функции может существовать несколько МДНФ; во-вторых, само выбрасывание максимальных интервалов делается на основании перебора.
Рис. 2-5. Пример 2-5. На рис. 2-5 показано покрытие, соответствующее СДНФ для функции
На рис. 2-6,а и б показаны два возможных варианта покрытия, полученных путем выбрасывания некоторых избыточных интервалов из покрытия рис. 2-5. Эти варианты покрытия соответствуют двум возможным МДНФ для данной функции:
и
Необходимость перебора на втором этапе минимизации вызывает серьезные затруднения при автоматизации процесса нахождения МДНФ.
Рис. 2-6. Определенные трудности вызывает и построение СДНФ. Если к исходной ДНФ применять лишь операции склеивания (2-2) и элементарного поглощения
то наступит момент, когда эти преобразования окажутся уже невозможными. В этом случае получим тупиковую ДНФ (ТДНФ). Среди множества ТДНФ содержится и МДНФ. Получая все возможные тупиковые ДНФ для данной функции и сравнивая их по числу букв, входящих в них, можно найти все минимальные формы для данной функции. При этом встает вопрос о величине перебора при таком подходе к проблеме минимизации. Величина перебора определяется числом элементов класса тупиковых ДНФ для функции алгебры логики, зависящей от для достаточно больших
Таким образом, уже для Встает вопрос: нельзя ли ограничиться нахождением только произвольной тупиковой ДНФ? Другими словами, не является ли справедливым утверждение о том, что тупиковые ДНФ отличаются от МДНФ на небольшое число букв. Как показал Существуют такие функции алгебры логики, зависящие от Ввиду трудностей, связанных с задачей нахождения минимальных ДНФ, можно попытаться провести приближенную минимизацию не по числу букв, входящих в ДНФ, а по ее длине. Такая постановка задачи приводит к проблеме нахождения не МДНФ, а КДНФ. Алгоритм нахождения кратчайшей ДНФ для данной функции был построен Е. К. Войшвилло. Однако, как показал Ю. И. Журавлев, среди КДНФ может и не содержаться минимальных ДНФ и для достаточно больших Трудности, связанные с проблемой минимизации, хорошо видны при формулировании проблемы минимизации в виде задачи целочисленного лннейного программирования. Сведение задачи минимизации к задаче целочисленного линейного программирования было осуществлено Т. Л. Майстровой. Покажем, как осуществляется это сведение. Пусть для функции
Здесь
есть ДНФ, эквивалентная данной функции и получающаяся путем отбрасывания некоторых конъюнкций из СДНФ. Множество индексов является подмножеством номеров Определение 2-12. Вектор
называется соответствующим для ДНФ F. Легко видеть, что конъюнкция
Таким образом,
Здесь Сопоставим теперь СДНФ и ДСНФ данной функции алгебраические суммы
где Поставим теперь в сумму, сопоставляемую
или после очевидных преобразований
Здесь Из этих преобразований вытекает, что к к
Это равенство возможно, если все коэффициенты справа и слева соответственно равны между собой, т. е.
Теорема 2-4. Координаты соответствующего вектора
Множество индексов Справедливость теоремы следует из того, что для каждого номера уравнения мере одно Теорема 2-5. Если координаты вектора Доказательство очевидно. Теоремы 2-4 и 2-5 устанавливают соответствие между ДНФ, эквивалентными данной функции, и системой неравенств (2-9). Теперь можно сформулировать задачу о нахождении КДНФ или МДНФ для данной функции алгебры логики в виде следующих задач линейного программирования: Задача нахождения КДНФ. Найти минимум
при условии, что
и
Задачи нахождения МДНФ. Найти минимум
при условии, что
где Как известно, решение задачи линейного программирования такого типа требует производства большого количества операций. Однако малоэффективный при ручном счете метод линейного программирования может оказаться весьма удобным при решении задачи о минимизации функции алгебры логики в классе ДНФ с помощью средств современной вычислительной техники. Кроме сведения задачи минимизации к типовой задаче линейного программирования, возможно построение специальных методов, приспособленных для решения подобных проблем. Одним из эффективных методов, такого рода является метод псевдобулевского программирования, предложенный П. Иванеску, И. Розенбергом и С. Рудяну. С сущностью этого метода можно познакомиться по работе этих авторов, указанной в списке литературы к гл. 2. В последующих параграфах рассмотрим несколько методов, пригодных для нахождения МДНФ.
|
1 |
Оглавление
|