LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

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

クワイン・マクラスキー法(—ほう; /略:QM法)はブール関数を簡単化するための方法である。カルノー図と同様の目的で使われるが、コンピュータによる自動化に適しており、またブール関数が最簡形かどうか決定的に求めることができる。W・V・クワインが提案し、E・J・マクラスキーが発展させた方法なのでこの名がある。クワイン・マクラスキー法は3段階からなる。以下の真理値表で表されるブール関数を簡単化する。X は Don't care を表す。この関数の選言標準形は、最小項の和をとって(Don't care は無視する)となる。もちろんこれはまだ最簡形ではない。まず、すべての1となる最小項をビット列中の1の数(ハミング重み)ごとに表に列挙する。また Don't care の項も加える。これで最初の準備が整った。1ビットのみが異なっている(ハミング距離が1となる)最小項の組を見つけて、その2つをまとめる。これをすべての最小項の組み合わせについて確かめる。こうしてできた項を再び1の数ごとにまとめ、同じ操作を再帰的に適用する。それ以上まとめることができない項にはしるし(*)をつける。この印を付けた項が主項となる。主項のなかから必須項をみつける。横軸に最小項(Don't care でないもの)、縦軸に求めた主項を書いた表を作る。主項がカバーする最小項の欄にしるし(X)を書く。ある最小項をカバーする主項が1つしかないとき、その主項を必須項という。例では2つ必須項が求まった。表中でしるし(*)をつけてある。必須項はその名のとおり、簡単化した関数に必ず含まれていなければならない項である。必須項だけでは全ての最小項をカバーできていないので、更なる作業が必要になる。最もシンプルな方法は、試行錯誤して最簡形を見つけることであるが、より系統的な方法として、ペトリック法()がある。このケースでは、次の最簡形を得る。4変数以上のブール関数を扱う際にはカルノー図よりも実用的であるが、クワイン・マクラスキー法が使える範囲にも限りがある。充足可能性問題というNP困難な問題を対象としているため、実行時間が入力長の指数関数的に増加してしまうのである。n変数関数における主項の数の上限は3となる。n = 32とおくと、主項の数は6.5 × 10を超えることもある。変数の多い関数の簡単化においては最適解を保証しないヒューリスティックな方法が必要になる。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。