Я нашел хорошее решение этой проблемы.
Куайн-МакКласки может обработать таблицу истинности, где некоторые термины помечены как "все равно" , что означает, что термин никогда не будет встречаться, поэтому свернутое выражение может возвращать true или false.
Например:
A B result
0 0 0
0 1 don't care
1 0 don't care
1 1 con't care
Хорошо видно, что приведенная выше функция может бытьсводится к минимуму, чтобы просто возвращать «ложь», так как это единственный результат, который нас волнует.
Итак, чтобы разобраться с известными терминами, все, что нужно сделать, это установить для результата значение осторожно " для любых терминов в таблице истинности, где известный термин оценивается как ложный.Затем алгоритм Куайна-МакКласки генерирует минимизированную функцию с учетом известных терминов.
Например, если у нас есть функция от A и B, и мы знаем, что A == false
, то любая строка на правде-таблицу, где A истинно, можно пометить как «все равно» , потому что мы знаем, что этого никогда не произойдет.