logo

正規形式間の変換

前のセクションでは、SOP (積の合計) と POS (積の積) 式について学び、さまざまなブール関数の POS と SOP 形式を計算しました。このセクションでは、POS フォームを SOP フォームで表現する方法と、SOP フォームを POS フォームで表現する方法について学びます。

正規表現を変換するには、記号∏、∑を変更する必要があります。これらの記号は、方程式のインデックス番号を列挙するときに変更されます。方程式の元の形式からは、これらのインデックス番号は除外されます。ブール関数の SOP 形式と POS 形式は互いに双対です。

方程式の標準形式を簡単に変換できる次の手順があります。

リストするJava配列
  1. ∑、∏など、式で使用されている演算記号を変更します。
  2. Duality の De-Morgan の原理を使用して、指定された形式の方程式で表されない項のインデックス、またはブール関数のインデックス番号を書き込みます。

POSからSOPフォームへの変換

POS フォームから SOP フォームを取得するには、記号 ∏ を ∑ に変更する必要があります。その後、指定されたブール関数の欠落している変数の数値インデックスを書き込みます。

POS 関数 F = Π x, y, z (2, 3, 5) = x y' z' + x y' z + x y z' を SOP 形式に変換するには、次の手順があります。

  1. 最初のステップでは、演算符号を Σ に変更します。
  2. 次に、用語 000、110、001、100、111 の欠落しているインデックスを見つけます。
  3. 最後に、注目した項の積の形を書きます。

000 = x' * y' * z'

001 = x' * y' * z

100 = x * y' * z'

110 = x * y * z'

111 = x * y * z

したがって、SOP フォームは次のようになります。

F = Σ x、y、z (0、1、4、6、7) = (x' * y' * z') + (x' * y' * z) + (x * y' * z') + (x * y * z') + (x * y * z)

SOPフォームからPOSフォームへの変換

指定された SOP フォーム式の POS フォームを取得するには、記号 ∏ を ∑ に変更します。その後、ブール関数に不足している変数の数値インデックスを書き込みます。

SOP 関数 F = ∑ x, y, z (0, 2, 3, 5, 7) = x' y' z' + z y' z' + x y' z + xyz' + を変換するには次の手順を使用します。 xyz を POS に変換します。

文字列値
  • 最初のステップでは、演算記号を ∏ に変更します。
  • 用語 001、110、および 100 の欠落しているインデックスが見つかります。
  • 注目した項の合計形式を書きます。

001 = (x + y + z)

100 = (x + y' + z')

110 = (x + y' + z')

したがって、POS フォームは次のようになります。

F = Π x, y, z (1, 4, 6) = (x + y + z) * (x + y' + z') * (x + y' + z')

SOP フォームから標準 SOP フォームまたは Canonical SOP フォームへの変換

指定された非標準 SOP 形式の標準 SOP 形式を取得するには、すべての変数を持たない各積項のすべての変数を追加します。ブール代数法則 (x + x' = 0) を使用し、以下の手順に従うことで、通常の SOP 関数を標準 SOP 形式に簡単に変換できます。

  • 各非標準積項に、その欠損変数とその補数の合計を乗算します。
  • 結果として得られるすべての積項にすべての変数が含まれるまで、ステップ 1 を繰り返します。
  • 関数内の欠損変数ごとに、積項の数は 2 倍になります。

例:

非標準 SOP 関数 F = AB + A C + B C を変換します。

太陽:

F = A B + A C + B C
= A B (C + C') + A (B + B') C + (A + A') B C
= A B C + A B C' + A B C + A B' C + A B C + A' B C
= A B C + A B C' + A B' C + A' B C

したがって、非標準形式の標準 SOP 形式は次のようになります。 F = A B C + A B C' + A B' C + A' B C

POS フォームから標準 POS フォームまたは Canonical POS フォームへの変換

指定された非標準 POS フォームの標準 POS フォームを取得するには、すべての変数を持たない各製品用語のすべての変数を追加します。ブール代数法則 (x * x' = 0) を使用し、以下の手順に従うことで、通常の POS 関数を標準の POS 形式に簡単に変換できます。

  • 非標準の各和項をその欠損変数とその補数の積に加算することにより、2 つの和項が得られます。
  • ブール代数法則を適用すると、x + y z = (x + y) * (x + z)
  • 結果として得られるすべての合計項にすべての変数が含まれるまで、ステップ 1 を繰り返します。

これら 3 つの手順により、POS 機能を標準の POS 機能に変換できます。

例:

F = (p' + q + r) * (q' + r + s') * (p + q' + r' + s)

1. 項 (p' + q + r)

見てわかるように、この用語には変数 s または s' がありません。そこで、この項では s*s' = 1 を追加します。

挿入ソートアルゴリズム
(p' + q + r + s*s') = (p' + q + r + s) * (p' + q + r + s')

2. 項 (q' + r + s')

同様に、すべての変数を含む項を取得するために、この項に p*p' = 1 を追加します。

(q' + r + s' + p*p') = (p + q' + r + s') * (p' + q' + r + s')

3. 項 (q' + r + s')

すべての変数がこの用語に含まれているため、何も追加する必要はありません。

したがって、関数の標準 POS 形式の方程式は次のようになります。

F = (p' + q + r + s)* (p' + q + r + s')* (p + q' + r + s')* (p' + q' + r + s') * (p + q' + r' + s)