ジェガルキン多項式

ジェガルキン多項式ロシア語полиномы Жегалкина )代数正規形とも呼ばれ、ブール代数における関数の表現法である。 1927年にロシアの数学者イヴァンイヴァノビッチジェガルキンによって導入された[2]。これ2を法とする整数上の多項式環である。モジュラー演算の結果生じる退化により、ジェガルキン多項式は通常の多項式よりも単純となり、係数も指数も不要になる。係数は冗長である。なぜなら、1は唯一の非ゼロ係数である。指数は、2を法とする演算ではx 2 = xであるためである。したがって、 3 x 2 y 5 zなどの多項式はxyzと合同なので、次のように書き直すことができます

ブール値の同等物

1927 年より前、ブール代数は、論理積選言否定などの論理演算を伴う論理値の計算であると考えられていました。ジェガルキンは、すべてのブール演算が通常の数値多項式で表すことができ、値と真値を 0 と 1、つまり 2 を法とする整数で表せることを示しました。論理積はxyと表され、排他的論理和は2 を法とする算術加算 (包括論理和 ∨ の同義語として + がよく使用されるため、ここではxyと表記) と表記されます。したがって、論理補集合 ¬ xx ⊕1 です。∧ と ¬ はブール代数の基礎となるため、他のすべての論理演算はこれらの基本演算の合成となり、通常の代数の多項式ですべてのブール演算を表せるため、初等代数を使用してブール推論を実行できます

たとえば、ブール値の 2-out-of-3 しきい値または中央値演算は、Zhegalkin 多項式xyyzzxと記述されます。

形式的特性

正式には、ジェガルキン単項式は有限個の異なる変数の積(したがって平方フリー)であり、積が 1 で示される空集合も含まれる。各単項式は各変数の有無によって完全に指定されるため、n個の変数を持つジェガルキン単項式は2 n通り存在する。ジェガルキン多項式は、空集合を 0 で示すジェガルキン単項式集合の和(排他的論理和)である。多項式における特定の単項式の存在または不在は、その単項式の係数がそれぞれ 1 または 0 であることに対応している。ジェガルキン単項式は線形独立であり、ガロア体GF (2)上の2 n次元ベクトル空間に張られる(注:乗算が全く異なるGF (2 n ) ではない)。この空間の 2 2 nベクトル、すなわち単位ベクトルとしてのそれらの単項式の線形結合は、ジェガルキン多項式を構成する。n変数に対するブール演算の数({0,1} に対するn項演算をすべて網羅)との正確な一致は、ブール基底としての Zhegalkin 多項式の完全性を直接的に数える議論を提供します。

このベクトル空間は、演算として補項(ビット論理否定)を欠いているため(同様に、定数としてトップ要素を欠いているため)、n個の生成子上の自由ブール代数とは等価ではない。これは、空間が補項に関して閉じていない、あるいはトップ要素(すべて1のベクトル)を要素として欠いているということではなく、この空間や同様に構築された空間の線型変換は、補項とトップ要素を保存する必要がないということである。これらを保存する線型変換はブール準同型に対応する。例えば、1変数のジェガルキン多項式のベクトル空間から変数のないベクトル空間への線型変換は4つあるが、そのうちブール準同型は2つだけである。

計算方法

Zhegalkin多項式の計算には、一般的にさまざまな既知の方法が使用されます。

  • 不定係数法を用いる
  • 標準的な選言正規形を構築することによって
  • 表を使うことで
  • パスカル法
  • 合計法
  • カルノー図の使用

不定係数法

不定係数法を用いて、関数のすべての組とその値からなる線形方程式を生成します。この線形方程式を解くことで、ジェガルキン多項式の係数が得られます。

ブール関数 が与えられたとき、それをゼガルキン多項式として表す。この関数は列ベクトルとして表すことができる。

このベクトルは、A、B、Cの全ての可能な論理積が取り得る値を表す8x8の論理行列を、未定係数のベクトルに左乗算した出力である。これらの可能な値は、以下の真理値表に示されている。

BC1CB紀元前交流ABABC
00010000000
00111000000
01010100000
01111110000
10010001000
10111001100
11010101010
11111111111

上記の真理値表の情報は、次の論理行列にエンコードできます。ここで、「S」は「Sierpiński」を表します。これは、Sierpiński 三角形の場合と同じです。また、下付き文字の 3 は、その大きさの指数を示します

数学的帰納法とブロック行列乗算によって、そのような「シェルピンスキー行列」はそれ自身の逆行列であることが証明できる[注 1]

すると、線形システムは次のようになり、これを解くことができます[説明が必要]また、対応する Zhegalkin 多項式はです

標準選言正規形を使用する

この手法を用いると、まず標準選言正規形(完全に展開された選言正規形)が計算される。次に、この式の否定を、変数と1のmod 2の和を用いた等価な式に置き換える。選言符号はmod 2の加算に変換され、括弧が開かれ、結果として得られるブール式は簡略化される。この簡略化により、Zhegalkin多項式が得られる。

表の使用

例題関数PのZhegalkin多項式を表法で計算する

をn変数の関数Pの真理値表の出力とし、のインデックスが最小項の2進インデックスに対応するものとします。[nb 2] 関数ζを再帰的に定義します。ここで、は2を法として約分された二係数あること注意ください

、負のリテラルが削除される(または 1 に置き換えられる)ことを除いて、 i 番目の単項式のリテラルが i番目最小項のリテラルと同じであるZhegalkin 多項式のi番目の係数 です。

ζ変換はそれ自身の逆変換なので、係数が与えられた場合、同じ種類の表を使って係数を計算することができます

図の表に当てはめると、真理値表の出力(Pとラベル付けされた列)を三角表の左端の列にコピーします。次に、垂直方向に隣接するセルの各ペアにXORを適用することで、左から右へと列を順に計算し、各ペアの最上位セルのすぐ右のセルを埋めていきます。三角表全体が埋められると、最上行には線形結合の係数が示され、これを簡略化する(ゼロを削除する)と、Zhegalkin多項式が得られます。

ジェガルキン多項式から真理値表を作成するには、三角表の最上行をジェガルキン多項式の係数で埋めることができます(多項式に含まれない正のリテラルの組み合わせにはゼロを代入します)。次に、水平方向に隣接するセルの各ペアにXORを適用し、各ペアの左端のセルのすぐ下までセルを埋めるように、上から下に向かって行を順に計算します。三角表全体が埋められたら、その左端の列を真理値表のP列にコピーできます。

余談ですが、この計算方法は、ルール102と呼ばれる基本的なセルオートマトンの動作方法に対応しています。例えば、ブール式10101001の真理値表の出力(または標準選言正規形の係数)を持つ8つのセルを持つセルオートマトンを開始します。次に、左端のセルの状態を記録しながら、セルオートマトンをさらに7世代実行します。このセルの履歴は11000010となり、これは対応するジェガルキン多項式の係数を示しています。[3] [4]

パスカル法

パスカル法を用いてブール関数のジェガルキン多項式を計算します。下部のロシア語の行には、「ビット演算「排他的論理和」」と書かれています。

計算量と Zhegalkin 多項式を手動で構築する手段の点で最も経済的なのは、パスカル法です。

列と行からなる表を作成します。ここで、Nは関数の変数の数です。表の一番上の行には、関数値のベクトル、つまり真理値表の最後の列を配置します。

結果の表の各行は、ブロック(図の黒い線)に分割されます。1行目ではブロックは1つのセルを占有し、2行目では2つ、3行目では4つ、4行目では8つ、というように、セルを占有します。各行のブロック(ここでは「下ブロック」と呼びます)は、常に前の行の2つのブロックに対応します。これらを「左上ブロック」と「右上ブロック」と呼びます。

構築は2行目から始まります。左上のブロックの内容は、そのまま下のブロックの対応するセルに転送されます(図の緑の矢印)。次に、右上と左上のブロックに対して「2を法とする加算」という演算をビット単位で実行し、その結果を下のブロックの右側の対応するセルに転送します(図の赤い矢印)。この演算は、上から下まですべての行と、各行のすべてのブロックに対して実行されます。構築が完了すると、最下行には、前述の三角形法と同じ順序で書かれた、ゼガルキン多項式の係数である数値の列が含まれます。

合計法

変数の数が異なる関数の Zhegalkin 多項式の係数のグラフ表現。

真理値表によれば、ジェガルキン多項式の個々の係数は簡単に計算できます。そのためには、真理値表の行のうち、接続詞に含まれない変数(計算対象の係数に対応する変数)がゼロ値を取る行の関数の値を、2を法として合計します。

例えば、3変数関数のxz連立方程式の係数を求める必要があるとします。この連立方程式には変数yは存在しません。変数yが0となる入力集合を求めます。これらは0、1、4、5(000、001、100、101)です。すると、連立方程式xzの係数は

定数項を持つ変数はないので、

すべての変数を含む項の場合、合計には関数のすべての値が含まれます。

ジェガルキン多項式の係数を、関数の特定の点における値の2を法とする和としてグラフィカルに表してみましょう。そのために、正方形の表を作成します。各列は関数の特定の点における値を表し、行はジェガルキン多項式の係数を表します。ある列と行の交点は、この点における関数の値が、多項式の与えられた係数の和に含まれることを意味します(図を参照)。この表を と呼びます。ここで、Nは関数の変数の数です。

N変数の関数の表を、変数の関数の表から作成できるパターンがあります。新しい表は2×2の表の行列として配置され、行列の右上のブロックはクリアされます。

格子理論的解釈

表の列が、サイズ のブール格子の要素に対応するとします。各列について、Mを2進数 で表すと、 が成り立ちます。ただし、 はビットごとの論理和を表します。

表の行に上から下に 0 から までの番号が付けられている場合、行番号Rの表の内容は、格子の要素によって生成されたイデアルです。

ちなみに、表全体のパターンは、論理行列シェルピンスキー三角形のパターンであることに注意してください。また、このパターンはルール60と呼ばれる基本的なセルオートマトンに対応しており、左端のセルを1に設定し、他のすべてのセルをクリアすることから始まります。

カルノー図の使用

カルノー図をジェガルキン多項式に変換する。

この図は、カルノー図として表された 3 つの変数P ( ABC )の関数を示しています。これは、このような図をジェガルキン多項式に変換する方法の例として考えることができます。一般的な手順は、次の手順で示されます。

  • カルノー図のすべてのセルを、コード内のユニット数の昇順で考えます。3変数関数の場合、セルの順序は000–100–010–001–110–101–011–111となります。カルノー図の各セルは、コード内の1の位置に応じて、ジェガルキン多項式の各要素に関連付けられます。例えば、セル111は要素ABC、セル101は要素AC、セル010は要素B、セル000は要素1に対応します。
  • 問題のセルが 0 の場合、次のセルに進みます。
  • 問題のセルが1の場合、対応する項をジェガルキン多項式に追加し、カルノー図においてこの項が1であるセル(または単項式のブール格子においてこの項によって生成されるイデアルに属するセル)をすべて反転し、次のセルに進みます。例えば、セル110を調べているときに1が現れた場合、項ABがジェガルキン多項式に追加され、カルノー図のすべてのセルが反転されます。この場合、A = 1、B = 1となります。ユニットがセル000にある場合、項1がジェガルキン多項式に追加され、カルノー図全体が反転されます。
  • 次の反転後にカルノー図のすべてのセルがゼロ、つまり don't care 状態になったときに、変換プロセスは完了したとみなされます。

メビウス変換

メビウスの逆関数公式は、ブール最小項和式とジェガルキン多項式の係数を関連付けます。これはメビウスの逆関数公式の半順序版であり、数論的な公式ではありません。半順序版のメビウスの逆関数公式は[5]です。 ここで、| x |は0からのxハミング距離です。ジェガルキン代数では、メビウス関数は定数1に縮退するためです。

与えられた数xの約数の集合は、その数によって生成される位数イデアルでもある。和は2を法とするため、この式は次のように言い換えられる。

例として、3変数の場合を考えてみましょう。次の表は割り切れる関係を示しています。

×xの約数
000000
001000, 001
010000, 010
011000、001、010、011
100000, 100
101000、001、100、101
110000、010、100、110
111000、001、010、011、100、101、110、111

それから

上記の連立方程式はfについて解くことができ、結果は上記の連立方程式全体でgf を交換することによって得られるとまとめることができます。

以下の表は、2 進数とそれに関連する Zhegalkin 単項式およびブール最小項を示しています。

ブール最小項ABCジェガルキン単項式
0001
001C
010B
011紀元前
100
101交流
110AB
111ABC

ジェガルキン単項式は割り切れる順序で自然に順序付けられますが、ブール最小項式はそれほど自然に順序付けられません。各単項式は3変数ベン図の8分の1を表します。単項式の順序はビット文字列に次のように変換されます。、ビットトリプレットのペアが与えられている場合、 となります

3変数ブール最小項の和とZhegalkin多項式の間の対応は次のようになります。

上記の連立方程式は、論理行列方程式として要約できます。

NJ Wildberger はこれをブール・メビウス変換と呼んでいます。

以下に、 gからfの方向への変換の「XORスプレッドシート」形式を示します。

1927年、ジェガルキンの論文と同じ年に、[2]アメリカの数学者エリック・テンプル・ベルがリチャード・デデキントのイデアル理論と一般モジュラー算術(2を法とする算術とは対照的)に基づいたブール代数の洗練された算術化を発表しました。 [6]ジェガルキン多項式のはるかに単純な算術的特徴に西側で初めて気づいたのは(当時ソ連と西側の数学者の交流は非常に限られていたため、独立して)1936年、[7]アメリカの数学者マーシャル・ストーンでした。ストーンは、有名なストーン双対定理を書いているときに、ブール代数の間のいわゆる緩い類似性が、実際には有限代数と無限代数の両方に成り立つ正確な同値として定式化できることに気づき、その後数年間にわたって論文を大幅に再構成することになりました。

参照

注記

  1. ^ 基本ケースとして、ここで はサイズ の単位行列を表すものとする。帰納的仮定は である。そして、帰納的ステップは以下の通りである。ここで はクロネッカー積を表す。あるいはクロネッカー積を用いて次のように表す。QED
  2. ^ 最小項は、ジェガルキン単項式のブール版ですn変数コンテキストでは、ジェガルキン単項式とブール最小項も存在します。 n変数コンテキストの最小項は、 n個のリテラルの AND 積で構成されます。各リテラルは、コンテキスト内の変数、またはそのような変数の NOT 否定のいずれかです。さらに、コンテキスト内の各変数に対して、各最小項には対応するリテラル(その変数の表明または否定のいずれか)が 1 回だけ出現する必要があります。n変数のブール関数の真理値表は正確に 行あり、各行の入力は、そのブール関数の独立変数の集合をコンテキストとする最小項に自然に対応します。 (各 0 入力は否定変数に対応し、各 1 入力は肯定変数に対応します。)    任意のブール式は、AND を OR に関して、NOT を AND または OR に関して (ド・モルガン恒等式を通じて) 繰り返し分配し、二重否定を打ち消す (否定正規形 を参照) ことによって、最小項の和の形式に変換できます。次に、積の和が得られたら、欠落したリテラルを含む積と、欠落したリテラルを含む排中律のインスタンスを乗算します最後に、AND を再び OR に関して分配します。特定のコンテキストでは、Zhegalkin 単項式とブール最小項の間に形式的な対応があることに注意してください。ただし    、この対応は論理的に同値ではありません。たとえば、コンテキスト { ABC } では、Zhegalkin 単項式ABとブール最小項の間に形式的な対応がありますが、それらは論理的に同値ではありません。 (この例の詳細については、「メビウス変換」セクションの 2 番目の表を参照してください。ブール最小項のセットと Zhegalkin 単項式のセットの両方をインデックスするために、同じビット文字列のセットが使用されます。)

参考文献

  1. ^ Steinbach, Bernd [ドイツ語] ; Posthoff, Christian (2009). 「序文」. ドイツのフライベルクで執筆.論理関数と方程式 - 例題と演習(第1版). ドルドレヒト, オランダ: Springer Science + Business Media BV p. xv. ISBN 978-1-4020-9594-8LCCN  2008941076。
  2. ^ ab Жега́лкин [Zhegalkin]、Ива́н Ива́нович [Ivan Ivanovich] (1927). 「O Tekhnyke Vychyslenyi Predlozhenyi v Symbolytscheskoi Logykye」 О технике вычислений предложений в символической логике [記号論理学における命題の計算手法について (Sur le calcul象徴的な論理の命題)]。Matematicheskii Sbornik (ロシア語とフランス語)。34 (1)。モスクワ、ロシア: 9–28.Mi msb7433  。 2017年10月12日時点のオリジナルよりアーカイブ2017年10月12日閲覧。
  3. ^ シュプルン [Супрун]、ヴァレリー P. [Валерий Павлович] (1987)。 「タブリチヌイ法多項式ノゴ・ラズロジェニヤ・ブレヴィフ・ファンクツィー」Табличный метод полиномиального разложения булевых функций[ブール関数の多項式分解の表形式法].キベルネティカ [Кибернетика] (サイバネティクス) (ロシア語) (1): 116– 117.
  4. ^ スープラン [Супрун]、ヴァレリー P. [Валерий Павлович] (2017). 「オスノヴィ・テオリイ・ブレヴィフ・ファンクツィー」Основы теории булевых функций[ブール関数理論の基礎]。М.: レナンド [Ленанд] / URSS (ロシア語): 208.
  5. ^ “Möbius inversion”. Encyclopedia of Mathematics . 2021年2月17日 [2011年2月7日]. オリジナルより2020年7月16日時点のアーカイブ。 2021年3月27日閲覧
  6. ^ ベル、エリック・テンプル(1927). 「論理の算術」.アメリカ数学会誌. 29 (3): 597– 611. doi : 10.2307/1989098 . JSTOR  1989098.
  7. ^ ストーン、マーシャル(1936). 「ブール代数の表現理論」.アメリカ数学会誌. 40 (1): 37–111 . doi :10.2307/1989664. ISSN  0002-9947. JSTOR  1989664.

さらに読む

  • ギンディキン [Гиндикин]、ザーメン グリゴレヴィッチ [Семен Г.] (1972)。代数論理 алгебра логики в задачах [代数論理] (ロシア語) (第 1 版)。モスクワ、ロシア: Наука [ナウカ]ISBN 0-387-96179-8(288ページ)(注:翻訳:Springer-Verlag、1985年[1])
  • Perkowski, Marek A.; Grygiel, Stanislaw (1995-11-20). 「6. 分解研究の歴史的概観」. 関数分解に関する文献調査. バージョンIV. 関数分解グループ, 電気工学科, ポートランド大学, オレゴン州ポートランド, 米国. pp.  21– 22. CiteSeerX  10.1.1.64.1129 .(188ページ)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Zhegalkin_polynomial&oldid=1285102712"