(57)【要約】  本技術は、スキルが異なるエージェントが協調して効率的にタスクを実行することができるようにする情報処理装置及び情報処理方法に関する。情報処理装置は、２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を含む。情報処理方法は、２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを含む。本技術は、例えば、複数のエージェントが協調してタスクを行うエージェントシステムに適用できる。
2018110314.tif 000002
【特許請求の範囲】
【請求項１】
２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を
備える情報処理装置。
【請求項２】
タスク及びエージェントのうち少なくとも１つに関する情報の提示を制御する提示制御部を
さらに備える請求項１に記載の情報処理装置。
【請求項３】
前記提示制御部は、前記タスクの効率化が可能なエージェントのスキルの提示を制御する
請求項２に記載の情報処理装置。
【請求項４】
前記提示制御部は、前記タスクに必要なスキルの提示を制御する
請求項２に記載の情報処理装置。
【請求項５】
提示制御部は、前記タスクを実行するエージェントのスキルの提示を制御する
請求項２に記載の情報処理装置。
【請求項６】
前記提示制御部は、追加又は置き換えが可能なエージェントのスキルの提示をさらに制御する
請求項５に記載の情報処理装置。
【請求項７】
実行したアクション、前記アクションの実行前の状態、及び、前記アクションに対する報酬を含む情報である作業報告を各前記エージェントから受信する通信部を
さらに備える請求項１に記載の情報処理装置。
【請求項８】
前記作業報告に基づいて、タスクの分配に用いるデータの学習を行う学習部を
さらに備える請求項７に記載の情報処理装置。
【請求項９】
前記学習部は、前記作業報告に基づいて生成される状態とアクションの組合せからなるデータの分布をクラスタリングした結果に基づいて、前記スキルモデルを定義するスキルの種類の学習を行う
請求項８に記載の情報処理装置。
【請求項１０】
前記学習部は、前記作業報告に基づいて、各タスクに必要なスキルを示すデータの学習を行う
請求項８に記載の情報処理装置。
【請求項１１】
前記学習部は、前記作業報告に基づいて、各前記エージェントの前記スキルモデルの学習を行う
請求項８に記載の情報処理装置。
【請求項１２】
各前記エージェントの前記スキルモデルを受信する通信部を
さらに備える請求項１に記載の情報処理装置。
【請求項１３】
前記分配部は、さらに各前記エージェントの状態に基づいて、前記タスクの少なくとも一部を前記エージェントに割り当てる
請求項１に記載の情報処理装置。
【請求項１４】
前記分配部は、前記タスクを複数のサブタスクに分け、前記サブタスクを前記エージェントに割り当てる
請求項１に記載の情報処理装置。
【請求項１５】
前記分配部は、さらに前記サブタスクを前記エージェントの実行単位であるアクションに分け、前記アクションを前記エージェントに割り当てる
請求項１４に記載の情報処理装置。
【請求項１６】
タスクを実行する実行部を
さらに備え、
２以上の前記エージェントは、前記情報処理装置を含む
請求項１に記載の情報処理装置。
【請求項１７】
２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを
含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置及び情報処理方法に関し、特に、複数のエージェントが協調してタスクを実行する場合に用いて好適な情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来、ディープラーニングを用いて、複数のアーム型のロボットにより物体を掴む動作を学習する技術が開示されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Sergey Levine、他３名、"Learning HandEye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection"、２０１６年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に記載の発明では、全てのロボットが同じモデルであると仮定して、共通のポリシーを学習しており、スキルが異なるロボットが協調してタスクを行うことは考慮されていない。【０００５】
そこで、本技術は、スキルが異なるエージェント（例えば、ロボット等）が協調して効率的にタスクを実行できるようにするものである。
【課題を解決するための手段】
【０００６】
本技術の一側面の情報処理装置は、２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を備える。【０００７】
タスク及びエージェントのうち少なくとも１つに関する情報の提示を制御する提示制御部をさらに設けることができる。【０００８】
前記提示制御部には、前記タスクの効率化が可能なエージェントのスキルの提示を制御させることができる。【０００９】
前記提示制御部には、前記タスクに必要なスキルの提示を制御させることができる。【００１０】
提示制御部には、前記タスクを実行するエージェントのスキルの提示を制御させることができる。【００１１】
前記提示制御部には、追加又は置き換えが可能なエージェントのスキルの提示をさらに制御させることができる。【００１２】
実行したアクション、前記アクションの実行前の状態、及び、前記アクションに対する報酬を含む情報である作業報告を各前記エージェントから受信する通信部をさらに設けることができる。【００１３】
前記作業報告に基づいて、タスクの分配に用いるデータの学習を行う学習部をさらに設けることができる。【００１４】
前記学習部には、前記作業報告に基づいて生成される状態とアクションの組合せからなるデータの分布をクラスタリングした結果に基づいて、前記スキルモデルを定義するスキルの種類の学習を行わせることができる。【００１５】
前記学習部には、前記作業報告に基づいて、各タスクに必要なスキルを示すデータの学習を行わせることができる。【００１６】
前記学習部には、前記作業報告に基づいて、各前記エージェントの前記スキルモデルの学習を行わせることができる。【００１７】
各前記エージェントの前記スキルモデルを受信する通信部をさらに設けることができる。【００１８】
前記分配部には、さらに各前記エージェントの状態に基づいて、前記タスクの少なくとも一部を前記エージェントに割り当てさせることができる。【００１９】
前記分配部には、前記タスクを複数のサブタスクに分け、前記サブタスクを前記エージェントに割り当てさせることができる。【００２０】
前記分配部には、さらに前記サブタスクを前記エージェントの実行単位であるアクションに分け、前記アクションを前記エージェントに割り当てさせることができる。【００２１】
タスクを実行する実行部をさらに設け、２以上の前記エージェントには、前記情報処理装置を含ませることができる。【００２２】
本技術の一側面の情報処理方法は、２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを含む。【００２３】
本技術の一側面においては、２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部が前記エージェントに割り当てられる。
【発明の効果】
【００２４】
本技術の一側面によれば、スキルが異なるエージェントが協調してタスクを実行することができる。特に、本技術の一側面によれば、スキルが異なるエージェントが協調して効率的にタスクを実行することができる。【００２５】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２６】
【図１】本技術を適用したエージェントシステムの第１の実施の形態を示すブロック図である。
【図２】図１の指示エージェントの構成例を示すブロック図である。
【図３】スキルモデルの例を示す図である。
【図４】タスクテーブルの例を示す図である。
【図５】作業履歴マップの例を示す図である。
【図６】図１の作業エージェントの構成例を示すブロック図である。
【図７】指示エージェントの処理を説明するためのフローチャートである。
【図８】図１のエージェントシステムの処理を説明するためのフロー図である。
【図９】作業指示処理の詳細を説明するためのフローチャートである。
【図１０】作業分担の方法を説明するための図である。
【図１１】提示される情報の第１の例を示す図である。
【図１２】提示される情報の第２の例を示す図である。
【図１３】提示される情報の第３の例を示す図である。
【図１４】学習処理の詳細を説明するためのフローチャートである。
【図１５】スキルの第１の定義方法を示す図である。
【図１６】スキルの第２の定義方法を示す図である。
【図１７】スキルの第３の定義方法を示す図である。
【図１８】スキル群の更新方法を説明するための図である。
【図１９】スキルモデルの学習方法を説明するための図である。
【図２０】作業エージェントの処理を説明するためのフローチャートである。
【図２１】本技術を適用したエージェントシステムの第２の実施の形態を示すブロック図である。
【図２２】図２１の作業エージェントの構成例を示すブロック図である。
【図２３】図２１のエージェントシステムの処理を説明するためのフロー図である。
【図２４】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、発明を実施するための形態（以下、「実施形態」と記述する）について図面を用いて詳細に説明する。なお、説明は以下の順序で行う。
１．第１の実施形態（指示エージェントが存在する場合）
２．第２の実施形態（指示エージェントが存在しない場合）
３．変形例
４．応用例
【００２８】
＜＜１．第１の実施形態＞＞
まず、図１乃至図２０を参照して、本技術の第１の実施形態について説明する。
【００２９】
＜エージェントシステム１０の構成例＞
図１は、本技術を適用したエージェントシステム１０の構成例を示している。
【００３０】
エージェントシステム１０は、指示エージェント１１及び作業エージェント１２−１乃至作業エージェント１２−ｎを備え、各エージェントが協調して各種のタスクを実行するシステムである。エージェントシステム１０は、現実世界、又は、コンピュータシミュレーション等の仮想世界のいずれにおいても実現され得る。
【００３１】
ここで、エージェントとは、ソフトウエア、ハードウエア等を用いて各種のタスクを実行する現実又は仮想の存在のことである。例えば、エージェントがロボットである場合、現実に存在するロボットだけでなく、コンピュータによるシミュレーション等で仮想的に存在するロボットも、エージェントに含まれる。また、エージェントには、人等の生物も含まれ得る。
【００３２】
また、エージェントシステム１０が実行するタスクに特に制限はなく、エージェントシステム１０は、任意のタスクを実行することができる。
【００３３】
指示エージェント１１は、与えられたタスクを実行するために、各作業エージェント１２に指示を出すエージェントである。
【００３４】
作業エージェント１２−１乃至作業エージェント１２−ｎは、指示エージェント１１からの指示に従って、協調してタスクを実行するエージェントである。なお、作業エージェント１２−１乃至作業エージェント１２−ｎの数は、２以上の任意の数に設定することができる。また、作業エージェント１２−１乃至作業エージェント１２−ｎには、個体差があり、スキルが異なる少なくとも２種類のエージェントが含まれる。
【００３５】
なお、以下、作業エージェント１２−１乃至作業エージェント１２−ｎを個々に区別する必要がない場合、単に作業エージェント１２と称する。
【００３６】
また、以下、主に、指示エージェント１１及び各作業エージェント１２が、コンピュータ等によるシミュレーションにより仮想的に存在するロボットである場合を例に挙げて説明する。
【００３７】
＜指示エージェント１１の構成例＞
図２は、指示エージェント１１の機能の構成例を示している。指示エージェント１１は、情報取得部５１、通信部５２、情報処理部５３、提示部５４、及び、記憶部５５を備える。
【００３８】
情報取得部５１は、例えば、各種のセンサ、各種の入力デバイス等の外部からの情報を取得可能なデバイス等を備え、外部から各種の情報を取得する。情報取得部５１は、取得した情報を情報処理部５３に供給する。
【００３９】
通信部５２は、例えば、任意の方式の通信デバイス等を備え、各作業エージェント１２と通信を行う。通信部５２は、各作業エージェント１２から受信したデータを情報処理部５３に供給する。また、通信部５２は、各作業エージェント１２に送信するデータを情報処理部５３から取得する。
【００４０】
情報処理部５３は、例えば、プロセッサ等の情報処理を行うデバイス等を備え、指示エージェント１１の各種の情報処理を行う。情報処理部５３は、分配部６１、提示制御部６２、及び、学習部６３を備える。
【００４１】
分配部６１は、情報取得部５１及び通信部５２を介して、外部及び各作業エージェント１２から取得した情報に基づいて、各作業エージェント１２が実行するタスクの分配を行う。また、分配部６１は、通信部５２を介して、各作業エージェント１２に割り当てたタスクの実行を指示する。
【００４２】
提示制御部６２は、提示部５４による画像、音声、光等による各種の情報の提示を制御する。
【００４３】
学習部６３は、タスクの分配に用いるデータの学習を行う。例えば、学習部６３は、スキルモデル、スキル群、及び、タスクテーブルの学習を行う。
【００４４】
スキルモデルは、各作業エージェント１２のスキルを示すモデルである。例えば、学習部６３は、各作業エージェント１２のスキルモデルを外部（例えば、ユーザ）から取得し、学習処理により適宜更新する。
【００４５】
図３は、作業エージェントＡ及び作業エージェントＢのスキルモデルをレーダーチャートにより表した例を示している。この例では、パワー、スピード、慎重性を含む各種のスキルのレベルが数値により表されている。
【００４６】
スキル群は、スキルモデルを定義するスキルの種類を表すデータである。例えば、学習部６３は、スキル群を外部（例えば、ユーザ）から取得し、学習処理により適宜更新する。
【００４７】
タスクテーブルは、各タスクに必要なスキルを示すデータである。図４は、タスクテーブルの例を示している。タスクテーブルには、各作業エージェント１２が実行可能なタスクが登録されている。また、各タスクを実行するのに必要な各スキルのレベルが示されている。例えば、「扉を塞いでいる物をどかす」というタスクには、パワーがレベル５以上、スピードがレベル２以上、慎重性がレベル１以上必要であることが示されている。例えば、学習部６３は、タスクテーブルを外部（例えば、ユーザ）から取得し、学習処理により適宜更新する。
【００４８】
また、学習部６３は、各作業エージェント１２からの作業報告に基づいて、作業履歴マップを生成する。
【００４９】
図５は、作業履歴マップの例を示している。作業履歴マップは、例えば、状態、アクション、及び、報酬の３軸を有し、各作業エージェント１２が実行したアクション、アクションを実行する前の状態（以下、事前状態と称する）、及び、実行したアクションに対する報酬の組合せからなるデータの分布を示す。
【００５０】
提示部５４は、例えば、ディスプレイ、スピーカ、発光デバイス等により構成され、画像、音声、光等により各種の情報を提示する。
【００５１】
記憶部５５は、例えば、各種の記憶媒体により構成され、指示エージェント１１の処理に必要なデータやプログラム等を記憶する。例えば、記憶部５５は、各作業エージェント１２のスキルモデル、タスクテーブル、作業履歴マップ等を記憶する。
【００５２】
＜作業エージェント１２の構成例＞
図６は、作業エージェント１２の機能の構成例を示している。作業エージェント１２は、情報取得部１０１、通信部１０２、情報処理部１０３、実行部１０４、及び、記憶部１０５を備える。
【００５３】
情報取得部１０１は、例えば、各種のセンサ、各種の入力デバイス等の外部からの情報を取得可能なデバイス等を備え、外部から各種の情報を取得する。情報取得部１０１は、取得した情報を情報処理部１０３に供給する。
【００５４】
通信部１０２は、例えば、任意の方式の通信デバイス等を備え、指示エージェント１１と通信を行う。通信部１０２は、指示エージェント１１から受信したデータを情報処理部１０３に供給する。また、通信部１０２は、指示エージェント１１に送信するデータを情報処理部１０３から取得する。
【００５５】
情報処理部１０３は、例えば、プロセッサ等の情報処理を行うデバイス等を備え、作業エージェント１２の各種の情報処理を行う。情報処理部１０３は、実行制御部１１１及び学習部１１２を備える。
【００５６】
実行制御部１１１は、情報取得部１０１及び通信部１０２を介して、外部及び指示エージェント１１から取得した情報に基づいて、実行部１０４によるタスク（より詳細にはタスクを分解したアクション）の実行を制御する。また、実行制御部１１１は、情報取得部１０１を介して外部から取得した情報に基づいて、アクションの実行前の状態（事前状態）、及び、アクションの実行後の状態（以下、事後状態と称する）を検出する。さらに、実行制御部１１１は、情報取得部１０１又は通信部１０２等を介して、実行したアクションに対する報酬を取得する。また、実行制御部１１１は、通信部１０２を介して、実行したアクションに関する情報を含む作業報告を指示エージェント１１に送信する。
【００５７】
学習部１１２は、情報取得部１０１及び通信部１０２を介して、外部及び指示エージェント１１から取得した情報に基づいて、タスクの実行方法（例えば、タスクを実行するためのアクションの組合せ等）の学習を行う。
【００５８】
実行部１０４は、タスク（より詳細には、各種のアクション）を実行するためのデバイス等により構成される。実行部１０４が実行可能なアクションの種類は、特に限定されない。例えば、平衡系、移動系、操作系といった物理的なアクションだけでなく、思考、計算、分析、創作等の人でいう精神的な活動を行うアクションも含まれる。そして、実行部１０４が実行可能なアクションの種類やレベルは、作業エージェント１２毎に設定される。
【００５９】
記憶部１０５は、例えば、各種の記憶媒体により構成され、作業エージェント１２の処理に必要なプログラムやデータ等を記憶する。
【００６０】
＜エージェントシステム１０の処理＞
次に、図７乃至図２０を参照して、エージェントシステム１０の処理について説明する。
【００６１】
＜指示エージェント１１の処理＞
まず、図７のフローチャート及び図８のフロー図を参照して、指示エージェント１１の処理について説明する。
【００６２】
なお、図８のフロー図は、指示エージェント１１、作業エージェントＡ及び作業エージェントＢの２つの作業エージェント１２、並びに、世界（現実世界又は仮想世界）間のデータの流れを示している。
【００６３】
ステップＳ１において、分配部６１は、タスクの実行が指示されたか否かを判定する。例えば、ユーザは、エージェントシステム１０に実行させるタスクを示すタスク指示情報を指示エージェント１１に入力する。分配部６１は、情報取得部５１を介して、入力されたタスク指示情報を取得した場合、タスクの実行が指示されたと判定し、処理はステップＳ２に進む。
【００６４】
なお、タスクの指示方法には特に制限はないが、例えば、「災害支援を行う」、「家を建てる」等の比較的抽象的な内容で指示することが可能である。また、一度に複数のタスクを指示することも可能である。
【００６５】
ステップＳ２において、指示エージェント１１は、作業指示処理を実行し、その後、処理はステップＳ３に進む。
【００６６】
ここで、図９のフローチャートを参照して、作業指示処理の詳細について説明する。
【００６７】
ステップＳ３１において、分配部６１は、タスクをサブタスクに分解する。例えば、分配部６１は、与えられたタスクを各作業エージェント１２に指示することが可能なレベルまで分解する。これにより、与えられたタスクが１以上のサブタスクに分解される。なお、以下、サブタスクに分ける前のタスクをサブタスクと区別する場合、メインタスクと称する。
【００６８】
例えば、「災害支援を行う」というメインタスクが、「扉を塞いでいる物をどかす」、「人を助けに行く」等のサブタスクに分解される。なお、メインタスクが単純な場合、メインタスクとサブタスクが等しくなる場合がある。
【００６９】
このとき、分配部６１は、協調してメインタスクを実行する作業エージェント１２（以下、実行メンバーと称する）の構成に基づいて、より効率的にメインタスクを実行できるように、メインタスクを適切にサブタスクに分ける。
【００７０】
ステップＳ３２において、分配部６１は、記憶部５５に記憶されているタスクテーブル（図４）に基づいて、各サブタスクに必要なスキルを求める。
【００７１】
ステップＳ３３において、分配部６１は、作業分担を行う。具体的には、分配部６１は、各サブタスクに必要なスキルと、記憶部５５に記憶されている各作業エージェント１２のスキルモデルに基づいて、各作業エージェント１２にサブタスク（メインタスクの少なくとも一部）を割り当てる。
【００７２】
例えば、分配部６１は、各作業エージェント１２のスキルモデルに基づいて、各サブタスクについて、実行可能なスキルを有する作業エージェント１２を抽出する。そして、分配部６１は、作業の効率や作業時間等を考慮して、各作業エージェント１２に割り当てるサブタスクを決定する。
【００７３】
このとき、分配部６１は、各作業エージェント１２の状態を考慮して、サブタスクを分配してもよい。例えば、分配部６１は、各作業エージェント１２からの情報に基づいて、各作業エージェント１２の位置、及び、サブタスクを実行する場所等を示す探索マップを生成する。そして、分配部６１は、各作業エージェント１２のスキルモデルに加えて、各作業エージェント１２とサブタスクを実行する場所との位置関係により、作業分担を行う。
【００７４】
例えば、図１０に示されるように、作業エージェント１２−１に対して、近くの現場２０１−１におけるサブタスクが割り当てられ、作業エージェント１２−２に対して、近くの現場２０１−２におけるサブタスクが割り当てられる。
【００７５】
また、例えば、分配部６１は、各作業エージェント１２からの情報に基づいて、状態行動対の探索マップを生成する。そして、分配部６１は、未探索の状態行動対に対する探索を、その状態に近い作業エージェント１２に実行させる。これにより、例えば、エージェントシステムがコンピュータシミュレーションにより実現される場合、多くの種類の状態行動対に対するデータをより迅速に収集し、より迅速にシミュレーションの結果を収束させることができる。
【００７６】
さらに、例えば、分配部６１は、与えられたタスク（メインタスク）のコンテキスト（例えば、文脈、状況）に基づいて、作業分担を決定する。例えば、分配部６１は、「掃除する」というタスクが与えられた場合、状況に応じて、床掃除を行う作業エージェント１２、又は、机の上の掃除を行う作業エージェント１２のいずれにサブタスクを割り当てるかを決定する。
【００７７】
ステップＳ３４において、分配部６１は、所要時間を計算する。すなわち、分配部６１は、各作業エージェント１２に割り当てたサブタスク、及び、各作業エージェント１２のスキルに基づいて、全てのサブタスクが完了し、メインタスクが完了するまでに必要な時間を計算する。
【００７８】
ステップＳ３５において、提示部５４は、提示制御部６２の制御の下に、タスクの所要時間等を提示する。ここで、図１１乃至図１３を参照して、提示される情報の具体例について説明する。なお、図１１乃至図１３は、エージェントシステム１０がコンピュータシミュレーション等の仮想世界において実現される場合に提示される情報の例を示している。
【００７９】
図１１のウインドウ２１１内には、実行メンバーに関する情報（例えば、作業エージェント１２の種類、数、及び、スキルモデル）が示されている。具体的には、実行メンバーであるドローン型のロボットＡ及びヒューマノイド型のロボットＢの台数、及び、スキルモデルを示す横棒グラフが示されている。また、メインタスク（全てのサブタスク）に必要な各種のスキルの合計値が示されている。さらに、メインタスク（全てのサブタスク）終了までの所要時間（具体的には、３時間）が示されている。
【００８０】
これにより、ユーザは、実行メンバーの構成、メインタスクのスキル毎の負荷、及び、メインタスクの所要時間等を容易に把握することができる。
【００８１】
図１２のウインドウ２２１は、図１１のウインドウ２１１と比較して、予備メンバー欄２２２が追加されている点が異なる。
【００８２】
ここで、予備メンバーとは、現時点で実行メンバーではないが、実行メンバーへの追加、又は、実行メンバーとの置き換えが可能な作業エージェント１２のことである。
【００８３】
予備メンバー欄２２２には、予備メンバー（この例では、予備ロボット）の種類及びスキルモデルが示されている。具体的には、円盤型のロボット及びクレーン型のロボットが、予備メンバーに登録され、各ロボットのスキルモデルが示されている。
【００８４】
例えば、ユーザは、予備メンバー欄２２２内の作業エージェント１２をドラックし、予備メンバー欄２２２の外にドロップすることにより、その作業エージェント１２を実行メンバーに追加することができる。また、ユーザは、予備メンバー欄２２２の外の作業エージェント１２をドラッグし、予備メンバー欄２２２内にドロップすることにより、その作業エージェント１２を実行メンバーから外し、予備メンバーにすることができる。
【００８５】
これにより、ユーザは、実行メンバーを容易に変更することができる。また、実行メンバーが変更されると、後述するように変更後の実行メンバーによるメインタスクの所要時間が計算され、ウインドウ２２１内に表示される。これにより、ユーザは、作業効率の良い適切な実行メンバーを容易に選択することができる。
【００８６】
図１３のウインドウ２３１は、図１１のウインドウ２１１と比較して、推奨スペック欄２３２が追加されている点が異なる。
【００８７】
推奨スペック欄２３２には、実行メンバーへの追加を推奨する作業エージェント１２のスキルモデルが示されている。換言すれば、推奨スペック欄２３２には、追加することによりタスクの効率化が可能な作業エージェント１２（例えば、タスクの所要時間を大幅に短縮可能な作業エージェント１２）のスキルモデルが示されている。また、推奨スペック欄２３２の下には、推奨スペック欄２３２に示されるスキルモデルを持つ作業エージェント１２を追加した場合、作業時間を削減できる旨を示すメッセージが表示されている。さらに、その下には、推奨する作業エージェント１２を実行メンバーに追加する前のメインタスクの所要時間と、追加した後のメインタスクの所用時間が示されている。
【００８８】
これにより、ユーザは、どのようなスキルモデルを持つ作業エージェント１２を追加すれば、作業が効率化され、メインタスクの所用時間が短縮されるかを容易に把握することができる。その結果、ユーザは、適切な作業エージェント１２を実行メンバーに追加することができる。
【００８９】
図９に戻り、ステップＳ３６において、分配部６１は、実行メンバーが変更されたか否かを判定する。例えば、ユーザは、実行メンバーを変更する場合、実行メンバーの変更を指示する実行メンバー変更情報を指示エージェント１１に入力する。分配部６１は、情報取得部５１を介して、入力された実行メンバー変更情報を取得した場合、実行メンバーが変更されたと判定し、処理はステップＳ３１に戻る。
【００９０】
その後、ステップＳ３６において、実行メンバーが変更されなかったと判定されるまで、ステップＳ３１乃至ステップＳ３６の処理が繰り返し実行される。すなわち、実行メンバーが変更される毎に、サブタスクの組合せ及び作業分担が変更され、メインタスクの所用時間が再計算され、メインタスクの所要時間等が再提示される。
【００９１】
一方、ステップＳ３６において、実行メンバーが変更されなかったと判定された場合、処理はステップＳ３７に進む。
【００９２】
ステップＳ３７において、分配部６１は、各作業エージェント１２に作業を指示する。具体的には、分配部６１は、実行を依頼するサブタスクを示す作業指示情報を作業エージェント１２毎に生成する。そして、分配部６１は、通信部５２を介して、各作業エージェント１２に作業指示情報を送信する。例えば、図８に示されるように、指示エージェント１１から作業エージェントＡ及び作業エージェントＢに作業指示情報が送信される。
【００９３】
その後、作業指示処理は終了する。
【００９４】
図７に戻り、一方、ステップＳ１において、タスクの実行が指示されていないと判定された場合、ステップＳ２の処理はスキップされ、処理はステップＳ３に進む。
【００９５】
ステップＳ３において、学習部６３は、作業エージェント１２から作業報告を受信したか否かを判定する。
【００９６】
具体的には、各作業エージェント１２は、後述する図２０のステップＳ１０４において、アクションを実行した後、ステップＳ１０７において、実行したアクションに対する作業情報を送信する。作業報告は、実行したアクション、事前状態、事後状態、実行したアクションに対する報酬、及び、その他の情報を含む。
【００９７】
そして、学習部６３が、通信部５２を介して、作業エージェント１２から送信された作業報告を受信したと判定した場合、処理はステップＳ４に進む。
【００９８】
ステップＳ４において、学習部６３は、学習処理を実行し、その後、処理はステップＳ１に戻る。
【００９９】
ここで、図１４のフローチャートを参照して、学習処理の詳細について説明する。
【０１００】
ステップＳ６１において、学習部６３は、作業履歴マップを更新する。具体的には、学習部６３は、作業報告に示される、実行したアクション、事前状態、及び、実行したアクションに対する報酬の組合せからなるデータを作業履歴マップに追加する。
【０１０１】
ステップＳ６２において、学習部６３は、スキル群を更新するか否かを判定する。
【０１０２】
ここで、図１５乃至図１７を参照して、作業履歴マップのうち状態とアクションの２軸からなる空間マップ（以下、状態行動空間マップと称する）におけるスキルの定義方法の例について説明する。なお、状態行動空間マップは、各作業エージェント１２からの作業報告に基づいて生成される、状態（事前状態）とアクションの組合せからなるデータの分布を示す。
【０１０３】
図１５は、アクションのみによりスキルが定義される例を示している。例えば、領域２４１Ａの範囲内に含まれるアクションに対して、パワーが対応付けられている。すなわち、事前状態に関わらず、領域２４１Ａの範囲内に含まれるアクションに必要なスキルが、パワーであると定義されている。例えば、領域２４１Ａの範囲内に含まれるアクションには、物体を持ち上げる、押す、投げる等が含まれる。また、例えば、領域２４１Ｂの範囲内に含まれるアクションに対して、スピードが対応付けられている。すなわち、事前状態に関わらず、領域２４１Ｂの範囲内に含まれるアクションに必要なスキルが、スピードであると定義されている。
【０１０４】
図１６は、事前状態とアクションの組合せにより、スキルが定義される例を示している。例えば、領域２４２Ａの範囲内の状態ｓｉとアクションａｉの組合せに対して、パワーが対応付けられている。すなわち、事前状態が領域２４２Ａの範囲内の場合に領域２４２Ａの範囲内のアクションを実行するのに必要なスキルは、パワーであると定義されている。例えば、状態ｓｉは、重さが所定の範囲以内の物体が目の前にある状態を含み、アクションａｉは、物体を持ち上げる、押す、投げる等のアクションを含む。また、例えば、領域２４２Ｂの範囲内の状態とアクションの組合せに対して、スピードが対応付けられている。すなわち、事前状態が領域２４２Ｂの範囲内の場合に領域２４２Ｂの範囲内のアクションを実行するのに必要なスキルは、スピードであると定義されている。
【０１０５】
図１７は、アクションのみ、又は、事前状態とアクションの組合せにより、スキルが定義される例を示している。例えば、領域２４３Ａの範囲内の状態とアクションの組合せに対して、スピードが対応付けられている。すなわち、事前状態が領域２４３Ａの範囲内の場合に領域２４３Ａの範囲内のアクションを実行するのに必要なスキルは、パワーであると定義されている。また、例えば、領域２４３Ｂの範囲内に含まれるアクションに対して、スピードが対応付けられている。すなわち、事前状態に関わらず、領域２４３Ｂの範囲内に含まれるアクションに必要なスキルが、スピードであると定義されている。
【０１０６】
例えば、学習部６３は、作業履歴マップのデータのクラスタリングを行う。そして、例えば、学習部６３は、図１８に示されるように、クラスタリングの結果を状態行動空間マップに投影した場合に、新たなクラスタ２４３Ｃが見つかったとき、スキル群を更新すると判定し、処理はステップＳ６３に進む。なお、他にも、例えば、クラスタの分割、統合、削除等により、クラスタの分布が変化した場合、スキル群を更新すると判定され、処理はステップＳ６３に進む。
【０１０７】
ステップＳ６３において、学習部６３は、スキル群を更新する。具体的には、学習部６３は、状態行動空間マップにおけるクラスタに対応する領域のうち、スキルが割り当てられていない領域に新たなスキルを割り当てる。これにより、クラスタが追加又は分割された場合、スキル群に含まれるスキルの種類が増加する。一方、クラスタが統合又は削除された場合、スキル群に含まれるスキルの種類が減少する。なお、学習部６３により設定されるスキルは、必ずしも人間が解釈できるスキルとは限らない。
【０１０８】
このように、各作業エージェント１２を観測することにより、スキル群が学習される。
【０１０９】
その後、処理はステップＳ６４に進む。
【０１１０】
一方、ステップＳ６２において、学習部６３は、状態行動空間マップのクラスタの分布が変化していない場合、スキル群を更新しないと判定し、ステップＳ６３の処理はスキップされ、処理はステップＳ６４に進む。
【０１１１】
ステップＳ６４において、学習部６３は、スキルモデル及びタスクテーブルを更新する。具体的には、学習部６３は、スキル群を更新した場合、更新したスキル群に合わせて、各作業エージェント１２のスキルモデルにおけるスキルの種類を変更する。
【０１１２】
また、学習部６３は、作業報告を送信してきた作業エージェント１２のスキルモデルを更新する。具体的には、学習部６３は、状態行動空間マップに基づいて、作業エージェント１２が実行したアクション、又は、事前状態とアクションの組み合わせに対して必要なスキルを検出する。
【０１１３】
そして、例えば、学習部６３は、作業エージェント１２が、実行したアクションに対して正の報酬を得ている場合、作業エージェント１２のスキルモデルの該当するスキルのレベルを上げる。例えば、図１９のＡに示されるように、作業エージェント１２が、重さｘｋｇの物を持ち上げた場合、スキルモデルのパワーのレベルが上がる。
【０１１４】
一方、例えば、学習部６３は、作業エージェント１２が、実行したアクションに対して負の報酬を得ている場合、作業エージェント１２のスキルモデルの該当するスキルのレベルを下げる。例えば、図１９のＢに示されるように、作業エージェント１２が、物を落として壊した場合、スキルモデルの慎重性のレベルが下がる。
【０１１５】
また、例えば、学習部６３は、作業エージェント１２が、実行したアクションに対して報酬を得ていない場合、作業エージェント１２のスキルモデルを変更しない。
【０１１６】
なお、スキルモデルのレベルには、上限が設けられても、設けられなくてもよい。また、上限が設けられる場合、例えば、各作業エージェント１２間で、スキルモデルのレベルを正規化するようにしてもよい。
【０１１７】
このように、スキルモデルの学習を行うことにより、各作業エージェント１２の強みと弱みが把握される。
【０１１８】
また、学習部６３は、作業報告に基づいて、必要に応じてタスクテーブルを更新する。例えば、学習部６３は、作業エージェント１２が新たなサブタスクを実行した場合、そのサブタスクをタスクテーブルに追加する。また、学習部６３は、作業エージェント１２が実行したサブタスク、及び、作業エージェント１２のスキルモデルに基づいて、必要に応じてタスクテーブルの必要スキルの値を更新する。
【０１１９】
その後、学習処理は終了する。
【０１２０】
図７に戻り、一方、ステップＳ３において、作業報告を受信していないと判定された場合、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。
【０１２１】
次に、図２０のフローチャート及び図８のフロー図を参照して、図７の指示エージェント１１の処理に対応して作業エージェント１２により実行される処理について説明する。
【０１２２】
ステップＳ１０１において、実行制御部１１１は、作業が指示されたか否かを判定する。ステップＳ１０１の判定処理は、作業が指示されたと判定されるまで、例えば所定の間隔で繰り返し実行される。そして、実行制御部１１１は、図９のステップＳ３７において指示エージェント１１から送信された作業指示情報を、通信部１０２を介して受信した場合、作業が指示されたと判定し、処理はステップＳ１０２に進む。
【０１２３】
ステップＳ１０２において、実行制御部１１１は、次のサブタスクをアクションに分解する。具体的には、実行制御部１１１は、作業指示情報に示されるサブタスクを実行順に並べた場合に、次に実行するサブタスクを選択する。なお、作業指示情報の受信後の最初のステップＳ１０２の処理では、最初に実行されるサブタスクが選択される。
【０１２４】
次に、実行制御部１１１は、選択したサブタスクを、実行部１０４が実行可能なレベル（実行部１０４の実行単位）まで分解する。これにより、サブタスクが１以上のアクションに分解される。なお、サブタスクが単純な場合、サブタスクとアクションが等しくなる場合がある。
【０１２５】
ステップＳ１０３において、実行制御部１１１は、情報取得部１０１からの情報に基づいて、アクション実行前の状態（事前状態）を検出する。すなわち、実行制御部１１１は、アクション実行前の作業エージェント１２の周囲の状態、特に、アクションの実行対象となる対象物等の状態を検出する。
【０１２６】
このとき、情報取得部１０１は、作業エージェント１２の周囲の状態以外の情報を必要に応じて取得し、情報処理部１０３に供給する。
【０１２７】
ステップＳ１０４において、実行部１０４は、実行制御部１１１の制御の下に、次のアクションを実行する。具体的には、実行制御部１１１は、ステップＳ１０２の処理で分解されたアクションを実行順に並べた場合に、次に実行するアクションを選択する。なお、サブタスクをアクションに分解した後の最初のステップＳ１０４の処理では、最初に実行されるアクションが選択される。
【０１２８】
次に、実行制御部１１１は、実行部１０４を制御して、選択したアクションを実行させる。
【０１２９】
例えば、図８に示されるように、作業エージェントＡ及び作業エージェントＢは、指示エージェント１１から受信した作業指示情報に従って、世界（現実世界又は仮想世界）に対してアクションを行う。
【０１３０】
ステップＳ１０５において、実行制御部１１１は、情報取得部１０１からの情報に基づいて、アクション実行後の状態（事後状態）を検出する。すなわち、実行制御部１１１は、アクション実行後の作業エージェント１２の周囲の状態、特に、アクションの実行対象となった対象物等の状態を検出する。
【０１３１】
例えば、図８に示されるように、作業エージェントＡ及び作業エージェントＢは、アクションを実行した後の世界（現実世界又は仮想世界）の状態を検出する。
【０１３２】
このとき、情報取得部１０１は、作業エージェント１２の周囲の状態以外の情報を必要に応じて取得し、情報処理部１０３に供給する。
【０１３３】
ステップＳ１０６において、実行制御部１１１は、報酬を取得する。ここで、作業エージェント１２に報酬を付与する方法には、任意の方法を採用することができる。
【０１３４】
例えば、ユーザが明示的に作業エージェント１２に報酬を付与するようにしてもよい。
【０１３５】
また、例えば、アクションに対する報酬、又は、事前状態とアクションの組み合わせに対する報酬を予め決めておき、アクションが成功又は失敗した場合、自動的に定められた報酬が作業エージェント１２に付与されるようにしてもよい。
【０１３６】
さらに、例えば、実行制御部１１１が、事後状態に基づいて報酬を認識するようにしてもよい。例えば、実行制御部１１１が、アクション実行後のユーザの表情等の反応に基づいて、報酬を認識するようにしてもよい。例えば、実行制御部１１１は、ユーザがポジティブな反応を示した場合、正の報酬が付与されたと認識し、ユーザがネガティブな反応を示した場合、負の報酬が付与されたと認識する。また、例えば、実行制御部１１１は、事後状態に基づいて、アクションが成功したと判定した場合、正の報酬が付与されたと認識し、アクションが失敗したと判定した場合、負の報酬が付与されたと認識する。
【０１３７】
例えば、図８に示されるように、作業エージェントＡ及び作業エージェントＢは、実行したアクションに対する報酬を世界（現実世界又は仮想世界）から受け取る。
【０１３８】
ステップＳ１０７において、実行制御部１１１は、作業報告を送信する。具体的には、実行制御部１１１は、実行したアクション、事前状態、事後状態、実行したアクションに対する報酬、及び、その他の情報を含む作業報告を生成する。実行制御部１１１は、通信部１０２を介して、生成した作業報告を指示エージェント１１に送信する。
【０１３９】
例えば、図８に示されるように、作業エージェントＡ及び作業エージェントＢは、実行したアクションに対する作業報告を指示エージェント１１に送信する。
【０１４０】
ステップＳ１０８において、実行制御部１１１は、実行可能なアクションがあるか否かを判定する。実行制御部１１１は、まだ実行していないアクションがあり、そのアクションが実行可能である場合、実行可能なアクションがあると判定し、処理はステップＳ１０３に戻る。
【０１４１】
その後、ステップＳ１０８において、実行可能なアクションがないと判定されるまで、ステップＳ１０３乃至ステップＳ１０８の処理が繰り返し実行される。これにより、サブタスクを構成するアクションが順番に実行され、それに対する作業報告が指示エージェント１１に送信される。
【０１４２】
一方、ステップＳ１０８において、実行制御部１１１は、全てのアクションを実行した場合、又は、まだ実行していないアクションがあるが、実行不能である場合、実行可能なアクションがないと判定し、処理はステップＳ１０９に進む。
【０１４３】
ステップＳ１０９において、実行制御部１１１は、実行可能なサブタスクがあるか否かを判定する。実行制御部１１１は、まだ実行していないサブタスクがあり、そのサブタスクが実行可能である場合、実行可能なサブタスクがあると判定し、処理はステップＳ１０２に戻る。
【０１４４】
その後、ステップＳ１０９において、実行可能なサブタスクがないと判定されるまで、ステップＳ１０２乃至ステップＳ１０９の処理が繰り返し実行される。これにより、指示エージェント１１から指示されたタスクが順番に実行される。
【０１４５】
一方、ステップＳ１０９において、実行制御部１１１は、全てのサブタスクが完了した場合、又は、まだ実行していないサブタスクがあるが、実行不能である場合、実行可能なサブタスクがないと判定し、処理はステップＳ１１０に進む。
【０１４６】
ステップＳ１１０において、学習部１１２は、サブタスクの実行方法の学習を行う。例えば、学習部１１２は、サブタスクを実行するために新たな組合せのアクションを行った場合に大きな報酬が得られたとき（例えば、遅延報酬問題を解いたとき）、そのサブタスクの実行方法として、実行した一連のアクションを記憶部１０５に記憶させる。例えば、学習部１１２は、何回かのアクションの結果、物を壊してその先に進むことができ、人の救助が可能になったとした場合、「人の救助をする」というサブタスクに対する１つの実行方法として、物を壊すために取った一連のアクションを記憶部１０５に記憶させる。
【０１４７】
その後、処理はステップＳ１０１に戻り、ステップＳ１０１以降の処理が実行される。
【０１４８】
以上のようにして、指示エージェント１１の指示の下に、各作業エージェント１２が協調してタスクを実行することができる。また、指示エージェント１１は、各作業エージェント１２のタスクモデルを学習し、その結果に応じて、適切に各作業エージェント１２にタスクを分配するため、作業が効率化される。その結果、作業時間を短縮したり、タスクを実行する作業エージェント１２を削減したりすることができる。
【０１４９】
＜＜２．第２の実施形態＞＞
次に、図２１乃至図２３を参照して、本技術の第２の実施形態について説明する。
【０１５０】
第２の実施の形態では、指示エージェントが存在せず、各作業エージェントが情報を共有して、協調してタスクを実行する。
【０１５１】
＜エージェントシステム３００の構成例＞
図２１は、本技術を適用したエージェントシステム３００の構成例を示している。
【０１５２】
エージェントシステム３００は、作業エージェント３０１−１乃至作業エージェント３０１−３を備える。
【０１５３】
なお、以下、作業エージェント３０１−１乃至作業エージェント３０１−３を個々に区別する必要がない場合、単に作業エージェント３０１と称する。
【０１５４】
また、図２１では、図を分かりやすくするために、エージェントシステム３００が、３つの作業エージェント３０１を備える例を示したが、作業エージェント３０１の数は２以上の任意の数に設定することが可能である。
【０１５５】
＜作業エージェント３０１の構成例＞
図２２は、作業エージェント３０１の機能の構成例を示している。
【０１５６】
作業エージェント３０１は、図２の指示エージェント１１と図６の作業エージェント１２を合わせた機能を備える。従って、作業エージェント３０１は、他の作業エージェント３０１にタスクの指示を出しながら、自らもタスクを実行する。
【０１５７】
作業エージェント３０１は、情報取得部３５１、通信部３５２、情報処理部３５３、提示部３５４、実行部３５５、及び、記憶部３５６を備える。
【０１５８】
情報取得部３５１は、指示エージェント１１の情報取得部５１と作業エージェント１２の情報取得部１０１を合わせた機能を備える。
【０１５９】
通信部３５２は、例えば、任意の方式の通信デバイス等を備え、他の作業エージェント３０１と通信を行う。通信部３５２は、他の作業エージェント３０１から受信したデータを情報処理部３５３に供給する。また、通信部３５２は、他の作業エージェント３０１に送信するデータを情報処理部３５３から取得する。
【０１６０】
情報処理部３５３は、分配部３６１、提示制御部３６２、実行制御部３６３、及び、学習部３６４を備える。
【０１６１】
分配部３６１は、指示エージェント１１の分配部６１と同様の機能を備える。
【０１６２】
提示制御部３６２は、指示エージェント１１の提示制御部６２と同様の機能を備える。
【０１６３】
実行制御部３６３は、作業エージェント１２の実行制御部１１１と同様の機能を備える。
【０１６４】
学習部６３は、指示エージェント１１の学習部６３と作業エージェント１２の学習部１１２を合わせた機能を備える。
【０１６５】
提示部３５４は、指示エージェント１１の提示部５４と同様の機能を備える。
【０１６６】
実行部３５５は、作業エージェント１２の実行部１０４と同様の機能を備える。
【０１６７】
記憶部３５６は、例えば、各種の記憶媒体により構成され、作業エージェント３０１の処理に必要なデータやプログラム等を記憶する。
【０１６８】
なお、エージェントシステム３００において、必ずしも全ての作業エージェントが図２２の作業エージェント３０１により構成されている必要はなく、一部が図６の作業エージェント１２により構成されていてもよい。
【０１６９】
＜エージェントシステム３００の処理＞
次に、図２３のフロー図を参照して、エージェントシステム３００の処理について説明する。
【０１７０】
図２３のフロー図は、作業エージェントＡ及び作業エージェントＢの２つの作業エージェント、並びに、世界（現実世界又は仮想世界）間のデータの流れを示している。この例では、作業エージェントＡが指示を出す側となり、作業エージェントＢが指示を受ける側となる。従って、作業エージェントＡは、図２２の作業エージェント３０１により構成され、作業エージェントＢは、図６の作業エージェント１２又は図２２の作業エージェント３０１により構成される。
【０１７１】
例えば、作業エージェントＡと作業エージェントＢとは、互いのスキルモデル及び作業情報等の情報を共有する。或いは、少なくとも、作業エージェントＡが、作業エージェントＢからスキルモデル及び作業情報等の情報を取得する。そして、作業エージェントＡは、スキル群、スキルモデル、及び、タスクテーブルの学習、並びに、作業履歴マップの作成を行う。
【０１７２】
ここで、作業エージェントＢのスキルモデルは、作業エージェントＢ自身が学習してもよいし、作業エージェントＡが学習してもよい。
【０１７３】
そして、例えば、ユーザから作業エージェントＡ又は作業エージェントＢに対して、タスク（メインタスク）の実行が指示される。作業エージェントＢに対してタスクの実行が指示された場合、作業エージェントＢは、その情報を作業エージェントＡに送信する。
【０１７４】
作業エージェントＡは、メインタスクをサブタスクに分解し、一部のサブタスクの実行を作業エージェントＢに指示し、残りを自ら実行する。すなわち、作業エージェントＡは、サブタスクをさらに分解したアクションを実行する。また、作業エージェントＡは、事前状態、事後状態、及び、その他の情報の検出を行い、アクションに対する報酬を取得する。
【０１７５】
作業エージェントＢは、作業エージェントＡから指示されたサブタスクをアクションに分解し、実行する。また、作業エージェントＢは、事前状態、事後状態、及び、その他の情報の検出を行い、アクションに対する報酬を取得する。
【０１７６】
そして、作業エージェントＡと作業エージェントＢは、情報を共有する。例えば、作業エージェントＡと作業エージェントＢは、お互いに作業報告を交換する。或いは、作業エージェントＢのみが、作業エージェントＡに作業報告を送信する。
【０１７７】
そして、作業エージェントＡは、スキル群、スキルモデル、タスクテーブルの学習を行う。
【０１７８】
以下、同様の処理が繰り返される。
【０１７９】
以上のようにして、各作業エージェント３０１が情報を共有しながら、協調してタスクを実行することができる。また、各作業エージェント３０１のタスクモデルが学習され、その結果に応じて、適切に各作業エージェント３０１にタスクが割り振られるため、作業が効率化される。その結果、作業時間を短縮したり、タスクを実行する作業エージェント３０１を削減したりすることができる。
【０１８０】
＜＜３．変形例＞＞
以下、上述した本技術の実施の形態の変形例について説明する。
【０１８１】
例えば、図１のエージェントシステム１０において、指示エージェント１１の機能の一部を作業エージェント１２に設けたり、作業エージェント１２の機能の一部を指示エージェント１１に設けたりすることが可能である。
【０１８２】
例えば、各作業エージェント１２が、自己のスキルモデルを学習し、学習したスキルモデルを指示エージェント１１に送信するようにしてもよい。
【０１８３】
また、例えば、指示エージェント１１が、サブタスクをアクションに分解し、アクション単位で作業エージェント１２に指示を行うようにしてもよい。
【０１８４】
さらに、例えば、エージェントシステム１０において、各作業エージェント１２が互いに通信を行うようにし、情報の共有等を行うようにしてもよい。
【０１８５】
また、以上の説明では、各作業エージェント１２が、アクションを１つ実行する毎に指示エージェント１１に作業報告を行うようにしたが、必ずしもアクション毎に作業報告を行う必要はない。例えば、各作業エージェント１２が、複数のアクションを実行する毎、或いは、サブタスクを実行する毎に作業報告を行うようにしてもよい。
【０１８６】
また、例えば、作業エージェント１２の一部又は全部が人間に置き換わった場合にも、指示エージェント１１は、同様の処理により、各人間、又は、各人間と各作業エージェント１２のスキルモデルを学習し、作業分担を行うことが可能である。
【０１８７】
さらに、図１１乃至図１３の提示内容の一部又は全部を、相互に組み合わせることが可能である。
【０１８８】
また、例えば、スキル群を定義するスキルが新たに追加された場合、図１３の推奨スペック欄２３２において、追加されたスキルを提示するようにしてもよい。これにより、ユーザは、新たに追加されたスキルを有するエージェントを実行メンバーに容易に追加することができ、作業の効率化が実現される。
【０１８９】
さらに、図２１のエージェントシステム３００において、例えば、各作業エージェント３０１が、自律的に行動するようにしてもよい。
【０１９０】
例えば、各作業エージェント３０１間で各作業エージェント３０１のスキルモデル及び状態等の情報を共有する。そして、例えば、各作業エージェント３０１のうち少なくとも１つにタスクが与えられた場合、タスクが与えられた作業エージェント３０１が、与えられたタスクを自分で実行した方が効率的な場合、自分でそのタスクを実行する。一方、タスクが与えられた作業エージェント３０１が、与えられたタスクを実行できない場合、他の作業エージェント３０１が実行した方が効率的な場合、又は、他の作業エージェント３０１と協力した方が効率的な場合、他の作業エージェント３０１にタスクの全部又は一部の実行を依頼する。
【０１９１】
これにより、各作業エージェント３０１が、自律的かつ協調して効率的にタスクを実行することができる。
【０１９２】
＜＜４．応用例＞＞
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１９３】
図２４は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１９４】
コンピュータにおいて、ＣＰＵ（Central Processing Unit）５０１，ＲＯＭ（Read Only Memory）５０２，ＲＡＭ（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０１９５】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、入力部５０６、出力部５０７、記憶部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０１９６】
入力部５０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記憶部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインタフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０１９７】
以上のように構成されるコンピュータでは、ＣＰＵ５０１が、例えば、記憶部５０８に記憶されているプログラムを、入出力インタフェース５０５及びバス５０４を介して、ＲＡＭ５０３にロードして実行することにより、上述した一連の処理が行われる。
【０１９８】
コンピュータ（ＣＰＵ５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１９９】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ＲＯＭ５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【０２００】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２０１】
また、複数のコンピュータが連携して上述した処理を行うようにしてもよい。そして、上述した処理を行う単数又は複数のコンピュータにより、コンピュータシステムが構成される。
【０２０２】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２０３】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２０４】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２０５】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２０６】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２０７】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０２０８】
また、例えば、本技術は以下のような構成も取ることができる。
【０２０９】
（１）
２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を
備える情報処理装置。
（２）
タスク及びエージェントのうち少なくとも１つに関する情報の提示を制御する提示制御部を
さらに備える前記（１）に記載の情報処理装置。
（３）
前記提示制御部は、前記タスクの効率化が可能なエージェントのスキルの提示を制御する
前記（２）に記載の情報処理装置。
（４）
前記提示制御部は、前記タスクに必要なスキルの提示を制御する
前記（２）又は（３）に記載の情報処理装置。
（５）
提示制御部は、前記タスクを実行するエージェントのスキルの提示を制御する
前記（２）乃至（４）のいずれかに記載の情報処理装置。
（６）
前記提示制御部は、追加又は置き換えが可能なエージェントのスキルの提示をさらに制御する
前記（５）に記載の情報処理装置。
（７）
実行したアクション、前記アクションの実行前の状態、及び、前記アクションに対する報酬を含む情報である作業報告を各前記エージェントから受信する通信部を
さらに備える前記（１）乃至（６）のいずれかに記載の情報処理装置。
（８）
前記作業報告に基づいて、タスクの分配に用いるデータの学習を行う学習部を
さらに備える前記（７）に記載の情報処理装置。
（９）
前記学習部は、前記作業報告に基づいて生成される状態とアクションの組合せからなるデータの分布をクラスタリングした結果に基づいて、前記スキルモデルを定義するスキルの種類の学習を行う
前記（８）に記載の情報処理装置。
（１０）
前記学習部は、前記作業報告に基づいて、各タスクに必要なスキルを示すデータの学習を行う
前記（８）又は（９）に記載の情報処理装置。
（１１）
前記学習部は、前記作業報告に基づいて、各前記エージェントの前記スキルモデルの学習を行う
前記（８）乃至（１０）のいずれかに記載の情報処理装置。
（１２）
各前記エージェントの前記スキルモデルを受信する通信部を
さらに備える前記（１）乃至（１１）のいずれかに記載の情報処理装置。
（１３）
前記分配部は、さらに各前記エージェントの状態に基づいて、前記タスクの少なくとも一部を前記エージェントに割り当てる
前記（１）乃至（１２）のいずれかに記載の情報処理装置。
（１４）
前記分配部は、前記タスクを複数のサブタスクに分け、前記サブタスクを前記エージェントに割り当てる
前記（１）乃至（１３）のいずれかに記載の情報処理装置。
（１５）
前記分配部は、さらに前記サブタスクを前記エージェントの実行単位であるアクションに分け、前記アクションを前記エージェントに割り当てる
前記（１４）に記載の情報処理装置。
（１６）
タスクを実行する実行部を
さらに備え、
２以上の前記エージェントは、前記情報処理装置を含む
前記（１）乃至（１５）のいずれかに記載の情報処理装置。
（１７）
２以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを
含む情報処理方法。
【符号の説明】
【０２１０】
１０  エージェントシステム，  １１  指示エージェント，  １２−１乃至１２−ｎ  作業エージェント，  ５１  情報取得部，  ５２  通信部,  ５３  情報処理部，  ５４  提示部，  ６１  分配部，  ６２  提示制御部，  ６３  学習部，  １０１  情報取得部，  １０２  通信部，  １０３  情報処理部，  １０４  実行部，  １１１  実行制御部，  １１２  学習部，  ３００  エージェントシステム，  ３０１−１乃至３０１−３  作業エージェント，  ３５１  情報取得部，  ３５２  通信部,  ３５３  情報処理部，  ３５４  提示部，  ３６１  分配部，  ３６２  提示制御部，  ３６３  実行制御部，  ３６４  学習部
【図１】
2018110314.tif 000003
【図２】
2018110314.tif 000004
【図３】
2018110314.tif 000005
【図４】
2018110314.tif 000006
【図５】
2018110314.tif 000007
【図６】
2018110314.tif 000008
【図７】
2018110314.tif 000009
【図８】
2018110314.tif 000010
【図９】
2018110314.tif 000011
【図１０】
2018110314.tif 000012
【図１１】
2018110314.tif 000013
【図１２】
2018110314.tif 000014
【図１３】
2018110314.tif 000015
【図１４】
2018110314.tif 000016
【図１５】
2018110314.tif 000017
【図１６】
2018110314.tif 000018
【図１７】
2018110314.tif 000019
【図１８】
2018110314.tif 000020
【図１９】
2018110314.tif 000021
【図２０】
2018110314.tif 000022
【図２１】
2018110314.tif 000023
【図２２】
2018110314.tif 000024
【図２３】
2018110314.tif 000025
【図２４】
2018110314.tif 000026
【国際調査報告】
2018110314.tif 000027
2018110314.tif 000028
2018110314.tif 000029