量子コンピュータとルールエンジンの関係2019-12-14量子コンピュータとルールエンジンの関係こんにちは。HatにてMiddlewareを中心にソリューションアーキテクトをやっている梅野です。Qiitaの14日目の投稿です。昨日のルール駆動開発rheb.hatenablog.comに引き続き、ルールエンジンの話題を。量子コンピュータって?皆さんは量子コンピュータという言葉は一度はお聞きになっているかと思います。今までのコンピュータと何が違うのかというと、今までのは「チューリングマシン」と呼ばれる原理に基づき「フォイ・ノイマン型アーキテクチャ」で作られており、データを0か1かで表現していました。それが量子コンピュータでは「非ノイマン型」として、量子力学的な考え方で「重ね合わせ」の原理で動作します。データも0か1だけではなく、複数の状態を表すことができ、それは並列性を実現できるコンピュータになります。「ノイマン型」とは、実行すべき命令が記憶媒体の中で順番に並んでおりBusを通じて一つ一つ取り出されて実行される、いわゆるシーケンシャルな動きを指しますが、「非ノイマン型」とは、必要なデータが揃っていれば実行できる命令を決定するという動作のことを指します。思われている節がありますが、それは結果的な話であり、解へのアプローチが異なることは理解しておく必要があります。この量子コンピュータも、2つのタイプがあります。一つは量子回路型(ゲート型)、もう一つは量子アニーリング型というものです。量子回路型では、データの探索、パターンマッチング、シミュレーション等に利用が見込まれます。量子アニーリング型は組合せ最適化処理に利用が見込まれます。Managerは、この2つができるのです!(むしろ、この2つのみできる...)ルールエンジンって?ルールエンジンの本質はパターンマッチング技術を使っていることです。ルールエンジンと聞くと、エクセルのようなスプレットシートのテーブル形式でルールが書けるという事ばかりが先行していますが、それは仮の姿で、パターンマッチングが本来の使い方になります。RETEアルゴリズムをベースとしているので、「データがルールを検索して実行し、しかも再帰的に評価と実行を行う」という、「非ノイマン型」な動作を行います。Reserchから生まれた探索アルゴリズムが複数搭載されており、組合せ最適化問題に使われています。Problem)やシフト計画等の事例がどんどん出始めています。今のコンピュータは量子力学に基づいていないので、「シミュレーション」したアニーリングというわけですが、これが「リアル」なアニーリングが実現できる量子コンピュータになると、爆速で最適解が見つかると思われます。ロジックに比べるとより大量のデータに対して高速に動作することが可能です。国内の事例では、2100万件のデータとのマッチングで2ms以下で答えを返すなんてこともやっています。繰り返しを超高速で行います。判断のところが遅いと使い物にならないのです。その意味でもルールエンジンによる高速判断は重要になります。量子コンピュータは凄いですが、もうその技術に触れることが出来るならば素敵じゃないですか?!技術者魂をくすぐられませんか?!残念ながらこの資料の中身についてのお問合せは有償になってしまいますが、まずはルールエンジンでパターンマッチング技術を試してみてはいかがでしょうか。https://www.optaplanner.org/www.optaplanner.orgよりダウンロードしてサンプルを動作させることが可能です。