ファジィ集合

ファジィ集合（ファジィしゅうごう、英: fuzzy set）は、自然言語で表されるような曖昧な対象を定量化し、通常の集合（集合の要素であるかないかが、「ある」か「ない」のどちらかであるような集合）と同じように演算など（集合代数）の対象とされる、集合である。ZFCなどをベースとしているためあくまで累積階層的集合観（cumulative hierarchy notion of set）の理論である。 1965年にロトフィ・ザデーによって提唱された。集合に帰属する度合を表すメンバシップ関数により、曖昧な対象を定量化して扱う。 なお、日本語の「曖昧」という言葉は多義的で、「多義的」（2つ以上の意味にとれる）という意味があるが、ファジィはファズの形容詞形で、たとえば綿毛（冠毛）のような、境界がはっきりしないようす、周辺が不明瞭なことを意味し、多義的という意味はない。 一般に集合の体系には論理の体系が対応するが、ファジィ集合に対応するのはファジィ論理である。ファジィ集合やファジィ論理を利用した制御をファジィ制御といい、これらのファジィに関する理論をファジィ理論という。 あるファジィ集合の要素である度合いは、メンバシップ関数によって表される。例えばある年齢の人間を「若者」「中年」「老人」という3種類にわけることを考える。このときどこまでの年齢を若者とするか老人とするかは人によって意見の分かれる部分である。ファジィ理論ではこのような曖昧な事象を定量化し、集合のように扱うことを可能にする。例えば若者に属する集合を A、中年に属する集合を B、老人に属する集合を Cとすると「35歳の人間」 x は μ A ( x ) = 0.2 {\displaystyle \mu _{A}(x)=0.2} μ B ( x ) = 0.7 {\displaystyle \mu _{B}(x)=0.7} μ C ( x ) = 0.1 {\displaystyle \mu _{C}(x)=0.1} という風に表す、ここでは35歳の人間は0.7の割合で中年に属し0.2の割合で若者に属し0.1の割合で老人に属すると置いている（実際に正しいかどうかは別、あくまでこのように定義するという指標）。このとき μ A ( x ) + μ B ( x ) + μ C ( x ) = 1 {\displaystyle \mu _{A}(x)+\mu _{B}(x)+\mu _{C}(x)=1} である。（ただし、各概念がこのようにきちんと分割できなければいけないというわけではない。）このように「どこまで属する」という事柄を割合として表すことのできる集合 A , B , C {\displaystyle A,B,C} をファジィ集合といい、具体的な割合の数値をだす各 μ A ( x ) , μ B ( x ) , μ C ( x ) {\displaystyle \mu _{A}(x),\mu _{B}(x),\mu _{C}(x)} をメンバシップ関数という。メンバシップ関数の値が0か1にしかならないのが、 通常の集合（非ファジィ集合、あるいはクリスプ集合と呼ぶ）であり、ファジィ集合は通常の集合の拡張といえる。 なお、ここで「年齢」という「変数」を考え、その「値」として「若者」「中年」「老人」という値をとる、といったようにして、（ファジィの研究者の用語で）「言語学的変数」（linguistic variables）といったものを導入することがあるが、以上で説明したように、最終的には実数値を扱うものであり、（ソシュールやチョムスキーらによるような）言語学的な何かがそこにあるわけではない。 定義 ファジィ集合とは、集合 U と U から単位閉区間 [0, 1] への函数 m: U → [0, 1] の対 (U, m) のことをいう。 函数 m をファジィ集合 (U, m) の帰属函数（membership function; メンバシップ函数）といい、各 x ∈ U に対して、値 m(x) は (U, m) における x の帰属度 (grade of membership) と呼ばれる。有限集合 U = {x1, …, xn} に対してファジィ集合 (U, m) をしばしば{m(x1)/x1, …, m(xn)/xn} のようにも書く。 ファジィ集合 (U, m) において、x ∈ U が m(x) = 0 のとき、このファジィ集合に含まれない (not included) または属さない m(x) = 1 のときまったく含まれる (fully included) 0 < m(x) < 1 となる x は (U, m) のファジィ元（fuzzy member; あいまい要素） という。また、 集合 {x ∈ U  |  m(x) > 0} をファジィ集合 (U, m) の台 (support) 集合 {x ∈ U  |  m(x) = 1} をファジィ集合 (U, m) の核 (kernel, core) と呼ぶ。 ときには、より一般化されたファジィ集合の一種として、帰属函数がある種の代数系や構造 L（L は一つ固定して考えることも動かして考えることもある）に値をとるようにすることもある（大抵は L が少なくとも順序集合や束となるくらいのことは仮定する）。これらを通常のファジィ集合と明示的に区別するときは、通常は L-ファジィ集合 (L-fuzzy set) や L-値帰属函数のようにいう。通常の単位閉区間値の帰属函数は [0, 1]-値帰属函数、通常のファジィ集合は [0, 1]-ファジィ集合である。このような一般化は、初め1967年にザデーの弟子 Joseph Goguen（英語版） によって与えられた。 ファジィ集合によってさまざまな概念をファジィ化したものが定式化できる。 ファジィ数 凸かつ正規化された帰属函数 μA を持つ実数からなるファジィ集合 ~A = (R, μA) (A ⊂ R) がファジィ数であるとは、その帰属函数が少なくとも区分的に連続かつ、少なくとも一点において μA(x) = 1 となるものをいう。 この概念は、相手の体重を推測して正解により近い値を答えたほうが勝ちという「体重当て」遊びにも近いものがある。この場合、実体重を正確に言い当てることが帰属函数の値が 1 になることに相当する。 ファジィ区間 実数全体の成す集合の部分集合 A ⊂ R が μA(x) = 1 なる元に挟まれた区間となっているようなファジィ集合 ~A = (R, μA) をファジィ区間 (fuzzy interval) という。ファジィ数と同様に、帰属函数 μA は凸かつ正規化され、少なくとも区分的に連続とする ファジィ圏 圏論において、集合の帰属関係を主要な構成要素として用いるような圏はファジィ集合を使って一般化することができる。このようなアプローチはファジィ集合の導入されてすぐ後の1968年には始まっており、21世紀には「ゴーグエン圏」("Goguen category") の発展を導いた。これらの圏では、通常の集合の（二値）帰属函数ではなく、より一般の区間値のものが用いられ、あるいはまた L-ファジィ集合のように束に値をとるものとすることもできる。 この項目には、一部のコンピュータや閲覧ソフトで表示できない文字（特殊な演算子記号）が含まれています（詳細）。 通常の集合の各基本演算に対応するファジィ集合の基本演算がそれぞれ定義されている。 ファジィ理論では特にメンバシップ関数の大小が大きく影響するので、 a ∧ b = def min ( a , b ) {\displaystyle a\wedge b{\stackrel {\text{def}}{{}={}}}\min(a,b)} a ∨ b = def max ( a , b ) {\displaystyle a\vee b{\stackrel {\text{def}}{{}={}}}\max(a,b)} とあらかじめ定義される。このときファジィ集合を A , B {\displaystyle A,B} と各メンバシップ関数を μ A ( x ) , μ B ( x ) {\displaystyle \mu _{A}(x),\mu _{B}(x)} とおくと各演算は 和集合 A ∪ B ⟺ def μ A ∪ B ( x ) := μ A ( x ) ∨ μ B ( x ) {\displaystyle A\cup B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A\cup B}(x):=\mu _{A}(x)\vee \mu _{B}(x)} 共通集合 A ∩ B ⟺ def μ A ∩ B ( x ) := μ A ( x ) ∧ μ B ( x ) {\displaystyle A\cap B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A\cap B}(x):=\mu _{A}(x)\wedge \mu _{B}(x)} 補集合 A ¯ ⟺ def μ A ¯ ( x ) := 1 − μ A ( x ) {\displaystyle {\overline {A}}{\stackrel {\text{def}}{{}\iff {}}}\mu _{\overline {A}}(x):=1-\mu _{A}(x)} となるメンバシップ関数をもつ集合と定義される。また対等関係、包含関係は以下のように表す。 相等関係 A = B ⟺ def μ A ( x ) = μ B ( x ) , ∀ x ∈ X {\displaystyle A=B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A}(x)=\mu _{B}(x),\forall x\in X} 包含関係 A ⊆ B ⟺ def μ A ( x ) ≤ μ B ( x ) , ∀ x ∈ X {\displaystyle A\subseteq B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A}(x)\leq \mu _{B}(x),\forall x\in X} ここで X {\displaystyle X} は全体集合のことである。これらの定義からファジィ集合には以下の定理が成り立つことが証明されている。 二重否定 A ¯ ¯ = A {\displaystyle {\overline {\overline {A}}}=A} ド・モルガンの法則 A ∪ B ¯ = A ¯ ∩ B ¯ {\displaystyle {\overline {A\cup B}}={\overline {A}}\cap {\overline {B}}} A ∩ B ¯ = A ¯ ∪ B ¯ {\displaystyle {\overline {A\cap B}}={\overline {A}}\cup {\overline {B}}} また、ファジィ集合独自の演算として以下のようなものが定義されている。 代数和 A ⊞ B , A ∔ B , A + B ⟺ def μ A + B ( x ) := μ A ( x ) + μ B ( x ) − μ A ( x ) ⋅ μ B ( x ) {\displaystyle A\boxplus B,\quad A\dotplus B,\quad A+B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A+B}(x):=\mu _{A}(x)+\mu _{B}(x)-\mu _{A}(x)\cdot \mu _{B}(x)} 代数積 A ⋅ B ⟺ def μ A ⋅ B ( x ) := μ A ( x ) ⋅ μ B ( x ) {\displaystyle A\cdot B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A\cdot B}(x):=\mu _{A}(x)\cdot \mu _{B}(x)} 限界和 A ⊕ B ⟺ def μ A ⊕ B ( x ) := ( μ A ( x ) + μ B ( x ) ) ∧ 1 {\displaystyle A\oplus B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A\oplus B}(x):=(\mu _{A}(x)+\mu _{B}(x))\wedge 1} 限界差 A ⊖ B ⟺ def μ A ⊖ B ( x ) := ( μ A ( x ) − μ B ( x ) ) ∨ 0 {\displaystyle A\ominus B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A\ominus B}(x):=(\mu _{A}(x)-\mu _{B}(x))\vee 0} 限界積 A ⊙ B , A ⊗ B ⟺ def μ A ⊗ B := ( μ A ( x ) + μ B ( x ) − 1 ) ∨ 0 {\displaystyle A\odot B,\quad A\otimes B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A\otimes B}:=(\mu _{A}(x)+\mu _{B}(x)-1)\vee 0} 激烈和 A ∨ ˙ B ⟺ def μ A ∨ ˙ B ( x ) := { μ A ( x ) , if  μ B ( x ) = 0 μ B ( x ) , if  μ A ( x ) = 0 1 , otherwise {\displaystyle A{\dot {\vee }}B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A{\dot {\vee }}B}(x):={\begin{cases}\mu _{A}(x),&{\text{if }}\mu _{B}(x)=0\\\mu _{B}(x),&{\text{if }}\mu _{A}(x)=0\\1,&{\text{otherwise}}\end{cases}}} 激烈積 A ∧ ˙ B ⟺ def μ A ∧ ˙ B ( x ) := { μ A ( x ) , if  μ B ( x ) = 1 μ B ( x ) , if  μ A ( x ) = 1 0 , otherwise {\displaystyle A{\dot {\wedge }}B{\stackrel {\text{def}}{{}\iff {}}}\mu _{A{\dot {\wedge }}B}(x):={\begin{cases}\mu _{A}(x),&{\mbox{if }}\mu _{B}(x)=1\\\mu _{B}(x),&{\mbox{if }}\mu _{A}(x)=1\\0,&{\text{otherwise}}\end{cases}}}