ルールベースシステムを知れば、あばれる頭を制御できる
#基本編 #人工知能
こんにちは。なもなです。
今回は、人工知能をかたちづくる手法のひとつ、ルールベースシステムについておはなししていきますね。
ルールベースシステム(別名:プロダクション・システム)という情報処理システムの特徴は、人間の思考と行動のパターンから着想を得てつくられたたものであることです。
…ということは。
つまり、このシステムがわかれば、それを参考にしてこんがらがった脳内を整理できる、と言ってもいいでしょう!
私は、このルールベースシステムが、特に頭の中が暴走しがちな方や つい他者と比較してしまう方などにとても役立つのではないかと期待しています。
ロボットにレストランで接客させるには?
では、直観的に理解するためにこんな例え話をしましょう。
あなたは、レストランの経営者です。
人件費削減のため、あなたは従順な接客ロボットを一体つかうことにしました。
さて、どのようにロボットに仕事を命じますか?
一例として、次のようなルールをロボットにプログラミングすることができます。
ルール1:もし入口にお客さんが来たら、そのときロボットは人数を確認すること
ルール2:もしお客さんの人数が1人であれば、そのときロボットはカウンター席Aに案内すること
ルール3:もし人数が3人または4人であれば、そのときロボットはテーブル席Fに案内すること
ルール4:もし席が決まって注文がまだのお客さんがいれば、そのときロボットはそのお客さんのところへ水を持っていくこと
ルール5:もし呼び鈴が押されたら、そのときロボットはその席に行き要件をきくこと
ルール6:もし厨房に「料理ができた」サインが出たら、そのときロボットは注文のあった席に料理を持っていくこと
ルール7:もしレジにお客さんが来たら、そのときロボットは会計をすること
上に挙げたルールのうち、
前半の「もし~たら」の部分はレストラン内で起こるできごとのうち、特定のものであり、ロボットの行動の条件をあらわす部分です。
後半の「そのときロボットは~」の部分は条件にあてはまる状態のときにロボットにしてほしい行動をあらわす部分です。
ロボットが、自分で考えてその場その場にふさわしい行動をするほど高機能でないときは、店主がレストラン内で起こりうる あらゆる状態についての条件と行動を、もれなく重複無く記述することが必要です。
もし、来店と注文がまったく同時に起きたら?
では、おこりうるあらゆる状態についてのルールを定めておけば、ロボットは完璧に接客ができるでしょうか?
ある程度はうまくいきそうです。
しかし、もし万一、まったく同じ瞬間に
入り口にお客さんがやってきて
奥の席では別のお客さんが呼び鈴を鳴らしたら?
ロボットはフリーズしてしまうのでしょうか?
いいえ、人工知能の学問はこういう事態もすでに織り込み済みです。
もし、生じている状況とロボットが持つルールの条件部が一致する組み合わせが同時にいくつもできたら、その中のどの組み合わせをまず実行するかを決める仕組みがあります。これを「競合解消」といいます。
ロボットとはいえ同時に二つのことはできませんから、店主は状況が競合することを前提に、競合解消戦略、つまり迷ったときはどうするかをプログラムしておく必要があるのです。
たとえば、ルールの行動部の重要度を考えて、それらに優先順位を設定しておくという戦略があります
1番目:料理をはこぶ
2番目:来店したお客さんへの席の案内
3番目:呼び鈴への対応
このような方向性で考えれば、ロボットにもさまざまな状況に対応した接客ができそうです。
いかがでしょうか。
意外と簡単だとおもいませんか?
そして、人間が複雑な状況に対応していると思える場面も、同じように分解して書き表すことができそうではありませんか?
ルールベースシステムの基本 まとめ
・ある状況を条件として、そのときに行う行動をプログラムしておく(ルール)
・現実に、ある状況が生じる
・ルールと状況を照らし合わせて一致したら、その行動を実行する
※競合したときは、あらかじめ定めておいた戦略で競合解消する
特定の場での、人間の思考ー行動パターンもこれと同じだといえます。
ただし、人間がロボットと異なるのは、ルールも 状況の読み取り方も 競合解消策でさえも、自分でコントロールできる所です。
そう、人間は自分でコントロール可能なんです。
これについては近日 別の記事でより詳しくおはなししますね。
↓↓ぜひ読者登録して、私のおしりに火をつけてください!!