#boolean-logic #karnaugh-map
#логическая логика #карно-карта
Вопрос:
Я работаю над упрощением выражения f = x'yz xy'z xyz' xyz
. На самом деле, это может быть не это выражение. Вопрос в том, чтобы упростить логическое выражение для системы голосования, система следующая: три человека голосуют за нескольких кандидатов, и два или более человека должны согласиться (true) с кандидатом, чтобы пройти. Итак, я думаю, что ответ был бы xy yz xz
, но я не могу понять процесс между. Кто-нибудь может объяснить?
Комментарии:
1. Диаграмма — это ответ или вопрос? Где ты застрял?
2. tl; dr: я не могу понять, почему x’yz xy’z xyz’ xyz = xy yz xz (редактировать: английский не мой родной язык, поэтому извините, если было трудно понять, что я имел в виду)
Ответ №1:
Исходя из закона идемпотентности / тождества, мы имеем x x = x
, и так xyz xyz = xyz
. Применяя этот принцип, мы можем переписать ваше выражение как:
f = x'yz xy'z xyz' xyz
=> f = x'yz xy'z xyz' xyz xyz xyz --OR with xyz twice without affecting the value
=> f = x'yz xyz xy'z xyz xyz' xyz --Rearrange
=> f = yz (x x') xz (y y') xy(z' z) --Group
=> f = yz xz xy --Since x x' = 1
Тем не менее, как ясно показывает диаграмма, вы можете просто взять и объединить каждую пару входных данных и / или их вместе, чтобы получить тот же результат. Делая это, вы гарантируете, что:
- Если любые 2 из 3 входных данных верны, ваш общий результат верен
- Когда все 3 истинны, результат по-прежнему истинен
Преимущество выражения этого таким образом заключается в том, что вы можете просто сосредоточиться на каждой паре входных данных одновременно, не беспокоясь о влиянии третьего.
Комментарии:
1. вау, я не думал о том, чтобы подойти к этому таким образом! все результаты, которые я нашел в Интернете, включали изменение чего-либо в выражение xor / xnor, и я был действительно сбит с толку. спасибо, это намного проще для понимания!
Ответ №2:
Простой способ без участия логических рассуждений
Напишите таблицу истинности. Для трех входных данных имеется 2 ^ 3 = 8 строк.
Четыре строки соответствуют заданным терминам в вашем выражении суммы произведений.
Введите восемь значений вашего выражения в карту Карно:
Сгруппируйте смежные 1-термины в блоки, как показано. Пара ячеек может быть объединена в блок большего размера, если они отличаются только одним входом. Таким образом, блоки удваивают количество ячеек и уменьшают количество входных данных на единицу на каждом шаге слияния.
Каждый из результирующих блоков соответствует одному импликантному члену в свернутом выражении.
Рисование карты и поиск блоков могут быть выполнены автоматически с помощью удобного онлайн-инструмента Марбургского университета.