Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions クワイン・マクラスキー法 - Wikipedia

クワイン・マクラスキー法

出典: フリー百科事典『ウィキペディア(Wikipedia)』

クワイン・マクラスキー法(—ほう; Quine-McCluskey algorithm)はブール関数を簡単化するための方法である。カルノー図と同様の目的で使われるが、コンピュータによる自動化に適しており、またブール関数が最簡形かどうか決定的に求めることができる。W・V・クワインが提案し、E・J・マクラスキーが発展させた方法なのでこの名がある。

クワイン・マクラスキー法は3段階からなる。

  1. 関数の主項をすべて求める
  2. 求めた主項を表にまとめ、必須項を求める
  3. 最簡形を求める

目次

[編集]

[編集] 主項を求める

以下の真理値表で表されるブール関数を簡単化する。

f
  A B C D f
m0 0 0 0 0 0
m1 0 0 0 1 0
m2 0 0 1 0 0
m3 0 0 1 1 0
m4 0 1 1 0 0
m5 0 1 1 1 0
m6 0 1 0 0 1
m7 0 1 0 1 0
m8 1 1 0 0 1
m9 1 1 0 1 0
m10 1 1 1 0 X
m11 1 1 1 1 1
m12 1 0 1 0 1
m13 1 0 1 1 1
m14 1 0 0 0 1
m15 1 0 0 1 X

X は Don't care を表す。

この関数の加法標準形は、最小項の和をとって(Don't care は無視する)

f = \overline{A} B \overline{C} \overline{D} + A B \overline{C} \overline{D} + A B C D + A \overline{B} C \overline{D} + A \overline{B} C D + A \overline{B} \overline{C} \overline{D} + A \overline{B} \overline{C} D

となる。

もちろんこれはまだ最簡形ではない。まず、すべての1となる最小項をビット列中の1の数(ハミング重み)ごとに表に列挙する。また Don't care の項も加える。

1の数 最小項 ビット列表現
1 m6 0100
m14 1000
2 m8 1100
m12 1010
m15 1001
3 m10 1110
m13 1011
4 m11 1111

これで最初の準備が整った。1ビットのみが異なっている(ハミング距離が1となる)最小項の組を見つけて、その2つをまとめる。これをすべての最小項の組み合わせについて確かめる。こうしてできた項を再び1の数ごとにまとめ、同じ操作を再帰的に適用する。それ以上まとめることができない項にはしるし(*)をつける。この印を付けた項が主項となる。

1の数 最小項 ビット列表現
1 m6 0100
m14 1000
2 m8 1100
m12 1010
m15 1001
3 m10 1110
m13 1011
4 m11 1111
1回目の比較
1 m6,8 -100 *
m8,14 1-00
m12,14 10-0
m14,15 100-
2 m8,10 11-0
m10,12 1-10
m12,13 101-
m13,15 10-1
3 m10,11 111-
m11,13 1-11
2回目の比較
m8,10,12,14 1--0 *
m12,13,14,15 10-- *
m10,11,12,13 1-1- *

[編集] 必須項を求める

主項のなかから必須項をみつける。横軸に最小項(Don't care でないもの)、縦軸に求めた主項を書いた表を作る。主項がカバーする最小項の欄にしるし(X)を書く。ある最小項をカバーする主項が1つしかないとき、その主項を必須項という。

  6 8 11 12 13 14
m6,8 * X X -100
m8,10,12,14 X X X 1--0
m12,13,14,15 X X X 10--
m10,11,12,13 * X X X 1-1-

例では2つ必須項が求まった。表中でしるし(*)をつけてある。必須項はその名のとおり、簡単化した関数に必ず含まれていなければならない項である。

[編集] 最簡形を求める

式を短くするために主項に番号を振りなおす。m6,8 = e1 , m8,10,12,14 = e2 , m12,13,14,15 = e3 , m10,11,12,13 = e4 とおく。

簡単化した後の関数fはすべての最小項をカバーしていなければならない。最小項m8が含まれる条件はブール代数式で (e1 + e2) となる。fがすべての最小項を含むためには、

e1(e1 + e2)e4(e2 + e3 + e4)(e3 + e4)(e2 + e3)

を満たす必要がある。これを展開すると

e1e2e3e4 + e1e2e4 + e1e3e4

となる。最も簡単なのは e1e2e4 または e1e3e4 である。よって最簡形は

f = e_1 + e_2 + e_4 = B \overline{C} \overline{D} + A \overline{D} + A C

または

f = e_1 + e_3 + e_4 = B \overline{C} \overline{D} + A \overline{B} + A C

である。

[編集] 計算量

4変数以上のブール関数を扱う際にはカルノー図よりも実用的であるが、クワイン・マクラスキー法が使える範囲にも限りがある。充足可能性問題というNP困難な問題を対象としているため、実行時間が入力長の指数関数的に増加してしまうのである。n変数関数における主項の数の上限は3nとなる。n = 32とおくと、主項の数は6.5 × 1015を超えることもある。変数の多い関数の簡単化においては最適解を保証しないヒューリスティックな方法が必要になる。

[編集] 関連項目

[編集] 参考文献

  • 田丸 啓吉 (1989年).論理回路の基礎(改訂版). 工学図書株式会社. ISBN 4-7692-0204-0.

[編集] 外部リンク

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu