1

Учитывая следующее булево выражение F (A, B, C): F (A, B, C) = A '+ B + C' Какое из следующих утверждений/правда об этом выражении?сумма minterm vs продукта maxterm

(я) Это выражение СОП (II) Это выражение POS (III) Это является суммой-из-минтермов выражение (IV) она является продуктом экспрессии-of-maxterms

Модельный ответ на этот вопрос: i), ii) и iv)

Мой вопрос - почему это iii) не один из ответов? я нарисовал K-карту и выяснил, что ее можно вывести такое выражение суммы монет.

ответ

2

Кластер литералов в булевом выражении формирует только minterm или maxterm, если есть все литералы (переменные данная функция или их отрицание).

Минитерм является произведением всех литералов функции, maxterm является суммой всех литералов функции.

В K-карте minterm или maxterm выделяет только одну ячейку. В таблице истинности maxterm или minterm соответствует только одной строке.

Следующая истина-таблица соответствует данной функции:

index | a | b | c || f(a,b,c) | term matching the row/K-map cell 
-------|---|---|---||----------|---------------------------------- 
    0 | 0 | 0 | 0 ||  1 | minterm: m0 = (¬a⋅¬b⋅¬c) 
    1 | 0 | 0 | 1 ||  1 | minterm: m1 = (¬a⋅¬b⋅c) 
    2 | 0 | 1 | 0 ||  1 | minterm: m2 = (¬a⋅b⋅¬c) 
    3 | 0 | 1 | 1 ||  1 | minterm: m3 = (¬a⋅b⋅c) 
-------|---|---|---||----------|---------------------------------- 
    4 | 1 | 0 | 0 ||  1 | minterm: m4 = (a⋅¬b⋅¬c) 
    5 | 1 | 0 | 1 ||  0 | MAXTERM: M5 = (¬a + b + ¬c) 
    6 | 1 | 1 | 0 ||  1 | minterm: m6 = (a⋅b⋅¬c) 
    7 | 1 | 1 | 1 ||  1 | minterm: m7 = (a⋅b⋅c) 

Существует только один maxterm присутствует в таблице истинности (и ваш K-карта), и единственного maxterm определяющего выхода функции как логические 0 . Это действительное выражение product-of-maxterms, даже если оно есть только одно. Это также то же логическое выражение, что и исходное, так что это также действительное выражение product-of-maxterms.

Однако это не действительная сумма минтермов, потому что нет ни:

f(a,b,c) = ∏(5) = M5 = (¬a + b + ¬c) 

Для исходное выражение будет также сумма минтермов, то ему необходимо будет выделить каждый истина/одна ячейка в вашем K-карте отдельно, как это:

f(a,b,c) = ∑(0,1,2,3,4,6,7) = m0 + m1 + m2 + m3 + m4 + m6 + m7 = 
     = (¬a⋅¬b⋅¬c)+(¬a⋅¬b⋅c)+(¬a⋅b⋅¬c)+(¬a⋅b⋅c)+(a⋅¬b⋅¬c)+(a⋅b⋅¬c)+(a⋅b⋅c) 

Как вы можете видеть, даже если эти два булевых выражения эквивалентны друг другу, исходный (в левой части уравнения) не записывается как выражение суммы-minterms (в правой части уравнения).

(¬a+b+¬c) = (¬a⋅¬b⋅¬c)+(¬a⋅¬b⋅c)+(¬a⋅b⋅¬c)+(¬a⋅b⋅c)+(a⋅¬b⋅¬c)+(a⋅b⋅¬c)+(a⋅b⋅c) 

Просто любой продукт не minterm, поэтому исходное выражение может быть в форме как произведение суммы и суммы произведений, но не действительная сумма, из-минтермов ,

f(a,b,c) = (¬a + b + ¬c) = (¬a) + (b) + (¬c) 

На картинке (созданный с использованием латекса) вы можете видеть выражение - это то же самое в это минимальная ДНФ и КНФ минимальный - и сумма минтермов эквивалентная ей.

K-maps with equivalent expressions.

+0

Хммм, но с вашей первой диаграммы, вы сделали 3 группы из четырех из них, которые в основном соответствуют A '+ B + C'. Как таковая эта группа не делает это выражение допустимой суммой minterms? – weejing

+0

Первая диаграмма действительно соответствует выражению A '+ B + C'. Это оригинальное выражение упрощено до минимального DNF. Это * сумма *, но не действительная сумма ** minterms **, потому что A 'не является minterm, B не является minterm, а C' также не является minterm. Ни один из них не является произведением ** всех литералов ** данной функции. Например, minterm (a⋅b⋅c), который отмечает ** только одну ячейку ** и соответствует ** только одной строке ** в соответствующей таблице истинности. Выражение (A '+ B + C') является допустимым maxterm, обозначающим нуль, а также действительным выражением product-of-maxterms. – BBerry

+1

О! Думаю, я понял. Я, должно быть, перепутал сумму minterms с упрощенной суммой продуктов. Большое спасибо за помощь! – weejing