"あいまい性の理論"、というなんとも興味深い理論を紹介します。
大学の授業で「ファジィ理論」というのが紹介されたのですが、詳しくは触れられなかったので、自分の勉強もかねてここでまとめてみたいと思います。
ファジィ理論とは
人工知能技術で実現されるソフトウェア(知的エージェント)は、情報の一部が欠けていたり、曖昧だったりするような不確実性のある環境においても最善の努力をして意思決定して行動することが望まれる。
そのような目的を達成するために、「曖昧性をもつ知的表現」を扱う理論としてファジィ推論という研究分野がある。
ファジィ推論のfuzzyという単語は「あいまいな」という意味の形容詞である。
曖昧性を扱う数学的な理論であるとはいえ、理論自体はあいまいではなく厳密なものである。
たとえば、「非常に背が高い」という知識は、曖昧性を持つ。その曖昧性の原因は次の2つが挙げられる。
まず、それは主観的な知識だからである。見る人の感覚次第で「非常に背が高い」と思うかどうかは変わる。
次に、この知識は人間の使う自然言語で書かれているということである。人間の使う言語は、そもそも曖昧性を含むのである。
ファジィ理論の基礎にあるのは、ファジィ集合やファジィ論理という概念である。
ファジィ集合
ファジィ集合は、数学の「集合」の概念を拡張したものである。
例として,「175cm以上の人の集合」というふつうの集合を考えよう.
これに対し,「背の高い人の集合」というのは,ファジィ集合である.
たとえば,170cmの人がこの集合の要素に含まれるのかどうか,あいまいで,きっかりと判定できないからである.
つまり、ファジィ集合は、ある集合に属するか属さないかのいずれかとなる通常の集合と異なり、中間の状態を許容する。
ファジィ集合を数学的に厳密に取り扱うために,各要素毎にグレードという数値を導入する.
これはファジィ論理の論理値のようなもので,0と1の間の実数値である.
1に近いほどその要素はこの集合に属している度合いが強い.
0に近ければ,あまり属していない.
そもそも、概念を表現する際に数値を用い、境界をはっきりとさせる本来的な集合の考え方は「クリスプ概念」と呼ばれ、数値を用いず、境界がぼんやりとはっきりしない考え方は「ファジィ概念」と呼ばれる。
応用
ファジィ推論技術は、もちろんファジィ理論の数学体系に裏打ちされた理論的裏付けのある推論技術である.
しかし,その基本的なものは,アルゴリズムとして見た場合には非常に単純であり,しかも数学的背景がなくてもそのアルゴリズムの動作は,ある程度直感的に理解できる.
この理解しやすさと,計算の単純さが,その実用的効果と相まって,今日のファジィ推論技術応用の盛り上がりを支えてきた.
ファジィ制御
ファジィ集合を利用して制御モデルや制御系を構成した制御として「ファジィ制御」というものがある。
ファジィ制御は、人間が日常的に使うあいまいな言葉を用いて制御を行う。
通常、コンピュータは明確な数値しか扱うことができない。
しかし、これでは不便な場合が多い。
たとえば、運転をしている相手に、「もう少し早く行って」という指示を出したとき、人間であればその意図を正しくくみ取ることができるが、相手がコンピュータの場合曖昧な表現であるので理解をすることができない。
人間は日常生活を営む上で必要な知識を共有しているが、その知識は日常の解をで用いられる曖昧な言葉で表現されている。
当然、これらの知識を厳密に定式化することはできず、そのため人間がうまく行える作業をコンピュータにより自動化することは困難な場合があるのである。
ファジィ制御では、人間が日常的に用いている知識をそのまま利用して制御を行うことができる。
つまり、人間の機能に近い制御をコンピュータで実現することが可能になる。現在では、ファジィ制御の応用範囲は非常に広く、多くの場面で利用されている。
次のような例がある。
1:ファジィ全自動洗濯機
洗濯物の汚れ具合を光センサーで検知してマイコンでファジィ制御し最適な洗濯時間を設定する。
2:ファジィインテリジェントエレベータシステム
各エレベータが「乗り場呼び」に対して到着するまでにかかる時間を予測する際に、途中で新たに複数の「呼び」が発生する場合などを想定し、最短と最長の到達時間を計算して予測時間に幅を持たせ、実際の運行結果と予測時間との誤差を最小限にしている。このように、エレベータの運行管理にファジィ理論を用いている。
3:仙台市地下鉄 ファジィ自動運転システム
地下鉄をファジィ制御で自動運転させることで、従来のコンピュータ制御に比べ、運転が極めてスムーズになっただけでなく、電力消費も数%節約できるようになったといわれている。
関連用語まとめ
メンバシップ関数:
ファジィ集合の要素がその集合に属する度合いを表す関数。0から1の間の任意の実数値を取りえる。0はその要素がファジィ集合に完全に属さないことを示し、1の時は完全に属することを示す。通常の集合論に当てはめると、メンバシップ関数の値は0か1となり、中間の値はない。メンバシップ関数とも呼ばれる。
ファジィ化:
数値で表される量を、メンバシップ関数を用いて言語表現に置き換えること(例) 5km/h → 非常に遅い、アクセル開度 70% → アクセルをたくさん踏む
ファジィルール:
「○○○ ならば △△△」というような文法で表された論理表現。○○○や△△△にはファジィ化された言語表現がくる。これにより、制御対象の挙動や制御則などを記述する。
(例)「アクセルをたくさん踏む ならば すばやく加速する」、「速度が少し遅い ならば アクセルを少し踏む、など」
ファジィ推論:
ファジィルールを複数組み合わせることによって1つの結論を言語表現で得る作業。ルールの数に応じて複雑な入出力関係を表すことができる。
(例)「速度が非常に遅い」→(アクセルをたくさん踏む) → 「すばやく加速する」
非ファジィ化:
メンバシップ関数を用いて推論の結果得られた表現を数値で置き換えること。ファジィ化 → 言語表現による論理 → 非ファジィ化 の手順を経ることで、最終的には数値的な入出力関係が得られる。