(前項に続く)
さて、次の違いを見てみましょう。これはむしろ周辺環境の時代変化による違いだとも言えますが、
3.エキスパートシステムが流行っていた時代と比べて、コンピュータの性能が格段にアップし、メモリなどのリソースも潤沢となっている。
ルールエンジンというものは一般的に通常のアプリケーションよりメモリを食います。以前、ルールエンジンのコアアルゴリズムとして一般的なReteアルゴリズムについて書きましたが、このReteアルゴリズムではデータとルールの条件部分とのマッチング速度を稼ぐために、ルールとデータの部分的なマッチング状態もメモリ上に保持しているので、メモリを食わないわけがないというわけです。
この問題、昔は結構制約となる問題で、そのおかげでエキスパートシステムはリソースの豊富なワークステーションでしか動かせなかったりしたものでした。しかし現在はPCでも普通にギガレベルのメモリを積みCPUの速さも格段に速くなったので、それなりの大きさの問題をPC上で動かせるようになっています。PCが開発環境や運用環境に利用できるようになったことで、ルールエンジンは、以前に比べずいぶんと身近になったと言えましょう。
そんな身近になったルールエンジンですが、このルールエンジン、アルゴリズム上、比較的単純なことを行うにもメモリやCPUパワーなどのリソースを通常のアプリよりも贅沢に使います。これに関して、そんなにメモリを消費して如何なものか?という意見も聞こえてきそうですが、これはルールエンジンに限らず、WindowシステムなどのGUIやRDBMSなども昔の技術に比べればパワーを贅沢に使っているものではないかと・・・人間にとって扱いやすくすることと引き換えに、リソースを贅沢に使うようになるというのは時代の常なのかもしれませんね。
また周辺環境の時代変化による違いとしてもうひとつ
4.システム間でのデータの受け渡しが容易になってきている。
エキスパートシステムが流行っていた時代、企業の基幹システムが汎用機上で動いている一方、エキスパートシステムは、それらシステムとは切り離されたワークステーション上でスタンドアローンで動いているのが一般的でした。前にも書いたと思いますが、エキスパートシステムを動かすための基礎データを入力するために、汎用機とワークステーションの間で、フロッピーでデータをやりとりしていたこともあります。
ところが、現在のBRMSは、基幹システムなどの他のシステムとは、たとえばWebサービス、EJBなどを用いて以前に比べればずいぶんと容易にデータの受け渡しが可能となっています。
このシステム間でのデータのやりとりの障壁が劇的に低くなったことのおかげで、ルールエンジンの適用分野もぐっとひろがりました。そもそもルールエンジンがスタンドアローンでクローズなコンピュータの上に載っている時代に、ルールで一般的な業務システムの入力の相関チェックをやろうという発想が出てくるとも思えないでしょう。
以上、ビジネスルール管理システム(BRMS)とエキスパートシステムという題で書き続けてきました。エキスパートシステムはIT技術の表舞台から去って20年あまり経ちます。ところが、まあ20年も経つとコンピュータの周辺環境も大きく変わって、以前大きな制約となっていたリソースやデータの受け渡しなどの問題が飛躍的に改善されてきた…というか制約として認識されない程度にまで環境が改善してしまいました。それにともない以前は応用人工知能という枠の中に収まってしまっていたルールエンジンも、利用する上での敷居が大幅に低くなり、「BRMS」として新たな開発環境、運用環境、方法論をともなって適用分野を広げ再生してきています。
さらに最近では「ビジネスルール」の管理システムというところから、「デシジョン」管理システム(意思決定管理システム)、「ナレッジ オートメーション」という方向に進んできています。デシジョン管理という言葉は、もともとFICOが「Enterprise Decision Management」と言いだしたのがはじまりですが、最近ではIBMなども、ツールの名称を IBM WebSphere Operational Decision Management と改称したり、時代の流れとしてはそういった方向に行っています。
いずれそういったところもブログで書いていこうかと思っておりますが、ひとまずは参考文献として、
文献
Decision Management System (2011)
をあげておきます。
コメント