NTT DATA

DATA INSIGHT

NTTデータの「知見」と「先見」を社会へ届けるメディア

絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
background-image-careers
2016年5月27日技術ブログ

自動運転システムとルールベースシステム

自動運転システムでは、「モノ」を対象にする制御工学から、「ヒト」を対象にする人間工学・認知科学・情報工学にモデルが移っています。今回は、ルールベースシステムを自動運転システムに適用する際の問題と対策を紹介します。

自動運転システム

ブレーキやステアリングなどいわゆる手足を電子式に制御してきた時代から、ドライバー(運転手)という頭脳の代わりをシステムが実施する時代になってきました。自動運転システムを作るという事は、熟練したドライバーの臨機応変な運転スキルを制御システムに組み込むということです参考1。「モノ」を対象にする制御工学から「ヒト」を対象にする人間工学・認知科学・情報工学にモデルが移っていくことになります。図1に、熟練ヒューマンオペレーターを3つの振舞(行動)レベルに分類した認知学者ラスムッセンのSRK(Skill-Rule-Knowledge)モデルを示します参考2

【図】

図1:熟練ヒューマンオペレーターレベル

自動運転システムは「認知」「判断」「操作」という処理に分かれます。認知は歩行者や車両を的確に検出します。判断は認知の結果から実行すべき行動を決定します。操作は自車の走行を制御します参考3。判断に関しては、今までの経験値から導出できるルールによる判断と、ルールでは想定していなかった状況での判断との2種類があります。

内閣府SIP-adus参考4では自動走行システムを準自動走行システムと完全自動走行システムに分けています。SIP-adusレベル3は加速・操舵・制動を全て自動車が行い、緊急時のみドライバーが対応する状態を準自動走行システムと定義しています。レベル3はSRKモデルのルールベース振舞で、過去の経験と学習によって獲得したルールによる意識的制御です。ルールでは想定していなかった場合に、ドライバーに判断を委ねるのがレベル3です。SIP-adusレベル4は加速・操舵・制動を全てドライバー以外が行い、ドライバーが全く関与しない状態を完全自動走行システムと定義しています。レベル4はSRKモデルの知識ベース振舞で不慣れな状況で目的達成に向けて高次元な概念レベルで行う制御です。ルールでは想定していなかった場合でも何らかの手段により自動運転できるのがレベル4になります。自動運転システムとSRKモデルとの関係を図2に示します。

【図】

図2:自動運転システムとSRKモデルとの関係

ルールベースシステム

ルールベースシステムはエキスパートシステムまたはプロダクションシステムとも呼ばれ、if-then形式のルールを用いて問題解決を行うシステムのことです。古典的なルールベースではルール解析のオーバーヘッドが問題になります。既知の事実とルール群を順次照合し、適合するルールを実行していくため、処理性能は期待できません。古典的ルールベースを改善するために、効率的にルールマッチングを行うReteアルゴリズムが提唱されました。Reteアルゴリズムは新たな事実が表明、更新されると、その事実に関連したルールだけを呼び出すようにして処理性能を上げます参考5。Reteアルゴリズムを実装したルールベースをプロダクションシステムと呼ぶことが多いです。プロダクションシステムの基本構成を図4に示します参考6

【図】

図3:プロダクションシステムの基本構成

ルールベースシステム(プロダクションシステム)は、エンタープライズ分野ではBRMS(Business Rules Management System)として実務に適用されています。例えば、規則の組み合わせが複雑な保険の審査や保険料の算定、あるいは携帯電話の割引条件や料金算定など、ルール変更が頻繁な業務システムに使われています参考7。古典的エキスパートシステムではルールの設定にはナレッジエンジニアと呼ばれる専門家が必要とされていましたが、BRMSは決定表(デシジョンテーブル)によりプログラミングすることなしに、ルールの登録・変更ができ、一般の担当者でも運用できるようになっています。さらにBRMSでは、ビジネスルールをアプリケーションから切り離して管理することによってビジネス上の規則変更や価格改定に機敏に対応でき、かつ既存の会計処理システムとの独立性を高めたアーキテクチャーにすることで、ルールの更新で全システムのリグレッションテスト(プログラム変更によって想定外の影響が起きていないかを確認するテスト)工数を削減できます参考8

自動運転システムへのルールベース適用の課題

ルールベースシステムを自動運転システムに適用する際の問題の1つに、リアルタイム性能があります。最近のBRMSでは、金融取引や、クレジットカード不正検知、ネットワークへのサイバーテロ検出など、リアルタイムで処理結果が得られなければ意味がないシステムにルールベースが適用されています。この実現を支える技術の1つにCEP(複合イベント処理)があります参考9

CEPはある一定時間内で発生するイベントを複合的に解釈して、ある意味のある事実としてワーキングメモリーに登録します(図5参照)。大量に発生し続けるイベント「センサー入力(神経生理学的な感覚入力)」、「シグナル(時空間における連続定量的指標)」を複合的に処理して、「サイン(物理的な兆候)」を抽出します(図1参照)。抽出された意味あるイベント(サイン)を受け取った判断系は、「走る」「曲がる」「止まる」「つながる」それぞれのタスクの状態を調停し、必要なルールを決めます。必要なルールはCEPによって格納された意味あるイベントに応じて操作系を発火(実行)させます。

ルールベースとCEPを装備したシステムは、エンタープライズ分野ではエッジ側に配備されることが多いです。しかしエンタープライズ分野のエッジと組込み分野のECU(Electronic Control Unit)では使えるリソースが違います。例えばDrools参考10はルールベースとCEPの両方を装備したシステムです。しかしながらDroolsはJAVA環境が動作するリッチなリソースを要求しますので、この点がECUに実装する際の課題になります。

【図】

図4:複合イベント処理動作概要

もう1つの問題としてメモリー問題があります。BRMSに用いられるルールベースシステムには、OPS5、CLIPS、Droolsなど多くのものがあります。これらのシステムではワーキングメモリーの事実に動的メモリーを採用するため、メモリー枯渇やガベージコレクションが問題となります。この問題を解決するには静的メモリー構造を持つルールベースシステムが必要になります。現在、キャッツ社ではルールベースシステムによるDRMS(Driver Rule Management System)を研究中です。

参考文献

お問い合わせ