現在コンピュータは、高度に発達した社会、人間生活を維持するには不可欠です。しかし、コンピュータは人間の感覚とは程遠いものです。ソフトコンピューティングとは、人間が日常的に行なう多様な問題解決や行為に、適度の曖昧さが含まれていることに着目し、精密さを過度に求めることを避け、扱いやすさ、頑健性、低コストを実現するための情報処理の研究です。つまり、確実さを犠牲にして計算効率をあげるということです。そしてこれによって人間とコンピュータの間にある壁を低くすることを目的としています。
ソフトコンピューティングの具体的な応用例として次の理論を紹介します。
ソフトコンピューティングは、この他にもファジィ理論等の様々な展開を見せ、その将来性の高さに注目が集まっています。
「人工知能」とは、まるで人間のようにふるまう機械を想像するのではないでしょうか?これは正しいとも、間違っているともいえます。なぜなら、人工知能の研究には二つの立場があるからです。一つは、人間の知能そのものをもつ機械を作ろうとする立場、もう一つは、人間が知能を使ってすることを機械にさせようとする立場です。そして、実際の研究のほとんどは後者の立場にたっています。ですので、人工知能の研究といっても、人間のような機械を作っているわけではありません。
それでは、実際の研究ではどのようなことをしているのでしょうか?人工知能の研究には、人工知能研究で紹介しますようにいろいろな分野があります。ここでは、この中から「推論」と「学習」を取り上げます。
「推論」とは「知識をもとに,新しい結論を得ること」です。
「学習」は何か機械が勉強をする感じがしますが、ここでは「情報から将来使えそうな知識を見つけること」です。
学習の一例として、お客さんの買い物の内容を調査(データマイニング技術のバスケット分析と呼ばれる技術で、R.AgrawalのAprioriアルゴリズムなどの手法が有名です)について取り上げます。
あるコンビニエンス・ストアーには人工知能搭載のレジが設置されています。このレジは、お客さんがどんな買い物をしていったかを記録することができます。
では、一人目のお客さんの買い物が記録されるようすを見てみましょう。ちょっと変な取り合わせの買い物ですがパン、おにぎり、牛乳を一個ずつ買っていきました。学習は「情報から将来使えそうな知識を見つけること」といいましたが、このお客さんの買い物の内容がこの情報にあたります。
情報が手に入ったので、人工知能搭載レジは「将来使えそうな知識」を見つけようとしましたが、情報不足で見つけられませんでした。ですのでもう少し情報の収集に努めます。すると,二人目のお客さんがきました。このお客さんは牛乳と新聞を買っていきました。
同じように三人目のお客さんはお弁当とお茶、四人目のお客さんはパン、牛乳、ガムを買っていきました。四人目までのお客さんの買い物の内容をまとめると図のようになります。ここで、赤で囲ったパンと、青で囲った牛乳に注目してください。一人目と四人目のお客さんはパンを買っていますが、一緒に牛乳も買っています。このことから、パンを買ったお客さんは牛乳も一緒に買う(このような規則性のことをアソシエーション・ルールと呼びます.バスケット分析はこれを発見するための技術です)ということが分かります。これは将来使えそうなことがらです。例えば、パンと牛乳の売り場を近くに陳列しておくともっと牛乳が売れるかもしれません。というわけで、人工知能搭載レジは、お客さんの買い物という情報から将来使えそうな知識を見つけだしました。これが、人工知能の研究でいうところの学習です。また、ここに述べた例は単純なものですが、例えばネットショッピングで、あなたにお勧めの商品が提示されることがありますが、基本のしくみは同じです。
人工知能の学習はもちろんこれだけではありません。「情報」には、文字だったり、カメラでとった写真だったり、マイクで録った音だったりといろいろあります。一方、「将来使えそうな知識」にもいろいろな種類がたくさんあります。加えて、情報から将来使えそうな知識をどんな方法で見つけだすのか、また情報や、将来使えそうな知識をどんなふうにコンピュータの中にしまっておけば良いのかなど、数多くの問題があり、多くの研究がなされています。
個人的に今興味があるのは、最近日本IBMが始めたオートノミック・コンピューティングのプロジェクトです。これは、結構注目!!!
人工生命とは、「生命現象の特質や現象を、システムとして実現することにより解明する研究、またその技術的応用」です。人工生命では対象とする生命を現存する生命だけでなく、進化の過程で滅んできた生命、他の天体の生命等まったく架空の生命も含まれたものとしています。つまり、現存する生命は、存在しうる生命の実例の一つに過ぎないという考え方です。また人工生命による生命のとらえ方は、「強人工生命」と「弱人工生命」という立場で主張されています。研究によって実際の生命を作り出すことができると主張する立場が「強人工生命」であり、研究によって可能なのはシミュレーションにとどまるという立場が「弱人工生命」と呼ばれています。
また、生命現象の本質は創発であるとも主張されています。自然を上下方向に分類した場合、下は素粒子等の物質から始まり、原子・分子、RNA/DNA、タンパク質、細胞、組織、生体、個体、社会、政治・経済、文化、精神と上に行くほど人間に近づく階層ができ、これを階層構造といいます。下位の方ほどミクロなシステムであり、上位の方ほどマクロなシステムです。ミクロなシステムが一つの構成要素となり、それが集まってマクロなシステムを形成します。下位の自由運動が上位のパターンを生み、またこの上位のパターンが下位の境界条件となって個々の運動を間接的に規定する中で、上下双方向の非線形的な絡みから生じる上位のパターンが下位の運動から予測不可能で、質的に別レベルのものが現れてくる現象を創発と呼びます。時代が進むとともにその予測の不可能さの度合いは変動していますが、この上下双方向の非線形的な絡みから生じる創発が生命の本質であることは疑いありません。
現在判明している人間の知能を対象にして工学的に実現しようという研究の人工知能は、階層構造に従うならばトップダウンな接近方法です。対して人工生命ではボトムアップな接近方法で生命の本質に迫っています。また、人工生命の著しい特徴には、非明示性・無目的性、集団性、進化可能性があり、実世界における生命の進化方法を従順になぞっていると言えます。これらのことから、人工生命では人工知能とはまったく逆からの接近方法で生命の本質に迫っていることが分かります。人工生命は、計算機科学者、工学者、生物学者、数学者、物理学者、化学者、哲学者、言語学者、経済学者、アーティスト等様々な種類の人々が、共通の問題意識は持ちながらも、専門の分野においてどのように応用させるかについて研究が行われてきました。いくつかの分野では手法として確立しています。しかし現時点では、人工生命という新しい科学・工学の独自の分野を確立するということは難しいと言わざるを得ません。21世紀の技術的基盤は、電子・コンピュータ・通信技術になるでしょう。そこで生命からヒントを得て、人々に受け入れられる技術を実現できれば、そのときが人工生命と創発システムが体制となるときです。
カオスには二つの意味があります。ひとつは哲学としての「全くの混沌」、そしてもうひとつは複雑系での「予測不可能な決定論」です。ここではもちろん後者を扱います。
まず、カオスについて軽く触れておきます。それは初期条件を与えれば、未来が予測可能なニュートン力学を大きく揺るがえすもので数学的には決定論に従いますが、何らかの原因によって近似値ではなく全く違う値が出されてしまうものです。
つまり、カオスは科学の新しい領域を切り開きつつあるといえます。今までの科学は物事を単純にしてきましたが、この新しい科学はどこまでも複雑に関連する分野を広げていっています。その解析に有効な手段は、やはりコンピューターで現在ソフトコンピューティングによるシミュレーションが研究されています。
遺伝的アルゴリズムとは、ある問題に対する最適な解を求めるための手法といえるでしょう。この手法はもともと、生物の世界にある遺伝の法則をまねて作られたもので、複数の解を、遺伝的に変化させながら、より良い解を求めていくものです。
GAでは解を遺伝子という形で表現します。これは解の持つ特徴を一定のルールに従って記述したもので、このルールを決めて遺伝子を決定することをコーディングといいます。つまり、問題をどう表現をするかということになります。
コーディングに誤りがあったり、あまり問題に適していなかったりすると良好な結果は得られません。また、コーディングの仕方によってはいわゆるGAの操作(交叉や突然変異)を行ったときにその効果が均等に現れない可能性もあります。
右の図は基本的なGAの例です。ただし、これは1例であり必ずしもこの通りである必要はありません。図はフローチャートの形式になっていますので、上から順に説明したいと思います。
まず、初期集団を用意します。初期集団というのは解の集団であり、GAではこれを個体群と呼びます。初期集団となる個体群はこういうデータといった決まりは無く、ランダムに作り出したものであったり、何らかのデータが用意されていればそこから用意したりしてもかまいません。
次に評価を行います。現在の個体群の中に条件を満たす解が含まれているなど、一定の条件を満たしたとき、GAは終了します。終了条件を、解とGAの世代(計算回数)の条件を用意すると、解の判定用の条件が厳しすぎたときにGAが終わらなくなるのを防ぐことができます。
選択では、個体群の全ての個体(解)について適合度を求めて、この適合度に基づき次の世代に残す個体を決定します。適合度というのは、解の評価の高さのようなものです。問題によって求め方は変わりますが、良い解ほど高い適合度が得られるように評価関数を設定します。また、選択の方法についてもさまざまな手法があります。問題によって適したものを選ぶとよいでしょう。一般に解を表現型に直すと評価しやすいと思います。
交叉と突然変異はGAオペレータと呼ばれ、GAを特徴づけるものです。ともに、遺伝の法則をヒントに作られたもので交叉では複数の親(一般には二つ)から遺伝子を受け継ぐ新しい個体(子)を作ります。突然変異では、低い確率で起き、遺伝子の一部が変化します。 ここで、交叉の目的は両方の親から、別々の良い形質を受け継ぐより良い遺伝子を作り出すことであり、突然変異の目的は遺伝子が局所的な最適解に落ち着いてしまうことを防ぎ、より広い範囲で最適な解を探すことにあります。
交叉と突然変異を繰り返すだけでは、遺伝子をいろいろ変化させるだけですが、選択により適合度の低い個体は順次淘汰される仕組みになっているため、結果的には良い方向に変化をした個体が生き残っていきます。まさしく、自然界における生き物の進化と同じことが起きているわけです。
今や GA が(対象によっては)大いに役に立つ手法であることは明らかです。 それらは、エアコン制御、バスダイヤ生成、プラント運営計画、エレベータ制御、ボーリング位置配置、分子系統樹推定などである。これまでは条件が複雑すぎたり、組み合わせ数が多すぎて、手を出すことさえできなかった問題に対してさえ、実用に耐える解を示すことができるようになった。また、従来手法を上回る解を短時間で探索できるようになりました。
GA は、問題に対するアプローチの仕方(ポリシー)であるので、対象分野はさまざまであり、実装の詳細においてはそれぞれに異なる工夫が施されています。
フラクタルとはマンデルブロー(Mandelbrot)が海岸線や樹木の形などをシミュレートするための一つの数学的理想化として提案された概念です。(フラクタルはギリシャ語のfractusからきています)
フラクタル図形の特徴とは、単純な操作の繰り返しにより複雑な図形を得ることにあります。このことから、フラクタルな図形を観察した際に図形がその内部の一部と相似しているという自己相似を見ることができます。
この技術をソフトコンピューティングに利用すると、単純な式を利用するだけで複雑な結果を求められます。それはより自然に近いものになるという事を示しています。
ファジィとは、オペレータの経験的知識のあいまいさを含むif-then形式を用いて記述する方法で、ファジィ推論は、入出力データの非線形な入出力関係を精度よく簡単に表現することが出来ます。
またニューラルネットワークは脳神経細胞(ニューロン)を模擬とした情報処理モデルとしたもので、学習機能によりデータの適合性に優れています。
このようにファジィとニューラルネットワークは、人間の論理や生体の構造を模擬した新しいデータ処理法で、両者を融合したものをファジィ・ニューラルネットワークと呼びます。これらの融合にはさまざまな方法があり、その融合方法によって融合の度合いに違いが出てきます。この融合方法は研究者によって多少の違い(9種類、11種類など)が出てくるが内容的にあまり差は見られません。
ここで専門的のことを述べるより、身近にあるものでファジィ・ニューラルネットワークが何に使われているかを紹介します。今の時期(この文章は冬に作成したもの)に使用する石油ファンヒータでは、従来のものでは、設定された温度に室温を保つ制御を行ってきましたが、この場合外気温が低いとき、室温が20℃でも壁の温度が低い場合があり、このとき壁からの輻射熱が原因で部屋の中にいる人は寒く感じるのです。そこでファジィ・ニューラルネットワークを用いることになります。石油ファンヒータが検出できる情報は、室温センサの出力、輻射センサの出力、湿度センサの出力、燃焼量、送風量、室温設定値です。これらの情報と、設計者が作成したファジィ・ニューラルネットワークのルールを適合することにより、従来の石油ファンヒータの室温だけでなく、輻射熱等を考えた快適な部屋空間を実現できるようになるのです。