Mastodon Mastodon

論理式をベクトルで書こう【ベクトル論理】

ベクトル論理(vector logic)について勉強したことを書く。

en.wikipedia.org

私の理解では、ベクトル論理は論理式をベクトルもしくは行列で表現するものである。 なにが嬉しいかと言うと、おそらく論理的作用素(否定子や論理的結合子)の挙動を細かく制御出来ることだと思う。 これについては、後に詳しく述べる。

導入

ベクトル論理は well-defined であり、真偽値を正規直交ベクトルとして表現する。 本記事では便宜上、ベクトル論理として表わされたベクトルを返す論理式をベクトル論理式と呼ぶ。 古典的な二値論理であれば、真偽値を次のように定義できる。


t = \begin{pmatrix}1 \\ 0 \end{pmatrix} (真), n = \begin{pmatrix}0 \\ 1 \end{pmatrix} (偽)

否定演算子(NOT)は次の行列  N に対応する。 当然  Nt = n, Nn = t 、また  N^2 = E である。


N = \begin{pmatrix}0 & 1 \\ 1 & 0 \end{pmatrix}

論理積(AND)は、次の変換  \text{AND}(p, q) に対応する。


\text{AND}(p, q) = \begin{pmatrix}1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1\end{pmatrix} (p \otimes q)

排他的論理和(XOR)は、次の変換  \text{XOR}(p, q) に対応する。


\text{XOR}(p, q) = \begin{pmatrix}0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 1\end{pmatrix} (p \otimes q)

 \text{AND}(p, q),  \text{XOR}(p, q) の導出については、後の節に付記する。

分配法則でベクトル論理を実感してみる

ところでブール代数は、和演算を排他的論理和(XOR)、積演算を論理積(AND)としたときに環をなすことが知られており、これをブール環(Boolean ring)という。

en.wikipedia.org

つまり、 R = \langle \{ T, F \}, \text{XOR}, \text{AND} \rangle は環である。 R が環であるならば、それをベクトル上で表現した次のタプルもまた環であることが安易に予想できる。


\langle \left\{ \begin{pmatrix}1 \\ 0 \end{pmatrix}, \begin{pmatrix}0 \\ 1 \end{pmatrix} \right\}, \text{XOR}(p, q) = \begin{pmatrix}0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 1\end{pmatrix} (p \otimes q), \text{AND}(p, q) = \begin{pmatrix}1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1\end{pmatrix} (p \otimes q)

これが環であるならば、分配法則  p \oplus (q \land r) \iff (p \oplus q) \land (p \oplus r) が成り立つはずである。分配法則は環の定義に含まれているからである。

このことを、ベクトル論理を用いて確かめてみようと思う。

なお、排他的論理和ではなく通常の論理和を用いた分配法則  p \land (q \lor r) \iff (p \land q) \lor (p \land r) が妥当なのは、 \langle \{ T, F \}, \text{OR}, \text{AND} \rangle が分配法則をその定義に含む半環だからである。

 (p, q, r) = (t, f, t) の場合

 (p, q, r) = (t, f, t) の場合、 p \oplus (q \land r) \iff t かつ  (p \oplus q) \land (p \oplus r) \iff t である。 したがって、どちらのベクトル論理式も  t となればよい。



\begin{aligned}

p \oplus (q \land r)

& = \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix} \{ p \otimes ( \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix}
q \otimes r
) \} \\

& = \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix} \{ \begin{pmatrix}
1 \\
0
\end{pmatrix} \otimes ( \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
0 \\
0 \\
1 \\
0
\end{pmatrix} ) \} \\

& = \begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 1
\end{pmatrix} \{ \begin{pmatrix}
1 \\
0
\end{pmatrix} \otimes \begin{pmatrix}
1 \\
0
\end{pmatrix} \} \\

& = \begin{pmatrix}
1 & 1 & 0 & 0 \\
0 & 1 & 1 & 1
\end{pmatrix} \begin{pmatrix}
1 \\
0 \\
0 \\
0
\end{pmatrix} = \begin{pmatrix}
1 \\
0
\end{pmatrix}

\quad(= t)

\end{aligned}

\begin{aligned}

(p \oplus q) \land (p \oplus r)

& = \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix} \{ \(
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 1
\end{pmatrix} p \otimes q \) \otimes \( \begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 1
\end{pmatrix} p \otimes r \) \} \\

& = \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix} \{ \begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 1
\end{pmatrix} \begin{pmatrix}
0 \\
1 \\
0 \\
0
\end{pmatrix} \otimes \begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 1 & 1
\end{pmatrix} \begin{pmatrix}
1 \\
0 \\
0 \\
0
\end{pmatrix} \} \\

& = \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix} \{ \begin{pmatrix}
0 \\
1
\end{pmatrix} \otimes \begin{pmatrix}
1 \\
0
\end{pmatrix} \} \\

& = \begin{pmatrix}
0 & 1 & 1 & 0 \\
1 & 0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
0 \\
0 \\
1 \\
0
\end{pmatrix}

=
\begin{pmatrix}
1 \\
0
\end{pmatrix}
\end{aligned}

したがって、 (p, q, r) = (t, f, t) のとき  p \oplus (q \land r) \iff (p \oplus q) \land (p \oplus r) が成り立つことが分かった。 これは一般にも成り立ちそうである。

一般の場合

証明は省略するが(Mathpix で数式をスキャンするのに疲れた)、 P, Q, R \in \{0, 1 \} とすると


p \oplus (q \land r) = (p \oplus q) \land (p \oplus r) = \begin{pmatrix} P(Q+R-2QR) \\ 1 - P(Q+R-2QR) \end{pmatrix}

となり、一般に前述の分配法則が成立することが分かる。さらにこの  P(Q+R-2QR) という値は、通常の論理式の場合に対応している。 したがって、ベクトル論理はきちんと働く。

何がしたいか(減衰を組み入れたい)

パラドクスというものはたくさん存在している。砂山の逆説、フレーム問題や Bradley' regress、Grice の高階意図の無限背進性、などなど。 それらの逆説性は、実に古典論理の性質に起因すると言って差し支えない。古典論理は曖昧性を扱えないのだ。 曖昧性に対処するために、ファジィ論理といったものが開発されてきたという歴史もあるのだが、今回はもっと現在のニューラルネットワークに近い数学を用いて、これらのパラドクスの解決を考えてみよう。

以下のような論理式があると考える。命題  P に否定子が  n (n = 2k, k \in \mathbb{N}) 個付いたものだ。


\lnot \lnot \lnot \dots \lnot P

仮に  P の附値が真だとしよう。果たして、この論理式の「真」性は元の  P の真性と同じなのだろうか。

私にはそうは思われない。なぜならば、論理演算子の適用はコストを伴うからである。元の真理値の完全な「真」性は保存されえない。

ここで、新しい否定行列  N^\prime を導入しよう。  N^\primeは、否定行列  N に 0.9 というスカラーをかけたものである。


N^\prime = 0.9 N = \begin{pmatrix} 0 & 0.9 \\ 0.9 & 0 \end{pmatrix}

これを先の論理式に適用してみよう。すると


(0.9)^n \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix}
= \begin{pmatrix} (0.9)^n \\ 0 \end{pmatrix}

となり、「真」性が減衰することが分かる。( n = 50 とすると「真」性は 0.005 程度にまでなる。)

このようにベクトル論理は二値的な古典論理を行列に埋め込むことによって、フレームの開発などといったコストを払うことなく、論理式の表現力を高めることが出来るのだ。 先ほど述べた砂山の逆説やフレーム問題、Bradley' regress、Grice の高階意図の無限背進性も、ベクトル論理を用いることで解決することが出来るのかもしれないと私は期待している。

以上! ベクトル論理の紹介でした。

 \text{AND}(p, q),  \text{XOR}(p, q) の導出

ここでは  \text{XOR}(p, q) の導出についてのみ述べる。 排他的論理和を表現する行列を  X とおくと、変換  \text{XOR}(p, q) は次のように表せる。


\text{XOR}(p, q) = X (p \otimes q)

ここで例えば  p = t, q = t とおくと  \text{XOR}(t, t) = n であり


\begin{eqnarray}
\begin{pmatrix}0 \\ 1 \end{pmatrix}  = X (s \otimes s )= X (\begin{pmatrix}1 \\ 0 \end{pmatrix} \otimes \begin{pmatrix} 1 \\ 0 \end{pmatrix} ) = X (\begin{pmatrix}1 \\ 0 \\ 0 \\ 0 \end{pmatrix} )
\end{eqnarray}

他の場合は


s \otimes n =  \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}, n \otimes s =  \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix}, n \otimes n =  \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix}

である。 X について


X \begin{pmatrix} s \otimes s, s \otimes n, n \otimes s, n \otimes n \end{pmatrix} = \begin{pmatrix} n, t, t, n \end{pmatrix}

となるから


X E_{4} = \begin{pmatrix} 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 1 \end{pmatrix}

したがって


X = \begin{pmatrix} 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 1 \end{pmatrix}
クリエイティブ・コモンズ・ライセンス
このブログのコンテンツは、クリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際 ライセンスの下に提供されています。