ファジィ論理

提供: miniwiki
移動先:案内検索

ファジィ論理(ファジィろんり、: Fuzzy logic)は、1965年、カリフォルニア大学バークレー校ロトフィ・ザデーが生み出したファジィ集合から派生した[1][2]多値論理の一種で、真理値が0から1までの範囲の値をとり、古典論理のように「真」と「偽」という2つの値に限定されない[3]ことが特徴である。さらにlinguistic variablesは、「ちょっと暑い」というような、言語学的(linguistic)な(と、ファジィの研究者は表現する)ものを表す変数(variables)である(その内容自体は、「気温が摂氏30度の時は 0.2(30度は「ちょっと」ではないから)」「気温が摂氏25度の時は 0.8」「気温が摂氏20度の時は 0.3」といったように、至って定量的なものであり、「言語学的な値」という何かよくわからないフワフワしたものを扱ってくれる魔法ではない)。ファジィ論理は制御理論ファジィ制御)から人工知能まで様々な分野に応用されている。

「真」の度合い

ファジィ論理と確率論理は数学的に似ており、どちらも0から1までの値を真理値とするが、概念的には解釈の面で異なる。ファジィ論理の真理値が「真の度合い」に対応しているのに対し、確率論理では「確からしさ」や「尤もらしさ」に対応している。このような違いがあるため、ファジィ論理と確率論理では同じ実世界の状況に異なるモデルを提供する。

真理値と確率が0から1の範囲の値をとるため、表面的には似ているように思われる。例えば、100mlのコップに30mlのが入っているとする。これに対して「空」と「満杯」の2つの概念を考える。それぞれの意味は所定のファジィ集合、およびそれを定義付けるメンバシップ関数で表される。例えば、そのコップについて「空だ」が真である度合いは0.7、「満杯だ」が真である度合いは0.3と定義することも考えられる。「空だ」という概念は主観的であり、観察者や設計者によって感じ方は異なる。設計者によっては、50mlでも満杯だとするようにメンバシップ関数を設定するかもしれない。ファジィ論理ではあいまいな現象の数理モデルとして「真の度合い」を使うのに対し、確率論は未知のことに対しての数理モデルである。確率論的手法を使って同じことを達成するには、「満杯」か否かを表す二値変数をコップに入っている水の量という連続値によって決定するという形で定義することになる。

ファジィ論理の真理値の具体例

ファジィ論理は洗濯機冷蔵庫のような家電機器制御に使われる。例えば洗濯機では、洗濯物の量や洗剤の濃度を調べて、洗濯槽の回転などを調整する。

基本的な応用の特徴として、連続値をいくつかの区分に分ける点が挙げられる。例えば、アンチロック・ブレーキ・システムでは温度を測定するが、温度をいくつかの区分に分け、それぞれにメンバシップ関数を定義し、ブレーキを適切に制御する。各関数は同じ温度に0から1までの真理値を割り当てる。これらの真理値を使って、ブレーキをどう制御すべきかを決定する。

上図では、coldwarmhot という関数で温度の値をマッピングしている。ある温度には各関数に対応した3つの真理値がある。上図で縦線で示している温度を見てみると、3つの真理値(0.8、0.2、0)が対応し、それらを解釈すると「かなり冷たい」(青い矢印)、「やや暖かい」(黄色の矢印)、「熱くない」(赤い矢印)ということになる。

言語学的変数

数学における変数は一般に数値を値とするが、ファジィ論理は非数値的な「言語学的変数」を使うことで規則や事実の表現が容易になるような分野にもよく応用される[4]

ここでいう「非数値的」「言語学的」という意味は、例えば速度といったような変数のような「確定的な値を持つような変数」ではない、という意味であって、実際のところ(ソシュールやチョムスキーらによるような)言語学的な何かがあるわけではない。具体例として「年齢」に対し「若い」、あるいはその反対の「高齢だ」という値は、結局のところ、「20歳」という実際の年齢に対して、「若い」は 0.8 という高い値になり、「高齢だ」は 0.05 という低い値になる、といったように、最終的には実数(数値)になるのである。言語学的変数の最大の利点は、主たる単語に修飾語を添えることでその意味を修正できる点であると主張される。修飾語は特定の関数と対応付けることができる。例えば、ザデーはメンバシップ関数の平方をとることを提案している。

ファジィ論理の応用例

ファジィ論理の実際

ファジィ集合論では、ファジィ集合に関するファジィ演算を定義している。これを利用する際の問題は、適切なファジィ演算がどれなのかわからない場合があることである。そのため、ファジィ論理ではIF/THEN規則やそれに類するもの(例えばファジィ関係行列)を使うのが一般的である。

規則は以下のような形式で表現される。

IF 「変数」IS「集合」THEN 「アクション」を実行する。

例えば、ファンを使って温度を一定に保つ非常に単純な機器があるとしたら、次のような規則が考えられる。

  • IF 温度 IS 「非常に寒い」 THEN ファンを止める。
  • IF 温度 IS 「寒い」 THEN ファンを遅くする。
  • IF 温度 IS 「普通」 THEN ファンを一定に保つ。
  • IF 温度 IS 「暑い」 THEN ファンを速くする。

ELSE節がない点に注意されたい。全ての規則は同時に評価される。何故なら、温度は(程度の差はあっても)同時に「寒い」と「普通」の両方に属するといったことが考えられるからである。

ブール論理論理演算 AND, OR, NOT に相当する演算がファジィ論理にもあり、例えば下記のように定義される。下記の定義はザデーのオリジナルの論文で定義されていたもので、ザデー演算子とも呼ばれる。ここで x と y はファジィ変数である。

  • NOT x = (1 - truth(x))
  • x AND y = minimum(truth(x), truth(y))
  • x OR y = maximum(truth(x), truth(y))

他の演算として、より言語的な「ヘッジ(hedges)」がある。これは、数式で表される集合の意味(例えば「寒い」)を修飾する「非常に」とか「いくぶん」といった副詞に相当するものである。

プログラミング言語での応用として、Prologは規則群のデータベースに論理問い合わせを行う構造になっていて、ファジィ論理との相性が良い。このようなプログラミングを論理プログラミングという。

その他の例

身長を「高い」と「低い」に分けることを考える。古典集合論(古典論理)では、例えば次のように規則を定義する。

  • 男の身長が1.8メートルなら、その人は背が高い。
IF man IS true AND height >= 1.8 THEN is_tall IS true; is_short IS false

ファジィ規則は背が「高い」と「低い」を明確に区別しない。そのような区別は現実的ではない。そこで、以下のような規則を定義する。

IF height <= medium male THEN is_short IS agree somewhat
IF height >= medium male THEN is_tall IS agree somewhat

ファジィの場合、1.83メートルのような明確な身長の区分けはせず、次のようなファジィ値の割り当てをする。

  • dwarf male = [0, 1.3] m
  • short male = (1.3, 1.5]
  • medium male = (1.5, 1.8]
  • tall male = (1.8, 2.0]
  • giant male > 2.0 m

従って、真理値も二値ではなく、以下のような5値にする。

  • agree not = 0
  • agree little = 1
  • agree somewhat = 2
  • agree a lot = 3
  • agree fully = 4

クリスプ集合(二値)の場合、1.79メートルの身長の人は単に背が低いとされる。1.8メートルや2.25メートルの人は背が高いとされる。

なお上の記述では、性別を二値情報、すなわち既知で曖昧さのない情報とみなしている。対象の性別を外見などから判断する場合、もしくは間性の存在などを考慮する場合には、性別についてもファジィ値を導入し、規則の条件部を

IF male >= agree somewhat AND ...

のようにする必要がある。

形式ファジィ論理

数理論理学には、これまで説明してきたファジィ論理をモデルとして形式体系がいくつか存在する。その多くは、いわゆるt-normファジィ論理に属する。なお、各論理体系で使われる演算は前述のザデー演算子とは異なる場合がある。

命題ファジィ論理

主な命題ファジィ論理としては、以下のものがある。

  • 基本命題ファジィ論理 BL は、論理積を連続な三角型ノルム(t-norm)で定義し、含意をt-normの残余として定義する公理化された論理である。そのモデルは BL-algebra と呼ばれる。三角型ノルムt(x,y)は以下の性質をもつ:
    • 可換性: [math]t(x,y)=t(y,x)\,\![/math]
    • 結合性: [math]t(t(x,y),z)=t(x,t(y,z))\,\![/math]
    • 単調性: [math]x \le y \Rightarrow t(x,z) \le t(y,z)[/math]
    • 単位元1: [math]t(1,x)=x\,\![/math]
  • ウカシェヴィチ・ファジィ論理は、基本ファジィ論理の特殊ケースであり、論理積はウカシェヴィチt-norm([math]t(a,b)=max\{0,a+b-1\}\,\![/math])になっている。基本的な論理公理の他に二重否定の除去も公理とし(従って直観論理ではない)、そのモデルは MV-algebra と呼ばれる。
  • ゲーデル・ファジィ論理は、基本ファジィ論理の特殊ケースであり、論理積はゲーデルt-norm([math]t(a,b)=\min\{a,b\}\,\![/math])になっている。基本的な論理公理の他に論理積の冪等性も公理とし、そのモデルは G-algebra と呼ばれる。
  • プロダクト・ファジィ論理は、基本ファジィ論理の特殊ケースであり、論理積はプロダクトt-norm([math]t(a,b)=a*b\,\![/math])になっている。そのモデルは product algebra と呼ばれる。
  • MTL(Monoidal t-norm logic)は、基本ファジィ論理を拡張したもの。
  • Rational Ravelka logic は、多値論理を拡張したもの。ウカシェヴィチ・ファジィ論理の拡張でもある。

これらは、いずれも命題論理(モデルはブール代数)を拡張したものである。

述語ファジィ論理

命題論理から一階述語論理が生成されるように、上述のファジィ論理に全称量化子存在量化子を追加すると述語ファジィ論理となる。量化された論理式のファジィ真理値について、全称量化では下限、存在量化では上限を意味する。

ファジイ論理と決定可能性

「決定可能部分集合」や「帰納的可算部分集合」は古典数学と古典論理の基本である。すると当然ながら、ファジィ集合論にそれらを拡張するという問題が生じる。このような方向性の最初の提案は、E.S. Santos による「ファジィ・チューリングマシン」、「マルコフ正規ファジィアルゴリズム」、「ファジィ・プログラム」の提唱だった[5]。それに続いて L. Biacino と G. Gerla [6]がそれらの定義が適正でないことを示し、次のようなことを提案した。Ü は [0,1] の有理数の集合を意味する。

ファジィ集合 S のファジィ部分集合 s : S [math]\rightarrow[/math][0,1] が「帰納的可算」であるのは、帰納的写像 h : S×N [math]\rightarrow[/math]Ü が存在する場合で、それはすなわち S の全ての x について関数 h(x,n) が n に対応して増加し、s(x) = lim h(x,n) となる場合である。s が「決定可能」であるのは、s とその補集合 –s が共に「帰納的可算」の場合である。Gerla 2006でL-部分集合の一般ケースでのこうした理論の拡張が示されている。提案されている定義はファジィ論理ともうまく整合している。実際、次の定理が成り立つ(ファジィ論理の推論機構が明らかな有効的特性を満たしているならば)。

定理
どのような公理化可能なファジィ理論も帰納的可算である。一般に妥当な論理式のクリスプ集合が帰納的可算でないとしても、論理的に真である論理式のファジィ集合は帰納的可算である。さらに、公理化可能で完全な任意の理論は決定可能である。

ファジィ部分集合の帰納的可算性についての提案された観念が適正なものだとしても、ファジィ論理についてチャーチ=チューリングのテーゼが成り立つかどうかは未解決の問題である。そのためには、ファジィ文法やファジィ・チューリングマシンのさらなる研究が必要である[7]。さらにその先にある未解決の問題として、ゲーデルの定理群のファジィ論理向けの拡張がある。

ファジイ・データベース

ファジィ関係が定義されれば、ファジィ関係データベースを開発することもできる。世界初のファジィ関係データベース FRDB は、Maria Zemankova が論文で発表した。その後 Buckles-Petry モデル、Prade-Testemale モデル、Umano-Fukami モデル、GEFREDモデルといったモデルも生み出されている。ファジィ・データベースという意味では、クエリのためのファジィ問い合わせ言語もいくつか定義されており、SQLf、FSQL などがある。これらはSQL文に、ファジィ的要素(ファジィ条件、ファジィ演算、ファジィ制約、ファジィ制限、ファジィしきい値、言語ラベルなど)を取り入れた構造を定義している。

確率論との比較

ファジィ論理も確率も不確かさを別の方法で表現している。ファジィ論理も確率論も主観的信念を表現できるが、ファジィ集合論ではメンバシップの概念を使い、確率論ではベイズ確率の概念を使う。この区別は主に思想的なものだが、ファジィ論理に基づく確率測度は確率論の確率測度とは本質的に異なり、直接的に等価ではない。統計学者の多くはブルーノ・デ・フィネッティの業績を信じており、数学的不確かさを論じる理論は1つで十分であって、ファジィ論理は不要だと考えている。一方バート・コスコは、確率では一種類の不確かさしか表せないのだから、確率論がファジィ論理に包含されるとした。彼はまた、ファジィ集合論の概念からベイズの定理を導出できることを証明したと主張している。ファジィ論理を生み出したロトフィ・ザデーは、ファジィ論理は確率とは異なる性格を持つとし、確率を代替するものではないとした。彼は確率論の代替となる Possibility Theory も生み出している[8]

脚注・出典

  1. Fuzzy Logic”. Stanford Encyclopedia of Philosophy. Stanford University (2006年7月23日). . 2008閲覧.
  2. Zadeh, L.A. (1965). "Fuzzy sets", Information and Control 8 (3): 338–353.
  3. Novák, V., Perfilieva, I. and Močkoř, J. (1999) Mathematical principles of fuzzy logic Dodrecht: Kluwer Academic. ISBN 0-7923-8595-0
  4. Zadeh, L. A. et al. 1996 Fuzzy Sets, Fuzzy Logic, Fuzzy Systems, World Scientific Press, ISBN 9810224214
  5. Santos 1970
  6. Biacino & Gerla 2002
  7. Wiedermann 2004
  8. Novák, V. Are fuzzy sets a reasonable tool for modeling vague phenomena?, Fuzzy Sets and Systems 156 (2005) 341—348.

参考文献

  • Von Altrock, Constantin (1995年). Fuzzy logic and NeuroFuzzy applications explained. Upper Saddle River, NJ: Prentice Hall PTR. ISBN 0-13-368465-2. 
  • Biacino, L.; Gerla, G. (2002), “Fuzzy logic, continuity and effectiveness”, Archive for Mathematical Logic 41 (7): 643-667, doi:10.1007/s001530100128, ISSN 0933-5846 
  • Cox, Earl (1994年). The fuzzy systems handbook: a practitioner's guide to building, using, maintaining fuzzy systems. Boston: AP Professional. ISBN 0-12-194270-8. 
  • Elkan, C. (1994年). “The Paradoxical Success of Fuzzy Logic”. IEEE Expert 9 (4): 3-8. doi:10.1109/64.336150. ISSN 0885-9000. . Elkan's home pageから入手可能
  • Gerla, Giangiacomo (2006), “Effectiveness and Multivalued Logics”, Journal of Symbolic Logic 71 (1): 137-162, ISSN 0022-4812 
  • Hájek, Petr (1998年). Metamathematics of fuzzy logic. Dordrecht: Kluwer. ISBN 0792352386. 
  • Hájek, Petr (1995年). “Fuzzy logic and arithmetical hierarchy”. Fuzzy Sets and Systems 3 (8): 359-363. doi:10.1016/0165-0114(94)00299-M. ISSN 0165-0114. 
  • Halpern, Joseph Y. (2003年). Reasoning about uncertainty. Cambridge, Mass: MIT Press. ISBN 0-262-08320-5. 
  • Höppner, Frank; Klawonn, F.; Kruse, R.; Runkler, T. (1999年). Fuzzy cluster analysis: methods for classification, data analysis and image recognition. New York: John Wiley. ISBN 0-471-98864-2. 
  • Ibrahim, Ahmad M. (1997年). Introduction to Applied Fuzzy Electronics. Englewood Cliffs, N.J: Prentice Hall. ISBN 0-13-206400-6. 
  • Klir, George J.; Folger, Tina A. (1988年). Fuzzy sets, uncertainty, and information. Englewood Cliffs, N.J: Prentice Hall. ISBN 0-13-345984-5. 
  • Klir, George J.; St Clair, Ute H.; Yuan, Bo (1997年). Fuzzy set theory: foundations and applications. Englewood Cliffs, NJ: Prentice Hall. ISBN 0133410587. 
  • Klir, George J.; Yuan, Bo (1995年). Fuzzy sets and fuzzy logic: theory and applications. Upper Saddle River, NJ: Prentice Hall PTR. ISBN 0-13-101171-5. 
  • Kosko, Bart (1993). “Fuzzy Logic”. Scientific American 269 (1): 76–81. doi:10.1038/scientificamerican0793-76. 
  • Kosko, Bart (1993年). Fuzzy thinking: the new science of fuzzy logic. New York: Hyperion. ISBN 0-7868-8021-X. 
  • Montagna, F. (2001年). “Three complexity problems in quantified fuzzy logic”. Studia Logica 68 (1): 143-152. doi:10.1023/A:1011958407631. ISSN 0039-3215. 
  • Mundici, Daniele; Cignoli, Roberto; D'Ottaviano, Itala M. L. (1999年). Algebraic foundations of many-valued reasoning. Dodre: Kluwer Academic. ISBN 0-7923-6009-5. 
  • Novák, Vilém (1989). Fuzzy Sets and Their Applications. Bristol: Adam Hilger. ISBN 0-85274-583-4. 
  • Novák, Vilém (1999年). Mathematical principles of fuzzy logic. Dodrecht: Kluwer Academic. ISBN 0-7923-8595-0. 
  • Novák, Vilém (2005). “On fuzzy type theory”. Fuzzy Sets and Systems 149: 235–273. doi:10.1016/j.fss.2004.03.027. 
  • Passino, Kevin M.; Yurkovich, Stephen (1998年). Fuzzy control. Boston: Addison-Wesley. ISBN 020118074X. 
  • Pedrycz, Witold; Gomide, Fernando (2007). Fuzzy systems engineering: Toward Human-Centerd Computing. Hoboken: Wiley-Interscience. ISBN 978047178857-7. 
  • Pu, Pao Ming; Liu, Ying Ming (1980). “Fuzzy topology. I. Neighborhood structure of a fuzzy point and Moore-Smith convergence”. Journal of Mathematical Analysis and Applications 76 (2): 571–599. doi:10.1016/0022-247X(80)90048-7. ISSN 0022-247X 
  • Santos, Eugene S. (1970), “Fuzzy Algorithms”, Information and Control 17 (4): 326–339, doi:10.1016/S0019-9958(70)80032-8 
  • Scarpellini, Bruno (1962). “Die Nichaxiomatisierbarkeit des unendlichwertigen Prädikatenkalküls von Łukasiewicz”. Journal of Symbolic Logic 27 (2): 159-170. doi:10.2307/2964111. ISSN 0022-4812. 
  • Steeb, Willi-Hans (2008). The Nonlinear Workbook: Chaos, Fractals, Cellular Automata, Neural Networks, Genetic Algorithms, Gene Expression Programming, Support Vector Machine, Wavelets, Hidden Markov Models, Fuzzy Logic with C++, Java and SymbolicC++ Programs: 4edition. World Scientific. ISBN 981-281-852-9. 
  • Van Pelt, Miles (2008). Fuzzy Logic Applied to Daily Life. Seattle, WA: No No No No Press. ISBN 0-252-16341-9. 
  • Wiedermann, J. (2004), “Characterizing the super-Turing computing power and efficiency of classical fuzzy Turing machines”, Theor. Comput. Sci. 317: 61-69 
  • Wilkinson, R.H. (1963). “A method of generating functions of several variables using analog diode logic”. IEEE Transactions on Electronic Computers 12: 112–129. doi:10.1109/PGEC.1963.263419. 
  • Yager, Ronald R.; Filev, Dimitar P. (1994年). Essentials of fuzzy modeling and control. New York: Wiley. ISBN 0-471-01761-2. 
  • Zadeh, L.A. (1968年). “Fuzzy algorithms”. Information and Control 12 (2): 94-102. doi:10.1016/S0019-9958(68)90211-8. ISSN 0019-9958. 
  • Zadeh, L.A. (1965年). “Fuzzy sets”. Information and Control 8 (3): 338-­353. doi:10.1016/S0019-9958(65)90241-X. ISSN 0019-9958. 
  • テンプレート:Cite paper
  • Zimmermann, H. (2001年). Fuzzy set theory and its applications. Boston: Kluwer Academic Publishers. ISBN 0-7923-7435-5. 

関連項目

外部リンク

解説
リンク集
ソフトウェアとツール
  • fuzzyTECH フリーの教育ソフトウェアなど
  • InrecoLAN FuzzyMath OpenOffice.org Calc 向けのファジィ論理アドイン
  • JFuzzyLogic オープンソース(Java)ファジィ論理パッケージとFCL(Fuzzy Control Language)
  • XmlMiner ファジィ論理に基づく多目的マイニングエンジン
  • Open Source Software "mbFuzzIT" (Java)
  • Xfuzzy ファジィ論理設計ツール
  • Peach Pythonによる計算知能
  • Funzy Javaによるファジィ論理推論エンジン
  • DotFuzzy C#によるオープンソースのファジィ論理ライブラリ
  • pyfuzzylib Pythonによるオープンソースのファジィ論理ライブラリ
  • pyfuzzy Pythonによるオープンソースのファジィ論理パッケージ
  • RockOn Fuzzy Javaによるオープンソースのファジィ制御・シミュレーションツール
  • FFLL (Free Fuzzy Logic Library) C++のファジィ論理ライブラリ
  • FuzzyLite C++によるオープンソースのファジィ論理ライブラリ
入門
応用例

テンプレート:Logic