
【計】 Quine-McCluskey method
because of; cause; follow; on the basis of
wheat
carat; karat
【化】 carat
【醫】 carat
this
【化】 geepound
base; basic; foundation; key; primary; radix
【化】 group; radical
【醫】 base; basement; group; radical
dharma; divisor; follow; law; standard
【醫】 method
【經】 law
奎因—麥克拉斯基法(Quine-McCluskey Method),在數字邏輯設計和計算機科學領域,是一種用于簡化布爾函數的系統化算法。它通過尋找布爾函數最小項(minterms)的所有質蘊涵項(Prime Implicants),并從中選擇最簡覆蓋集合,最終得到該函數的最簡與或表達式(Sum of Products, SOP)或或與表達式(Product of Sums, POS)。其核心目标是實現邏輯門電路的優化,減少硬件成本。
問題定義
給定一個包含 n
個變量的布爾函數,其真值表或最小項列表已知,目标是找到包含最少邏輯門和輸入的最簡表達式。
算法流程
将函數的最小項按二進制表示中 “1” 的數量分組(如 000, 001, 010, 100 為第一組;011, 101, 110 為第二組等)。
比較相鄰組的最小項,若僅有一位不同(如 000 與 001),則合并為蘊涵項(如 00-),标記已合并項。重複此過程直至無法合并。
未被合并的項即為質蘊涵項(Prime Implicants),它們是覆蓋最小項的必要項。
創建質蘊涵項與最小項的二維表,标記覆蓋關系。
通過行支配、列支配或 Petrick 方法,選取覆蓋所有最小項的最少質蘊涵項集合。
中文術語 | 英文術語 | 定義 |
---|---|---|
最小項 | Minterm | 所有變量以原變量或反變量形式出現一次的乘積項,對應真值表一行輸出為1。 |
質蘊涵項 | Prime Implicant | 不能被其他蘊涵項覆蓋的蘊涵項,是構成最簡表達式的必要項。 |
本質質蘊涵項 | Essential Prime Implicant | 覆蓋某些最小項的唯一質蘊涵項,必須包含在最簡解中。 |
布爾函數簡化 | Boolean Function Minimization | 通過代數或算法減少邏輯表達式中的項和變量。 |
pyeda
庫中的 espresso
函數(基于QM改進算法)注:因算法屬基礎理論,最新研究多集中于其并行化或與機器學習結合的優化變體,但核心原理仍以上述文獻為基石。
奎因—麥克拉斯基法(Quine-McCluskey Algorithm)是一種用于布爾函數最小化的經典算法,由邏輯學家威拉德·範·奧曼·奎因(Willard Van Orman Quine)提出,後由愛德華·麥克拉斯基(Edward McCluskey)改進。其核心目标是将複雜的布爾表達式化簡為最簡的“與-或”形式,減少邏輯門的使用,從而優化數字電路設計。
生成所有質蘊涵項(Prime Implicants)
選擇最小覆蓋(Minimum Cover)
奎因—麥克拉斯基法通過系統化的表格操作,解決了多變量布爾函數化簡的難題,兼具理論嚴謹性和工程實用性。其算法思想還被拓展至新興的量子計算領域,展現了跨技術的適應能力。
【别人正在浏覽】