您的原始表達式有12個變量引用和16個運算符。您的簡化包含8個變量引用和7個運算符。這裏是6所變量引用和6個運算符的表達式:
Z2 = x0x1x2 + X0' (X1 + X2)
我不知道這是否是在任何意義上最小的。
你問我怎麼找到這個表情。我沒有從你的簡化開始,我從你在評論中引用的真值表開始。我在這裏重現:
當我看着表尋找模式,我看到它看起來像一個視交叉或反對稱矩陣:如果我翻轉最後一列顛倒然後採取補所有項目的結果都是原始列。 (我不知道這種對稱性的適當術語,這些是我腦海中想到的術語。)我試圖將這種對稱性封裝在一個邏輯表達式中,但失敗了。
這使我看到了最後一列的上半部分和下半部分。上半部分大部分是下半部分,下半部分大部分是零。然後它讓我感到上半部分看起來像是二進制或運算的真值表,而下半部分看起來像是二進制AND運算。當然,上半部分用於x0',下半部分用於x0。把這些事實放在一起給了我我的表達。
我通過查看是否可以將原始表達式操縱到我的地方來確認表達式。我可以,做
z2 = x0'x1'x2 + x0'x1x2' + x0'x1x2 + x0x1x2
= x0'(x1'x2 + x1x2' + x1x2) + x0x1x2
= x0'(x1 + x2) + x0x1x2
= x0x1x2 + x0'(x1 + x2)
從第二到第三行的過渡,當然,等同於承認二進制或真值表,所以這不是我的實際發現的方法非常不同。
後一種方法可能更容易轉移到其他問題:從多個術語中排除一個共同因素。我的實際方法更有趣,但不易轉讓。我最喜歡的數學定義是「模式研究」,它解釋了爲什麼這個方法很有趣。
請說明您的意思是「簡化」。你是否希望儘可能少的操作或變量查找(將兩個相同的變量作爲兩個事件處理)還是別的?允許哪些操作? –
@RoryDaulton是的,我只是想知道是否有一些布爾代數的屬性,我錯過了減少表達式,減少它的操作。基本上,減少操作方面的版本,甚至計算相同的真值表:[鏈接](https://i.gyazo.com/782a67a0e5b7971ca8ef19dbb06349c3.png),希望我很清楚 –
你回答了我的第一個問題(你想要最少的操作次數),但不是我的第二次。允許哪些操作?對於一元,補(不)?對於二進制,AND,OR,NAND,NOR,XOR,暗示任一方向,其他?任何三元操作符? –