Россия, Москва |
Способы представления ФАЛ. Переход от одной формы представления ФАЛ к другой
Основная форма представления функций алгебры логики – таблица истинности (ТИ), которая определяет значение функции на всех наборах переменных.
Таблицами истинности для функций одной и двух переменных являются таблицы 2.1 и 2.2 соответственно.
Помимо таблицы истинности, возможны и другие виды представления ФАЛ, наиболее распространенными из которых являются совершенная дизъюнктивная нормальная форма, описывающая все наборы переменных, на которых функция принимает значение, равное 1, и совершенная конъюнктивная нормальная форма, описывающая все наборы переменных, на которых функция принимает значение, равное 0.
Рассмотрим способы перехода от одного вида представления ФАЛ к другому.
Пример 2.1 Пусть ФАЛ задана в виде таблицы истинности (2.1).
Номер набора | x | y | z | f(x,y,z) |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 1 | 1 | 1 |
4 | 1 | 0 | 0 | 1 |
5 | 1 | 0 | 1 | 1 |
6 | 1 | 1 | 0 | 0 |
7 | 1 | 1 | 1 | 1 |
Получить СДНФ и СКНФ этой функции.
Решение
Получение СДНФ.
Для представления сокращенной записи СДНФ этой функции необходимо под знаком обобщенной дизъюнкции Σ или V перечислить через запятую номера всех наборов, на которых функция принимает значение, равное 1.:
![f(x,y,z)_{СДНФ} = \sum (0,3,4,5,7)](/sites/default/files/tex_cache/43ad272d21930c76c56d733602e98bf1.png)
Получение развернутой записи СДНФ включает следующие этапы.
Этап 1.
Записать дизъюнкцию k конъюнктивных термов, содержащих все переменные, от которых зависит функция, где k – количество наборов, на которых функция принимает значение, равное единице, то есть количество наборов, перечисленное в сокращенной записи СДНФ:
![f(x,y,z) =xyz \vee xyz \vee xyz \vee xyz \vee xyz](/sites/default/files/tex_cache/1da8cd3c61d6e4f2b7aefc68bbff995d.png)
Этап 2.
Записать под каждым термом двоичный эквивалент одного из наборов, на которых функция принимает значение, равное единице:
Этап 3.
Расставить знаки отрицания над теми переменными, которым в двоичном эквиваленте соответствует 0:
Полученная запись представляет собой совершенную дизъюнктивную нормальную форму для функции, заданной таблицей истинности 2.1.
Получение СКНФ.
Для представления сокращенной записи СКНФ этой функции необходимо под знаком обобщенной конъюнкции Π или Λ перечислить через запятую номера всех наборов, на которых функция принимает значение, равное 0:
![f(x,y,z)_{СКНФ}=\Pi (1,2,6)](/sites/default/files/tex_cache/6208f3204ee776f47a89d88a76150dc8.png)
Получение развернутой записи СДНФ включает следующие этапы.
Этап 1.
Записать конъюнкцию m дизъюнктивных термов, содержащих все переменные, от которых зависит функция, где m - количество наборов, на которых функция принимает значение, равное 0, то есть количество наборов, перечисленное в сокращенной записи СКНФ:
![f(x,y,z) = (x \vee y \vee z) \And (x \vee y \vee z) \And (x \vee y \vee z)](/sites/default/files/tex_cache/40b2e8007f4adfb6e6b12e1162cc8b0e.png)
Этап 2.
Записать под каждым термом двоичный эквивалент одного из наборов, на которых функция принимает значение, равное 0:
Этап 3.
Расставить знаки отрицания над теми переменными, которым в двоичном эквиваленте соответствует 1:
Полученная запись представляет собой совершенную конъюнктивную нормальную форму для функции, заданной таблицей истинности 2.1.
Пример 2.2
Пусть ФАЛ задана сокращенной записью СДНФ:
![f(x,y,z)_{СДНФ}=\sum(0,1,2,5,7)](/sites/default/files/tex_cache/f12bd88df30e5e48819d7f1fcb51cf2c.png)
Представить таблицу истинности, а также полную и сокращенную записи СКНФ этой функции.
Решение
Получение таблицы истинности
Этап 1.
Подготовить ТИ для логической функции трех переменных
Номер набора | x | y | z | f(x,y,z) |
---|---|---|---|---|
0 | 0 | 0 | 0 | |
1 | 0 | 0 | 1 | |
2 | 0 | 1 | 0 | |
3 | 0 | 1 | 1 | |
4 | 1 | 0 | 0 | |
5 | 1 | 0 | 1 | |
6 | 1 | 1 | 0 | |
7 | 1 | 1 | 1 |
Этап 2.
Записать 1 в качестве значения функции в строки, соответствующие наборам, перечисленным в сокращенной записи СДНФ.
Номер набора | x | y | z | f(x,y,z) |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 1 |
2 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | |
4 | 1 | 0 | 0 | |
5 | 1 | 0 | 1 | 1 |
6 | 1 | 1 | 0 | |
7 | 1 | 1 | 1 | 1 |
Этап 3.
Записать 0 в качестве значения функции в остальные строки таблицы.
Номер набора | x | y | z | f(x,y,z) |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 1 |
2 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | 0 |
4 | 1 | 0 | 0 | 0 |
5 | 1 | 0 | 1 | 1 |
6 | 1 | 1 | 0 | 0 |
7 | 1 | 1 | 1 | 1 |
Таблица истинности получена.
Получение СКНФ.
Получение СКНФ по ТИ описано в примере 2.1.
Результатом будет:
![f(x,y,z)_{СКНФ} = \Pi (3,4,6) = (x \vee \overline{y} \vee \overline{z} ) \And (\overline{x} \vee y \vee z ) \And (\overline{x} \vee \overline{y} \vee z)](/sites/default/files/tex_cache/02a8e9c67bc16cce269178949498149a.png)