Минимизация функций в классе ДНФ
Проблема простейшего представления функций в заданном базисе связана с изучением свойств функций этого базиса. В настоящее время существенные результаты получены для базиса, состоящего из отрицания, конъюнкции и дизъюнкции. Именно этот базис и будет рассматриваться в дальнейшем.
Любая функция алгебры логики может быть записана в виде СДНФ. То, что запись в СДНФ часто является неэкономной, видно из примера.
ПримерПример 1. Пусть задана СДНФ
`xx2 (xx1,xx2,xx3)=xx1xx2xx3Úxx1xx2` xx3 Úxx1`xx2xx3Ú xx1`xx2`xx3 Ú`xx1xx2xx3.
Преобразуем эту СДНФ. Добавим еще один конъюнктивный член x1x2x3. Это добавление не меняет данной функции, так как xxÚxx=xx,
ff(xx1,xx2,xx3)=xx1xx2xx3Úxx1xx2`xx3Úxx1`xx2xx3Úxx1`xx2`xx3Úxx1xx2xx3Ú`xx1xx2xx3.
Преобразуем это выражение, используя равенства: aa`bb Ú aabb=aa (операция склеивания) и aa×bbÚaa=aa, aa×bbÚ`aa=bbÚ`aa (операция поглощения).
Получим:
ff(xx1,xx2,xx3)=xx1xx2(xx3Ú`xx3)Úxx1`xx2(xx3Ú`xx3)Úxx2xx3(xx1Ú`xx1)=xx1xx2Úxx1`xx2Úxx2xx3.
Аналогично предыдущему делаем дальнейшие преобразования:
ff(xx1,xx2,х3)=xx1(xx2Ú`xx2)Úxx2xx3=xx1Úxx2xx3.
Если к исходной ДНФ применять лишь операции склеивания и поглощения, то наступит момент, когда эти преобразования окажутся уже невозможными. В этом случае получим тупиковую ДНФ (ТДНФ). Среди множества ТДНФ содержится и МДНФ. Получая всевозможные тупиковые ДНФ и сравнивая их по числу букв, можно найти все минимальные формы для данной функции. Величина необходимого перебора определяется числом элементов класса тупиковых ДНФ для функции алгебры логики, зависящей от n аргументов, и может быть очень большой.
Дата добавления: 2015-08-21; просмотров: 629;