まず、図2.2に示される各ニューロンの出力は式(2.1)のようになる。
式中の はここではステップ関数であり、
u が正であれば出力は1に、逆に負であれば出力は0になる。
ここで u について見てみる。ここでのニューラルネットは2値出力のものを考えるため、
入力
は0か1かの値しかとらず、結合荷重
が全て正ならばuは必ず0以上の値をとる。
また、ある
が負であったとしても、
が0であるか、または
は1でもそれ以外で入力が1であるニューロンからの結合荷重の総和が正であり、その絶対値が
の絶対値を超えていれば、u は0以上の値をとる。
この u が0以上となるような入力
の組み合わせを最小項と呼ぶ。
入力 のすべての組み合わせについて、
それが最小項であるかどうかを調べていけば良いのであるが、単に論理関数をこれらの最小項の論理和で表現したのでは冗長な式になってしまう。
なぜなら、例えば3個の入力
,
,
から出力の論理関数の最小項を調べた際に、
と
という項が出てきた場合、これらは
という項一つに簡単化できるからである。
そこで、以下のような手順で論理関数を求めていく。
論理関数に含まれる論理積の項(主項と呼ぶ)の数が最小のとき、論理関数は最も簡単化されていることになる。
主項に含まれる入力( など)の数は少ないほど、多くの入力の組み合わせを包括する。
上記の例で、主項の一つが
であるとき、これは
が1であれば
,
は
0でも1でも良いという意味になる。すなわち
という主項一つで、
残り二つの入力の0、1の組み合わせ四つの最小項を示していることになる。
が主項であることが分かれば、
や
といった
を含む項は冗長なので調べる必要がない。
入力
,
,
,
があるとき、
ある入力の組み合わせ
...
...
(
〜
,
〜
は含まない)が主項である条件は
となる。 つまり、ある項が主項である条件は、その項に含まれる肯定入力のニューロンの結合荷重の和と、その項には含まれない入力のニューロンの結合荷重の中で、値が負であるものの和との合計が0以上であることである。 この式より、主項に含まれる変数が少ないほうから順に調べていけば、冗長のない出力の論理関数を求めることができる。
この手法を中間層、出力層の全てのニューロンに適用しそれぞれの論理関数が求まれば、それらの統合で、入力に対する出力の論理関数を求めることができる。 このように、学習済みのニューラルネットから結合荷重を取り出すことで、入出力間のルールを論理関数の形で抽出することができる。