非古典論理

トップページ研究分野と周辺記号論理

命題論理、述語論理を古典論理と呼び、それを拡張或いは代替する新たな論理を非古典論理と呼んで区別する事がある。
拡張系は、古典論理の定理を全て認めるが、代替系はその一部を認めない論理となる。非古典論理は、最も代表的なものだけでも、以下のように様々な種類がある。
なお、pが真のもとでp→qが真にある確率がP(q|p)の条件付確率である事を利用して、原因の推定等に応用されるベイジアンネットワークも、多値論理と共通する面を持っている。

様相論理

拡張系の非古典論理の代表格。古典論理では「解釈」で原子命題の真偽を決定した。しかし、現実の複雑な命題は、様々な状況によって、真偽が変わる事が多い。
例えば、「ラーメンは美味い」「カラオケは楽しい」という命題は、解釈する人によって真偽が変わるかもしれない。
或いは、「○○さんは空腹だ」という命題は、時間によって真偽が変わると考えられる。数学的な「三角形の内角の和」ですら、平面上と球面上では異なる。
古典論理では解釈の内容に立ち入らず、真偽が定まった後の世界を扱っていたのに対し、状況と解釈による真偽の変化に注目して、その段階から扱う論理を様相論理という。
様相論理では、必然性演算子(□)と可能性演算子(◇)が追加される。
必然性とは、「全ての状況に於いて真(又は偽)になる」事を示し、可能性とは「或る状況に於いて真(又は偽)になる」事を示す。
古典論理の恒真は、全命題の真偽の組合せに於いての成立を意味したが、様相論理の必然性は、或る命題について、解釈の多様性を考慮した上で必ず成立する事を指す。
□pで、命題pが必然的に真である事を示し、◇pで真である可能性を持つ事を示す。様相論理自体、様々な公理系があるが、以下の関係を認めるのが最も基本的なものになる。
・□p⇔¬◇¬p(pが必然的に真である事と、pの否定の可能性が無い事とは等価)。
・◇p⇔¬□¬p(pが真である可能性を持つ事と、pの否定が必然的に真である事が無いのは等価)。
・□(p→q)→(□p→□q)(p→qが必然的に真であれば、pが必然的に真である事からqも必然的に真である事が導かれる)。
また、「真であるのが望ましい」「真であるべきだ」等の、命題の真偽に対する人間の心的態度を扱う論理も、様相論理に分類される。

時相論理

様相論理の一種で、時制論理ともいう。時刻、時間によって真偽が変わる命題を表現する。
命題をp、状況(時刻等)をsとすると、G(p,s)で「pはs以降ずっと真」、F(p,s)で「pはs以降、真になる事がある」、H(p,s)で「pはs以前にずっと真だった」、P(p,s)で「pはs以前に真だった事がある」を表現するのが、最も一般的な時相論理の演算子として挙げられる。
ここで、G(p,s)⇔¬F(¬p,s)の同値関係が成立する(pがs以降ずっと真である、と、s以降にpの否定が真になる事はない、が同値)。
同様に、当然ながらH(p,s)⇔¬P(¬p,s)の同値関係も成立する(pがs以前にずっと真だった、と、s以前にpの否定が真だった事はない、が同値)。
pとqを命題とすると、G(p→q)→(G(p)→G(q))、H(p→q)→(H(p)→H(q))も成立する。
Allenは、二つの命題pとqが真になる時区間に関連がある場合を表現する方法として、以下の記号を用意した。

pを「生きている」、qを「死んでいる」とすると、meets(p,q)が□で、befor(p,q)とoverlaps(p,q)は¬□になるだろう。pを「(或る人が)高校生である」、qを「大学生である」とすると、befor(p,q)もmeets(p,q)も◇で、overlaps(p,q)は¬□となるだろう。
例えば、befor(p,q)∧meets(q,r)→befor(p,r)等の関係も定義出来る。他に、以下の記号も用意されている。

startsは「同時に始まり先に終わる」、finishesは「後から始まり同時に終わる」、duringは「期間が含まれている」、equalsは「期間が同じ」となる。
時間に関係するどのような概念を記号として定義(分節化)するかは、知識表現の問題でもある。
具体的な数字で表される時刻、時間をどのように記述するかについても、様々な方法が試みられている。
また、状況の変化の記述は、時刻を離散的に扱って(午後2時、3時等の飛び飛びの値)表現するのは比較的簡単だが、連続的に変化していく状況を記述するのは難しい。例えば、或る駅間の電車の速度は、刻々と変わるが、それを「加速状態」「定速状態」「減速状態」と分けて捉える方法があり、このような論理を利用した推論を「定性推論」という。
また、同時に複数の事象が起きる、進行する状況を記述するにも、様々な方法が試されている。

義務論理

これも様相論理の一種で、命題pについて「真であるべきだ」をO(p)、「真でもよい」をP(p)、「偽であるべきだ」をF(p)で表現する。
pが或る行動を表す場合、Oはその行動に対する義務、Pは権利、Fは禁止を表す事になる。
法律は論理的な文章で、多くはif-thenルールで記述出来る。法令の自動推論の試みは古くからあるが、義務論理を取り入れる方法も様々に模索されて来た。
以下は、義務論理の代表的な公理となる。
・O(p→q)→(O(p)→O(q)):(pが「医師になる」、qが「医師免許を持つ」とすると、O(p→q)は「医師になるなら、医師免許が必要だ」となり、(O(p)→O(q))は「医師にならなければならない(例えば医学生の意志)なら、医師免許を持たなければならない」となる)。
・O(p)→P(p):(医師にならなければならない、ならば、医師になってもよい(医師にならなくてもよい、という意味ではない)。逆命題は成り立たない)。
・P(p)⇔¬O(¬p):(医師になってもよい事と、医師にならない事は義務ではない(医師になる事は禁止されていない)は同値)。
・F(p)⇔¬P(p):(医師になる事が禁止されている(例えば無免許の人)と、医師になってもよいの否定は同値)。
命題の真偽に対する人間の心的態度を表現する様相論理の試みとしては、他に、Ka(p)で「a(エージェント)は、pが真である事を知っている」を示す認識論理、Ba(p)で「aは、pが真であると信じている」を示す信念論理等も提唱されている。

三値論理

古典論理では、命題の論理定数は真か偽のいずれかで、それ以外は認めていなかった。これに「分からない」「未定義」等の第三の値を導入する論理である。
例えば「明日は風が強い」は、天気予報があっても、一〇〇%確実には明日でなければ分からない(「明日は明日の風が吹くでしょう」)。
既に古代ギリシャのアリストテレスは、未来の出来事に真でも偽でもない値を割り当てる必要性を指摘していたという。
真偽の不明を表す値としてI(indeterminate)がよく用いられる。
ウカシェヴィッツ(Lukasiewicz)は、真=1、偽=0、不明=0.5の値を与え、pが真ならv(p)=1等とする関数を考え、古典論理記号に対し、以下の定義を行なった。
・v(¬p)=1-v(p)
・v(p∧q)=min(v(p),v(q)):minはv(p)とv(q)の小さい方の値(三つ以上の連言ならば最も小さい値)
・v(p∨q)=max(v(p),v(q)):maxはv(p)とv(q)の大きい方の値(三つ以上の選言ならば最も大きい値)
・v(p→q)=min(1,1-v(p)+v(q))
これに基づき、pとqについて、いずれかがIを取る真理値表を作成すると以下のようになる。

或る命題の値が0.5(不明)ならば、その命題の否定も不明となる(黄色の部分)。
連言は、どちらかの命題が不明ならば、もう一方が真でも不明、もう一方が偽ならば偽となる(オレンジの部分)。
選言は、どちらかの命題が不明ならば、もう一方が偽でも可能性は残るので不明となる(紫の部分。もう一方が真なら真となる)。
含意は、(p→q)⇔¬(p∧¬q)を用いていない。v(p→q)=min(1,1-v(p)+v(q))は、以下のように解釈出来る。
v(p)が1(真)ならば、v(q)の値をそのままv(p→q)の論理定数にする。
v(p)が0(偽)ならば、v(q)の値に係らず、v(p→q)は真にする。
v(p)が0.5(不明)ならば、v(q)が真又は不明のときはv(p→q)は真、v(q)が偽のときにv(p→q)も不明。
(但し、pもqも不明のとき、p→qを真とするのは不自然という考えから、これを不明とするクリーニ(Kleene)の三値論理もある。)
なお、上記の式にpとqが1または0を取る場合を代入すると、命題論理と同じ結果になる。
三値論理は、排中律等が成立しないので、古典論理の拡張ではなく、代替の論理と位置付けられる。
三値論理をさらに拡張し、一つの命題が多数の値を持つ論理を、多値論理という。ファジイ論理は、メンバーシップ関数の値を真偽値に用いるので、多値論理の一種と言える。
なお、データベース操作言語SQLでは、true、falseの他にunknownという第三の論理定数を使用する等、三値論理は幅広く実用に供されている。

ファジイ論理

ファジイ論理は、真理値が0~1の様々な値を取る多値論理である。その値は「真である度合い」「偽である度合い」を示している。値が「真(偽)になる確率」を示す論理は確率論理と呼び、ファジイ論理とは区別されている。
命題pの真理値をμ(p)とすると、論理積の真理値μ(p∧q)は、min{μ(p),μ(q)}(μ(p)とμ(q)の小さい方)となる。逆に論理和の真理値μ(p∨q)は、max{μ(p),μ(q)}(μ(p)とμ(q)の大きい方)となる。
この事を具体例で考えてみる。命題pを「今日は涼しい」、命題qを「今日は暖かい」とする。
様々な温度に対するpとqの真である度合いは、ファジイ論理では図のような関数(メンバーシップ関数)で定義される。
或る温度のところで垂線を引き、其々の命題のグラフとの交点の高さが、その温度の場合のその命題の真理値となる。例えば、18度であれば、「暖かい」の真理値は0.3ぐらい、「涼しい」の真理値は0.8ぐらいに、図の例ではなる。
「涼しい」と「暖かい」の論理和の真理値は、「涼しいか又は暖かい」の真理値だから、仮に或る温度で「涼しい」が0.9、「暖かい」が0.7だとすると、大きい方の0.9とする。
このような論理和の定義に基づき、ファジイ論理では赤線の部分が両命題の論理和の真理値を表す。
論理積は、「涼しくかつ暖かい」の真理値となる。仮に或る温度で「涼しい」が0.9、「暖かい」が0.7の場合、両方成立しなければならない事から、低い方を取って0.7が真理値となる。従って、赤線部分が両命題の論理積の真理値を表す。
命題pの否定は、三値論理と同様に、1-μ(p)と定義されている。従って、或る命題の否定の真理値は図のようにひっくり返したグラフで示される(赤線が「暖かくない」の真理値)。

ファジイ論理でも交換則p∧q⇔q∧p、p∨q⇔q∨pが成り立つ。二重否定p⇔¬(¬p)も成り立つ。結合律や分配律、ド・モルガンの法則も成り立つ。
しかし、排中律と矛盾律は三値論理と同様、成り立たない。排中律はp∨¬pの真理値が常に1である事、矛盾律はp∧¬pの真理値が常に0である事だが、上記定義から以下のようになる。
排中律の場合、μ(p∨¬p)=max(μ(p),1-μ(p))なので、仮にμ(p)が0.3だと、μ(p∨¬p)は0.7で1にはならない。
矛盾律の場合、μ(p∧¬p)=min(μ(p),1-μ(p))なので、仮にμ(p)が0.3だと、μ(p∧¬p)は0.3で0にはならない。
ファジイ論理に基づく推論がファジイ推論で、人工知能の代表的な技術の一つとして幅広く使われている。

ファジイ推論