「ベイズ確率論、ジェイコブス達の新しい風」で紹介したチャンネル方式〈the channel perspective, the channel approach〉では、状態(確率測度の別名、確率分布でも同義)と述語〈ファジー述語〉を双対的に扱います。述語はもちろん状態ではありません。
ジェイコブス〈Bart Jacobs〉は、「状態と述語を混同するな」と注意しているのですが、それを見て僕はハッとしました。自分が混同していた人だからです。今でも、「混同してんじゃないか? 誤解してんじゃないか?」と不安になります。この混同を引き起こす大きな原因は確率密度関数でしょう。確率密度関数は確率測度の表現ですが、それ自体は実数値関数なのでファジー述語と区別が付きにくいのです。
値が「1以下かどうか」は違いますが、確率密度関数が1以下の値をとるケースもあるし、スケール変換(定数を掛け算)すれば、ファジー述語の値が1以下でなくなることもあります。意味的区別も容易とは限りません。
混同を避ける方法のひとつは、確率密度関数を考えるのをやめることです。確率密度関数を経由せずに直接に測度を考えます。これは混乱・誤解防止にかなり効果があります。
また、ジェイコブスが言っていることに「代数的演算に注目せよ」があります。確率測度に対する演算はたいしてありません。凸結合(足して1となる非負実数の重みで平均する)くらいです。それに対して、ファジー述語に対する演算はいっぱいあります。それらの演算は、単位区間 [0, 1] が持っている演算を関数に拡張したものです。
単位区間 [0, 1] は次のような演算を持ちます。
- x + y (足し算、x + y > 1 のときは未定義とする)
- xy (足し算、x + y > 1 のときは 1 とする)
- x - y (引き算、x < y のときは未定義とする)
- x y (引き算、x < y のときは 0 とする)
- x∨y := max(x, y) (大きいほう)
- x・y (掛け算)
- x∧y := min(x, y) (小さいほう)
- x/y (割り算、y = 0 のときは未定義とする)
- x▷y := if (x ≦ y) then 1 else y/x (x = 0 のときは 1)
- ¬x := 1 - x
二元集合 {0, 1} 上のブール演算よりずっとたくさんの演算があります。これらの演算を備えた単位区間を論理代数(真偽値の代数)と考えるときは、演算の論理的解釈が問題になります。すべての演算を使うのではなくて一部だけを採用すべきかも知れません。
確率を考慮した論理の論理代数は、おそらく単位区間の上の代数でしょう。単位区間上の代数構造があれば、単位区間に値をとるファジー述語に同様な代数構造が誘導されます。しかし、論理代数として「これが決定版」というものはないようです。そもそも決定版を求めるのが間違った態度のような気がします。状況に応じて様々な論理を使い分けることになるのでしょう。