エキスパートシステムの思ひ出1(なぜ今またルールベースに光があたっているのか)

ルールベースシステムと言うと、かつてはエキスパートシステム、今はBRMSということになるでしょう。知っている方は知っているかと思いますがエキスパートシステムと言えば、一時は産業界への人工知能応用の旗手としてもてはやされていた技術でした。

(・・・「でした」とか「思ひ出」とか書くと、過去の技術のように思われてしまいますが今も技術としては、いろいろなところで地味に使われています)

しかし、あれほど脚光を浴びたエキスパートシステムも次第に尻すぼみになってしまう一方、また、エキスパートシステムの技術とともに育ってきたルールベースの技術は、今再び光を当てられ、今までのエキスパートシステムとは微妙に違う(と私は思います)分野でBRMSとして使われるようになってきています。

ここでは、なぜかつてのエキスパートシステムが尻すぼみとなったか、逆になぜルールベースが今また流行りつつあるのか、かつて生産計画関連のシステムに携わっていた者として、その時代のエキスパートシステムと今のBRMSとの違いを見ながらちょっとまとめてみようかと思います。(昔エキスパートシステムでルールベースをごりごり書いていて、今更何でルールベース?と言っている方のために・・・)

まずは、エキスパートシステムブームが去っていった理由として、この辺はさまざまな意見があるかと思いますが、個人的には以下のようなところかなと思っています。まず一つめ。

・エキスパートシステムは、人間のエキスパートのアドホックな知識をルール化していくことでプロトタイピングで作っていったが、ルールの連鎖が次第に把握できなくなりメンテしきれなくなった

→ルールベースシステムは、ルールを組み合わせてシステムを構築していくので、比較的追加・変更がしやすく、その性質からプロトタイピング的にシステムが作られていくことが普通でした。エキスパートシステムの構築もその例にもれず、まずは小さなシステムを作成し、人間のエキスパートによる解と比較評価しながらエキスパートから足りないルールを引き出して徐々に成長させていくというのが開発方法論でした。

そのころルールベースシステムは、複雑な条件判断を含んだり明確な決まったアルゴリズムが存在しないような問題に対し適していると言われていました。もちろん通常の手続き型の言語で書くよりは適していると言えるのですが、そもそも複雑な問題はどのような手段でも複雑であって、やはりあまりに大規模で複雑な問題に対してはルールベースで書いたところで複雑になります(たぶん手続き型言語で書くよりは格段に単純化できるとは思いますが)

エキスパートシステムも最初は人がハンドリングできる程度の小さなシステムであっても、エキスパートのきちんと整理しにくいアドホックな知識を次々ルール化して問題解決力をチューンナップしていく過程で、規模が大きくなってきたときに次第にルールのメンテナンスができなくなるのはある意味当然のことかもしれません。

同じような言い方ですが、その昔システムが解決しようとする問題には、良い構造の(well-structured)問題と、悪い構造の(ill-structured)問題のふたつがあり、エキスパートシステムが特にターゲットとしているのは、この悪い構造の問題であると説明されていました。

ここで良い構造の問題というのは、明確で決まったアルゴリズムがあって、それに沿って実行していけば解答が得られる問題で、悪い構造の問題というのは明確なアルゴリズムを持たない、たとえば専門家が勘と経験に頼って判断したり解決している問題です(生産計画とか設計とか診断とか)。

エキスパートシステムが主に対象とするのはこのような悪い構造の問題なのでルールをきちんと整理するのも難しく、こういった面でもメンテに影響が出てきたのは想像に難くないでしょう。

では一方、今のBRMSはそこのところどうなのかと考えてみると

・現在のBRMSの使い方の主流は、上で言う「良い構造を持った問題」であるが、条件分岐などが複雑で、また変更が多い場合に使われています。手続き型の if-then で書けば書けるだけの明確なアルゴリズムにはなるはずだが、条件分岐が複雑で変更があった場合を考えると、ちょっと手続き的に書くのはしんどいなあ・・・という場合がそうでしょう。携帯電話の料金計算とか、保険の審査とかルールは明確に決まっているが複雑というのがまさにそうでしょう(ただこの中に、ルールを四角四面に解釈せず多少てごころを加えるなどという「エキスパート的な」話が入ってくるととたんに上であげた「悪い構造の問題」になってきます)。
そういう意味では現在のBRMSは、ルールベースプログラミングを、複雑な条件分岐を書きやすく変更しやすいプログラミングパラダイム(テクニック)として使っていると言えましょう。

実は、現在のBRMS は、ルールベースの言語として見た場合、その昔の OPS5 や Clips と本質的に変わっているわけではありません。ツールとして行えることは、本質的にはエキスパートシステム華やかなりし時代と何ら変わっていないので、昔と同じことをやろうとすれば程度の差こそあれ同じように袋小路に入っていくというのは今も昔も変わりません。まあ、結局昔も今も複雑なものは複雑だということでしょうか。

コメント

  1. […] エキスパートシステムの思ひ出1(なぜ今またルールベースに光があたっているのか) エキスパートシステムの思ひ出2(なぜ今またルールベースに光があたっているのか) […]

  2. […] エキスパートシステムの思ひ出1(なぜ今またルールベースに光があたって… エキスパートシステムの思ひ出2(なぜ今またルールベースに光があたっているのか) […]

タイトルとURLをコピーしました