(57)【要約】指定された物理ターゲットシステムの動作を制御するための自動化制御システムを実施するための技法が説明される。説明される技法は、いくつかの状況では、ターゲットシステムの現在の状態の改善されたモデルを生成するために、ターゲットシステムの動作に関するセンサデータを取得し分析し、ターゲットシステムに対して行うための現在および／または将来のさらなる自動化制御アクションを決定することの一部として、改善されたモデルを使用し、たとえば、ターゲットシステムの内部構造および動作を理解することなく単にターゲットシステム出力を入力から推定することを試みるのではなく、ターゲットシステムの内部動作をモデル化する関数および／または他の構造を生成することを含む。
2019528494.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
１つまたは複数の構成されたコンピューティングシステムによって、複数のセンサと１つまたは複数の制御と１つまたは複数の出力とを有する指定された種類の物理システムの動作をモデル化するバイナリルールのセットを受け取るステップであって、各センサは、前記指定された種類の物理システムの前記動作に関係付けられた少なくとも１つの種類の状態情報を測定し、各制御は、前記指定された種類の物理システムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作するために行う制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲット物理システムの実際の動作を記述するデータを取得するステップであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲット物理システムに関する前記時間における前記センサの値、および前記時間についての前記ターゲット物理システムに関する前記制御を操作するために行われる１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記ターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記取得されたデータから、前記ターゲット物理システムの前記実際の動作を表わすデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成されたデータモデルから、前記ターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習するステップであって、各ソフトルールは、関連付けられた可能性を有する真値または偽値以外の複数の可能性のある値のうちの１つに達するように評価される１つまたは複数の追加の条件を指定し、前記学習するステップは、
前記データモデルに問い合わせて、前記ターゲット物理システムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲット物理システムの前記実際の動作からの結果を取得するステップ、
前記データモデルの前記問い合わせから取得された前記結果とバイナリルールの前記セットからの前記指定された状況の他の期待された結果との間の差異を決定するステップ、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築するステップ
を含み、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記ターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供するステップと
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記１つまたは複数の構成されたコンピューティングシステム上で実行している協働分散判断システムによって、前記ターゲット物理システムの少なくとも１つのセンサについての現在の状態情報を識別するセンサ情報を取得するステップと、
前記協働分散判断システムによって、少なくとも前記バイナリルールと前記取得されたセンサ情報と前記指定された種類の物理システムに関する指定された目標とから、結合された微分方程式を含む前記ターゲット物理システムの現在の状態を記述するモデルを作成するステップと、
前記協働分散判断システムによっておよび前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲット物理システムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別するステップと、
前記ターゲット物理システムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲットシステムの少なくとも１つの出力の、結果の変化を引き起こすステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記学習された１つまたは複数のソフトルールについての前記情報の前記提供ステップは、前記協働分散判断システムによって、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新するステップと、前記更新された作成されたモデルを使用して、前記ターゲット物理システムにおける１つまたは複数の追加の制御アクションを決定して実行するステップとを含むことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
前記モデルの前記作成ステップは、前記データの前記取得ステップの前に実行され、さらに、前記指定された種類の物理システムの前記動作をモデル化するために受け取られた１つまたは複数の初期ソフトルールに一部基づいて、前記ターゲット物理システムに対する１つまたは複数の構造的修正が、前記モデルの前記作成するステップと前記データの前記取得するステップとの間に行われ、前記１つまたは複数のソフトルールの前記自動的に学習するステップは、前記１つまたは複数の修正に関係付けられた少なくとも１つの追加のソフトルールを学習するステップを含み、前記作成されたモデルの前記自動的に更新するステップは、前記作成されたモデルを前記１つまたは複数の構造的修正を表わすように適合させるステップを含むことを特徴とする請求項３に記載のコンピュータ実施方法。
【請求項５】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記データモデルの前記問い合わせから取得された前記結果を表す全体的ハミルトン関数を生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、および前記バイナリルール上の少なくとも一部基づいて、前記指定された種類の物理システムのルールベースのモデルを表すバイナリルールベースのハミルトン関数を生成するステップと
をさらに含み、
前記差異の前記決定ステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記全体的ハミルトン関数と前記バイナリルールベースのハミルトン関数との間の差異を表わすソフトルールベースのハミルトン関数を生成するステップを含み、前記１つまたは複数のソフトルールの前記構築するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数の自然対数を実行するステップを含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項６】
前記差異の前記決定するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数を表わすために１つもしくは複数のスプラインまたは１つもしくは複数の区分多項式関数のうちの少なくとも１つを決定することによって前記ソフトルールベースのハミルトン関数を近似するステップをさらに含むことを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項７】
前記データの前記取得するステップは、前記時間の期間中の複数の追加の時間の各々について、前記ターゲット物理システムに関する前記追加の時間での前記センサの値、および前記追加の時間についての前記ターゲット物理システムからの前記出力の値、についての追加の情報を取得するステップをさらに含み、前記取得されたデータの前記生成ステップはさらに、前記取得された追加の情報上の一部に基づくことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項８】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記データモデルの前記問い合わせから取得された前記結果が前記１つまたは複数のソフトルールの前記関連付けられた可能性に関する閾値を満たすのに十分な情報を提供しないと決定するステップと、
追加の結果が、前記１つまたは複数のソフトルールの前記関連付けられた可能性に関する前記閾値を満たすのに十分な情報を提供するまで、前記データモデルのさらなる問い合わせを行って、前記ターゲット物理システムの前記実際の動作から前記追加の結果を取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項９】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記結果を取得する前記データモデルの前記問い合わせの前に、前記データモデルの他の問い合わせを実行して、前記ターゲット物理システムの１つまたは複数のセンサが複数の他の値の各々を有する、他の指定された状況における前記ターゲット物理システムの前記実際の動作からの初期の結果を取得するステップと、
前記データモデルの前記問い合わせから取得された前記結果が、閾値を満たす前記初期の結果に対して新しい情報を提供すると決定するステップと、
前記データモデルのさらなる問い合わせを行って、追加の結果が、前記閾値を満たすために先行の結果に対して十分に新しい情報を提供しなくなるまで、前記追加の結果を前記ターゲット物理システムの前記実際の動作から取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記セットの前記バイナリルールは、前記指定された種類の物理システムの前記動作に関する要件である修正不可能な制約を指定する１つまたは複数の絶対的ルールを含み、指定された状況で修正されることができる前記指定された種類の物理システムの前記動作に関する制約を指定する１つまたは複数のハードルールをさらに含み、前記方法は、
前記１つまたは複数の構成されたコンピューティングシステムによって、第２の時間の期間にわたって前記指定された種類の第２のターゲット物理システムの実際の動作を記述する第２のデータを取得するステップであって、前記データは、前記第２の時間の期間中の複数の時間の各々について、前記第２のターゲット物理システムに関する前記時間での前記センサの値、および前記時間についての前記第２のターゲット物理システムに関する前記制御を操作するために行われる１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記第２のターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記取得されたデータから、前記第２のターゲット物理システムの前記実際の動作を表わす第２のデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成された第２のデータモデルから、前記第２のターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数の第２のソフトルールを自動的に学習するステップであって、前記１つまたは複数の第２のソフトルールは、前記ターゲット物理システムに関する前記学習された１つまたは複数のソフトルールと異なり、前記ターゲット物理システムと前記第２のターゲット物理システムとの間の差異を反映する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記第２のターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数の第２のソフトルールについての情報を提供するステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１１】
１つまたは複数のコンピューティングシステムに動作を行わせるコンテンツを記憶した非一時的コンピュータ可読媒体であって、前記動作は、
前記１つまたは複数のコンピューティングシステムによって、センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムの要素の物理的状態に関する情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作するために行う制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該受け取ることと、
前記１つまたは複数のコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲットシステムの実際の動作を記述するデータを取得することであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲットシステムに関する前記時間でのセンサ値、および前記時間についての前記ターゲットシステムに関する前記制御を操作する１つまたは複数の制御アクション、および前記時間についての前記ターゲットシステムからの１つまたは複数の出力、についての情報を含む、該取得することと、
前記１つまたは複数のコンピューティングシステムによって、前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、関連付けられた可能性を有する真値または偽値以外の可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲットシステムの前記動作に関する前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記バイナリルールからの前記指定された状況の他の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記１つまたは複数のコンピューティングシステムによって、前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
を含むことを特徴とする非一時的コンピュータ可読媒体。
【請求項１２】
前記記憶されたコンテンツは、ソフトウェア命令を含み、前記ソフトウェア命令は、実行されたとき、追加の動作を前記１つまたは複数のコンピューティングシステムにさらに行わせ、前記追加の動作は、
前記ターゲットシステムの少なくとも１つのセンサについての状態情報を識別するセンサ情報を取得することと、
少なくとも前記バイナリルールと前記取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから、結合された微分方程式を含む前記ターゲットシステムの状態を記述するモデルを作成することと、
前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別することと、
前記ターゲットシステムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲットシステムの少なくとも１つの出力の、結果の変化を引き起こすことと
を含むことを特徴とする請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記ターゲットシステムは、指定された種類の物理システムであり、前記受け取られたバイナリルールは、前記指定された種類の物理システムの動作をさらにモデル化し、
前記学習された１つまたは複数のソフトルールに関する前記情報の前記提供は、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新することと、
前記更新された作成されたモデルを使用して、前記ターゲットシステムにおける１つまたは複数の追加の制御アクションを決定して実行することと
を含むことを特徴とする請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
システムであって、
１つまたは複数のコンピューティングシステムの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備え、前記命令は、前記１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、前記システムに、
センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムに関係付けられた状態情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作するために行う制御アクションの結果に関する真値または偽値に達するように評価される前記状態情報を含む条件を指定する、該受け取ることと、
前記ターゲットシステムを記述しおよび結合された微分方程式を含む前記バイナリルールに基づく初期モデルを、前記バイナリルールと取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから作成することと、
時間の期間中の複数の時間において前記ターゲットシステムの前記動作を制御するために前記作成された初期モデルを使用し、前記制御された動作を記述するデータを取得することであって、前記ターゲットシステムの前記動作を制御することは、前記複数の時間の各々について前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、前記時間に関して行うための少なくとも１つの制御アクションを識別することを含み、前記取得されたデータは、センサ値に関して、および前記ターゲットシステムの前記制御を操作する制御アクションについて、および前記ターゲットシステムからの出力についての情報を含む、該取得することと、
前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、関連付けられた可能性を有する真値または偽値以外の可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における、前記ターゲットシステムの前記動作についての前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記作成された初期モデルからの前記指定された状況の他の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
によって前記ターゲットシステムのための自動化制御システムを実施させることを特徴とするシステム。
【請求項１５】
前記学習された１つまたは複数のソフトルールについての前記情報の前記提供は、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新することと、前記更新された作成されたモデルを使用して、前記ターゲットシステムにおける１つまたは複数の追加の制御アクションを決定して実行することとを含むことを特徴とする請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターゲットシステムにおける制御の支援に関する。
【背景技術】
【０００２】
入力または他の制御要素を有する様々な種類の物理システムのための自動化制御システムであって、その物理システムの所望の出力または他の挙動を提供しようとするために入力または他の制御要素を操作することができる自動化制御システムを実行するための試みがなされている。そのような自動化制御システムは、制御されている物理システムの状態の不確実性に関係付けられた課題、ならびに非常に短い量の時間および部分的情報のみで制御判断を行う必要に対処しようとすることを含めて、そのような機能性を実行しようとするために、様々な種類のアーキテクチャおよび基礎となるコンピューティング技術を使用している。そのような自動化制御システムの一例は、負荷をサポートするために電力を放電し、および／または電源からの電力を使用して充電するバッテリの動作を制御するためのシステムを含み、バッテリの内部温度および／または化学状態に関する不確実性、ならびに場合によっては負荷、電源、および／またはバッテリの内部状態の継続的変化を伴う。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、制御されるシステムの現在の状態について、および異なる種類の入力がどのように自動化制御システムの動作に影響するかについての不確実性の管理に関することを含めて、既存の自動化制御システムならびにそれらの基礎となるアーキテクチャおよびコンピューティング技術には様々な困難が存在する。
【図面の簡単な説明】
【０００４】
【図１Ａ】ターゲットシステムの協調分散制御を行うためのシステムが構成され始動されることができる例示的環境を示すネットワーク図である。
【図１Ｂ】ターゲットシステムの協調分散制御を行うためのシステムが実行されることができる例示的環境を示すネットワーク図である。
【図１Ｃ】データトモグラフ（data tomograph）コンポーネントが対応するターゲットシステムに関する状態情報を推定するためにどのように使用されてよいかを示すフロー図である。
【図１Ｄ】トモグラフィ技法が対応するターゲットシステムについてのセンサデータに基づいてソフトルールおよび他の情報を生成しデータハミルトン関数へ追加するためにどのように使用されてよいかを示すフロー図である。
【図１Ｅ】ターゲットシステムの部分的に知られた状態から欠損している情報を訂正するまたは他の形で完了させるためにトモグラフィ技法を使用するシステムのエージェントアーキテクチャ概略の例を示すブロック図である。
【図１Ｆ】ターゲットシステムの部分的に知られた状態から欠損している情報を訂正するまたは他の形で完成させるためにトモグラフィ技法を使用する例を示すフロー図である。
【図１Ｇ】ターゲットシステムの例示的センサに関わる動作を示すブロック図である。
【図２Ａ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２Ｂ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２Ｃ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２Ｄ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２Ｅ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２Ｆ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２Ｇ】バッテリシステム動作データを分析してバッテリシステムの自動化制御を改善する例を示す図である。
【図２Ｈ】バッテリシステム動作データを分析してバッテリシステムの自動化制御を改善する例を示す図である。
【図２Ｉ】バッテリシステム動作データを分析してバッテリシステムの自動化制御を改善する例を示す図である。
【図２Ｊ】バッテリシステム動作データを分析してバッテリシステムの自動化制御を改善する例を示す図である。
【図２Ｋ】センサデータを使用してモデル化されたバッテリの状態に一部基づいてバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図３】ターゲットシステムの協調分散制御を構成された方式で行うためにシステムの実施形態を実行するのに適した例示的コンピューティングシステムを示すブロック図である。
【図４】協働分散判断（Collaborative Distributed Decision：ＣＤＤ）システムルーチンの例示的実施形態のフロー図である。
【図５Ａ】ＣＤＤ判断モジュール構築（CDD Decision Module Construction）ルーチンの例示的実施形態のフロー図である。
【図５Ｂ】ＣＤＤ判断モジュール構築ルーチンの例示的実施形態のフロー図である。
【図５Ｃ】ＣＤＤ判断モジュール構築ルーチンの例示的実施形態のフロー図である。
【図６Ａ】判断モジュールルーチンの例示的実施形態のフロー図である。
【図６Ｂ】判断モジュールルーチンの例示的実施形態のフロー図である。
【図７Ａ】ＣＤＤ制御アクション決定（CDD Control Action Determination）ルーチンの例示的実施形態のフロー図である。
【図７Ｂ】ＣＤＤ制御アクション決定ルーチンの例示的実施形態のフロー図である。
【図８Ａ】ＣＤＤ調整制御管理（CDD Coordinated Control Management）ルーチンの例示的実施形態のフロー図である。
【図８Ｂ】ＣＤＤ調整制御管理ルーチンの例示的実施形態のフロー図である。
【図９】制御されているターゲットシステムのためのルーチンの例示的実施形態のフロー図である。
【図１０】状態情報修復手順の一部として実行されたトモグラフコンポーネントを含む自動化制御システムの実施形態の動作を示すフロー図である。
【図１１】複数のトモグラフコンポーネントであって、各トモグラフコンポーネントが、基礎となるターゲットシステムの複数の個別コンポーネントのうちの１つに関係付けられた複数のトモグラフコンポーネントを有する、分散された自動化制御システムの例示的実施形態を示すブロック図である。
【図１２Ａ】トモグラフコンポーネントを含み、調整された方式で複数のバッテリからのＤＣ電力の自動化制御を行うシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１２Ｂ】家庭の発電および電力使用が外部エンティティによって監視および同期されている、ソーラー電力が生成されている家庭電力システムの一部である、バッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【発明を実施するための形態】
【０００５】
指定された物理システムまたは他のターゲットシステムの少なくともいくつかの動作を制御または他の形で操作するように自動化制御システムを実行するための技法が説明される。少なくともいくつかの実施形態では、説明されている技法は、ターゲットシステムの現在の状態および動作特性の改善されたモデルを生成するために、ターゲットシステムの動作に関するデータを（たとえば、センサデバイスから）取得し分析することと、ターゲットシステムに対して行うための現在および／または将来のさらなる自動化制御アクションを決定することの一部として、改善されたモデルを使用することとを含む。少なくともいくつかのそのような実施形態では、ターゲットシステムのデータの分析ならびに現在の状態および動作特性のモデル化は、ターゲットシステムの内部構造および動作を理解することなく単にターゲットシステム出力を入力から推定する（代わりに「システム識別」を行うと呼ばれる）ことを試みるのではなく、ターゲットシステムに対する先行の入力データおよびターゲットシステムの結果の（resulting）挙動を分析して、ターゲットシステムの内部動作をモデル化する関数および／または他の構造を生成する（本明細書では一般に「トモグラフィ」コンポーネントなどによる「トモグラフィ」または「トモグラフィ」技術を使用すると呼ばれる）ことを含んでよい。加えて、ターゲットシステムの現在の状態のモデル化は、少なくともいくつかの実施形態では、十分な内部状態構造情報または他の情報の欠如などによる、ターゲットシステムの１つまたは複数の部分についての状態情報のコンフリクトを、完成または修復または他の形で解決するために、ならびにターゲットシステムの内部状態および動作特性の関数または他のモデルの学習または他の改善を可能にするために行われてよい。ターゲットシステムの状態および動作特性のそのようなモデル化を行うことおよび改善すること、ならびに特定の方式でターゲットシステムの結果の改善されたモデルを使用することに関係付けられた追加の詳細が、以下に説明され、説明されている技法の一部または全部は、少なくともいくつかの実施形態では、１つまたは複数の「トモグラフ」コンポーネントの自動化された動作によって、任意選択で、特定種類のターゲットシステムを制御する１つまたは複数のＣＤＤ（協働分散判断）システムの一部としてまたはそのようなＣＤＤシステムと関連して、行われる。
【０００６】
上記されたように、ターゲットシステムに対する先行入力データおよびターゲットシステムの結果の挙動に関する情報を含めて、様々な種類のデータが、ターゲットシステムの現在の状態および動作特性をモデル化することの一部として取得および使用されてよい。いくつかの実施形態および状況では、そのようなデータは、様々な種類の１つまたは複数のハードウェアセンサから自動化された方式で収集されたデータを含んでよく、いくつかの実施形態および状況では、そのようなデータは、人間のユーザのアクションに関する情報またはそのような人間に関する他の情報を含んでよい。特定の状況に関して特に示されない限り、本明細書で使用される用語「センサ」および「センサデータ」は、ソースまたは種類に関わらず、そのようなデータを一般に指し、ハードウェアからのデータおよび／または人間のユーザからのデータもしくは人間のユーザに関するデータを含む。そのようなセンサデータを取得および使用することに関係付けられた追加の詳細が以下に含まれる。
【０００７】
ターゲットシステムの現在の状態および動作特性をモデル化するため、ならびにターゲットシステムに対して行う現在および／または将来の自動化制御アクションを決定することの一部としてターゲットシステムの結果のモデルを使用するための説明されている技法は、様々な実施形態において様々な種類のターゲットシステムに対して行われることができる。１つの非限定的例として、物理ターゲットシステムは、（たとえば、局部負荷のため、様々な位置における様々な負荷をサポートする電気グリッドのためなどに）電力を貯蔵および提供するために使用される１つまたは複数のバッテリを含むことができ、ターゲットシステムを制御するための自動化された動作は、各バッテリの状態の特性を使用して、バッテリから提供されおよび／またはバッテリによって貯蔵されたＤＣ（直流）電力の自動化制御を行うことを含むことができる。そのような実施形態では、１つまたは複数のトモグラフコンポーネントの自動化された動作は、１つまたは複数のバッテリへの入力、それらからの出力、それらに提供される制御信号命令、およびそれらの他の状態に関する情報（たとえば、内部温度測定値、使用のために出力される電流および／または電圧、貯蔵のために入力される電流および／または電圧、１つまたは複数のバッテリの周囲環境の一部としてのそれらの外部の温度測定値など）を受け取ることと、１つまたは複数のバッテリの現在の状態および動作特性をモデル化することの一部として、そのような情報を使用することとを含むことができる。そのような改善されたモデル化された情報が与えられると、１つまたは複数のバッテリを制御するＣＤＤシステムは、そのような情報を使用して、ターゲットシステムの実際の現在の状態および挙動をより良く反映する現在および／または将来の制御アクションを決定することができる。別の非限定的例として、物理ターゲットシステムは、暖房および／または冷房能力（たとえば、１つまたは複数のＨＶＡＣ、すなわち暖房、換気および空調ユニット）を含むマルチルーム建物を含むことができ、ターゲットシステムを制御するための自動化された動作は、部屋のサブセットの特性（たとえば、温度センサを有する部屋のサブセットにおいて測定された温度）を使用して、暖房および／または冷房能力から部屋のすべてに対して提供される暖房および／または冷房の自動化制御を行うことを含むことができる。そのような実施形態では、１つまたは複数のトモグラフコンポーネントの自動化された動作は、暖房および／または冷房能力ならびに建物の少なくともいくつかの部屋への入力、それらからの出力、それらに提供される制御信号命令、およびそれらの他の状態に関する情報（たとえば、内部温度測定値、暖房および／または冷房能力の時間および／またはエネルギー使用の量、建物の周囲環境の一部としての建物の外部の温度測定値など）を受け取ることと、建物の部屋の温度の現在の状態をモデル化することの一部として、そのような情報を使用することとを含むことができる。そのような改善されたモデル化された情報が与えられると、暖房および／または冷房能力を制御するＣＤＤシステムは、そのような情報を使用して、ターゲットシステムの実際の現在の状態および挙動をより良く反映する現在および／または将来の制御アクションを決定することができる。
【０００８】
ターゲットシステムの現在の状態および動作特性のそのようなモデル化ならびにモデル化された情報のそのような使用に関係付けられた追加の詳細が以下に含まれるが、説明されている技法は、それらの一部が後でさらに論じられる、電力の貯蔵および提供ならびに／または暖房／冷房能力に使用される１つまたは複数のバッテリを有するターゲットシステムの代わりまたは追加であるかに関わらず様々な種類のターゲットシステムと共にさらに使用されてよいことは理解されよう。そのようなトモグラフィ技法がターゲットシステムの現在の状態をモデル化するために使用されてよいターゲットシステムの非限定的例は、１つまたは複数の電源（たとえば、１つまたは複数のソーラーパネルグリッド、１つまたは複数の風力タービンなど）および１つまたは複数の蓄電および電源機構（たとえば、１つまたは複数のバッテリ）を含む居住場所などにおけるマイクログリッド電気設備、エネルギーを生成するために使用される生分解性廃棄物または他の固形廃棄物システム、動的負荷用のインテリジェントマイクログリッドディスパッチ、船舶用発電機を有するマイクログリッド、（たとえば、放射および対流機構、ＤＣ−ＡＣインバータ、ＡＣ−ＤＣ電力変換器および整流器、放射システムなどを有する炉および他の熱プロセスと共に使用するための）ハーモニックハーベスティングシステムなどを含む。
【０００９】
図１Ｃは、データトモグラフコンポーネントが対応するターゲットシステムに関する状態情報を推定するためにどのように使用されてよいかを示す例示的フロー図１９５である。具体的には、データは、時間経過と共にターゲットシステムの実際の動作から取得されて（たとえば、ターゲットシステムに供給される一部または全部の入力、ターゲットシステムからの結果の出力、ターゲットシステムの動作に関する測定されたセンサデータなどを識別し）、要素１９５ｂに関連して図１Ｃに示されるように、ターゲットシステムの動作のデータモデルを生成するために使用されてよい。次いで、一連の問い合わせ１９５ａが、データモデルに供給され、それにより、たとえば、１つまたは複数の入力またセンサの異なる値を伴う複数の状況に対応する抽出された観測されたデータ１９５ｄを収集することができ、この例では、単一の「ｋ番目」のセンサ１９５ｃのポテンシャルを決定することとみなされる。次いで、センサに関する観測されたデータは、この例では、プロパゲータコンポーネント１９５ｅに供給される。プロパゲータコンポーネント１９５ｅは、ターゲットシステムおよびその動作の全体的表現を生成し、生成された表現をデータトモグラフコンポーネント１９５ｇに提供し、この例では、生成された全体的表現は、以下により詳細に論じられるように全体的ハミルトン関数の形態である。加えて、ターゲットシステムの動作に関するルールを有する知識ベース１９５ｆ（たとえば、ターゲットシステムを表わすためにそれらのルールを使用するターゲットシステムの初期モデル）が、ターゲットシステムおよびその動作の第２のルールベースの表現を生成し、また、その生成された第２の表現をデータトモグラフコンポーネント１９５ｇに供給して、たとえば、決定されるルールによって予想されるｋ番目のセンサの挙動を可能にし、この例では、ルールは、真また偽として評価するバイナリルールであり、要素１９５ｆから生成された第２の表現は、やはり以下により詳細に論じられるようにルールベースのハミルトン関数の形態である。次いで、データトモグラフコンポーネント１９５ｇは、Ｉ／Ｏ履歴情報１９５ｈも使用して、２つの異なる世代の間の差異（たとえば、第２のルールベースの生成された表現が、第１の全体的な生成された表現に反映されるような状況においてターゲットシステムの実際の挙動を予想するのに失敗する形式）を評価し、ターゲットシステムおよびその動作の第３の生成された表現を作成し、この例では、生成された第３の表現は、以下により詳細に論じられるように、１つまたは複数のソフトルール（たとえば、真値または偽値以外の１つまたは複数の値を含む複数のあり得る値をとることができ、特定の値における関連付けられた信頼度をさらに有することができるルール）を表わすハミルトン関数の形態である。次いで、データトモグラフ１９５ｇは、生成された第３の表現を使用して１つまたは複数のソフトルール１９５ｉを作成し、生成された第２のルールベースの表現と１つまたは複数のソフトルールに関する生成された第３のソフトルールベースの表現との組み合わせが、ターゲットシステムおよびその動作をより良くモデル化することができる。この方式でのデータトモグラフの使用の追加の議論は以下に含まれる。
【００１０】
しかしながら、データトモグラフコンポーネントおよびその機能性のさらなる議論の前に、そのような表現および他のモデルを使用するターゲットシステムの制御のより一般的な説明が提供される。具体的には、図１Ａは、１つまたは複数のターゲットシステムの協調分散制御を行うためのシステムが構成され始動されることができる例示的環境を示すネットワーク図である。具体的には、ＣＤＤシステム１４０の実施形態は、１つまたは複数のコンピューティングシステム１９０上で実行されており、示された実施形態において、オンライン方式で動作しグラフィカルユーザインターフェース（ＧＵＩ）（図示せず）および／または他のインターフェース１１９を提供し、クライアントコンピューティングシステム１１０の１つまたは複数のリモートユーザを可能にし、１つまたは複数の介在コンピュータネットワーク１００を介してＣＤＤシステム１４０と相互作用し、１つまたは複数の判断モジュールを構成および作成し、自動化制御システムの一部として含み、制御される１つまたは複数のターゲットシステムの各々と使用することを含む。
【００１１】
具体的には、ターゲットシステム１  １６０およびターゲットシステム２  １７０は、この例で示された例示的ターゲットシステムであるが、特定の実施形態および状況では、１つのみのターゲットシステムまたは多数のターゲットシステムが利用可能であることができ、各そのようなターゲットシステムは、ターゲットシステムに固有の方式でターゲットシステムの動作を実行するために、様々な機械的、電子的、化学的、生物学的、および／または他の種類のコンポーネントを含むことができることは理解されよう。この例では、１つまたは複数のユーザ（図示せず）は、ＣＤＤシステム１４０と相互作用して、ターゲットシステム１のための例示的自動化制御システム１２２を生成することができ、自動化制御システムは、この例では、後で配置および実行されたときにターゲットシステム１  １６０の部分を制御するように協調的に相互作用する複数の判断モジュール１２４を含む。自動化制御システム１２２を作成するためにユーザがＣＤＤシステム１４０と相互作用するプロセスは、他の箇所でより詳細に論じられるように、場合によってはユーザの異なるグループの独立したアクションを含む、時間経過に伴う様々な相互作用を含むことができる。加えて、自動化制御システム１２２を作成および／またはトレーニングまたはテストするプロセスの一部として、それは、たとえば部分的初期状態情報を取得するために、示されたようにターゲットシステム１と１つまたは複数の相互作用を行うことができるが、一部または全部のトレーニングアクティビティは、少なくともいくつかの実施形態では、ターゲットシステム１における制御アクションの効果を、それらの制御アクションを実際にその時に実行することなくシミュレートすることを含むことができる。いくつかの実施形態および状況では、そのような初期ユーザ相互作用は、図１Ｃの知識ベース１９５ｆに反映されるように、バイナリルールに基づくターゲットシステムの初期ルールベースシステムモデルを生成するために使用されてよく、その場合、データトモグラフコンポーネントは、ターゲットシステムの改訂されたモデルに含めるように追加のソフトルールを自動的に学習することによって、そのような初期ルールベースシステムモデルを改善するために使用されてよい。
【００１２】
自動化制御システム１２２が作成された後、自動化制御システムは、ＣＤＤシステム１４０の１つまたは複数のコンピューティングシステム１９０において自動化制御システム１２２を任意選択で実行することなどによって、ターゲットシステム１  １６０の制御を含む動作を行うのを始めるように配置され実行されて、コンピュータネットワーク１００を介してターゲットシステム１と相互作用することができる。他の実施形態および状況では、自動化制御システム１２２は、そうではなく、ターゲットシステム１の一部である１つまたは複数のコンピューティングシステム（図示せず）などにおいて、自動化制御システム１の一部または全部の配置されたコピー１２１に関して示されるように、ターゲットシステム１に対してローカルな方式で、自動化制御システム１２２の一部または全部（たとえば、複数の判断モジュール１２４のうちの１つまたは複数）のローカルコピーを実行することによって、配置されることができる。加えて、バイナリルールに基づくターゲットシステムの初期ルールベースシステムモデルを生成するために初期ユーザ相互作用が使用される実施形態および状況では、初期に配置された自動化制御システム１２２が、そのような初期ルールベースシステムモデルに基づくことができ、その初期に配置された自動化制御システム１２２の制御下のターゲットシステムの動作からのデータが収集され、図１Ｃのデータドメイン情報１９５ｂに反映されるように、使用する追加のソフトルールの後続の自動化された学習のために使用されてよく、その場合、データトモグラフコンポーネントは、ターゲットシステムの改訂されたモデルに含めるように追加のソフトルールを自動的に学習することによって、そのような初期ルールベースシステムモデルを改善するために使用されてよく、その後、自動化制御システム１２２の改訂されたバージョンは、それらの自動的に学習されたソフトルールの機能性を含むように配置される。
【００１３】
自動化制御システム１２２に関して論じられたのと同様に、（同じユーザ、重複するユーザ、または自動化制御システム１２２を作成するのに関わったユーザと完全に無関係なユーザであるかに関わらず）１つまたは複数のユーザが、通信ネットワーク１００を介してＣＤＤシステム１４０と同様に相互作用して、ターゲットシステム２  １７０の一部または全部を制御するのに使用するための別個の自動化制御システム１２６を作成することができる。この例では、ターゲットシステム２のための自動化制御システム１２６は、自動化制御システム１２６のための制御アクションのすべてを行う単一の判断モジュール１２８を含む。自動化制御システム１２６は、たとえば、１つもしくは複数のコンピューティングシステム１９０において、および／またはターゲットシステム２の一部である１つもしくは複数のコンピューティングシステム（図示せず）においてローカルに実行されるように、自動化制御システム１２２に関して論じられたのと同様の方式でターゲットシステム２について同様に配置および実行されることができるが、自動化制御システム２の配置されたコピーは、この例では示されない。自動化制御システム１２２および／または１２６は、それぞれ特定の判断モジュール１２４および１２８とは別の他のコンポーネントおよび／または機能性をさらに含むことができるが、そのような他のコンポーネントおよび／または機能性は図１Ａに示されていないことは理解されよう。
【００１４】
ネットワーク１００は、たとえば、おそらく様々な別々の当事者によって運用されるリンクされたネットワークからなるインターネットなどの公的にアクセス可能なネットワークとすることができ、ＣＤＤシステム１４０は、ネットワーク１００を介して任意のユーザにまたは特定のユーザのみに利用可能である。他の実施形態では、ネットワーク１００は、プライベートネットワーク、たとえば、特権を与えられていないユーザに全体的または部分的にアクセス可能でない会社または大学のネットワークでとすることができる。さらに他の実施形態では、ネットワーク１００は、インターネットへおよび／またはインターネットからのアクセスを有する１つまたは複数のプライベートネットワークを含むことができる。したがって、示された実施形態におけるＣＤＤシステム１４０は、１つまたは複数のコンピュータネットワーク１００を介して様々なユーザをサポートするようにオンライン方式で実行されるが、他の実施形態では、代わりに、ＣＤＤシステム１４０のコピーは、たとえば、単一のユーザまたは関係付けられたユーザのグループ（たとえば、会社または他の組織）をサポートするために、たとえば、１つまたは複数のコンピュータネットワーク１００は代わりに会社または他の組織の内部コンピュータネットワークである場合に、他の方式で実施されることができ、ＣＤＤシステムのそのようなコピーは、任意選択で、会社または他の組織の外部の他のユーザに利用可能でない。ＣＤＤシステム１４０のオンラインバージョン、および／またはＣＤＤシステム１４０のローカルコピーバージョンは、いくつかの実施形態および状況では、たとえば、相互作用を行って判断モジュールおよび対応する自動化制御システムを生成し、ならびに／または様々な方式でそのような判断モジュールおよび対応する自動化制御システムを配置および実施するために、１つまたは複数のユーザがＣＤＤシステムの様々な動作を利用するための様々な利用料を提供するような、利用料ベースの方式で動作することができる。加えて、ＣＤＤシステム１４０、ＣＤＤシステム１４０、そのコンポーネントの各々（１つもしくは複数のＣＤＤ制御アクション決定コンポーネントおよび／または１つもしくは複数のＣＤＤ調整制御管理コンポーネントなど、コンポーネント１４２および任意選択の他のコンポーネント１１７を含む）、判断モジュールの各々、ならびに／または自動化制御システムの各々は、ソフトウェア命令を含むことができ、ソフトウェア命令は、１つまたは複数のコンピューティングシステム（図示せず）上で１つまたは複数のプロセッサ（図示せず）によって実行されて、たとえば、それらのプロセッサおよびコンピューティングシステムを、それらのプログラムされた機能性を行うことに関して特化されたマシンとして動作するように構成する。
【００１５】
図１Ｂは、ターゲットシステムの協調分散制御を行うためのシステムが実施されることができる例示的環境を示すネットワーク図であり、具体的には図１Ａに関して論じられた例を継続する。図１Ｂの例示的環境では、ターゲットシステム１  １６０がやはり示されており、（初期バージョンであるか改訂されたバージョンであるかに関わらず）自動化制御システム１２２が、ここで、ターゲットシステム１  １６０を能動的に制御するのに使用するために配置および実施されている。図１Ｂの例では、判断モジュール１２４は、個別判断モジュール１２４ａ、１２４ｂなどから１２４ｎまでとして表され、ターゲットシステム１  １６０に対してローカルで、および／または１つもしくは複数の介在コンピュータネットワーク（図示せず）を介してリモート方式で実行していることができる。示された例では、判断モジュール１２４の各々は、ＣＤＤ制御アクション決定コンポーネント１４４のローカルコピーを含み、たとえば、コンポーネント１４４ａがそのローカル判断モジュール１２４ａをサポートし、コンポーネント１４４ｂがそのローカル判断モジュール１２４ｂをサポートし、コンポーネント１４４ｎがそのローカル判断モジュール１２４ｎをサポートする。同様に、様々な判断モジュール１２４のアクションが、示された実施形態においてピアツーピア方式で調整および同期され、判断モジュール１２４の各々は、そのような同期を行うためのＣＤＤ調整制御管理コンポーネント１４６のコピーを含み、コンポーネント１４６ａはそのローカル判断モジュール１２４ａをサポートし、コンポーネント１４６ｂはそのローカル判断モジュール１２４ｂをサポートし、コンポーネント１４６ｎはそのローカル判断モジュール１２４ｎをサポートする。
【００１６】
判断モジュール１２４および自動化制御システム１２２が実行されると、判断モジュール１２４間の様々な相互作用１７５が行われ、たとえば、様々な判断モジュール間の協調および調整を可能にするために、判断モジュールの現在のモデルおよび他の状態に関する情報を共有し、それにより、たとえば、特定の判断モジュールが、１つまたは複数の他の判断モジュールに関して部分的に同期されたコンセンサス方式で（いくつかの状況では、すべての判断モジュール１２４のコンセンサスアクションが収束する完全に同期された方式で）動作する。判断モジュール１２４および自動化制御システム１２２の動作中に、様々な状態情報１４３が、ターゲットシステム１６０から自動化制御システム１２２によって取得されることができ、様々な状態情報１４３は、初期状態情報および経時的に変化する状態情報などであり、判断モジュール１２４によって行われた制御アクションからのターゲットシステム１における出力または他の結果を含む。そのような状態情報は、たとえば、収集され、使用する追加のソフトルールの後続の自動化された学習のために収集され使用されてよく、たとえば、ターゲットシステムの改訂されたモデルに含めるように追加のソフトルールを自動的に学習することによって、そのような初期ルールベースシステムモデルを改善するために、データトモグラフコンポーネントによって使用されるが、そのような動作は図１Ｂには示されない。
【００１７】
この例におけるターゲットシステム１は、自動化制御システム１２２が操作することができる様々な制御要素１６１を含み、この例では、各判断モジュール１２４は、それが操作する１つまたは複数の制御要素１６１からなる別個のグループを有することができる（したがって、判断モジュールＡ１２４ａは、相互作用１６９ａを行って制御要素Ａ１６１ａに対して制御アクションＡ１４７ａを行い、判断モジュールＢ１２４ｂは、相互作用１６９ｂを行って制御要素Ｂ１６１ｂに対して制御アクションＢ１４７ｂを行い、判断モジュールＮ１２４ｎは、相互作用１６９ｎを行って制御要素Ｎ１６１ｎに対して制御アクションＮ１４７ｎを行う）。そのような制御アクションは、ターゲットシステム１の他の要素の内部状態１６３に影響し、任意選択で、１つもしくは複数の出力１６２を引き起こすまたは１つもしくは複数の出力１６２に影響を与えることを含む。ターゲットシステム１の動作が進行中に、内部状態情報１６３の少なくとも一部が、判断モジュールの一部または全部に提供されて、それらの進行中の制御アクションに影響を与え、判断モジュール１２４ａないし１２４ｎの各々は、この例では、場合によっては、状態情報１４３ａないし１４３ｎの別個のセットをそれぞれ有する。
【００１８】
他の箇所でより詳細に論じられるように、各判断モジュール１２４は、そのような状態情報１４３、およびターゲットシステムに関する判断モジュールのローカルモデル１４５を使用して、たとえば複数の時間期間の各々について、次に行う特定の制御アクション１４７を決定することができるが、他の実施形態および状況では、特定の自動化制御システムは、１つの時間期間のみ、またはいくつかの時間期間のみに、特定のターゲットシステムと相互作用を行うことができる。たとえば、判断モジュール１２４のためのローカルＣＤＤ制御アクション決定コンポーネント１４４は、その判断モジュールのローカルモデル１４５についての最適に近いローカル解を決定することができ、ローカルＣＤＤ調整制御管理コンポーネント１４６は、そのような決定されたローカルおよび／または同期解に基づいて判断モジュールのローカルモデル１４５を更新することを含めて、他の判断モジュール１２４を反映するように同期されたコンセンサス解を決定する。したがって、自動化制御システム１２２の実行中、自動化制御システムは、状態情報を要求し、ターゲットシステム１６０の制御要素１６１の値を修正しまたは他の形で制御要素１６１を操作する命令を提供することを含めて、ターゲットシステム１６０との様々な相互作用を行う。たとえば、複数の時間期間の各々において、判断モジュール１２４ａは、ターゲットシステムの１つまたは複数の制御要素１６１ａと１つまたは複数の相互作用１６９ａを行うことができ、同様に、判断モジュール１２４ｂは、１つまたは複数の別の制御要素Ｂ１６１ｂと１つまたは複数の相互作用１６９ｂを行うことができ、判断モジュール１２４ｎは、ターゲットシステム１６０の１つまたは複数の制御要素Ｎ１６１ｎと１つまたは複数の相互作用１６９ｎを行うことができる。他の実施形態および状況では、少なくともいくつかの制御要素は、各時間期間中に制御アクションを行わなくてよい。
【００１９】
例示的ターゲットシステム２  １７０は図１Ｂに示されずに、参照目的で自動化制御システム１２６の判断モジュール１２８についてさらなる詳細が示されるが、そのような判断モジュール１２８は、典型的には、ターゲットシステム１を制御する判断モジュール１２４と一緒に実施されない。具体的には、自動化制御システム１２６の配置されたコピーは、この例では単一の実行中の判断モジュール１２８を含むが、他の実施形態では、自動化制御システム１２６は、他のコンポーネントおよび機能性を含むことができる。加えて、自動化制御システム１２６に対して単一の判断モジュール１２８が実施されるので、判断モジュール１２８は、ローカルＣＤＤ制御アクション決定コンポーネント１８４を含むが、示された実施形態では、同期および相互作用する他の判断モジュールが存在しないので、ローカルＣＤＤ調整制御管理コンポーネントをまったく含まない。
【００２０】
図１Ａおよび図１Ｂには示されていないが、たとえば１２２の自動化制御システムの動作の分散された性質は、自動化制御システム１２２が使用されている間に、判断モジュール１２４のグループに対する修正が時間経過につれて修正されるのを可能にすることを含めて、様々な判断モジュールの部分的に分離された動作を可能にして、たとえば、新しい判断モジュール１２４を追加し、および／または既存の判断モジュール１２４を除去する。同様に、特定の判断モジュール１２４および／または１２８に対する変更が行われることができ、たとえば、時間経過につれて、特定の判断モジュールに固有のルールもしくは他の制約を変更し、および／または特定の判断モジュールに固有の目標を変更し、新しい対応するモデルが、そのような判断モジュール内で生成および配置され、いくつかの実施形態および状況では、対応する自動化制御システムが対応するターゲットシステムの制御動作を継続しながら、そのようにされる。一例として、少なくともいくつかのそのような修正が、１つまたは複数のデータトモグラフコンポーネントの動作を反映して、１つまたは複数の時間においてターゲットシステムモデル（または特定の制御要素についてのモデル）を改善することができ、（自動的であるか追加のユーザ命令または相互作用に応答するかに関わらず）追加される１つまたは複数のソフトルールを自動的に学習して、続いて配置される改善されたターゲットシステムモデルを作成することを含む。また、図１Ａおよび図１Ｂの例では、各自動化制御システムは単一のターゲットシステムを制御するものとして説明されているが、他の実施形態および状況では、他の構成が使用されることができ、たとえば、単一の自動化制御システムが複数のターゲットシステム（たとえば、複数の相互に関係付けられたターゲットシステム、同じ種類の複数のターゲットシステムなど）を制御し、および／または、たとえば、各々がそのターゲット制御システムの異なる部分を制御するように独立して動作することによって、複数の自動化制御システムが単一のターゲットシステムを制御するように動作することができる。同様に、他の実施形態および状況において他の構成が使用されることができることが理解される。
【００２１】
電力を貯蔵および提供するために使用される１つまたは複数のバッテリを含む物理ターゲットシステムに関わる状況において、ターゲットシステムを制御するための自動化された動作は、各バッテリの状態の特性を使用して、バッテリから提供されるＤＣ（直流）電力の自動化制御を行うことを含むことができ、たとえば、バッテリに接続されたＤＣ−ＤＣコンバータ（たとえば、電界効果トランジスタ、ＦＥＴ、または増幅器）を使用して、バッテリから出力される電流および／または電圧の量を、リアルタイム方式でバッテリの長期動作を最適化するように制御することによって、自動化制御を行う。ＤＣ−ＤＣコンバータは、たとえば、その入力（供給）からその出力（負荷）への電流を逓増しながら電圧を逓減する降圧コンバータ（またはステップダウンコンバータ）の一部、および／またはその入力（供給）からその出力（負荷）への電流を逓減しながら電圧を逓増する昇圧コンバータ（またはステップアップコンバータ）の一部とすることができ、これらは、本明細書では一般に「昇圧／降圧コントローラ」または「降圧／昇圧コントローラ」と呼ばれることがある。加えて、いくつかの実施形態および状況では、複数のバッテリが、複数の制御モジュールを使用することによって制御されることができ、各制御モジュールはバッテリのうちの１つに関連付けられ、複数のバッテリに対する複数の関連付けられた制御モジュールの間の相互作用に基づくなどして分散された方式で複数のバッテリの全体的制御が調整される。制御される１つまたは複数のバッテリを含むシステムは、いくつかの実施形態および状況において、１つもしくは複数の電源および／または１つもしくは複数の電気負荷のような追加のコンポーネントをさらに含むことができ、そのような種類のシステムの非限定的例は、発電源（たとえば、ソーラーパネル、風力タービンなど）および住宅または企業からの電気負荷を任意選択で含むことができる、１つまたは複数の家庭またはビジネス電力システムである。
【００２２】
図２Ａは、バッテリの状態の特性を他の関係付けられた情報と共に使用してバッテリからのＤＣ電力の自動化制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図２００Ａを含み、具体的には、さらに後述されるように、例示的システム２００Ａの様々なコンポーネントが、定義された制約条件、ルール、および他の基準に照らして１つまたは複数の定義された目標に従ってバッテリの動作を制御するように相互作用する。いくつかの実施形態では、バッテリを制御するための自動化されたアクティビティが、電力を求める外部要求（たとえば、バッテリが電力を１つもしくは複数の対応する負荷２９０を介して供給できる先のユーティリティ２６０からの要求）のできる限り多く（たとえば、そのような要求のうちの少なくとも定義されたパーセンテージまたは量）を満たしながら、リアルタイム方式で、および／またはバッテリの長期動作（たとえば、バッテリの寿命）を最適化するように行われることができる。具体的には、データトモグラフコンポーネントは、図２Ｃないし図２Ｊの例に関連してより詳細に論じられるように、そのようなシステム２００Ａと共に更新された改善された制御エージェント（本明細書では、ＣＤＩエージェントまたはＣＤＤ判断モジュールもしくはシステムと呼ばれることがある）を生成し使用するために使用されてよい。
【００２３】
図２Ａの示された例では、バッテリ２１０が示されており、バッテリ２１０は、バッテリコントローラコンポーネント２４０（本明細書では、「追跡コントローラ」および／または「バッテリ追跡コントローラ」と呼ばれることもある）から対応する制御信号を受け取るアクチュエータ２３０を介して制御され、たとえば、バッテリコントローラがバッテリのＤＣ出力として生成されるべき電力の量を指定することによって制御される。生成されるべき指定された電力量は、たとえば、出力される電力を指定された量だけ増加もしくは減少すること、または電力出力を変更しないことを示す情報を含むことができる。バッテリの出力は、電力を１つまたは複数の負荷２９０に提供する働きをすることができ、少なくともいくつかの実施形態では、バッテリの電力出力をＡＣ電力に変換して対応する負荷をサポートするためにインバータ／整流器コンポーネント（図示せず）に接続されることができ、そのようなインバータは、たとえば、ＡＣ電力の電圧および／または周波数を調節することによってバッテリから提供される電力を制御することができる。同様に、バッテリの入力は、１つまたは複数の電源２９０から電力を受け取る働きをすることができ、少なくともいくつかの実施形態では、電源からのＡＣ電力入力をバッテリ用にＤＣ電力に変換するためにインバータ／整流器コンポーネント（図示せず）に接続されることができ、そのような整流器は、たとえば、ＡＣ電力の電圧および／または周波数を調節することによってバッテリに提供される電力を制御することができる。
【００２４】
どのようにバッテリを制御するかを決定することの一部として、バッテリコントローラコンポーネント２４０は、バッテリの内部状態（図示せず）、たとえば、電圧、電流、温度などの現在の値に関して、１つまたは複数のハードウェアセンサモジュール２２０から入力を受け取り、対応する情報を初期制御エージェント２５０Ａに供給する。この例では、バッテリコントローラコンポーネントが関連する情報を制御エージェント２５０Ａに提供するように示されているが、他の実施形態では、制御エージェント２５０Ａは、一部または全部のそのような情報を他の方式で、たとえばセンサモジュールから直接、取得してよい。制御エージェントは、バッテリの状態に関係付けられたバッテリコントローラからの情報を受け取り、また、ユーティリティによって制御される電気グリッド（図示せず）に対してバッテリが電力を時々または常に供給する状況などにおいて、ユーティリティコンポーネント２６０からの電力供給要求を受け取る。具体的には、制御エージェントは、ユーティリティから特定の要求を受け取り、バッテリの状態に関する情報を受け取って分析し、バッテリについて現在の時間に行う対応する動作（たとえば、バッテリから供給される出力電力の量、および／またはバッテリによって受け取られ貯蔵される入力電力の量）を決定し、少なくともいくつかの状況では、（たとえば、バッテリの推定された内部温度および／またはバッテリの推定された内部の化学的性質に関して）所望の非飽和範囲またはレベルでバッテリが動作することを可能にすることなどのために、バッテリの現在の状態および定義された目標を所与としてバッテリ性能に対する他の制約条件も満たすように要求が満足できる場合、リアルタイム方式で電力に関するユーティリティからの要求を完全または部分的に満たすように試みることを伴う。バッテリについて現在の時間に行う対応する動作を決定した後、制御エージェントは、対応する追跡制御信号をバッテリコントローラに提供し、バッテリコントローラは、追跡制御信号の対応する動作をもたらすためにアクチュエータを現在どのように修正または操作するか（たとえば、バッテリから出力される電力の量について行う正または負の変更の量）を決定し、上述されたように対応する制御信号をアクチュエータに送る。
【００２５】
図２Ａには示されていないが、制御エージェントおよび／またはバッテリコントローラは、いくつかの実施形態では、バッテリの内部状態を推定し、その内部状態に少なくとも一部基づいて行う特定の動作を選択するために使用される、バッテリの記憶されたモデルを含んでよく、それは、図２Ｃないし図２Ｊに関連して以下により詳細に論じられるように、使用するソフトルールを学習するためにトモグラフコンポーネントのアクションに基づいて後で更新されてよい。たとえば、いくつかの実施形態では、任意の種類のバッテリに適用可能な汎用バッテリモデルが使用されることができ、他の実施形態では、バッテリの種類（たとえば、リチウムイオンまたはニッケルカドミウムなど、電気を貯蔵および／または生成するために使用される化学反応の種類）に固有のバッテリモデルが使用されることができ、さらに他の実施形態では、使用中の特定のバッテリ専用に設計および／または構成されたバッテリモデルが使用されることができる。そして、特定のバッテリを有する特定のシステムで初期に採用されたそのようなバッテリモデルが、時間経過につれて更新されて、たとえば、使用するソフトルールを学習するためにトモグラフのアクションに少なくとも一部基づいて、（たとえば、観測可能なバッテリ状態の変化が、対応する外部バッテリ電気負荷および／または電源にどのように相関するかを監視することによって、）モデルの基礎となる構造に改善を反映すること、ならびに／またはモデルをトレーニングして使用中の特定のバッテリおよび／もしくはシステムに固有の動作特性を反映することなどができ、特定のバッテリおよび／またはシステムに対してモデルをトレーニングしまたは他の形で適合させるとき、トレーニング／適合動作は、いくつかの実施形態では、自動化制御システムを使用してバッテリを制御する前に初期にトレーニングフェーズで行われることができ、および／または、いくつかの実施形態では、（たとえば、バッテリのインピーダンスプロファイルの経時的変化を反映するために、）自動化制御システムがバッテリを制御している間に継続的または定期的に行われることができる。そのようなモデルの構築および使用を含むモデルに関する追加の詳細は、本明細書の他の箇所に含まれる。加えて、いくつかの実施形態では、バッテリコントローラおよび制御エージェントは、別個のコンポーネントとして実施されることができ（たとえば、バッテリコントローラは、バッテリに取り付けられまたは他の形式でバッテリの位置にあるハードウェアおよび／またはファームウェアに全体としてまたは一部に実施され、制御エージェントは、バッテリ位置から遠隔の１つまたは複数のコンピューティングシステム上で実行され任意選択で１つまたは複数の介在コンピュータネットワークを介してバッテリコントローラと通信するソフトウェア命令によって、一部に実施される）、他の実施形態では、制御エージェントおよびバッテリコントローラは、（バッテリの位置にあるかそれから離れているかに関わらず）単一のコンポーネントとして実施されることができる。同様に、いくつかの実施形態では、データトモグラフコンポーネントおよび制御エージェントは、別個のコンポーネントとして実施される（たとえば、データトモグラフコンポーネントは、バッテリの位置に全体としてまたは一部、および／または遠隔位置に全体としてまたは一部実施される）ことができ、他の実施形態では、制御エージェントおよびトモグラフコンポーネントは、（バッテリの位置にあるかそれから離れているかに関わらず）単一のコンポーネントとして実施されることができる。バッテリについて行う動作を決定するための制御エージェントの動作に関するさらなる詳細は、以下により詳細に論じられる。
【００２６】
加えて、図２Ａに関連して示されていないが、いくつかの実施形態では、複数のバッテリ（たとえば、数十、数百、数千、数百万など）の各々が、同様にそのバッテリのアクションを制御する関連付けられた制御エージェントを有することができ、様々なバッテリが、ユーティリティまたは他のエンティティに集合的電力を供給するために調整された方式で一緒に動作する。そのような実施形態では、ユーティリティまたは他の外部エンティティは、バッテリを含む様々なシステムによって使用するための同期および監視信号を送ることができ、様々なバッテリに関連付けられた複数の制御エージェントが、相互作用して情報を交換し、バッテリの動作間の少なくとも部分的調整を維持することができる。
【００２７】
少なくともいくつかの実施形態では、ターゲットシステムの状態の初期のモデル化は、１つまたは複数のデータハミルトン関数を使用して行われ、説明されている技法は、トモグラフィ技法を使用して、１つまたは複数の種類のセンサデータの分析に基づいて（たとえば、基礎となるハミルトニアンベースのモデルを完成するために）データハミルトン関数を修復または他の形で改善することを含む。そのようなターゲットシステムを制御しているＣＤＤシステムは、少なくともいくつかの実施形態および状況では、複数のＣＤＩ制御エージェントを実施して、平均場ハミルトニアン手法を介して同期してエージェントベースのネットワークを通じて制御および管理を分配し、たとえば、各エージェントは、ターゲットシステムにおける１つまたは複数の対応するコンポーネントのダイナミクスおよび相互作用を定義するデータハミルトニアンによって特徴付けられ、エージェントのそのような各データハミルトニアンは、感知データおよびアクションから動的に計算される。そのような（単一のターゲットシステムコンポーネント用の）データハミルトニアンおよび／または（複数の調整されたターゲットシステムコンポーネント用の）平均場ハミルトニアンは、履歴、現在の状況、および可能なオプションをモデル化することを含めて、可能な結果のスペクトルを定義することによって、膨大な量の情報を通じて問い合わせをナビゲートするのを助ける数学関数であると考えられる。そのような技法を使用する非限定的な例示的実施形態が本明細書にさらに説明されるが、他の実施形態では、１つまたは複数の方式に関してこれらの例示的実施形態とは異なってよいことは理解されよう。
【００２８】
データハミルトニアンは、データドメインのフローおよび相互依存を捕捉する関数として実施されてよく、３つの種類の変数（たとえば、状態変数、フロー変数、および判断または制御変数）を含んでよい。ＣＤＩ制御エージェントは、マルチデータドメインに属するデータドメインにおいて動作する最適化ベースの推論エンジンとして実施されてよく、エージェント最適化機能性がエージェントのハミルトニアンに符号化される。ＣＤＤシステムは、リアルタイムで分散エージェントベースドメインからの時間ベースの問い合わせを解決するための形式的な分散推論ルールベース最適化プロセスとして実施されてよい。ＣＤＤシステムのＣＤＩ制御エージェントは、以下の３つの種類のホーン節ルールを使用して実施されてよく、すなわち、制御されている物理ターゲットシステムの物理を特徴付け（または、他の種類のターゲットシステムにおける変更不可能なルールを他の形式で記述する）任意のハミルトニアンの実現において真理値を真と等しくする（たとえば、偽に対して０の値または真に対して１の値）絶対的ルールと、望ましい挙動および目標を特徴付け、任意のハミルトニアンの実現において真理値を真と等しくする（たとえば、偽に対して０の値または真に対して１の値）ハードルールと、動作、ヒューリスティック戦略、経済配分、異常に対する応答、学習戦略の経験的知識を特徴付け、［０，１］における可変の確率的真理値、および実施形態によってはその可変の確率的真理値に対する関連付けられた信頼値を有するソフトルールとを使用して実施されてよい。メタルールは、感知データおよび望ましい挙動を制約データハミルトニアンに変換するために使用される特別な類のソフトルールである。ソフトルールは、任意の所与の問い合わせに関連するデータのエリアを識別する手段として、「勾配」（真でも偽でもない情報）を通じて問い合わせをナビゲートするために使用されると考えられる。したがって、ＣＤＩ制御エージェントに関するそのようなルールは、エージェントについてのデータハミルトニアンに対する制約条件を定義し、対応するＣＤＤシステムが解決する制約最適化問題に変換されてよい。たとえば、そのような変換は、真理値｛０，１｝を［０，１］区間に変換すること、変数およびパラメータを連続変数およびパラメータに変換すること、絶対的ルールを等式制約に変換すること、ハードルールを等式制約に変換すること、ソフトルールを不等式制約に変換すること、操作対象集合を関数形式に変換すること、アルゴリズムを微分方程式に変換すること、を含むことができる。
【００２９】
さらに、上記されたように、一部または全部そのようなソフトルールは、少なくともいくつかの実施形態および状況では、特定のターゲットシステムについて１つまたは複数のデータトモグラフコンポーネントによって自動的に学習され、将来のターゲットシステムのより良い制御のためにターゲットシステムの以前のモデルを改善するために使用されてよい。そのように、図２Ｂがさらに情報２００Ｂを含み、情報２００Ｂは、図２Ａの例において、初期制御エージェント２５０Ａが、システム２００Ａに関する絶対的ルールおよびハードルール２８０を供給した１つまたは複数のユーザ２８５によって構築されたことを示す。いくつかの実施形態および状況では、初期制御エージェント２５０Ａは、１つまたは複数のソース２５５からの情報、たとえば、履歴電力供給および需要ならびに／または気象データを、ユーザ２８５のアクションによって取り込まれたか自動的に初期制御エージェント２５０Ａに含まれたかに関わらず、さらに含むことができる。
【００３０】
さらに、図２Ｃは、初期制御エージェント２５０Ａの使用が、バッテリ２１０の実際の動作を反映するデータモデル２４５を構築するために、様々な情報２３５を収集するために使用できること２００Ｃを示す。そのような情報２３５は、この例では、１つまたは複数のセンサモジュール２２０からのセンサモジュールデータ、バッテリ２００の動作を影響するためにアクチュエータ２３０を介して供給された制御信号情報および／または結果のアクション、１つまたは複数の電源および／または負荷２９０からバッテリ２１０へまたはバッテリ２１０からの結果の電力入力および／または出力などを含む。
【００３１】
図２Ｃの情報２３５およびデータモデル２４５が収集された後、図２Ｄは、バッテリ２１０についての更新された改善された制御エージェント２５０Ｄを作成するためのデータトモグラフコンポーネント２７０の動作に関するさらなる情報２００Ｄを示す。具体的には、図１Ｃおよび本明細書の他の箇所に関連してより詳細に論じられるように、トモグラフ２７０は、データモデル２４５を使用して、バッテリ２１０の実際の動作と初期制御エージェントに対して使用される絶対的ルールおよびハードルールによって予想された動作との差異を決定して、それらの差異を反映する新しい（または修正された）ソフトルールを生成する。次いで、その生成されたソフトルール情報は、初期制御エージェントを更新して、改善された更新された制御エージェント２５０Ｄを作成するために使用される。
【００３２】
次に、図２Ｅは、修正されたバージョンのシステム２００Ｅを示し、ここでは、更新された制御エージェント２５０Ｄが初期制御エージェントの代わりに使用されて、システム２００Ｅのバッテリおよび他の要素のさらなる動作を制御する。図２Ｄにおけるトモグラフコンポーネントの動作は、いくつかの実施形態および状況では、一度のみ実行されて、たとえば、１つまたは複数のユーザ２８５によって供給されなかったソフトルールを学習することができるが、他の実施形態では、トモグラフコンポーネントは、同様の方式で、複数回（たとえば、定期的、連続的、または実質的に連続的になど）使用されて、たとえば、時間経過と共に制御エージェントを改善するように継続することができる（たとえば、時間経過と共にシステムに発生する変化に制御エージェントを構造的に適合させ、そのような変化は、たとえば、１つまたは複数の負荷の追加および／または除去および／または修正、１つまたは複数の電源の追加および／または除去および／または修正、バッテリ２１０の内部状態および動作特性の変化、１つまたは複数の他の要素２２０または２３０または２４０または２６０の変化などである）。そのように、図２Ｆは、図２Ｅの修正されたバージョンであり、ここでは、図２Ｆのシステム２００Ｆが、１つまたは複数の追加の時間において制御エージェント２５０Ｄをさらに更新するのに使用するために、トモグラフコンポーネント２７０を含む。上記されたように、追加のデータソース要素２５５は提供され続け、１つまたは複数の種類のセンサ情報（たとえば、過去および／または現在の気象データ、過去および／または現在の価格データ、電力供給および／または需要に関する過去および／または現在のデータ、センサモジュール２１０からの電流および電圧および内部温度データ、バッテリ２１０を制御するために入力として使用される追跡および／または制御信号に関する情報など）を、トモグラフコンポーネント２７０がその動作の一部として取得および使用することを可能にすることができる。
【００３３】
図２Ｇないし図２Ｊは、図２Ａないし図２Ｆに示されたターゲットシステムの動作に、およびターゲットシステムのための制御エージェントを改善する際のトモグラフコンポーネント２７０のアクションに関係付けられた、さらなる例示的データを提供する。
【００３４】
具体的には、図２Ｇは、図２Ｃに関連して論じられたデータ２３５の一部を反映するような、例示的データ２９０を示す。データ２９０は、表として示されており、各行は、異なる時間２９２ｅに対応し、様々な列２９２ａないし２９２ｄは、各時間についての様々なセンサデータおよび制御信号／アクション情報を示し、他の列２９２ｕないし２９２ｗは、各時間についての様々なシステム出力または結果情報を示す。データは、例のために簡略化されており、示された例示的データに加えてまたはその代わりに、他の実施形態において様々な他の種類のデータが収集および使用されてよいことは理解されよう。図２Ｈは、ターゲットシステムと共に使用するための例示的な絶対的ルールおよびハードルールを示すための情報２９６を含み、それらのルールは、たとえば、ユーザ２８５によって提供されたルール２８０のいくつかに対応する。この例では、各ルールは、示された条件を満たす示されたセンサ値に応じて真または偽として評価される。たとえば、第１の２つの示されたルールに関して、それらは、Ｉｎｔｅｒｎａｌ＿Ｔｅｍｐセンサの値が最大温度閾値より小さいかまたは最小温度閾値より大きいかをそれぞれ調べるための示された条件を有する。したがって、（表２９０の行２９４−１に対応する）時間Ｅ１について、Ｉｎｔｅｒｎａｌ＿Ｔｅｍｐ値Ａ１がＴｅｍｐmaxより小さいがＴｅｍｐminより大きくない場合、第１のルールは真と評価され、第２のルールは偽と評価されることになる。図２Ｉは、１つまたは複数のソフトルールを決定するためにトモグラフコンポーネント２７０が行うことができる例示的問い合わせを示すための情報２９７を含み、たとえば、１つまたは複数の示されたセンサに関して異なるセットの１つまたは複数の入力値を用いてＶｏｌｔａｇｅ＿Ｉｎ／Ｏｕｔの値に関する３つ以上の問い合わせをすることによって行う。第４の示された問い合わせは、異なる形式のものであり、１つまたは複数の示されたセンサに関して示されたセットの１つまたは複数の入力値を用いてＰｏｗｅｒ＿Ｉｎ／Ｏｕｔの値に関するはいまたはいいえの回答という結果を得る。図２Ｊは、たとえば更新された制御エージェント２５０Ｄの一部として使用するために、トモグラフコンポーネント２７０がターゲットシステムについて学習することができる２つのソフトルールの例を提供するための情報２９８を含む。第１の学習されたソフトルールは、確率Ｑによって表現された関連付けられた信頼水準を伴う、バッテリの経過時間とＶｏｌｔａｇｅ＿Ｉｎ／Ｏｕｔ値の学習された関係に対応し、第２の学習されたソフトルールは、確率Ｎによって表現された関連付けられた信頼水準を伴う、期待されるバッテリ寿命の学習された変化に対応する。図２Ａないし図２Ｊは本発明の範囲を限定するように意図されることなく例示目的で提供されていることは理解されよう。
【００３５】
図２Ｋはブロック図２００Ｋを含み、ブロック図２００Ｋは、たとえば、トモグラフコンポーネント２７０が制御エージェントにおいて使用するためのソフトルールを自動的に学習した後に、ＣＤＩ制御エージェント２５０Ｊによって自動的に制御されている別のターゲットシステムの実施形態の例示的コンポーネントを示す。この例では、制御エージェント２５０Ｊは、自動化された動作を行って、１つまたは複数のＨＶＡＣユニット２７２を介して建物２７１の暖房および／または冷房を制御して、たとえば、制御エージェントにおいて表現された定義された制約条件、ルール、および他の基準に照らして１つまたは複数の定義された目標を満たす。いくつかの実施形態では、ＨＶＡＣユニットを制御するための自動化されたアクティビティは、（たとえば、温度範囲内で、利用者に供給された動的要求に応じて特定の時間に特定の部屋の温度を上昇または低下させるように）１つまたは複数の定義された基準に従って建物の一部または全部の部屋の暖房および／または冷房を維持しながら、リアルタイム方式でならびに／または暖房および／もしくは冷房アクティビティのコストを最適化するように行われることができる。
【００３６】
図２Ｋの示された例では、建物は複数の階２７４を有し、各階は複数の部屋２７５を有する。いくつかの部屋は、その部屋の温度を提供するための温度センサ２７６を有し、（同じ部屋か異なる部屋かに関わらず）いくつかの部屋は、利用者に選択可能な命令ボックス２７７であって、それらの命令ボックス２７７に関連付けられた１つまたは複数の部屋の暖房および／または冷房を要求するための命令ボックス２７７を有することができる。制御エージェント２５０Ｊおよび／またはトモグラフ２７０は、ターゲットシステムのためのセンサ（たとえば、室内温度センサ２７６、１つまたは複数の外部温度センサ、ＨＶＡＣユニット２７２および／または建物用の電力供給２７３の動作に関連付けられたセンサなど）からの情報、制御エージェント２５０ＪからＨＶＡＣユニット２７２および／または電力供給２７３に供給される制御信号情報、ターゲットシステム動作の出力または結果に関する他の情報などを受け取り、他方で、制御エージェントは、この例では、ＨＶＡＣユニットおよび／または電力供給に命令を直接提供するように示されているが、他の実施形態では、制御エージェントは、そうではなく、１つまたは複数の中間システム（たとえばスマート建物管理システム）に制御命令を提供することができる。図２Ａないし図２Ｊに関して説明されたのと同様のアクティビティが、ターゲットシステム２００Ｋについて同様に行われることができるが、そのような詳細は簡潔にするために示されていないことは理解されよう。
【００３７】
少なくともいくつかの実施形態におけるトモグラフコンポーネントの動作に関する追加の例示的詳細は以下の通りであるが、いくつかの実施形態では他の方式でトモグラフィ技法を行ってよいことは理解されよう。
【００３８】
以下の方程式は、図１Ｇの図１９９に示されるようなターゲットシステムのためのｋ番目のセンサに対応し、代数的に解かれ、１つのセンサ上で一度反復され、システムのハミルトニアンの近似を取得する。
【００３９】
【数１】
2019528494.tif 000003
【００４０】
ｋ＝１，…，ｎ
ただし、Ｙkは、ｋ番目のセンサに関連付けられた信号である
【００４１】
【数２】
2019528494.tif 000004
【００４２】
は、ｉ番目のエージェントのトモグラフによるデータトモグラフ推定値である
各エージェントｉのルールハミルトニアンは、以下のように絶対的ルール、ハードルール、およびソフトルールを含む：
【００４３】
【数３】
2019528494.tif 000005
【００４４】
ハミルトニアンＨRが完備である場合、以下のようになる：
【００４５】
【数４】
2019528494.tif 000006
【００４６】
【数５】
2019528494.tif 000007
【００４７】
２が満たされない場合、
［φj，ＨR］≠０
である。そして、ＨRが完備でない場合、その完備化は、感知信号、およびトモグラフダイナミクスを介する他のエージェントからのデータから、修復プロセスによって決定される必要がある。
補題：ドメイン（たとえばＳＢＩＲ）が、ルールのセット｛ｒi（ｘ，ｐ，ｕ），ｉ＝１，…，ｎ｝に対応するポテンシャルのセット｛φi（ｘ，ｐ，ｕ）＝０，ｉ＝１，…，ｎ｝を特徴付けたとする。Ｇ（ｘ，ｕ）＝０を問い合わせｇ（ｘ，ｕ）に関連付けられたポテンシャルとする。
すると、以下の場合かつその場合に限り、｛ｒi（ｘ，ｐ，ｕ），ｉ＝１，…，ｎ｝に関してｇの解決を求めることができる：
【００４８】
【数６】
2019528494.tif 000008
【００４９】
（ポテンシャルの凸結合＝問い合わせ）
ただし、｛ｇi（ｘ，ｐ，ｕ）＝０，ｉ＝１，…，ｎ｝は、ドメイン変数の連続微分可能関数である。
解決は、ドメインのルールを満たす問い合わせにおける変数の値のセットである。
定理１
完備化されたハミルトニアンは、以下のトモグラフィ条件を満たさなければならない：
［φj，ＨR］＋［φj，ＨT］＝０    ｊ＝１，…，ｎ    ｎはアクティブなルールの数
ただし、
ＨTはトモグラフィ完備化であり、
【００５０】
【数７】
2019528494.tif 000009
【００５１】
かつ、［φj，ＨR＋ＨT］＝０，    ｊ＝１，…，ｎ
上記の定理は、感知データについての構造的適合要件を提供する。トモグラフィ条件から、構造的可観測性条件が、十分な感知情報が利用可能であるように導出されることができる。
Ｙk（ｔ）を、ｋ番目のセンサによって生成されたベクトルセンサ信号であるとして、
Ｙk（ｔ）＝Ψk（ｔ，ｘ，ｐ）であり、ここでΨkはセンサのモデルである。
定理２
ＨR＋ＨTは、センサ完備化トモグラフィ条件
【００５２】
【数８】
2019528494.tif 000010
【００５３】
を、各エージェントｉのすべてのセンサｋ（ｋ＝１，…，Ｋi）について同時に満たさなければならない。
系
構造的可観測性が、ＨTの一意解に対応する。
一般に、構造的可観測性は、緩和された意味のみで、たとえば最小の最小二乗（minimum least squares）で達成される。
一般に、トモグラフィ方程式の収束の質および速さは、独立した感知信号の数と共に増大する。トモグラフを実施するためのアルゴリズムは、逆モデル法の適用に基づく。
Ｙk（ｔ）を、ｋ番目のセンサによって生成されたベクトルセンサ信号であるとして、
Ｙk（ｔ）＝Ψk（ｔ，ｘ，ｐ）であり、ここで、Ψkはセンサのモデルであり、ＨT,kがそのハミルトニアン形式
【００５４】
【数９】
2019528494.tif 000011
【００５５】
である。
定理３
【００５６】
【数１０】
2019528494.tif 000012
【００５７】
が、最初のｋ−１個のセンサについて「ラウンドロビン条件」ｋ＝０ｍｏｄＬ（Ｌ＝センサの数）でセンサ完備化トモグラフィ条件を満たすとすると、ｋ番目の完備化が、各センサｋ，ｋ＝０ｍｏｄＬについて
【００５８】
【数１１】
2019528494.tif 000013
【００５９】
【数１２】
2019528494.tif 000014
【００６０】
を満たす。
定理３の反復手順は、Ｓｅｇａｌ、Ｄｉｒａｃ手順で代数的に実施されることができる。
Ｙk（ｔ）を、ｋ番目のセンサによって生成されたベクトルセンサ信号であるとして、
Ｙk（ｔ）＝Ψk（ｔ，ｘ，ｐ）であり、ここでΨkはセンサのモデルである。
定理４
【００６１】
【数１３】
2019528494.tif 000015
【００６２】
が、最初のｋ−１個のセンサについて「ラウンドロビン条件」ｋ＝０ｍｏｄＬ（Ｌ＝センサの数）でセンサ完備化トモグラフィ条件を満たすとすると、ｋ番目の完備化が、各センサｋ，ｋ＝０ｍｏｄＬについて
【００６３】
【数１４】
2019528494.tif 000016
【００６４】
を満たし、ここで、
【００６５】
【数１５】
2019528494.tif 000017
【００６６】
は、センサによって導入されたエントロピを最小にする、センサｋのハミルトニアンである。
【００６７】
少なくともいくつかの実施形態におけるトモグラフコンポーネントの動作に関するさらなる例示的詳細は以下の通りである。
【００６８】
本明細書に説明されているデータトモグラフコンポーネントの動作および機能性は、イメージング（たとえば、Ｘ線、ＭＲＩなど）で使用されるトモグラフ手法に類比されることができる。例として、（手術のための）膝の画像を構築することを考える。いくつかの信号またはプローブが膝を通され、各信号に関連付けられた密度情報から画像が再構築される。本明細書に説明されているデータトモグラフコンポーネントでは、情報を取得するために問い合わせが送出され、問い合わせの結果が、調査中のターゲットシステムについてデータハミルトン関数（単に「ハミルトニアン」とも呼ばれる）を構築するために使用される。たとえば、１つの問い合わせは、何人の男性が膝に痛みを経験したかであってよく、別の問い合わせは、膝の手術を受けた患者の年齢であってよく、別の問い合わせは、回復時間に関してであってよい。構築されたデータハミルトニアンは、膝の画像が局所的であるのと同様に関心領域に対して局所的であり、肩または臀部または体の他の部位に関する情報を提供しない。いくつかの状況では、データ全体に対する大域的ハミルトニアンが存在しないが、問い合わせを参照して局所的ハミルトニアンが構築されることができる。
【００６９】
説明されているデータハミルトニアンの作成および学習は、少なくともいくつかの実施形態では、帰納的戦略と演繹的戦略を組み合わせる。演繹的戦略は、強い意味で有効なデータの性質を前提とし、それらは、論理ルール（バイナリ真／偽ルール）としてこれらの性質を特徴付ける。これらの論理ルールは、２つの種類があり、すなわち、データにおいて一般に有効であるものを特徴付ける絶対的ルールと、データから望ましい情報を抽出するための特定の方法を特徴付ける論理ルールであるハードルールとがある。これらのルールは、歴史的に有効であり、初期ハミルトニアンを構築するために使用されることができる。
【００７０】
機能的戦略は、完全に偽（０）と完全に真（１）との間の真理評価を有するルールのセットによって特徴付けられる。これらは、［０，１］区間内の値を有するソフトルールと呼ばれる。ソフトルールは、閾値と呼ばれるデータに依存する追加の要素を有してよい。閾値は、問い合わせの真理評価を決定するルールに関連付けられたデータの関数である。絶対的ルールとハードルールの合成が、データハミルトニアンと呼ばれるデータ符号化構造を決定する。データハミルトニアンは、伝播メカニズム、陽性特性、正値性、データコンポーネント間の相関、単調性など、ハミルトニアン物理と多くの性質を共有する。データハミルトニアン構造は、データドメイン、データドメインにおけるデータの変動性（データモメンタム）、およびデータドメインの修正パラメータを特徴付ける変数の関数形式である。
【００７１】
異種データに関して、それは、（必ずしも互いに素でない）各データクラスについて別個のハミルトニアン構造を構築するために有用であることができ、平均場ハミルトニアン集約構造は、単一のデータ構造としてデータユニバースを特徴付けるために構築されてよい。
【００７２】
ソフトルールは、ハミルトニアン構造を構築する学習アルゴリズムを介してデータを抽出することによって学習され、このコンポーネントは、データトモグラフコンポーネントと呼ばれる。データトモグラフは、以下のように機能する。データについての与えられた問い合わせに関して、それは、初期の問い合わせに関連付けられた特定のデータクラスに対するプローブとして働く問い合わせのセットをまず生成することによって、回答（空の回答も候補である）を生成する。問い合わせおよび関連付けられた応答のセット（入力と出力の対）が、問い合わせのセットに対する応答から関数構造を構築（または更新）するために、データトモグラフによって使用される。ハミルトニアンに関連付けられた特定の問い合わせは、スプラインまたは区分多項式によって近似されてよい。データトモグラフは、特定の問い合わせ（または目標）に関連付けられたソフトルールを生成する。ソフトルールのみからアクセス可能なハミルトニアンの部分は、ソフトトモグラフと呼ばれる。
【００７３】
特定の態様のデータに関連付けられた全体的ハミルトニアンは、絶対的ルールから構築された絶対的ハミルトニアン、ハードルールから構築されたハードハミルトニアン、およびデータ抽出から構築されたソフトハミルトニアンを含む、そのクラスに対するデータハミルトニアンおよびルールベースのハミルトニアンの合計である。この全体的ハミルトニアンは、データクラスを特徴付ける。
【００７４】
データトモグラフの別の態様は、トモグラフによって生成された問い合わせが新しい情報を提供しているか、または十分な情報があって追加の問い合わせが必要とされないかを示す条件のセットである。条件が満たされたとき、ハミルトニアンは近い近似を提供し、それ以上のソフトルールが構築されない。条件がまだ満たされていないとき、特定の問い合わせに関連付けられたセンサ方程式を伝播し、特定のデータクラスについて必要に応じてさらなる入力／出力対を追加することによって、精緻化されまたは学習される。
【００７５】
ハミルトニアン構造におけるデータの符号化は、データの相互相関が重要な他の方法に対して利点を有する。１つのデータクラスおよび他のデータクラスからの相互相関は、クラスのデータハミルトニアンと他のクラスのハミルトニアンとの直接相関ではなく、クラスのハミルトニアンと平均場ハミルトニアンとの間の相互作用によって媒介される。この手法は、そのような相互相関についての多項式複雑度を提供する。相互相関回答の質は、相互相関計算（量子化エラー）に許容される反復エラーによってのみ決定される。これは、複数のデータクラスにわたる問い合わせの推論にも当てはまる。
【００７６】
説明されている技法は、低い複雑性の計算（二次多項式計算）を用いて、動的データ、高いレベルの不確実性を有するデータ、高次元データ、相互相関されたデータなどに適用可能である。
【００７７】
説明されている技法を用いた学習またはデータからの推論は、相対エントロピを最小にする回答に向かうデータの収束軌道を生成することに基づく。それは、データに対する問い合わせの変数の近似として値（数字またはその他）を割り当てることによってエントロピ低減の関数として回答を近似する。
【００７８】
多くの複雑なシステムの特性ダイナミクス、特に計算プロセス（アルゴリズム）を含むシステムは、従来の数学的制約条件を用いて容易にはモデル化されない。データトモグラフコンポーネントの使用は、感知データおよびルールに基づくシステムのダイナミクスの抽出を可能にし、それにより、システムが最適な方式で環境条件の変化を学習しそれに適合することをできるようにし、この適合は、本明細書では構造的適合と呼ばれることがある。
【００７９】
データトモグラフコンポーネント動作は、２つの方法で働く。第１に、それは感知信号をハミルトニアンに変換し、第２に、それは感知信号からルールを抽出し、そのルールは次いでシステムのハミルトニアンにおいて使用されることができる。トモグラフは、更新されたデータおよび更新されたルールに基づいてシステムのダイナミクスの構造的適合を提供する。ルールは、挙動を定量化することが可能なソフトルールである。このような方法で、トモグラフは、環境が変化するにつれてメタ制御方法論がハミルトニアンを学習および更新することを可能にする。逆の方法で、トモグラフは、ソフトルールを抽出してシステムに関する理解をそれが進展するにつれてユーザに提供することができる。トモグラフは、システムの構造を学習するリアルタイムシステム（構造的適合）であり、ソフトルールを発見および修正することができる。
【００８０】
感知データからルールを抽出するために、トモグラフは、目標に関連付けられたデータを「励起」させる。励起目標に関連付けられたセンサを介して観測されたドメインダイナミクスが、抽出された観測可能データを生成し、これは、既存の（知識ベース内の）ルールおよび新しいデータに関連付けられたハミルトニアンのプロパゲータを供給する。図１Ｃは、どのようにトモグラフがソフトルールを生成するかを示す。
【００８１】
図１Ｃのハミルトニアンプロパゲータは、励起センサ対に関連付けられたドメインの全体的ハミルトニアンを生成する。ルールおよび観測されたデータを含む全体的ハミルトニアンは、
ＨT（ｘ，ｐ，ｕ，ｔ）
であり、プロパゲータによって生成される。それは、さらに２つのハミルトニアンに、すなわち、ルールベースのハミルトニアン
Ｈ0（ｘ，ｐ，ｕ，ｔ）
および抽出されたデータに関連付けられたハミルトニアン
ＨS（ｘ，ｐ，ｕ，ｔ）
に分解可能である。
したがって、ここで、
ＨT（ｘ，ｐ，ｕ，ｔ）＝Ｈ0（ｘ，ｐ，ｕ，ｔ）＋ＨS（ｘ，ｐ，ｕ，ｔ）
を得られる。
しかしながら、トモグラフの目的のために以下のように書き直す：
ＨS（ｘ，ｐ，ｕ，ｔ）＝ＨT（ｘ，ｐ，ｕ，ｔ）−Ｈ0（ｘ，ｐ，ｕ，ｔ）
【００８２】
全体的ハミルトニアンおよびルールベースのハミルトニアンが分かっているので、抽出されたデータに関連付けられたハミルトニアンを決定する。ポテンシャルハミルトニアンは、ソフトルールを表現し、これは、
ｌｎ（Ｐk（ｔ，ｘ，ｐ）−閾値）＝ＨS（ｘ，ｐ，ｕ，ｔ）
を解くことによって、ｋ番目のセンサによって測定されたデータに関連付けられた対応するソフトルール
【００８３】
【数１６】
2019528494.tif 000018
【００８４】
を取得することによって決定される。
【００８５】
データソースおよびルールを含むｋ番目のセンサモデルは図１Ｇに示されている。ｋ番目のセンサは、アルゴリズム的な時間の関数としてデータにセンサ信号Ｙk（ｔ，ｘ，ｐ）を生成させるために使用される励起に依存するルールのセットによって特徴付けられる。所与の励起によって生成された感知データのデータ履歴が、全体的ハミルトニアンプロパゲータ方程式を駆動する。
【００８６】
以下のプロパゲータは、システムの全体的ハミルトニアンについての双曲型方程式である：
【００８７】
2019528494.tif 000019
【００８８】
ここで、それはｋ番目のセンサ信号に関係し、ｋ＝１，…，ｎであり、Ｙｋは、ｋ番目のセンサに関連付けられた信号であり、
【００８９】
【数１７】
2019528494.tif 000020
【００９０】
は、ｉ番目のエージェントのトモグラフによるデータトモグラフ推定値である。（リアルタイムで）解くと全体的ハミルトニアンの推定値が与えられる。状態および共状態軌道が、対応するハミルトン−ヤコビ方程式から生成される。各エージェントｉのルールハミルトニアンは、以下のように絶対的ルール、ハードルール、およびソフトルールを含む：
【００９１】
【数１８】
2019528494.tif 000021
【００９２】
ここで、ＨA（ｘ，ｐ，ｕ）は絶対的ルールのハミルトニアンであり、各ソフトルールは、そのポテンシャル関数φj（ｘ，ｐ，ｕ）に符号化される。
【００９３】
励起が信号を生成しないため、または生成された信号が全体的ハミルトニアンと完全に適合しないため、与えられたセンサがそのハミルトニアンに対する修正を生成しない（すなわち、センサが新しい情報を提供しない）ことが可能である。信号が完全に適合する場合、ハミルトニアンが完備であるという。ルールハミルトニアンが完備である場合、以下の２つの条件が各ポテンシャルｊについて満たされる。
（１）  φj（ｘ，ｐ，ｕ）＝０，および
（２）  ［φj（ｘ，ｐ，ｕ），ＨR（ｘ，ｐ，ｕ）］＝０
これらは、ルールポテンシャル条件でありポアソン括弧が以下によって与えられる：
【００９４】
【数１９】
2019528494.tif 000022
【００９５】
条件（２）が満たされない場合、すなわち、少なくとも１つのｊについて［φj（ｘ，ｐ，ｕ），ＨR（ｘ，ｐ，ｕ）］≠０である場合、ＨRは完備でなく、その完備化は、感知信号およびダイナミクスを介する他のエージェントからのデータを使用する修復プロセスによって決定される必要がある。
【００９６】
修復プロセスが必要とされているかどうか、または現在のハミルトニアンが完備であるかを判断するために以下の条件が数値的にテスト可能である。
条件（３）：  ルールのセット｛ｒi（ｘ，ｐ，ｕ）＝０，ｉ＝１，…，ｎ｝に対応するポテンシャルのセットφi(x,p,u)＝０，ｉ＝１，…，ｎによって特徴付けられるドメインが与えられたとする。Ｇ（ｘ，ｙ）＝０を、問い合わせｇ（ｘ，ｕ）に関連付けられたポテンシャルであるとする。すると、以下のようにポテンシャルの凸結合が問い合わせに等しい場合かつその場合に限り、ルールのセット｛ｒi（ｘ，ｐ，ｕ）＝０，ｉ＝１，…，ｎ｝に関して問い合わせの解決を求めることができる：
【００９７】
【数２０】
2019528494.tif 000023
【００９８】
ただし、ｇi（ｘ，ｐ，ｕ）＝０，ｉ＝１，…，ｎは、ドメイン変数の連続微分関数である。
条件（３）が数値的に満たされる場合、解決、すなわち、ドメインのルールを満たす問い合わせにおける変数の値のセットが存在し、データトモグラフによって生成されたルールハミルトニアンが完備である。
【００９９】
ルールハミルトニアンが完備であるときであっても、それは既存のルールと適合すべきである。新しいデータが既存のルールと適合するために、以下の条件により、感知データを介する全体的ハミルトニアンに対する修正の意味論的生成を正当化する。それは、感知データおよびルールに対する構造的適合も提供する。トモグラフ条件から、完備化されたハミルトニアンはポテンシャルおよびルールが与えられると計算可能である。構造的可観測性条件は、完備であるハミルトニアンについての十分な感知情報を保証するように導出されることができる。
条件（４）：  完備化されたハミルトニアンは、ｊ＝１，…，ｎについてトモグラフ条件
［φi（ｘ，ｐ，ｕ），ＨR（ｘ，ｐ，ｕ）］＋［φi（ｘ，ｐ，ｕ），ＨT（ｘ，ｐ，ｕ）］＝０
を満たし、ここで、ＨTは完備化されたハミルトニアンであり、ＨR（ｘ，ｐ，ｕ）＝ＨA（ｘ，ｐ，ｕ）＋Σλjφj（ｘ，ｐ，ｕ）であり、［φj（ｘ，ｐ，ｕ），ＨR＋ＨT］＝０であり、ｊ＝１，…，ｎである。
条件が満たされない場合、新しい情報から新しいハミルトニアンが構築または学習される。ハミルトニアンの構造的適合は、ここで説明されているようにデータから情報を抽出することによって達成される。Ｙk（ｔ）を、ｋ番目のセンサによって生成されたベクトルセンサ信号であるとする。すると、
Ｙk（ｔ）＝Ψk（ｔ，ｘ，ｐ）
が得られ、ここでΨk（ｔ，ｘ，ｐ）はセンサのモデルである。以下の条件は、感知データと構造的可観測性との間の関係を提供する。トモグラフを実施するためのアルゴリズムは、逆モデル法の適用に基づく。一般に、トモグラフを伴うハミルトニアンを解く収束の質および速さは、独立した感知信号の数と共に増大する。条件（５）  ＨR（ｘ，ｐ，ｕ）＋ＨT（ｘ，ｐ，ｕ）は、センサ完備化条件
【０１００】
【数２１】
2019528494.tif 000024
【０１０１】
を各エージェントｉのすべてのセンサｋ＝１，…，Ｋiについて同時に満たす。
【０１０２】
構造的可観測性は、ＨTの一意解に対応する。一般に、構造的可観測性は、緩和された意味のみで達成される。ここで、
Ｙk（ｔ）＝Ψk（ｔ，ｘ，ｐ）
と共にベクトルセンサ信号Ｙ＿ｋ（ｔ）およびセンサのモデルΨk（ｔ，ｘ，ｐ）が与えられると、ＨT,Kとして示される関連付けられたハミルトニアンは、次の形式を有する：
【０１０３】
【数２２】
2019528494.tif 000025
【０１０４】
以下の反復手順は、構造的適合のための数値的実施を提供する。手順および表記は、制約付きハミルトニアンのためのディラック理論に基づく。構造的適合手順１．
【０１０５】
【数２３】
2019528494.tif 000026
【０１０６】
が、最初のｋ−１個のセンサについて「ラウンドロビン条件」ｋ＝０ｍｏｄＬ（Ｌはセンサの数）でセンサ完備化条件を満たすとする。すると、ｋ番目の完備化が、
【０１０７】
【数２４】
2019528494.tif 000027
【０１０８】
を満たし、ここで、各センサｋ，ｋ＝０ｍｏｄＬについて
【０１０９】
【数２５】
2019528494.tif 000028
【０１１０】
である。
【０１１１】
以下では、ハミルトニアンにおいて多くのセンサ信号を取り込むための反復手順を確立して、所与のエージェントについての複数のセンサが互いに適合することを保証する。修復条件が完備化を提供することにも留意されたい。構造的適合手順２．
【０１１２】
【数２６】
2019528494.tif 000029
【０１１３】
が、最初のｋ−１個のセンサについて「ラウンドロビン条件」ｋ＝０ｍｏｄＬ（Ｌはセンサの数）でセンサ完備化トモグラフィ条件を満たすとする。ｋ番目の完備化が、各センサｋ，ｋ＝０ｍｏｄＬについてすると、ｋ番目の完備化が、修復条件
【０１１４】
【数２７】
2019528494.tif 000030
【０１１５】
を満たし、ここで、各センサｋ，ｋ＝０ｍｏｄＬについて
【０１１６】
【数２８】
2019528494.tif 000031
【０１１７】
であり、
【０１１８】
【数２９】
2019528494.tif 000032
【０１１９】
は、センサによって引き起こされるエントロピを最小にするためのセンサｋのハミルトニアンである。
【０１２０】
図１Ｃおよび図１Ｇの詳細に加えて、図１Ｄは、トモグラフィ技法が対応するターゲットシステムについてのセンサデータに基づいてソフトルールおよび他の情報を生成しデータハミルトニアンへ追加するためにどのように使用されてよいかを示す、例示的なフロー図および追加の情報１９６である。図１Ｅはさらに、ターゲットシステムの部分的に知られた状態から欠損している情報を訂正するまたは他の形で完了させるためにトモグラフィ技法を使用するシステムのエージェントアーキテクチャ概略の例を示すブロック図１９７である。加えて、図１Ｆは、トモグラフを使用することによって、部分的に知られている状態から欠損している情報を訂正するまたは他の形で完了させることを含めて、対応するターゲットシステムを表わすハミルトニアンが部分的に知られているとき、ＣＤＤシステムのルールおよび他の状態情報がどのように最適化されてよいかを示す、例示的なフローおよび追加の情報１９８を示す。図１０はさらに、トモグラフコンポーネントのアクティビティが示された修復手順の一部として実施されてよい、ＣＤＤシステムの実施形態の動作の高水準フロー１０００を示す。図１１は、複数のトモグラフコンポーネントの使用のさらなる例示的な詳細を有し、各トモグラフコンポーネントが分散ＣＤＤシステム実施形態においてＮ個のＣＤＩエージェントのうちの１つに関係付けられた、ブロック図１１００を示す。
【０１２１】
トモグラフィ技法の使用を含む説明されている技法は、様々な利益および利点を提供することができる。そのような利益および利点の非限定的例は、ターゲットシステムの現在の状態がモデル化の方法を改善して、たとえば、ターゲットシステムの内部構造および動作を理解することなく単にターゲットシステム出力を入力から推定することを試みるのではなく、ターゲットシステムの内部動作をモデル化する関数および／または他の構造を生成することと、不確実性管理ならびに／または最適なディスパッチおよびコミットメントならびに／または異常検出および応答を取り扱う能力を向上することと、構造的適合を行って、ターゲットシステムの変化に対応する新しいソフトルールを自動的に学習することなどとを含む。
【０１２２】
加えて、（たとえば、バッテリのＤＣ電流および電圧を変えることによって）ＤＣ側でバッテリの電力出力が制御される実施形態に関連して、説明されている技法の利益および利点は、バッテリに接続されたインバータにより提供されるＡＣ（交流）電圧および／または電流を単一の指定されたレベルに固定するのではなく、（たとえば、化学量論的範囲などの１つまたは複数の化学量論的限界内でバッテリの内部の化学的性質を維持することによって）内部温度および／または他のバッテリパラメータに関してバッテリがその最適なまたは最適に近い物理的状態で動作することを可能にすることと、不可逆的バッテリ損傷のおそれという代償を支払うが最大電力を提供する飽和レベルでバッテリを動作させることとを含む。このようにして、本明細書に説明されているようなトモグラフィ技法によって少なくとも一部生成されたバッテリ状態情報に照らして、バッテリの化学的性質の変化が可逆的であって短絡および他の不可逆的損傷が低減または除去される好ましい範囲で、バッテリが動作することを可能にすることによって、バッテリ寿命および他の動作性能が説明されている技法により最適化または他の形で向上されることができる。加えて、少なくともいくつかの実施形態では、バッテリの自動化制御は、他のコンポーネント（たとえば、負荷および／または外部電力グリッド）との電力出力量共鳴を向上および維持するためのバッテリの能動制御をさらに含むことができ、したがって、提供される電力の量は、電力出力要求または負荷量の少なくとも定義されたパーセンテージまたは他の量（たとえば、５０％、６５％、１００％、または任意の他の定義されたパーセンテージもしくは他の量）を満たしながらも、必要とされる量を超えない。このようにして、そのような実施形態は、バッテリ損傷または他の問題（たとえば過剰加熱）を生じてもバッテリの出力電圧または電流を固定しすべての電力要求を満たす既存のシステムではなく、可能な場合に電力出力要求を満たし、制御されるバッテリの内部状態および（寿命を含む）動作性能を管理する自動化制御システムとして概念化されることができる。上記および本明細書のいくつかの他の箇所で論じられる利益および動作は、バッテリから出力される電力を制御することに関するが、同じ技法が、１つまたは複数の電源からバッテリ内に貯蔵される電力を制御するために使用されることができ、電力を貯蔵しながら、バッテリが、熱および他のバッテリパラメータに関してその最適なまたは最適に近い物理的状態で動作するようにし、また、電力が１つまたは複数の電源によって提供されるための電力入力要求の少なくとも定義されたパーセンテージまたは他の量（たとえば、５０％、６５％、１００％、または任意の他の定義されたパーセンテージもしくは他の量）を満たしながら、バッテリの化学的性質の変化が可逆的である好ましい範囲で、バッテリが動作することを可能にすることによって、バッテリ寿命および他の動作性能を最適化または他の形で向上するようにすることは理解されよう。追加の利益および利点は、以下を含み、特に示されない限り、本明細書で使用される特徴または結果を「最適化する」という用語は、一般にその特徴または結果を（たとえば、部分的または完全な最適化によって）改善することを意味し、本明細書で使用される「リアルタイム」という用語は、制御されている結果のコンポーネントまたはシステムに固有の時間フレーム（たとえば、秒の分数、秒、分など）に関して意味を有する。
●  Ｉ（電流）、Ｖ（電圧）、およびＲ（出力されている電力の量）のようなＤＣ制御変数を最適化することによって、バッテリ寿命を改善することができる
●  バッテリの化学的性質の事前の特徴付けと関連してＤＣ制御変数（Ｉ，Ｖ，Ｒ）を最適化することによってバッテリ寿命を改善することができ、また、性能および寿命を改善するようにＤＣレベルで最適化することができる
●  ＡＣ相において目的を解決するためにＤＣ領域でリアルタイムに変数を最適化することができる
●  他のグリッドコンポーネントなしでバッテリ出力のみの制御によるなどして、共鳴動作をもたらすグリッド周波数に一致するようにリアルタイムでＡＣ出力を最適化することができる
●  充電／放電サイクルを改善して長期バッテリ利用可能性を改善することができる
●  ＡＣ負荷応答を改善することができる
●  長期バッテリ利用可能性を改善することと組み合わせてＡＣ負荷応答を改善することができる
●  バッテリコントローラが、プロセッサ上で組み込まれたソフトウェアとして自己充足的に動作することができる
●  バッテリコントローラが、外部位置（たとえば、クラウドまたは他のネットワークアクセス可能位置）から継続的に監視および更新されることができる
●  バッテリコントローラが、バッテリ特性を送信して性能を改善することができる
●  静止型無効電力補償装置ハードウェアに関する出費を回避することができる
【０１２３】
以下により詳細に一部が論じられるように、様々な他の利益および利点が少なくともいくつかの実施形態でさらに実現されることができる。例示のため、以下に含まれるいくつかの実施形態に関するいくつかの追加の詳細では、特定種類のターゲットシステム、および特定の方式で決定された特定種類の制御アクティビティに関することを含めて、特定の方式で特定種類の動作が行われる。これらの例は、例示のため提供され簡潔にするために単純化されるが、本発明の技法は、他の環境内および他の種類の自動化制御アクション決定技法を含む様々な他の状況で使用されてよく、それらの一部が以下に論じられる。
【０１２４】
図３は、本明細書の他の箇所でより詳細に論じられるように、トモグラフィ技法を使用して生成された状態情報に少なくとも一部基づいて、構成された方式で指定された物理システムまたは他のターゲットシステムの少なくともいくつかの動作を制御または他の形で操作するために自動化制御システムを実施するための技法を実施するのに適した例示的コンピューティングシステムを示すブロック図である。具体的には、図３は、１つまたは複数のトモグラフコンポーネントを含むＣＤＤシステムの少なくとも一部の機能を提供するのに適したサーバコンピューティングシステム３００を示すが、他の実施形態では、複数のコンピューティングシステムが実行のために使用されることができる（たとえば、実行時制御が発生する前の初期構成およびセットアップのためのＣＤＤ判断モジュール構築コンポーネント、ならびに実際の実行時制御のための１つもしくは複数のコピーのＣＤＤ制御アクション決定コンポーネント３４４および／またはＣＤＤ調整制御管理コンポーネント３４６および／またはトモグラフコンポーネント３４５を、別個のコンピューティングシステムに実行させる；１つまたは複数のコンピューティングシステムにトモグラフコンポーネントを実行させ、トモグラフコンポーネントが相互作用するＣＤＤシステムの一部または全部を実行する１つまたは複数の他のコンピューティングシステムとトモグラフコンポーネントは分離している；異なるコンピューティングシステムに異なるトモグラフコンポーネントを実行させるなど）。図３はまた、ＣＤＤシステム３４０のカスタマまたは他のユーザによって使用できる様々なクライアントコンピュータシステム３５０、ならびに制御される１つまたは複数のターゲットシステム（この例では、１つまたは複数のコンピュータネットワーク３９０を介してＣＤＤシステム３４０およびそのトモグラフコンポーネント３４５にアクセス可能なターゲットシステム１  ３６０およびターゲットシステム２  ３７０）を示す。
【０１２５】
示された実施形態では、１つまたは複数のトモグラフコンポーネント３４５は、ＣＤＤシステム３４０の一部としてメモリ３３０において実行されており、いくつかの実施形態では、コンポーネントは各々が様々なソフトウェア命令を含み、これらのソフトウェア命令は、実行されたとき、本明細書の他の箇所に説明されているように、トモグラフコンポーネントの実施形態を提供するようにハードウェアＣＰＵプロセッサ３０５のうちの１つまたは複数をプログラムする。動作中、少なくともいくつかの実施形態では、各トモグラフコンポーネントは、本明細書の他の箇所でより詳細に論じられるように、１つまたは複数のターゲットシステム状態モデル（たとえば、ストレージ３２０に記憶されたモデル３２２のメモリ内コピー）を修正または他の形で生成し、様々な入力データ３２４を取得し、様々な情報を他の実行コンポーネントと交換してよい。
【０１２６】
サーバコンピューティングシステム３００は、示された実施形態では、１つまたは複数のハードウェアＣＰＵ（「中央処理装置」）コンピュータプロセッサ３０５、様々なＩ／Ｏ（「入力／出力」）ハードウェアコンポーネント３１０、ストレージ３２０、およびメモリ３３０を含むコンポーネントを有する。示されたＩ／Ｏコンポーネントは、ディスプレイ３１１、ネットワーク接続３１２、コンピュータ可読メディアドライブ３１３、および他のＩ／Ｏデバイス３１５（たとえば、キーボード、マウス、スピーカなど）を含む。加えて、示されたクライアントコンピュータシステム３５０は各々が、サーバコンピューティングシステム３００のコンポーネントに類似するコンポーネントを有することができ、それらのコンポーネントは、１つまたは複数のハードウェアＣＰＵ３５１、Ｉ／Ｏコンポーネント３５２、ストレージ３５４、およびメモリ３５７を含むが、簡潔にするためにコンピューティングシステム３５０について一部の詳細は示されていない。ターゲットシステム３６０および３７０も各々が、サーバコンピューティングシステム３００に関して示されたコンポーネントの一部または全部に類似するコンポーネントを有する１つまたは複数のコンピューティングシステム（図示せず）を含むことができるが、簡潔にするため、この例にはそのようなコンピューティングシステムおよびコンポーネントも示されていない。
【０１２７】
ＣＤＤシステム３４０は、メモリ３３０において実行されており、コンポーネント３４２ないし３４６を含み、いくつかの実施形態では、これらのシステムおよび／またはコンポーネントは各々が、様々なソフトウェア命令を含み、これらのソフトウェア命令は、実行されたとき、本明細書の他の箇所に説明されているようにＣＤＤシステムの実施形態を提供するようにＣＰＵプロセッサ３０５のうちの１つまたは複数をプログラムする。ＣＤＤシステム３４０は、ネットワーク３９０を介して（たとえば、インターネットおよび／またはワールドワイドウェブを介して、プライベートセルラーネットワークを介してなど）コンピューティングシステム３５０と、また、この例ではターゲットシステム３６０および３７０と相互作用することができる。この例示的実施形態では、ＣＤＤシステムは、本明細書の他の箇所でより詳細に論じられるように、カスタマまたは他のユーザのために構成された方式で判断モジュールを生成および配置すること、ならびにトモグラフコンポーネント３４５を実行時に生成または配置して対応するターゲットシステムのモデル化された状態情報を改善することに関係付けられた機能性を含む。他のコンピューティングシステム３５０も、ＣＤＤシステム３４０および／またはそのコンポーネントとの相互作用の一部として、様々なソフトウェアを実行していることができる。たとえば、クライアントコンピューティングシステム３５０は、（たとえば、ウェブブラウザの一部、専用クライアント側アプリケーションプログラムなどとして）ＣＤＤシステム３４０と相互作用するためにメモリ３５７におけるソフトウェアを実行していることができ、それにより、たとえば、ＣＤＤシステム３４０の１つまたは複数のインターフェース（図示せず）と相互作用して、自動化制御システム（たとえば、１つまたは複数の物理ターゲットシステムを制御する際に使用するためにＣＤＤシステム３４０によって以前に作成されている記憶された自動化制御システム３２５）または他の判断モジュール３２９を構成および配置し、また、他の箇所でより詳細に論じられるように様々な他の種類のアクションを行う。ＣＤＤシステム３４０の機能性に関係付けられた様々な情報、たとえば、ＣＤＤシステムのユーザに関係付けられた情報３２１（たとえば、アカウント情報）、および１つまたは複数のターゲットシステム（たとえば、制御されるバッテリを有するシステム）に関係付けられた情報３２３が、ストレージ３２０に記憶されることができる。
【０１２８】
コンピューティングシステム３００および３５０ならびにターゲットシステム３６０および３７０は例示にすぎず、本発明の範囲を限定することは意図されていないことは理解されよう。むしろ、コンピューティングシステムは各々が、複数の相互作用しているコンピューティングシステムまたはデバイスを含むことができ、コンピューティングシステム／ノードは、インターネットなどの１つもしくは複数のネットワーク、ウェブ、またはプライベートネットワーク（たとえば移動通信ネットワークなど）を介することを含めて、示されていない他のデバイスに接続されることができる。より一般的には、コンピューティングノードまたは他のコンピューティングシステムもしくはデバイスは、相互作用しまた説明された種類の機能性を実行することができるハードウェアの任意の組み合わせを含むことができ、そのようなハードウェアは、限定としてではなく、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワークストレージデバイスおよび他のネットワークデバイス、ＰＤＡ、携帯電話、無線電話、ポケットベル、電子手帳、インターネット機器、テレビベースのシステム（たとえば、セットトップボックスおよび／またはパーソナル／デジタルビデオレコーダを使用するもの）、ならびに適切な通信能力を含む様々な他の消費者製品を含む。加えて、示されたＣＤＤシステム３４０およびそのコンポーネントによって提供される機能性は、いくつかの実施形態では、追加のコンポーネントに分散されることができる。同様に、いくつかの実施形態では、ＣＤＤシステム３４０および／もしくはＣＤＤコンポーネント３４２ないし３４６の機能性の一部は提供されなくてよく、ならびに／または他の追加の機能が利用可能であってよい。
【０１２９】
特定のターゲットシステムのための自動化制御システムを実施することの一部として、協働分散判断（ＣＤＤ）システムの実施形態は、説明されている技法を使用して、特定のターゲットシステムを制御するのに使用するための１つまたは複数のＣＤＩエージェント（ＣＤＤ判断モジュールもしくはシステム、またはそのようなモジュールもしくはシステムの部分とも呼ばれる）を含む、自動化制御システムを構築および実施するのに関与する様々な自動化されたアクティビティを行うことができる。
【０１３０】
具体的には、ＣＤＤシステムは、いくつかの実施形態では、１つまたは複数のユーザと相互作用してターゲットシステムの記述を取得する判断モジュール構築コンポーネントを実施することができ、ターゲットシステムの記述は、ターゲットシステムの様々な要素に関係付けられた制約、およびターゲットシステムの制御中に達成されるべき１つまたは複数の目標を含む。次いで、判断モジュール構築コンポーネントは、様々な自動化されたアクションを行って、ターゲットシステムの制御を行う際に使用するための１つまたは複数の実行可能判断モジュール（「判断要素」および／または「エージェント」と呼ばれることもある）を生成、テスト、および配置する。１つまたは複数の実行可能判断モジュールが配置および実行されると、ＣＤＤシステムは、判断モジュールによるターゲットシステムの制御を管理するために実行されている判断モジュールの内部または外部の様々なコンポーネントをさらに提供することができ、たとえば、各判断モジュールが生成する制御アクションを最適化もしくは他の形で向上するための各判断モジュールの制御アクション決定コンポーネント、ターゲットシステムについてのモデル化された状態情報を改善するためのトモグラフ、および／またはターゲットシステムの制御を共同で行っている複数の判断モジュールの制御アクションを調整するための１つもしくは複数の調整制御管理コンポーネントを提供することができる。
【０１３１】
上記されたように、協働分散判断（ＣＤＤ）システムは、いくつかの実施形態では、指定されたターゲットシステムのための自動化制御システムを構築および実施して、たとえば、ターゲットシステムの動作に影響する（たとえば、ターゲットシステムの１つまたは複数の出力に影響する）ターゲットシステムの入力または他の制御要素を修正または他の形で操作することに関与する、様々な自動化されたアクティビティを行うために、説明されている技法の少なくともいくつかを使用することができる。そのようなターゲットシステムのための自動化制御システムは、いくつかの状況では、ターゲットシステムの協調分散制御を提供する分散されたアーキテクチャを有し、これは、たとえば、ターゲットシステムの部分を各々が制御し互いに関して部分的に分離された方式で動作する複数の判断モジュールを有する。その場合、自動化制御システムのための様々な判断モジュールの動作は、常にすべての判断モジュールの完全に同期された収束が保証または達成されなくても、各々が１つまたは複数の時間において１つまたは複数の他の判断モジュールとのコンセンサスに達することなどによって、少なくとも部分的に同期されることができる。
【０１３２】
ＣＤＤシステムは、いくつかの実施形態では、１つまたは複数のユーザと相互作用してターゲットシステムの記述を取得する判断モジュール構築コンポーネントを実施することができ、ターゲットシステムの記述は、ターゲットシステムの様々な要素に関係付けられた制約、およびターゲットシステムの制御中に達成されるべき１つまたは複数の目標を含む。次いで、判断モジュール構築コンポーネントは、様々な自動化されたアクションを行って、ターゲットシステムの制御を行う際に使用するための１つまたは複数の実行可能判断モジュールを生成、テスト、および配置する。したがって、判断モジュール構築コンポーネントは、生成された判断モジュールがターゲットシステムの制御を行うように実行される、後の実行時フェーズよりも前に生じる、構成またはセットアップフェーズの一部として動作することができ、いくつかの実施形態および状況では、判断モジュール構築コンポーネントは、１つまたは複数の判断モジュールを有する自動化制御システムを改善、拡張、または他の形で修正するために初期配置の後に（たとえば、自動化制御システムが、ターゲットシステムを制御するために使用され続ける間に）さらに使用されて、たとえば、データトモグラフコンポーネントの機能性を実施して制御されているターゲットシステムのモデルを改善および更新し、または自動化制御システムのための判断モジュールの追加、除去、もしくは修正をすることができる。
【０１３３】
いくつかの実施形態では、生成され配置された一部または全部の自動化制御システムは、自動化制御システムの実行時動作中の実行のためにそれらの中に様々なコンポーネントをさらに提供することができ、いくつかの実施形態および状況では、そのようなコンポーネントを判断モジュール内に含めることなどによって提供することができる。そのようなコンポーネントは、たとえば、各判断モジュール（または一部の判断モジュール）の制御アクション決定コンポーネントであって、その判断モジュールが生成する制御アクションを最適化または他の形で決定し改善する制御アクション決定コンポーネント、および／またはターゲットシステムのモデル化された状態情報を改善する各判断モジュール（または一部の判断モジュール）のトモグラフコンポーネントを含むことができる。たとえば、判断モジュール内のそのような制御アクション決定コンポーネントは、いくつかの実施形態では、１つまたは複数の目標に関して、複数の相互に関係付けられた制約条件を有するターゲットシステムのための判断モジュールのモデルに照らして、またターゲットシステムについてモデル化された現在の状態情報に基づいて、最適に近い解を反映するために、特定の時間における判断モジュールの制御アクションを自動的に決定することを試みることができ、その場合、そのような最適に近い解は、完全に最適化された解の閾値量内の部分的に最適化された解に少なくとも一部基づくことができる。実行する１つまたは複数の制御アクションのそのような決定は、特定の時間に、１つまたは複数の判断モジュールの各々について発生することができ、また、いくつかの状況において少なくともいくつかの判断モジュールによって進行中の制御に関して複数回にわたって繰り返されることができる。いくつかの実施形態では、判断モジュールのためのモデルは、本明細書の他の箇所でより詳細に論じられるように、ターゲットシステムの少なくとも部分を表す制約条件に一部基づいて結合された微分方程式のセットを反映するハミルトン関数として実施されて、たとえば、モデルおよびそのハミルトン関数実施が、発展するハミルトン関数内に追加の式を加えることによって複数時間期間にわたって更新されることを可能にする。
【０１３４】
いくつかの実施形態では、自動化制御システムの実行時動作中の実行のために生成および配置された自動化制御システム内に含まれたコンポーネントは、自動化制御システムのためのターゲットシステムの制御を共同で行っている複数の判断モジュールの制御アクションを調整するための調整制御管理コンポーネントをさらに含むことができる。たとえば、いくつかの実施形態では、一部または全部の判断モジュールの各々が、そのような制御アクション決定コンポーネントを含むことにより、その判断モジュールのローカル解および提案された制御アクションを自動化制御システム内の１つまたは複数の他の判断モジュールのそれらと同期しようと試みることができ、たとえば、判断モジュールのローカルモデルおよび１つまたは複数の他の判断モジュールのモデルから同時に解を提供するそれら他の判断モジュールとのコンセンサス共有モデルを決定することによって同期を試みる。そのようなモジュール間同期は、繰り返し発生して、特定の時間において各判断モジュールについての１つまたは複数の制御アクションを決定し、また進行中の制御に関して複数回にわたって繰り返されることができる。加えて、各判断モジュールのモデルは、本明細書の他の箇所でより詳細に論じられるように、いくつかの実施形態では、ターゲットシステムの少なくとも部分を表す制約条件に一部基づいて結合された微分方程式のセットを反映するハミルトン関数として実施されて、たとえば、各判断モジュールのモデルおよびそのハミルトン関数実施が、判断モジュールのローカルモデルに関する初期ハミルトン関数内に１つまたは複数の他の判断モジュールのモデルに関する追加の式を加えることによって、それらの他の判断モジュールのモデルと組み合わされることを可能にする。
【０１３５】
また、様々な要素が使用されているときにメモリまたはストレージに記憶されているように示されているが、これらの要素およびその部分は、メモリ管理およびデータ整合性のためにメモリおよび他のストレージデバイスの間で転送されることができる。あるいは、他の実施形態では、ソフトウェアモジュールおよび／またはシステムの一部または全部が、別のデバイス上のメモリにおいて実行され、コンピュータ間通信を介して、示されたコンピューティングシステムと通信することができる。したがって、いくつかの実施形態では、説明されている技法の一部または全部は、１つもしくは複数のソフトウェアプログラム（たとえば、トモグラフコンポーネント３４５および／もしくはＣＤＤコンポーネント３４２ないし３４６、またはより一般的には、ＣＤＤシステム３４０）および／またはデータ構造によって、たとえば、１つもしくは複数のソフトウェアプログラムのソフトウェア命令の実行ならびに／またはそのようなソフトウェア命令および／もしくはデータ構造の記憶によって構成されたとき、１つもしくは複数のプロセッサおよび／またはメモリおよび／またはストレージを含むハードウェア手段によって実行されることができる。さらに、いくつかの実施形態では、システムおよび／またはコンポーネントの一部または全部が、他の方式で、たとえば、ファームウェアおよび／またはハードウェアに少なくとも部分的にまたは完全に実施された手段を使用することによって、実施または提供されることができ、そうしたファームウェアおよび／またはハードウェアは、以下に限定されないが、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、標準集積回路、コントローラ（たとえば、適切な命令を実行することによるコントローラ、マイクロコントローラおよび／または組み込みコントローラを含む）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）などを含む。また、コンポーネント、システム、およびデータ構造の一部または全部は、非一時的コンピュータ可読記憶媒体、たとえば、ハードディスクもしくはフラッシュドライブもしくは他の不揮発性ストレージデバイス、揮発性もしくは不揮発性メモリ（たとえばＲＡＭ）、ネットワークストレージデバイス、または適切なドライブ（たとえば、ＤＶＤディスク、ＣＤディスク、光ディスクなど）によってもしくは適切な接続を介して読み取られる携帯媒体物品に、（たとえば、ソフトウェア命令または構造化されたデータとして）記憶されることもできる。また、システム、コンポーネント、およびデータ構造は、いくつかの実施形態では、無線ベースおよび有線／ケーブルベースの媒体を含む様々なコンピュータ可読伝送媒体上で、生成されたデータ信号として（たとえば、搬送波の一部、または他のアナログもしくはデジタル伝播信号として）送信されることもでき、（たとえば、単一のもしくは多重化されたアナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして）様々な形態をとることができる。そのようなコンピュータプログラム製品は、他の実施形態では他の形態をとることもできる。したがって、本発明は他のコンピュータシステム構成で実施されることができる。
【０１３６】
いくつかの実施形態では、上記に論じられたルーチンによって提供される機能性は、より多くのルーチンに分割されるまたはより少ないルーチンに統合されるなど、代替的方法で提供されてよいことは理解されよう。同様に、いくつかの実施形態では、示されたルーチンは、他の示されたルーチンがそれぞれそのような機能性を欠くもしくは含むとき、または提供される機能性の量が変更されたときなどに、説明されたものより多いまたは少ない機能を提供することができる。加えて、加えて、様々な動作が、特定の方式（たとえば、直列、並列、同期、または非同期など）および／または特定の順序で行われるように示されることがあるが、他の実施形態において他の順序および他の方式で動作が実行されてよいことは当業者には理解されよう。また、上記に論じられたデータ構造は、異なる方式で、たとえば、単一のデータ構造を複数のデータ構造に分割させることによって、または複数のデータ構造を単一のデータ構造に統合させることによって構造化されてよいことは、当業者には理解されよう。同様に、いくつかの実施形態では、示されたデータ構造は、説明されたものより多いまたは少ない情報を他の示されたデータ構造がそれぞれそのような情報を欠いたときもしくは含むとき、または記憶される情報の量もしくは種類が変更されたときなどに、記憶することができる。
【０１３７】
図４は、協働分散判断（ＣＤＤ）システムルーチン４００の例示的実施形態のフロー図であり、システムルーチン４００は、たとえば、図３のＣＤＤシステム３４０および／または図１ＡのＣＤＤシステム１４０の実行によって提供されて、たとえば、指定されたターゲットシステムのために自動化制御システムを構築および実施するための機能性を提供することができる。
【０１３８】
ルーチンの示された実施形態はブロック４１０で始まり、ここでは、情報または命令が受け取られる。ブロック４２０において、ブロック４１０の情報または命令が、特定のターゲットシステムのための自動化制御システムの一部として使用するための１つまたは複数の判断モジュールを作成または改訂するインジケーションを含むと決定された場合、ルーチンはブロック４２５へと続き、判断モジュール構築コンポーネントの実行を開始し、ブロック４３０で、ブロック４２５で作成されたターゲットシステムのための１つまたは複数の結果の判断モジュールを取得および記憶する。そのような判断モジュール構築コンポーネントの一例は、図５Ａないし図５Ｃに関連してより詳細に論じられる。
【０１３９】
ブロック４３０の後、またはそうではなく、ブロック４１０で受け取られた情報もしくは命令が１つもしくは複数の判断モジュールを作成もしくは改訂するものではないとブロック４２０で決定された場合、ルーチンはブロック４４０へと続き、ブロック４１０で受け取られた情報または命令が、指定されたターゲットシステムを制御するために１つまたは複数の作成された判断モジュール、たとえば、そのターゲットシステムのための自動化制御システムの一部である１つまたは複数の判断モジュールを配置することを示すかどうかを決定する。配置する１つまたは複数の判断モジュールは、配置が実質的に作成と同時に行われるように、ブロック４２５に関して直前に作成されていることが可能であり、または他の状況では、以前に作成され後で使用するために記憶された１つまたは複数の判断モジュールを含むことができる。そのようなターゲットシステムのための１つまたは複数のそのような判断モジュールを配置することが決定された場合、ルーチンはブロック４５０へと続き、たとえば、ターゲットシステムの環境に対してローカルの１つもしくは複数のコンピューティングシステム上で、またはそうではなく、１つもしくは複数の介在コンピューティングネットワークを介してターゲットシステムと通信する１つもしくは複数のリモートコンピューティングシステム（たとえば、ＣＤＤシステムのプロバイダの制御下の１つもしくは複数のコンピューティングシステム）上で、そのターゲットシステムのためのそれら１つまたは複数の判断モジュールの実行を開始する。
【０１４０】
ブロック４５０の後、ルーチンはブロック４６０へと続き、１つまたは複数の集中化された調整制御管理コンポーネントなどを介して、複数の判断モジュールの外部の方式で配置されているそれらの判断モジュールの分散された管理を行うかどうかを決定する。そうする場合、ルーチンはブロック４６５へと続き、それらの判断モジュールと使用するための１つまたは複数のそのような集中化されたＣＤＤ調整制御管理コンポーネントの実行を開始する。ブロック４６５の後、またはそうではなく、外部の方式でそのような分散された管理を行わないとブロック４６０で決定された場合（たとえば、１つだけの判断モジュールが実行される場合、複数の判断モジュールが実行されるが、分散されたピアツーピア方式でそれらの動作を調整する場合など）に、ルーチンはブロック４７０へと続き、任意選択で、１つもしくは複数の判断モジュールの動作および／またはターゲットシステムで発生する結果のアクティビティに関する情報を、後の分析および／または報告などのために、取得および記憶する。
【０１４１】
そうではなく、ブロック４１０で受け取られた情報または命令が１つまたは複数の判断モジュールを配置するものではないとブロック４４０で決定された場合、ルーチンは代わりにブロック４８５に続き、必要に応じて１つまたは複数の他の示された動作を行う。たとえば、そのような他の許可される動作は、他の方式で（たとえば、ターゲットシステムに関する出力または他の状態情報を監視することによって）ターゲットシステムの動作に関する結果情報を取得すること、判断モジュールの動作の結果および／または対応するターゲットシステムのアクティビティを分析すること、そのような動作および／またはアクティビティに関してユーザに対して報告を生成するまたは他の形で情報を提供することを含むことができる。加えて、いくつかの実施形態では、経時的な特定のターゲットシステムのアクティビティの分析は、ターゲットシステムの動作においてパターンが識別されるのを可能にすることができ、たとえば、それらのパターンを反映しそれらに基づいて応答するために、そのターゲットシステムのモデルが（手動または自動化された学習方式で）相応に修正されることを可能にする。加えて、他の箇所でより詳細に論じられるように、部分的に分離された方式での自動化制御システムのための複数の判断モジュールの分散された動作は、自動化制御システムが動作中に様々な変更が行われることを可能にし、たとえば、１つまたは複数の新しい判断モジュールを追加すること、１つまたは複数の既存の判断モジュールを除去すること、（判断モジュールのモデルの一部であるターゲットシステムを記述するルールまたは他の情報を変更することによって）特定の判断モジュールの動作を修正することなどを可能にする。加えて、自動化制御システムにおける複数のそのような判断モジュールの部分的に分離された性質は、たとえば、ネットワーク通信問題または他の問題が、そうでなければ判断モジュールの個別化された制御アクションが調整されることを可能にする複数の判断モジュール間の通信を防止する場合に、１つまたは複数のそのような判断モジュールが折に触れて独立して動作することを可能にし、そのような状況では、一部または全部のそのような判断モジュールが個別化された方式で動作を続けて、たとえば、最適または最適に近い解が、ターゲットシステムのための自動化制御システムを共同で提供するグループの複数の判断モジュールの間の調整および同期から識別できない場合でも、ターゲットシステムのための有用な続行する制御動作を提供することができる。
【０１４２】
ブロック４７０または４８５の後、ルーチンはブロック４９５へと続き、継続するかどうかを決定し、たとえば停止する明示的インジケーションが受け取られるまで継続する。継続すると決定された場合、ルーチンはブロック４１０に戻り、そうでない場合はブロック４９９に進んで終了する。
【０１４３】
図５Ａないし図５Ｃは、ＣＤＤ判断モジュール構築ルーチン５００の例示的実施形態のフロー図を示す。ルーチンは、たとえば、図３のコンポーネント３４２および／または３４５および／または図１Ａのコンポーネント１４２に実行によって提供されることができ、たとえば、関心のあるターゲットシステムを記述する情報をユーザが提供することを可能にする機能性を提供し、対応する自動化された動作を行って、指定された方式でターゲットシステムを制御するのに使用するための１つまたは複数の判断モジュールを構築する。ルーチンの示された実施形態は、表示されたＧＵＩ（グラフィカルユーザインターフェース）などを介して特定の方式でユーザと相互作用するが、ルーチンの他の実施形態は、他の方式で、たとえば、ユーザの代わりに実行プログラムが呼び出す定義されたＡＰＩ（アプリケーションプログラミングインターフェース）を介して、ユーザと相互作用することができることは理解されよう。いくつかの実施形態では、ルーチンはさらに、統合された開発環境の一部として、または、たとえば、インターネットなどの公衆ネットワークを介して様々なリモートユーザに利用可能なオンラインインターフェースを実施することによって、１つもしくは複数のユーザが使用できる他のソフトウェアツールとして実施されることもでき、他の実施形態では、ＣＤＤシステムおよび／または特定のＣＤＤコンポーネントのコピーが、たとえば、組織またはグループの制御下でコンピューティングシステム上で実行されることによって、単一の組織または１つもしくは複数のユーザからなる他のグループをサポートするために使用されることができる。加えて、ＣＤＤ判断モジュール構築コンポーネントは、いくつかの実施形態および状況では、ターゲットシステムに関するルールおよび他の記述情報を指定するためにユーザが相互作用するルールエディタコンポーネント、ならびに、ユーザ指定されたルールおよび他の情報を処理して１つまたは複数の対応する判断モジュールを作成するルールコンパイラエンジンなど、複数のサブコンポーネントに分割されることができる。
【０１４４】
ルーチン５００の示された実施形態はブロック５０５で始まり、ここでは、ルーチンは、たとえば、定期的に、図６Ｂのブロック６８４によって呼び出されることに基づいて、または１つもしくは複数のトリガー条件が満たされることに応答して、ターゲットシステムのモデルに対するあり得る追加のために新しいソフトルールを学習するためにデータトモグラフコンポーネントを現在使用するかどうかを決定する。使用する場合、ルーチンは、図５Ｃのブロック５６３へと続き、そうでない場合はブロック５１０へと続き、ルーチンは、１つまたは複数のユーザへの表示されたユーザインターフェースを、たとえば、ルーチンを実施しているコンポーネントのオンラインバージョンで受け取られた要求を介して、またはそうではなく、１つもしくは複数のそのようなユーザによってそれらが制御するコンピューティングシステム上でルーチンが実行されていることに基づいて、提供または更新する。ルーチンの示された実施形態では、例示の目的で、様々な動作が連続した方式で発生するように示されているが、そのようなユーザインターフェースとのユーザ相互作用は、反復する方式で、ならびに／または複数の時間期間および／もしくはユーザセッションにわたって行うことができ、様々な方式でユーザに以前に表示されたユーザインターフェースを更新すること（たとえば、ユーザアクションを反映する、ルーチンの動作によってもしくは別のコンポーネントから生成されたユーザフィードバックを反映するなど）を含むことは理解されよう。
【０１４５】
ブロック５１０の後、ルーチンはブロック５２０へと続き、制御されるターゲットシステムを記述する１つまたは複数のそのようなユーザからの情報を受け取り、この情報は、１つまたは複数の操作可能な制御要素および任意選択で制御要素が影響する１つまたは複数の出力を含む、ターゲットシステムの複数の要素に関する情報と、要素に関わる制約を指定するルールに関する情報と、システムの制御中に利用可能となる状態情報に関する情報（たとえば、特定の要素の値または他の状態変数）と、ターゲットシステムの制御中に達成すべき１つまたは複数の目標とを含む。そのような情報は、１つまたは複数のユーザから時間の期間にわたって取得されることができ、いくつかの実施形態では、たとえば、異なるユーザの異なる領域の専門知識および／またはターゲットシステムの異なる部分を反映するために、第１のグループの１つまたは複数のユーザが、ターゲットシステムに関係付けられたある種の情報を提供し、１つまたは複数の他の第２のグループのユーザが、ターゲットシステムに関する他の情報を独立して提供することを含むことは理解されよう。
【０１４６】
ブロック５２０の後、ルーチンはブロック５２５へと続き、ユーザ入力で受け取られた任意のエラーを識別し、たとえばブロック５１０に関連して論じられた対応する方式で表示を更新することによって、ユーザにそれらのエラーを訂正するように促す。そのようなエラーの識別はブロック５２０での情報の受け取り後に発生するように示されているが、そうではなく、一部または全部のそのようなエラーは、たとえば、ユーザが指定するルールまたは他の情報における構文エラーを識別するために、ユーザがユーザインターフェースに情報を入力しているときに識別されることができることは理解されよう。ブロック５２５の後、ルーチンの示された実施形態はブロック５３０へと続き、任意選択で、ターゲットシステムに関する情報を、各々がターゲットシステムの部分に対応する複数のサブセットへ分解し、たとえば、各サブセットは、ルーチンによって作成されている自動化制御システムによって操作可能な１つまたは複数の異なる制御要素を有し、任意選択で、ターゲットシステムの各部分を記述するルールおよび他の情報の重複するまたは完全に異なる目標および／またはセットを有する。他の箇所で論じられるように、そのような分解は、行われる場合、いくつかの状況において、ユーザが入力する異なる情報サブグループをユーザが示すことによって手動で、および／または指定されている情報の分析に基づいて（たとえば、ターゲットシステムに関して供給されるルールのサイズおよび他の記述情報に基づく、異なるルールまたは目標または他の情報の間の相互関係に基づくなどして）ルーチンによって自動化された方式で、行われることができる。他の実施形態では、そのような分解は行われなくてよい。
【０１４７】
ブロック５３０の後、ルーチンはブロック５３５へと続き、ターゲットシステム記述情報の各サブセットについて（または、そのようなサブセットが識別されない場合にすべての受け取られた情報について）、そのサブセット（またはすべての情報）を、そのサブセット（またはすべての情報）についての制約、目標、および他の指定された情報を封入する制約条件のセットへ変換する。ブロック５４０では、ルーチンは、次いで、変換プロセスから発生する任意のエラーを識別し、何らかのエラーが識別された場合、ブロック５２５および５１０に関連して説明されたのと同様の方式などで、ユーザにそれらのエラーを訂正するように促すことができる。この例では示されていないが、ルーチンは、いくつかの状況では、ブロック５２５および／または５４０でそのようなエラーが識別された場合にブロック５１０に戻って、対応するフィードバックをユーザへ表示し、ユーザが訂正を行ってブロック５２０ないし５４０などの後続の動作を再実行することを可能にすることができる。ブロック５４０において変換プロセスで識別されたエラーは、たとえば、グループとして制約を満たすことが不可能である場合などに、不整合な制約に関連付けられたエラーを含むことができる。
【０１４８】
ブロック５４０の後、ルーチンはブロック５４５へと続き、制約条件の各セット（またはブロック５３０でサブセットが識別されなかった場合は単一の制約条件）について、１つまたは複数の検証ルールを制約条件のセットに適用して、制約条件が表す対応する情報の全体的効果をテストし、ブロック５２５、５４０、および５１０に関する方式と同様の方式で、識別された任意のエラーを訂正するように１つまたは複数のユーザに促す。そのような検証は、他の箇所でより詳細に論じられるように、可制御性、可観測性、安定性、および目標完全性、ならびにユーザにより追加された任意の検証ルールのうちの１つまたは複数をテストすることができる。ブロック５５０では、ルーチンは次いで、制約条件の各検証されたセットを、基礎となる情報が対応するターゲットシステム少なくとも部分をモデル化する結合された微分方程式のセットに変換する。
【０１４９】
ブロック５５０の後、ルーチンはブロック５５３へと続き、結合された微分方程式の各セットについてモデルをトレーニングすることに関係付けられたアクティビティを行い、使用するトレーニング時間窓のサイズ、時間窓内の複数のトレーニング時間スライスのサイズ、および／または時間窓内のトレーニング時間スライスの種類のうちの１つまたは複数を決定することを含む。いくつかの実施形態および状況では、１つまたは複数のそのようなサイズまたは種類の情報の決定は、デフォルトまたは予め指定された情報によって行われるが、他の実施形態および状況では、ユーザがそのような情報を指定することができ、または、そのような情報の自動化された決定が、１つもしくは複数の方式で（たとえば、異なるサイズをテストし、結果を評価して最良の性能を伴うサイズを見つけることによって）行われることができる。異なる種類の時間スライスは、たとえば、重複するまたは重複しない時間スライスの連続を含むことができ、第２の時間スライスに関するトレーニングは、第１の時間スライスの結果のみに（それらが重複しない場合に）依存することができ、またはそうではなく（それらが一部または全体として重複する場合に）第１の時間スライスの少なくとも一部について既に決定された情報の更新に少なくとも一部に基づくことができる。ブロック５５３の後、ルーチンはブロック５５５へと続き、モデルを表す結合された微分方程式の各セットについて、ターゲットシステムの部分的初期状態情報を使用してそのセットの結合された微分方程式のモデルをトレーニングし、時間窓にわたって、たとえば時間窓を通して連続する時間スライスにおいて制御アクションを行う効果をシミュレートすることによって、ターゲットシステムについて知られていないおよび／または直接観測可能でない変数の値を推定し、トレーニングされたモデルのシミュレートされた性能をテストすることを含む。トレーニングおよびテストに関係付けられた追加の詳細は、本明細書に含まれる。
【０１５０】
ブロック５５５の後、ルーチンはブロック５６０へと続き、トレーニングおよびテストが成功したかどうかを決定し、成功しない場合はブロック５１０に戻り、対応するフィードバック情報をユーザへ表示し、成功を欠如させたエラーをユーザが訂正することを可能にする。しかしながら、ブロック５６０で、そうではなくテストおよびトレーニングが成功したと決定された場合、またはモデルが１つまたは複数の学習されたソフトルールで更新された図５Ｃのブロック５８１の後、ルーチンは代わりにブロック５８５へと続き、各トレーニングおよびテストされたモデルについて実行可能判断モジュールを生成し、このモジュールは、そのモデル、およびローカルＣＣＤ制御アクション決定コンポーネントを含み、ローカルＣＣＤ制御アクション決定コンポーネントは、実行されたときに、判断モジュールが使用し、モデルに含まれる情報に基づいて、またその判断モジュールについての１つまたは複数の目標に照らして、ターゲットシステムについて行う最適または最適に近い制御アクションを決定する。生成された実行可能判断モジュールは、いくつかの実施形態および状況では、時間経過と共に様々な判断モジュールの各モデルを同期させることなどによって、ターゲットシステムのための自動化制御システムを共同で提供する複数の判断モジュールの制御アクションを調整するためのローカルＣＣＤ調整制御管理コンポーネントをさらに含むことができる。ブロック５８５の後、ルーチンはブロック５９０へと続き、使用のために生成された実行可能判断モジュールを提供し、任意選択で、後での実行および／または配置のためにそれらを記憶することを含む。
【０１５１】
ブロック５０５で、ターゲットシステムのモデルに対するあり得る追加のために新しいソフトルールを学習するためにデータトモグラフコンポーネントを使用すると決定された場合、ルーチンは図５Ｃのブロック５６３へと続き、ターゲットシステムについての１つまたは複数の既存の生成されたモデル（たとえば、バイナリルールに基づく初期モデル）が取得される。ブロック５６５では、ルーチンは次いで、時間経過と共に（たとえば、１つまたは複数の既存の生成されたモデルによって制御される）ターゲットシステムの動作から実際の動作データを収集し、たとえば、以前に生成され記憶されたデータをストレージから取り出すこと、指定された量のデータが利用可能になるまで続くデータ収集段階に入ることなどを行う。ブロック５６５の後、ルーチンはブロック５６７へと続き、データトモグラフコンポーネントを使用して、収集されたデータからのデータモデルを繰り返し問い合わせて、達成すべき指定された目標に対応するターゲットシステムの１つまたは複数の出力などに関して、１つまたは複数のセンサおよび／または制御に対する変化する状況および値のもとでターゲットシステムの性能に関する回答を取得する。ブロック５６９では、ルーチンは次いで、たとえば全体的ハミルトン関数を構築するために、問い合わせ／回答ペアに基づいてシステムに関する全体的データモデルを作成する。ブロック５７１では、ルーチンは次いで、システムについてのルールベースのモデル（たとえば、ルールベースのハミルトン関数）を取得し、差異を識別するために全体的モデルとルールベースのモデルを比較し、これらを使用して、問い合わせに関係付けられたゼロ以上のあり得るソフトルールを作成する。
【０１５２】
ブロック５７３では、ルーチンは次いで、たとえば、ブロック５６５から５７１の実行が、あり得るソフトルールに関して新しい情報を作成することを続けるかどうかに基づいて、各そのようなあり得るソフトルールに対する関連付けられた完全性値（completeness value）を決定する。そのようなあり得るソフトルールが十分に完全でない（たとえば、関連付けられた閾値を下回る完全性値を有する）場合、ルーチンはブロック５６７に戻り、追加の問い合わせを行いそうでない場合は、ブロック５７７へと続き、ターゲットシステムの改善された更新されたモデルで使用するために候補として十分に完全なあり得るソフトルールのいずれかを選択する。ブロック５７９では、ルーチンは次いで、既存モデルを自動的に更新するかどうかを決定し、更新する場合、ブロック８５１へと続き、学習された候補ソフトルールを使用し、既存のルールベースのモデルを更新し、その後にブロック５８５へと続く。そうでない場合は、ルーチンはブロック５８３へと続き、既存のモデルおよび／またはターゲットシステムに関連付けられた１つまたは複数のユーザに対して、学習された候補ソフトルールに関する情報を提供して、たとえば、ユーザがそれらを使用して既存のルールベースのモデルを更新するかどうかを可能にし、その後、ブロック５０５へと進む（たとえば、ブロック５２０に関連してそのような更新についてユーザからさらなる命令を受け取る）。
【０１５３】
ブロック５９０の後、ルーチンはブロック５９５へと続き、継続するかどうかを決定し、たとえば停止する明示的インジケーションが受け取られるまで継続する。継続すると決定された場合、ルーチンはブロック５１０に戻り、そうでない場合はブロック５９９に進んで終了する。
【０１５４】
図６Ａないし図６Ｂは、実行されている判断モジュールの一般的表現に対応するルーチン６００の例示的実施形態のフロー図を示す。ルーチンは、たとえば、判断モジュール３２９の実行によって、または図３の自動化制御システム３２５および／もしくは図１Ａもしくは図１Ｂの判断モジュール１２４もしくは１２８の一部として提供されることができ、たとえば、判断モジュールについて符号化された情報またはモデルに固有の方式でターゲットシステムの少なくとも部分を制御するための機能性を提供し、判断モジュールによってその制御アクティビティ中に達成されるべき１つまたは複数の目標を反映することを含む。他の箇所でより詳細に論じられるように、いくつかの実施形態および状況では、複数の判断モジュールは、特定のターゲットシステムを制御するために共同で協調的に動作することができ、たとえば、各判断モジュールは、ターゲットシステムのための１つまたは複数の異なる制御要素を制御し、または他の形式でターゲットシステムの部分を表しもしくはそれと相互作用し、他の実施形態および状況では、単一の判断モジュールがターゲットシステムを制御するように単独で動作することができる。ルーチン６００はさらに、特定の例示的判断モジュールによって実行されるアクションを、ターゲットシステムの部分を制御する際にそれが配置されたときに反映するが、判断モジュールの少なくとも部分の実行は、他の時間に行うことができ、図５Ａないし図５ＣのＣＤＤ判断モジュール構築ルーチン５００に関連してより詳細に論じられるように、たとえば、判断モジュールが配置される前に判断モジュールに関するモデルを初めにトレーニングする。
【０１５５】
ルーチン６００の示された実施形態はブロック６１０で始まり、ここでは、判断モジュールに関する初期モデルが決定され、初期モデルは、制御されるターゲットシステムの少なくとも部分、ターゲットシステムの制御に関係付けられた達成を試みる判断モジュールの１つまたは複数の目標、および任意選択でターゲットシステムの初期状態情報を記述する。ルーチンはブロック６１５へと続き、図５Ａないし図５Ｃのブロック５５３および５５５に関連してより詳細に論じられるように、必要に応じて初期モデルをトレーニングするための１つまたは複数のアクションを行うが、いくつかの実施形態および状況では、ブロック６１５のそのようなトレーニングは、図５Ａないし図５Ｃのルーチン５００によって初期トレーニングがされない場合のみに行われ、他の実施形態および状況では、ブロック６１５のトレーニングは、判断モジュールが実行を開始したときに（たとえば、初期作成およびトレーニングの後に直ちに配置されない場合に）ターゲットシステムの現在の状態に関する情報を捕捉し、および／またはブロック６３０で開始される図７Ａないし図７Ｂのルーチン７００に関連してより詳細に論じられるように折に触れてモデルを再トレーニングするために行われる。
【０１５６】
ブロック６１５の後、ルーチンはブロック６１７へと続き、判断モジュールの各制御アクション判断を行うために使用する時間期間を決定し、たとえば、ターゲットシステムにおける制御要素修正が必要とされる率を反映し、および／または制御要素の将来の操作を変更できる新しく来る状態情報が受け取られる率を反映する。次いで、ルーチンはブロック６２０へと続き、次の時間期間を開始し、これは、判断モジュールの実行の始動から前進する第１の時間期間から始まる。次いで、ブロック６２０ないし６８０が、判断モジュールの実行が中断または終了されるまで、そのような各時間期間が進むループで実行されるが、他の実施形態では、特定の判断モジュールが、その各実行の際には単一の時間期間のみで実行されることができる。
【０１５７】
ブロック６２５では、ルーチンは、任意選択で、時間期間における状態情報を取得し、状態情報は、たとえば、最終の時間期間が始まってからターゲットシステムまたは１つもしくは複数の関係付けられた外部ソースに関して受け取られた、および／または必要に応じてターゲットシステムの１つもしくは複数の要素の現在の値または対応する変数を能動的に取り出すことによって受け取られた現在の状態情報である。ブロック６３０では、ルーチンは次いで、判断モジュールのローカルＣＣＤ制御アクション決定コンポーネントの実行を開始し、そのようなルーチンの一例は、図７Ａないし図７Ｂのルーチン７００に関連してより詳細に論じられる。ブロック６３５では、ブロック６３０におけるコンポーネントの実行の結果が受け取られ、現在の時間期間について判断モジュールが行うことができる１つまたは複数の提案された制御アクション決定を含む現在の時間期間および判断モジュールについてのローカル解を有する判断モジュールの更新されたモデルを取得するか、または、ブロック６３０におけるコンポーネントの実行の許容された時間において判断モジュールについてローカル解が見つけられなかったというインジケーションを受け取ることを含む。次いでブロック６４０で、解が見つけられたかどうかが決定され、見つけられた場合、ブロック６４２へと続いて、判断モジュールの更新されたモデルを記憶し、そうでない場合、ブロック６４３へと続き、判断モジュールの先行モデルを使用して、図７Ａないし図７Ｂのルーチン７００に関連してより詳細に論じられるように、以前のモデル（たとえば、状態情報の最近の変化および／または他の判断モジュールのアクティビティの最近の変化をあったとしても反映していない）に基づいて、現在の時間期間について提案された１つまたは複数の制御アクション決定を決定する。
【０１５８】
ブロック６４２または６４３の後、ルーチンはブロック６４４へと続き、ローカル判断モジュールと同じ自動化制御システムの一部のような現在のターゲットシステムの部分を他の判断モジュールが共同で制御しているかどうかを決定し、そうしている場合はブロック６４５へと続く。そうでない場合は、ルーチンは、実行する最終の決定された制御アクションとして判断モジュールのローカルの提案された制御アクションを選択し、ブロック６７５へと続いて、現在の時間期間にそれらの制御アクションを実施する。
【０１５９】
他の動作している判断モジュールがある場合、ブロック６４５においてルーチンは、判断モジュールのローカル解の提案された制御アクション決定を、同じターゲットシステムを共同で制御している他の判断モジュールのアクティビティと同期する際に使用するための、ＣＤＤ調整制御管理（ＣＣＭ）コンポーネントのローカルコピーを、ローカル判断モジュールが含むかどうかを決定する。含む場合、ルーチンはブロック６４７へと続き、判断モジュールの１つまたは複数の提案された制御アクション決定と、判断モジュールの対応する現在のローカルモデルとを、ローカルＣＤＤ  ＣＣＭコンポーネントに提供し、そうでない場合、ブロック６４９へと続いて、判断モジュールの１つまたは複数の提案された制御アクション決定と、判断モジュールの対応するローカルモデルとを、１つまたは複数の集中化されたＣＤＤ  ＣＣＭコンポーネントに提供する。
【０１６０】
ブロック６４７または６４９の後、ルーチンはブロック６５５へと続き、ブロック６４７または６４９におけるＣＤＤ  ＣＣＭコンポーネントのアクションの結果を取得し、さらに更新されたモデルが現在の判断モジュールに関する時間期間に行う１つまたは複数の最終制御アクション決定を示すように、現在の判断モジュールのローカルモデルと１つまたは複数の他の判断モジュールからの情報との同期によりもたらされる、さらに更新されたモデルを取得すること、または、そのような同期が許容された時間内に完成されなかったというインジケーションを取得することのいずれかを含む。ルーチンはブロック６６０へと続き、同期が完成されたかどうかを決定し、完成された場合、ブロック６６５へと続いて、同期によるさらに更新されたモデルを記憶し、そうでない場合、ブロック６７０へと続き、時間期間についての最終制御アクション決定として、判断モジュールに対してローカルに先行の提案された制御アクション決定を使用する。
【０１６１】
ブロック６６５または６７０の後、ルーチンはブロック６７５へと続き、たとえば、値を修正するもしく他の形でターゲットシステムの１つもしくは複数の制御要素を操作するターゲットにおける１つもしくは複数のイフェクチュエータ（effectuator）と相互作用することによって、または他の形でそのような修正もしくは他の操作を生じさせるようにターゲットシステムに入力を提供することによって、ターゲットシステムに判断モジュールの１つまたは複数の最終の決定された制御アクションを実施する。ブロック６８０では、ルーチンは任意選択で、行われた制御アクションのターゲットシステムにおける結果に関する情報を取得し、そのような取得された結果に関する、および／または現在の時間期間の判断モジュールのアクティビティに関する情報を、ＣＤＤシステムに記憶および／または提供する。ブロック６８０の後、ルーチンはブロック６８２へと続き、学習されたソフトルールに基づいて可能な構造モデル適合更新を行うかどうかを決定し、これは、たとえば、定期的に、ブロック６４０に関連して解が見つけられたかどうかに基づいて、ブロック６６０に関連して同期が行われたかどうかに基づいて、または他に基づいて決定する。行う場合、ルーチンはブロック６８４へと続き、ブロック５６３ないし５８３におけるデータトモグラフコンポーネントに関連するＣＤＤ判断モジュール構築コンポーネントの動作を開始して、たとえば、モデルの更新されたバージョンおよび／または対応する判断モジュールを伴って戻る。
【０１６２】
ブロック６８４の後、または学習されたソフトルールに基づいて可能な構造モデル適合更新を行わないとブロック６８２で決定された場合、ルーチンはブロック６９５へと続き、（たとえば、ターゲットシステムの現在の動作の終了、またはターゲットシステムの少なくとも部分を制御するための判断モジュールの使用の終了を反映するために）継続するかどうかを決定し、たとえば停止または中断するインジケーションが受け取られるまで継続する。継続すると決定された場合、ルーチンはブロック６２０に戻り、次の時間期間を開始し、そうでない場合はブロック６９９に進んで終了する。
【０１６３】
図７Ａないし図７Ｂは、ＣＤＤ制御アクション決定ルーチン７００の例示的実施形態のフロー図である。ルーチンは、たとえば、図３のコンポーネント３４４および／または図２のコンポーネント１４４ａないしｎもしくは１８４の実行によって提供されて、たとえば、特定の時間期間中にターゲットシステムに関して提案および／または実施する判断モジュールについての制御アクションを決定することができ、いくつかの実施形態では、可能な場合に１つまたは複数の目標に関して行う最適に近い（たとえば、最適解の閾値内の）アクションを決定するために最適化を行うことを含む。ルーチンの示された実施形態は、特定の判断モジュールにローカルな方式で実行され、したがって、一部または全部の判断モジュールは各々がそのようなルーチンのローカルバージョンを実施することができるが、他の実施形態では、ルーチンは、１つまたは複数の判断モジュールが１つまたは複数のネットワークを介して相互作用する１つまたは複数のコンポーネントによって、集中化された方式で実施されてよく、たとえば、特定の判断モジュールが、ローカル判断モジュールの代わりに動作するのではなく、特定の時間に使用されるように示される。
【０１６４】
ルーチンの示された実施形態７００はブロック７０３で始まり、ここでは、情報または要求が受け取られる。ルーチンはブロック７０５へと続き、情報または要求の種類を決定し、それに応じて進行する。具体的には、ローカル判断モジュールの現在のモデルが与えられたとして現在の時間期間についての解を決定することを試みる要求が、ブロック７０３で受け取られた場合、ルーチンはブロック７１０へと続き、ブロック７１０ないし７９０に関連してより詳細に論じられるようなアクティビティの実行を始める。そうではなく、ブロック７６０および７６５に関連してより詳細に論じられるように、ローカル判断モジュールの現在のモデルについて１つまたは複数のルールまたは他の制約を緩和する要求が受け取られたと、ブロック７０５で決定された場合、ルーチンはブロック７６５へと続く。ブロック７７５および７８０に関連してより詳細に論じられるように、ローカル判断モジュールの現在のモデルに対する１つまたは複数のルールまたは他の制約を修復する要求が受け取られたと、ブロック７０５で決定された場合、ルーチンはブロック７８０へと続き、（たとえば、ＣＤＤ判断モジュール構築コンポーネントと相互作用するため、またはそうではなく別の方式で１つもしくは複数のユーザと相互作用するために）ルール修復プロセス中に使用するユーザ入力を取得して、たとえば、ローカル判断モジュールの現在のモデルが、さらに結果のユーザアクションに基づいて後で更新および置換されることを可能にし、または任意選択で、ターゲットシステムの動作が中断できる場合に、そのような更新されたモデルが受け取られるまでルーチン７００をさらに実行するのを待つ。そうではなく、情報または要求が別の種類であるとブロック７０５で決定された場合、ルーチンは代わりにブロック７０８へと続き、適宜に１つまたは複数の他の示された動作を行い、次いでブロック７９９に進む。そのような他の示された動作は、たとえば、ローカル判断モジュールと共にターゲットシステムを共同で制御している１つまたは複数の他の判断モジュールによって提案または実行される現在のモデルおよび／または制御アクションに関する情報（たとえば、図８Ａないし図８Ｂのルーチン８００に関連してより詳細に論じられるように、コンセンサスまたは収束された共有モデルを生成することによって、そのような他の判断モジュールとローカル判断モジュールのモデルを同期する際に使用する）を受け取ること、ルーチン７００の進行中の動作に使用するためのモデルまたはモデルの基礎となる情報に対する更新を（たとえば、ＣＤＤ判断モジュール構築コンポーネントから、たとえば、ブロック７８０で行われた相互作用の結果を）受け取ること、図６Ａないし図６Ｂのルーチン６００で論じられたように使用するためなどに、ターゲットシステムの現在の状態情報を受け取ることなどを含むことができる。
【０１６５】
現在の時間期間についてローカル判断モジュールの現在のモデルに基づいて解の要求がブロック７０３で受け取られたとブロック７０５で決定された場合、ルーチンはブロック７１０へと続き、ターゲットシステムの少なくとも部分のローカル判断モジュールの現在のモデルを表す結合された微分方程式の現在のセットを、任意選択で現在の時間についてのターゲットシステムの追加の状態情報と共に、受け取る。ルーチンは次いで、ブロック７１５へと続き、ブロック７５５、７７０、および７３０に関連してより詳細に論じられるように、たとえば、対応する判断モジュールの初期実行の際に初めて呼び出される場合、または進行中の動作からのエラー測定が再トレーニングの必要を示す場合に、モデルをトレーニングまたは再トレーニングするかどうかを決定する。トレーニングまたは再トレーニングすると決定された場合、ルーチンはブロック７２０へと続き、たとえば図５Ａないし図５Ｃのルーチン５００のブロック５５３に関連して先に論じられたのと同様の方式で、トレーニング時間窓のサイズ、時間窓内のトレーニング時間スライスのサイズ、および／またはトレーニング時間窓内のトレーニング時間スライスの種類のうちの１つまたは複数を決定する。ブロック７２０の後、ルーチンはブロック７２５へと続き、ターゲットシステムの部分的初期状態情報を使用してモデルをトレーニングし、図５Ａないし図５Ｃのルーチン５００のブロック５５５に関連してより詳細に論じられるように、時間スライスの各々について時間窓にわたって制御アクションを行う効果をシミュレートすることによって、知られていないおよび／または直接観測可能でないターゲットシステムについての状態変数の値を推定することを含む。
【０１６６】
ブロック７２５の後、またはそうではなくモデルをトレーニングもしくは再トレーニングしないとブロック７１５で決定された場合、ルーチンはブロック７３０へと続き、区分線形解析を行って、ブロック７１０で取得された現在のモデルおよび任意の追加の状態情報の解を決定するように試み、解は（決定された場合、）現在の時間期間に行うべきローカル判断モジュールについての１つまたは複数の提案された制御アクション決定を含み、また、いくつかの実施形態では、他の箇所でより詳細に論じられるように、１つまたは複数のモデルエラーゲージを使用して、現在のモードに関して１つまたは複数のエラー測定を行う。ルーチンは次いでブロック７３５へと続き、ブロック７３０の動作に許容された量の時間（たとえば、現在の時間期間の定義されたサブセットまたは割合）内でブロック７３０の動作が解を決定したかどうかを決定し、解を決定した場合、ブロック７４０へと続き、解を反映するように、結合された微分方程式の現在のセット、およびローカル判断モジュールの結果の現在のモデルを更新し、結果の更新された情報はルーチン７００の出力として提供される。
【０１６７】
そうではなく、ブロック７３０の動作が解を決定しなかったとブロック７３５で決定された場合、ルーチンはブロック７４５で解を決定するさらなる試みのために追加の時間が現在の時間期間内で利用可能であるかどうかを決定し、利用可能でない場合、ブロック７９０へと続いて、現在の時間期間について解が決定されなかったことを示すルーチン７００の出力を提供する。
【０１６８】
他方、現在の時間期間内で追加の時間が利用可能である場合、ルーチンは続いてブロック７５５ないし７８０を実行して、解を識別するための１つまたは複数のさらなる試みを行う。さらなる解決定の試みを続けるために充分な時間が利用可能である場合、ブロック７５５ないし７８０の動作のうちの１つまたは複数が、与えられた時間期間において複数回繰り返し実行されることができることは理解されよう。具体的には、ルーチンは、追加の時間が利用可能であるとブロック７４５で決定された場合にブロック７５５へと続き、ここでは、それは、ブロック７３０に関連して論じられたゲージからのモデルエラー測定値などに基づいて、モデルに対する修正が必要とされることを示す１つまたは複数の閾値を超えるモデルエラー測定値を、１つまたは複数のゲージからの測定値が示すかどうかを決定する。示した場合、ルーチンはブロック７６０へと続き、（これが、現在の時間期間においてルートのこの部分の最初の通過ではない場合、時間期間中に以前に緩和されることが試みられていない）現在の時間期間について緩和されるべく利用可能な現在のモデルにおける１つまたは複数のルールまたは他の制約が存在するかどうかを決定し、存在する場合、ブロック７６５へと続き、１つまたは複数のそのようなルールまたは他の制約を緩和し、ブロック７３０に戻って、それらの緩和されたルールまたは他の制約に基づいて、改訂されたモデルを用いて区分線形解析を再試行する。
【０１６９】
そうではなく、ゲージの１つまたは複数からのモデルエラー測定値が１つまたは複数の対応する閾値を満たすのに充分であるとブロック７５５で決定された場合、ルーチンは代わりにブロック７７０へと続き、そうするのに充分なエラーを示すゲージの１つまたは複数に基づいて、たとえばモデルに対する更新の１つまたは複数の時間期間にわたる蓄積されたエラーに基づいて、モデルを再トレーニングするかどうかを決定する。再トレーニングする場合、ルーチンはブロック７２０に戻って、ブロック７２０および７２５でそのような再トレーニングを行い、次いでブロック７３９へと続いて、結果の再トレーニングされたモデルを用いて区間線形解析を再試行する。
【０１７０】
そうではなく、モデルを再トレーニングしないとブロック７７０で決定された場合（または、モデルが、現在の時間期間において既に再トレーニングされてブロック７３０の結果の再試行が解を見つけるのに再び失敗した場合）、ルーチンはブロック７７５へと続き、ゲージの１つまたは複数からのモデルエラー測定値が、修復される必要があるエラーを潜在的に有するモデルにおける１つまたは複数のルールまたは他の制約のサブセットを示すかどうかを決定する。示した場合、ルーチンはブロック７８０へと続き、ＣＤＤ判断モジュール構築コンポーネントを介して１つまたは複数のユーザへ情報を提供して、ユーザが適宜にルールまたは他の制約を改訂することを可能にするが、他の実施形態では、そうではなく、一部または全部のそのようなルール修復アクティビティが、自動化された方式で試みられまたは行われる。ブロック７８０の後、またはそうではなく、どのルールも修復しないとブロック７７５で決定された場合、ルーチンはブロック７９０へと続き、現在の時間期間において解が決定されなかったというインジケーションを提供する。ブロック７４０、７０８、または７９０の後、ルーチンはブロック７９９に進んで終了する。そうではなく、ルーチン７００が、ルーチンのための実行コンポーネントに対してリモートの１つまたは複数の判断モジュールをサポートする集中化されたルーチンとして実施された場合、ルーチン７００は代わりにブロック７０３に戻って、さらなる情報または要求を待つことは理解されよう。
【０１７１】
図８Ａないし図８Ｂは、ＣＤＤ調整制御管理ルーチン８００の例示的実施形態のフロー図である。ルーチンは、たとえば、図３のコンポーネント３４６および／または図１Ｂのコンポーネント１４６ａないしｎの実行によって提供されて、たとえば、ターゲットシステムを共同で制御している複数の判断モジュールの間で現在のモデルおよびそれらの提案された制御アクションを同期しようと試みることができる。ルーチンの示された実施形態では、同期は、可能な場合にコンセンサス共有モデルで表されるパレート均衡を決定するパレートゲーム技法を使用して、１つまたは複数の他の判断モジュールの現在の状態に関する情報に基づく、特定のローカル判断モジュールに関する中間共有モデルと、その特定のローカル判断モジュールのローカルの現在のモデルとの間の対の方式で行われるが、他の実施形態では、他の種類の同期方法が使用されることができる。加えて、示された実施形態では、ルーチン８００は、特定のローカル判断モジュールについてローカルな方式で行われ、たとえば、そのローカル判断モジュール内に含まれることによって行われるが、他の実施形態では、ルーチン８００は、１つまたは複数の判断モジュールであって、そのルーチンのためのコンポーネントを実施するコンピューティングシステムからリモートであり、１つまたは複数のネットワークを介してそれらの判断モジュールと通信する、１つまたは複数の判断モジュールをサポートするように集中化された方式で実施されることができ、たとえば、特定の判断モジュールが、ローカル判断モジュールの代わりに動作するのではなく、特定の時間に使用されるように示される。
【０１７２】
ルーチン８００の示された実施形態は、ブロック８０５で始まり、ここでは、それが情報または別のインジケーションを受け取るのを待つ。ルーチンはブロック８１０へと続き、別の判断モジュールに関するコンセンサスモデルまたは他の更新された情報が受け取られたかどうかを、たとえばこの別の判断モジュールのために実行されるルーチン８００のコピーから、決定し、受け取られた場合、ブロック８１５へと続き、ブロック８３０に関連してより詳細に論じられるように、ルーチン８００の現在のコピーが代わりに実行されているローカル判断モジュールと共に使用するためのローカル中間共有モデル情報を、改訂された情報を使用して更新する。そうではなく、ブロック８０５で受け取られた情報または要求が１つもしくは複数の他の判断モジュールに関係付けられた情報でないとブロック８１０で決定された場合、またはブロック８１５の後で、ルーチンはブロック８２０へと続き、１つまたは複数の他の判断モジュールについての情報を含むローカル判断モジュールの中間共有モデルに関する情報を使用することによって、ローカル判断モジュールの現在のローカルモデルについての同期を現在行うかどうかを決定し、たとえば、ブロック８０５で（たとえば、その判断モジュールに対してローカルなＣＤＤ制御アクション決定コンポーネントのコピーについてのルーチン７００の動作に基づいて）ローカル判断モジュールのモデルに対する更新が受け取られるたびに、および／または、ローカル判断モジュールの中間共有モデルを更新する情報がブロック８０５で受け取られブロック８１５で使用され、もしくは代わりにブロック８０５で明示的に示されるたびに、そのような同期を行う。同期が現在実行されるべき場合、ルーチンはブロック８２５へと続き、そのような同期アクティビティに関係付けられたブロック８２０ないし８８０の実行を始める。そうでない場合は、ルーチンはブロック８８５へと続き、適宜に１つまたは複数の他の示された動作を行って、たとえば、ルーチン８００の動作に関する現在の情報を求めるＣＤＤシステムもしくは他の要求元からの要求を受け取り、および／または（たとえば、先行の要求を反映するために）対応する情報を１つまたは複数のエンティティに提供する。
【０１７３】
ブロック８０５で受け取られた更新されたモデルに関係付けられた情報などに基づいて、同期が現在行われるべきとブロック８２０で決定された場合、ルーチンはブロック８２５へと続き、同期の際に使用するローカル判断モジュールについての現在のローカルモデルを取得し、このモデルは、ローカル判断モジュールに関するローカル解に基づく現在の時間期間において行う１つまたは複数の提案された制御アクションを含む。ルーチンは次いで、ブロック８３０へと続き、ターゲットシステムの制御に共同して参加している１つまたは複数の他の判断モジュール（たとえば、すべての他の判断モジュール）についての情報を表すローカル判断モジュールの中間共有モデルについての情報を取り出し、その中間共有モデルは、それらの１つまたは複数の他の判断モジュールのローカル解によりもたらされる１つまたは複数の他の提案された制御アクションを同様に表し、任意選択で、部分的または完全な同期がそれらの他の判断モジュールについてそれら自体の間で行われた後に取り出しをする。
【０１７４】
ルーチンは次いで、ブロック８３５へと続き、ローカル判断モジュールの現在のモデルと中間共有モデルとの両方に解を同時に提供することによって、ローカル判断モジュールの現在のモデルと中間共有モデルとを同期するコンセンサス共有モデルを決定しようと試みる。いくつかの実施形態では、ブロック８３５の動作は、ローカルモデルと中間共有モデルが組み合わされて、１つまたは複数の解が識別されるべき組み合わせモデルを作成する場合などに、図７Ａないし図７Ｂのルーチン７００のブロック７１０ないし７３０に関連して論じられたのと同様の方式で行われる。他の箇所でより詳細に論じられるように、いくつかの実施形態では、ローカルな現在のモデルおよび中間共有モデルは各々が、ハミルトン関数によって表され、それぞれのハミルトン関数について加法方式でそのような組み合わされたモデルの簡単な作成を可能にし、図６Ａないし図６Ｂおよび図７Ａないし図７Ｂのルーチン６００および／または７００の動作はそれぞれ、そのようなハミルトン関数を使用してそれらが更新および他の形で操作するモデルを同様に表す。
【０１７５】
ブロック８３５の後、ルーチンはブロック８４０へと続き、同期が行われるように試みられる現在の時間期間の断片または他の部分などの許容される時間の量においてブロック８３５の動作が成功したかどうかを決定し、成功した場合、ルーチンはブロック８４５へと続き、コンセンサス共有モデルを反映するようにローカル判断モジュールのローカルモデルおよび中間共有モデルの両方を更新する。前述されたように、集合的グループの１つまたは複数の他の判断モジュールを表す中間共有モデルを変更すると共に、各判断モジュールがコンセンサス共有モデルを繰り返し決定するために充分な時間が許容される場合、集合的グループの判断モジュールは、最終的に単一の収束された共有モデルに収束することができるが、他の実施形態および状況では、そのような収束が生じるのに充分な時間が存在しないことがあり、または他の問題がそのような収束を妨げることがある。ブロック８４５の後、ルーチンはブロック８５０へと続き、任意選択で、ローカル判断モジュールについて決定されたコンセンサス共有モデル（および／または、８３５の動作が収束された共有モデルを作成する最後のステップであった場合のそのような収束された共有モデル）を他の判断モジュールに通知し、たとえば、通知される各判断モジュールがルーチン８００のそれ自体のローカルバージョンを実施しており、提供される情報は、現在のローカル判断モジュールの新しく構築されたコンセンサス共有モデルからの情報を含むそれら他の判断モジュールの中間共有モデルの一部として使用される場合に、そのように通知する。
【０１７６】
そうではなく、許容された時間内で同期が発生しなかったとブロック８４０で決定された場合、ルーチンは続いてブロック８６０ないし８７５を実行して、図７Ａないし図７Ｂのルーチン７００のブロック７４５ないし７８０に関連して論じられたのと同様の方式で、１つまたは複数の修正との同期を再試行し、充分な時間が利用可能である場合は繰り返し再試行することがある。示された例では、ルーチンは、同期の１つまたは複数のそのような再試行に追加の時間が利用可能であるかどうかをブロック８６０で決定し、利用可能でない場合、ルーチンはブロック８８０へと続き、許容された時間内で同期が行われなかったというインジケーションを提供する。さもなければ、ルーチンはブロック８７０へと続き、ローカル判断モジュールの現在のモデルおよび／またはローカル判断モジュールの中間共有モデルでその情報が表される１つもしくは複数の他のモジュールの一方または両方に関して、ルールもしくは他の制約を緩和すること、ルールもしくは他の制約を修復すること、および／またはモデルを再トレーニングすることのうちの１つまたは複数を実行するために１つまたは複数のアクションを行う。このように進行するとブロック８７０で決定された場合、ルーチンはブロック８７５へと続き、往々にしてルーチン７００に関連して論じられたのと同様の方式で１つずつ、対応するアクションを行い、ローカル判断モジュールの現在のモデルおよび／またはローカル判断モジュールのローカル中間共有モデルに対して結果の更新を生じることを含み、その後、ルーチンはブロック８３５に戻って、ローカル判断モジュールのローカルモデルと中間共有モデルの同期を再試行する。
【０１７７】
そうではなく、緩和、修復、および／または再トレーニングに関してさらなるアクションが行われないとブロック８７０で決定された場合、ルーチンは代わりにブロック８８０へと続く。ブロック８５０、８８０、または８８５の後、ルーチンはブロック８９５へと続き、継続するかどうかを決定し、たとえばルーチン８００の動作を停止または中断する明示的インジケーションが受け取られるまで継続し、たとえば、ターゲットシステムの動作の終了、ならびに／またはターゲットシステムを制御するためのローカル判断モジュールおよび／もしくは複数の判断モジュールの集合的グループの使用の終了を反映するようにする。継続すると決定された場合、ルーチンは８０５に戻り、そうでない場合はブロック８９９で終了する。
【０１７８】
図９は、ターゲットシステムとターゲットシステムの少なくとも部分を制御している１つまたは複数の判断モジュールとの間の相互作用に関して、代表的な一般的ターゲットシステムについて実行されるルーチン９００の例示的実施形態のフロー図を示す。ルーチンは、たとえば、図３のターゲットシステム３６０および／もしくは３７０ならびに／または図１Ａおよび図１Ｂのターゲットシステム１６０および／もしくは１７０の実行によって提供されて、たとえば、ターゲットシステムに固有の動作を実施することができる。ルーチンの示された実施形態は、１つまたは複数の判断モジュールとターゲットシステムの相互作用に焦点を当てていること、ならびに、多くまたはすべてのそのようなターゲットシステムが、簡潔にするためにここでは示されていないそれらのターゲットシステムに固有の方式で多くの他の動作を行うことは理解されよう。
【０１７９】
ルーチンはブロック９１０で始まり、ここでは、それが、任意選択で、ターゲットシステムについてのＣＤＤシステムの自動化制御システムにおいて使用するためのターゲットシステムの初期状態情報をＣＤＤシステムに提供し、たとえば、ＣＤＤシステムもしくはターゲットシステムのためのその自動化制御システムからの要求に応答して、またはそうではなく（たとえば、ターゲットシステムの始動時に実行されるように）ターゲットシステムに固有の構成に基づいて提供する。ブロック９１０の後、ルーチンはブロック９２０へと続き、ターゲットシステムのための自動化制御システムを実施する１つまたは複数の判断モジュールの集合的グループからの１つまたは複数の入力を受け取り、そのような入力は、自動化制御システムのそのような判断モジュールによって実行されるターゲットシステムの複数の要素の１つまたは複数の制御要素についての１つまたは複数の修正された値または他の操作を含む。他の箇所でより詳細に論じられるように、ブロック９２０、９３０、９４０は、複数の時間期間の各々について繰り返し実行されることができ、それは、ターゲットシステムに応じて時間が大きく異なることがある（たとえば、マイクロ秒、ミリ秒、秒の１００分の１、秒の１０分の１、１秒、２秒、５秒、１０秒、１５秒、３０秒、１分、５分、１０分、１５分、３０分、１時間など）。
【０１８０】
ブロック９２０の後、ルーチンはブロック９３０へと続き、受け取られた入力に基づいてターゲットシステムにおいて１つまたは複数のアクションを行い、任意選択で、制御要素の操作に基づいてターゲットシステム内で１つまたは複数の結果の出力または他の結果を生成することを含む。ブロック９４０では、ルーチンは次いで、任意選択で、ターゲットシステム内の出力もしくは他の結果に関する情報、および／またはターゲットシステムに関する他の現在の状態情報を、ＣＤＤシステムの自動化制御システム、および／または自動化制御システムの特定の判断モジュールに提供する。ルーチンは次いで、ブロック９９５へと続き、継続するかどうかを決定し、たとえばターゲットシステムの動作を停止または中断する明示的インジケーションが受け取られるまで継続する。継続すると決定された場合、ルーチンはブロック９２０に戻って、次の時間期間についての次のセットの制御アクションを始め、そうでない場合はブロック９９９に進んで終了する。他の箇所でより詳細に論じられるように、特定の判断モジュールに提供される状態情報は、外部システムからターゲットシステムへの要求を含むことができ、自動化制御システムおよびその判断モジュールは、その要求にどのように応答するかを１つまたは複数の方式で決定することができる。
【０１８１】
図１２Ｂは、より大きなターゲットシステムの一部としてバッテリを制御する実施形態を示し、この例では、そのターゲットシステムは、ソーラーパネルを含む家庭電力システムを含むシステム１２５０であり、したがって、図２Ａおよび／または本明細書の他の箇所に関連して先に論じられた例示的実施形態が、いくつかの状況では、例示的システム１２５０のような、より大きなシステムの一部として使用されることができる。具体的には、図１２Ｂのブロック図は、ソーラー電力が生成されている家庭電力システムの一部であるバッテリからのＤＣ電力の自動化制御を行うためのシステム１２５０の実施形態の例示的コンポーネントを示し、自動化制御は、たとえば、リアルタイム方式で、および／またはバッテリの長期動作を最適化するように行われ、家庭の発電および電力使用が、外部エンティティによって、たとえば、システム１２５０のバッテリを制御するために１つまたは複数のＣＤＩエージェントを提供または管理するエンティティによって監視および同期される。図１２Ｂの例では、例示的な家庭の電力システムが、外部電気グリッドにも接続され、それは、様々な時間に外部電気グリッドから電力を受け取り、また電力を提供し、バッテリは、ソーラー電力システムによって生成された電力を貯蔵し、電力を適宜に住宅および／または電気グリッドに供給する役割をする。
【０１８２】
図１２Ｂの示された例では、バッテリ２１０、ハードウェアセンサモジュール２２０、バッテリ用アクチュエータ２３０、オンサイトバッテリ追跡コントローラ２４０などを含む、図２Ａのコンポーネントと同様のコンポーネントが引き続き示されている。しかしながら、図１２Ｂの例では、図２ＡのＣＤＩエージェント２５０は、例示的住宅の物理的位置に存在するコンポーネントの一部として示されておらず、これは、たとえば、図１２Ｂに関して使用されているＣＤＩエージェント２５０は、代わりに遠隔位置（たとえば、クラウドまたは他のコンピュータネットワーク位置）で実行され、図２Ａに関して示されたのと同様の方式で追跡および／または同期信号を図１２Ｂのバッテリ追跡コントローラ２４０に提供する場合である。そのような追跡および／または同期信号は、たとえば、現在の時間または直後の時間のバッテリの所望の電力出力および／または所望のバッテリパラメータ（たとえば、内部温度、電圧、電流など）を含むことができる。加えて、本明細書の他の箇所でより詳細に論じられるように、ＣＤＩエージェントは、バッテリ２１０（および制御されている任意の他のバッテリ）に関する監視された情報、外部電気グリッドを管理するユーティリティからの電力要求、使用される定義された制約条件または他のルール、予測された電力に関係付けられた値などに基づいて、そのような追跡および／または同期信号を生成することができる。
【０１８３】
加えて、いくつかの追加のコンポーネントが図１２Ｂに示されており、これらのコンポーネントはバッテリからの出力電力を受け取り、および／または貯蔵のためにバッテリへ電力を供給するインバータ／整流器モジュール１２１０、電力を生成し、自身の関連付けられたハードウェアセンサおよびインバータを有するソーラーパネル１２２０、外部電気グリッドに対する電力の受け取りおよび／または供給をし、住宅用の負荷１２４０への配電を制御する配電箱１２３０などを含む。加えて、図１２Ｂのバッテリ追跡コントローラ２４０の動作を制御するのを支援するための２つのローカル制御エージェント１２６０および１２７０が示されており、エージェント１  １２６０は、バッテリ追跡コントローラと直接的に相互作用し、エージェント２  １２７０は、バッテリのための電力のＡＣ相を住宅電力システムおよび／またはグリッドのそれと同期することを含むアクティビティを行って、たとえば、受け取られおよび／または提供されている電力の共鳴を提供する。バッテリ追跡コントローラ２４０ならびにエージェント１２６０および１２７０（ユーティリティセンサプロセッサ以外）は、この例では一緒に「制御プロセッサ」と呼ばれ、バッテリ追跡コントローラは、システムステータス更新を提供し、エージェント間の通信は、そのようなマルチエージェントアーキテクチャをサポートするように管理される。エージェント２のトモグラフは、たとえば、物理的対象物の内部物理構造に関する情報を取得するために非破壊Ｘ線を使用することに類似した方式でセンサ情報を取得および使用することによって、本明細書の他の箇所に説明されているように、バッテリ状態の動的変化を追跡し、対応するモデル化された状態情報を生成するために使用されてよい。加えて、外部エンティティ１２８０（たとえば、外部電気グリッドを提供または管理するユーティリティ）が、この例では監視および同期信号をバッテリ追跡コントローラ２４０に提供し、たとえば、多数のそのような家庭電力システムおよび／または他のカスタマを介して使用および／または提供されている電力を調整する。
【０１８４】
図１２Ｂの例ではソーラーパネルシステムにおけるバッテリ２１０の使用を伴うが、バッテリは様々な種類の環境およびシステムで充電および／または放電されることができ、対応するＣＤＩエージェントの同様のアクティビティが、本明細書に説明されている方式でそのようなアクティビティを制御するために使用できることは理解されよう。
【０１８５】
図１２Ａは、たとえばリアルタイム方式でバッテリの長期動作を最適化するように、調整された方式で複数のバッテリからのＤＣ電力の自動化制御を行うシステム１２００の実施形態の例示的コンポーネントを示すブロック図である。具体的には、図１２Ａのシステム１２００は、図１２Ｂのそれといくつかの類似点を有するが、多数のバッテリおよび関連付けられたシステム（たとえば、この例では、たとえば１つまたは複数の地域、州、国などに対応する、百万個を超えるそのようなバッテリおよび関連付けられたシステム）の調整された制御をサポートするためのシステムの例示的アーキテクチャを示す。具体的には、示された例では、オンサイトバッテリ追跡コントローラを有する様々なバッテリおよび関連付けられたシステム１２０５（たとえば、ソーラーパネルを有する家庭電力システム）が、バッテリおよび関連付けられたシステム１２０５についての電力要求を提供する１つまたは複数のユーティリティ１２８５、ならびにバッテリおよび関連付けられたシステム１２０５についての分散制御システム１２７５を管理するためのシステム管理の役割をする１つまたは複数のエンティティ１２９０と共に示される。この例示的実施形態では別個のトモグラフコンポーネントは示されていないが、それらは、たとえば、クラスタ内のＣＤＩエージェントのような１つまたは複数の他のコンポーネントの一部として動作することができる。
【０１８６】
この例では、分散制御システム１２７５は、オンラインコンピューティング環境（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ａｚｕｒｅ）を介するなどして、ネットワークアクセス可能な位置に集中化された方式で実施されるが、それは他の実施形態では他の方式で実施されることもできる。分散制御システム１２７５は、ユーティリティ１２８５とインターフェースをとって相互作用する１つまたは複数のコンポーネント、バッテリおよび関連付けられたシステム１２０５とインターフェースをとって相互作用する１つまたは複数のコンポーネント、ならびに、分散制御システム１２７５を監視および／または制御するためにシステム管理エンティティ１２９０が相互作用することができる１つまたは複数の監視および／または構成コンポーネントを含む。加えて、バッテリおよび関連付けられたシステム１２０５をサポートする様々なＣＤＩエージェント（たとえば、バッテリパックおよび関連付けられたシステム当たり１つのＣＤＩエージェント）が、ネットワークアクセス可能位置で実行され、一緒にクラスタ化され、様々なクラスタ間通信機構（たとえば、様々なトピックを有するパブリッシュ／サブスクライブシステム、少なくともいくつかのＣＤＩエージェントおよび／またはクラスタの間の通信サービスバスなど）が使用される。クラスタは、様々な実施形態において様々な方式で形成され、たとえば、地理的位置（たとえば、システム電気グリッド変電所領域の一部である）および／または動作特性のような１つまたは複数の特性を共有する関連付けられたバッテリおよびシステムを有することに基づいて、ＣＤＩエージェントをグループ化することができる。加えて、クラスタは、段階的および／または階層的にＣＤＩエージェントを調整するために使用され、たとえば、まずクラスタ内でＣＤＩエージェントを調整し、次いで、２つ以上のクラスタ間などで、また任意選択で（たとえば、階層的に構造化された）複数の層のクラスタを用いて調整することができる。様々な追加のコンポーネントが、分散制御システム１２７５の一部として提供され使用され、たとえば、サイト管理システムが、ＣＤＩエージェントならびに／またはバッテリおよび関連付けられたシステムの変化を管理し（たとえば、新しいバッテリシステムのための新しいＣＤＩエージェントを追加し、および／またはシステム１２７５管理から除去されている既存のバッテリシステムのための既存のＣＤＩエージェントを除去する；新しいＣＤＩエージェントを特定のクラスタに追加し、および／またはクラスタから既存のＣＤＩエージェントを除去する；クラスタを作成、除去、および修正するなど）、ネットワークアクセス可能位置から利用可能な記憶サービスが、使用される状態および他の情報を記憶および交換し、ネットワークアクセス可能位置から利用可能なリソース管理サービスが、ネットワークアクセス可能位置によって提供されるコンピューティングリソースを管理することなどができる。
【０１８７】
本明細書に説明された非限定的な例示的実施形態が以下の項でさらに論じられる。
１．コンピュータ実施方法であって、
１つまたは複数の構成されたコンピューティングシステムによって、複数のセンサと１つまたは複数の制御と１つまたは複数の出力とを有する指定された種類の物理システムの動作をモデル化するバイナリルールのセットを受け取るステップであって、各センサは、前記指定された種類の物理システムの前記動作に関係付けられた少なくとも１つの種類の状態情報を測定し、各制御は、前記指定された種類の物理システムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作するために行う制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、ステップと、
構成されたコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲット物理システムの実際の動作を記述するデータを取得するステップであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲット物理システムに関する前記時間における前記センサの値、および前記時間についての前記ターゲット物理システムに関する前記制御を操作するために行われる１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記ターゲット物理システムからの前記出力の値、についての情報を含む、ステップと、
構成されたコンピューティングシステムによって、前記取得されたデータから、前記ターゲット物理システムの前記実際の動作を表わすデータモデルを生成するステップと、
構成されたコンピューティングシステムによっておよび前記生成されたデータモデルから、前記ターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習するステップであって、各ソフトルールは、関連付けられた可能性を有する真値または偽値以外の複数の可能性のある値のうちの１つに達するように評価される１つまたは複数の追加の条件を指定し、前記学習するステップは、
前記データモデルに問い合わせて、前記ターゲット物理システムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲット物理システムの前記実際の動作からの結果を取得するステップ、
前記データモデルの前記問い合わせから取得された前記結果とバイナリルールの前記セットからの前記指定された状況の他の期待された結果との間の差異を決定するステップ、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築するステップ
を含み、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記ターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供するステップと
を含むことを特徴とするコンピュータ実施方法。
２．  １つまたは複数の構成されたコンピューティングシステム上で実行している協働分散判断システムによって、前記ターゲット物理システムの少なくとも１つのセンサについての現在の状態情報を識別するセンサ情報を取得するステップと、
前記協働分散判断システムによって、少なくとも前記バイナリルールと前記取得されたセンサ情報と前記指定された種類の物理システムに関する指定された目標とから、結合された微分方程式を含む前記ターゲット物理システムの現在の状態を記述するモデルを作成するステップと、
前記協働分散判断システムによっておよび前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲット物理システムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別するステップと、
前記ターゲット物理システムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲットシステムの少なくとも１つの出力の、結果の変化を引き起こすステップと
をさらに含むことを特徴とする項１に記載のコンピュータ実施方法。
３．  ターゲット物理システムは、少なくとも電気負荷および少なくとも１つの電源を含み、制御は、バッテリからエネルギーの指定された量を供給させる、またはバッテリによりエネルギーの指定された量を受け取らせるように命令を提供することを含み、出力は、バッテリへまたはバッテリから提供されるエネルギーを含み、指定された種類のターゲット物理システムに対して指定された目標は、指示された基準に従ってバッテリからエネルギーを供給しながらバッテリの寿命を最大限にすることであることを特徴とする項２に記載のコンピュータ実施方法。
４．  ターゲット物理システムは、建物を含み、建物は、複数の部屋と、建物の部屋の暖房および冷房のうちの少なくとも一方を行うための１つまたは複数の温度制御ユニットとを有し、制御は、温度制御ユニットから暖房および冷房のうちの少なくとも一方の指定された量を供給することを引き起こすように命令を提供することを含み、出力は、温度制御ユニットから供給される暖房および冷房のうちの少なくとも一方を含み、指定された種類のターゲット物理システムに対して指定された目標は、温度制御ユニットにより使用されるエネルギーの量を最小限にして、指示された基準に従って建物の部屋に対する暖房または冷房のうちの少なくとも一方を行うことである項２に記載のコンピュータ実施方法。
５．学習された１つまたは複数のソフトルールに関する情報の提供ステップは、協働分散判断システムによって、学習された１つまたは複数のソフトルールの表現を含むように作成されたモデルを自動的に更新するステップと、更新された作成されたモデルを使用して、ターゲット物理システムにおける１つまたは複数の追加の制御アクションを決定して行うステップとを含むことを特徴とする項２に記載のコンピュータ実施方法。
６．モデルの作成ステップは、前記データの前記取得ステップの前に実行され、さらに、前記指定された種類の物理システムの前記動作をモデル化するために受け取られた１つまたは複数の初期ソフトルールに一部基づいて、前記ターゲット物理システムに対する１つまたは複数の構造的修正が、前記モデルの前記作成するステップと前記データの前記取得するステップとの間に行われ、前記１つまたは複数のソフトルールの前記自動的に学習するステップは、前記１つまたは複数の修正に関係付けられた少なくとも１つの追加のソフトルールを学習するステップを含み、前記作成されたモデルの前記自動的に更新するステップは、前記作成されたモデルを前記１つまたは複数の構造的修正を表わすように適合させるステップを含むことを特徴とする項５に記載のコンピュータ実施方法。
７．  バイナリルールのセットの受け取りステップは、１つまたは複数の構成されたコンピューティングシステムによって、ターゲット物理システムのモデルを構築しているユーザからバイナリルールのセットの受け取ることを含み、学習された１つまたは複数のソフトルールに関する情報の提供ステップは、ターゲット物理システムのモデルのさらなる構築に使用するために情報をユーザに提供するステップを含むことを特徴とする項１に記載のコンピュータ実施方法。
８．１つまたは複数のソフトルールの学習するステップは、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記データモデルの前記問い合わせから取得された前記結果を表す全体的ハミルトン関数を生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、および前記バイナリルール上の少なくとも一部基づいて、前記指定された種類の物理システムのルールベースのモデルを表すバイナリルールベースのハミルトン関数を生成するステップと
をさらに含み、
前記差異の前記決定ステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記全体的ハミルトン関数と前記バイナリルールベースのハミルトン関数との間の差異を表わすソフトルールベースのハミルトン関数を生成するステップを含み、前記１つまたは複数のソフトルールの前記構築するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数の自然対数を実行するステップを含むことを特徴とする項１に記載のコンピュータ実施方法。
９．差異の決定するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数を表わすために１つもしくは複数のスプラインまたは１つもしくは複数の区分多項式関数のうちの少なくとも１つを決定することによって前記ソフトルールベースのハミルトン関数を近似するステップをさらに含むことを特徴とする項８に記載のコンピュータ実施方法。
１０．  データの取得するステップは、前記時間の期間中の複数の追加の時間の各々について、前記ターゲット物理システムに関する前記追加の時間での前記センサの値、および前記追加の時間についての前記ターゲット物理システムからの前記出力の値、についての追加の情報を取得するステップをさらに含み、前記取得されたデータの前記生成ステップはさらに、前記取得された追加の情報上の一部に基づくことを特徴とする項１に記載のコンピュータ実施方法。
１１．  １つまたは複数のソフトルールの学習するステップは、
前記データモデルの前記問い合わせから取得された前記結果が前記１つまたは複数のソフトルールの前記関連付けられた可能性に関する閾値を満たすのに十分な情報を提供しないと決定するステップと、
追加の結果が、前記１つまたは複数のソフトルールの前記関連付けられた可能性に関する前記閾値を満たすのに十分な情報を提供するまで、前記データモデルのさらなる問い合わせを行って、前記ターゲット物理システムの前記実際の動作から前記追加の結果を取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請１に記載のコンピュータ実施方法。
１２．  １つまたは複数のソフトルールの学習するステップは、
前記結果を取得する前記データモデルの前記問い合わせの前に、前記データモデルの他の問い合わせを実行して、前記ターゲット物理システムの１つまたは複数のセンサが複数の他の値の各々を有する、他の指定された状況における前記ターゲット物理システムの前記実際の動作からの初期の結果を取得するステップと、
前記データモデルの前記問い合わせから取得された前記結果が、閾値を満たす前記初期の結果に対して新しい情報を提供すると決定するステップと、
前記データモデルのさらなる問い合わせを行って、追加の結果が、前記閾値を満たすために先行の結果に対して十分に新しい情報を提供しなくなるまで、前記追加の結果を前記ターゲット物理システムの前記実際の動作から取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする項１に記載のコンピュータ実施方法。
１３．  前記１つまたは複数の構成されたコンピューティングシステムによって、第２の時間の期間にわたって前記指定された種類の第２のターゲット物理システムの実際の動作を記述する第２のデータを取得するステップであって、前記データは、前記第２の時間の期間中の複数の時間の各々について、前記第２のターゲット物理システムに関する前記時間での前記センサの値、および前記時間についての前記第２のターゲット物理システムに関する前記制御を操作するために行われる１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記第２のターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記取得されたデータから、前記第２のターゲット物理システムの前記実際の動作を表わす第２のデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成された第２のデータモデルから、前記第２のターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数の第２のソフトルールを自動的に学習するステップであって、前記１つまたは複数の第２のソフトルールは、前記ターゲット物理システムに関する前記学習された１つまたは複数のソフトルールと異なり、前記ターゲット物理システムと前記第２のターゲット物理システムとの間の差異を反映する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記第２のターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数の第２のソフトルールについての情報を提供するステップと
をさらに含むことを特徴とする項１に記載のコンピュータ実施方法。
１４．  セットのバイナリルールは、指定された種類の物理システムの動作に関する要件である修正不可能な制約を指定する１つまたは複数の絶対的ルールを含み、指定された状況で修正されることができる指定された種類の物理システムの動作に関する制約を指定する１つまたは複数のハードルールをさらに含むことを特徴とする項１に記載のコンピュータ実施方法。
１５．  ソフトウェア命令を記憶した非一時的コンピュータ可読媒体であって、ソフトウェア命令は、実行されたとき、自動化制御システムの少なくとも一部を実施する１つまたは複数のデバイスに、項１ないし１４のいずれか一項に記載の方法を実施させることを特徴とする非一時的コンピュータ可読媒体。
１６．  システムであって、
１つまたは複数のデバイスの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備え、命令は、１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、システムに、項１ないし１４のいずれか一項に記載の方法を実施させることを特徴とするシステム。
１７．  １つまたは複数のコンピューティングシステムに動作を行わせるコンテンツを記憶した非一時的コンピュータ可読媒体であって、前記動作は、
前記１つまたは複数のコンピューティングシステムによって、センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムの要素の物理的状態に関する情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作するために行う制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該受け取ることと、
前記１つまたは複数のコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲットシステムの実際の動作を記述するデータを取得することであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲットシステムに関する前記時間でのセンサ値、および前記時間についての前記ターゲットシステムに関する前記制御を操作する１つまたは複数の制御アクション、および前記時間についての前記ターゲットシステムからの１つまたは複数の出力、についての情報を含む、該取得することと、
前記１つまたは複数のコンピューティングシステムによって、前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、関連付けられた可能性を有する真値または偽値以外の可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲットシステムの前記動作に関する前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記バイナリルールからの前記指定された状況の他の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記１つまたは複数のコンピューティングシステムによって、前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
を含むことを特徴とする非一時的コンピュータ可読媒体。
１８．  記憶されたコンテンツは、実行されたとき、１つまたは複数のコンピューティングデバイスに、項１ないし１４の１つまたは複数の任意の組み合わせの方法をさらに実施させる記憶されたソフトウェア命令であることを特徴とする項１７に記載の非一時的コンピュータ可読媒体。
１９．    システムであって、
１つまたは複数のコンピューティングシステムの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備え、前記命令は、前記１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、前記システムに、
センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムに関係付けられた状態情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作するために行う制御アクションの結果に関する真値または偽値に達するように評価される前記状態情報を含む条件を指定する、該受け取ることと、
前記ターゲットシステムを記述しおよび結合された微分方程式を含む前記バイナリルールに基づく初期モデルを、前記バイナリルールと取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから作成することと、
時間の期間中の複数の時間において前記ターゲットシステムの前記動作を制御するために前記作成された初期モデルを使用し、前記制御された動作を記述するデータを取得することであって、前記ターゲットシステムの前記動作を制御することは、前記複数の時間の各々について前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、前記時間に関して行うための少なくとも１つの制御アクションを識別することを含み、前記取得されたデータは、センサ値に関して、および前記ターゲットシステムの前記制御を操作する制御アクションについて、および前記ターゲットシステムからの出力についての情報を含む、該取得することと、
前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、関連付けられた可能性を有する真値または偽値以外の可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における、前記ターゲットシステムの前記動作についての前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記作成された初期モデルからの前記指定された状況の他の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
によって前記ターゲットシステムのための自動化制御システムを実施させることを特徴とするシステム。
２０．  記憶された命令は、実行されたとき、１つまたは複数のコンピューティングデバイスに、項１ないし１４の１つまたは複数の任意の組み合わせの方法をさらに実施させるソフトウェア命令であることを特徴とする項１９に記載のシステム。
【０１８８】
上記から、例示のために特定の実施形態が本明細書で説明されているが、本発明の趣旨および範囲から逸脱することなく様々な修正が行われてよいことは理解されよう。したがって、本発明は、添付の特許請求の範囲およびそれに記載された要素による場合を除いて限定されない。加えて、本発明の特定の態様が特定の請求形式で提案されるが、本発明者らは、任意の利用可能な請求形式で本発明の様々な態様を企図する。たとえば、本発明の一部の態様のみがコンピュータ可読媒体で実施されるものとして現在記載されているが、同様に他の態様もそのように実施されてよい。
【図１Ａ】
2019528494.tif 000033
【図１Ｂ】
2019528494.tif 000034
【図１Ｃ】
2019528494.tif 000035
【図１Ｄ】
2019528494.tif 000036
【図１Ｅ】
2019528494.tif 000037
【図１Ｆ】
2019528494.tif 000038
【図１Ｇ】
2019528494.tif 000039
【図２Ａ】
2019528494.tif 000040
【図２Ｂ】
2019528494.tif 000041
【図２Ｃ】
2019528494.tif 000042
【図２Ｄ】
2019528494.tif 000043
【図２Ｅ】
2019528494.tif 000044
【図２Ｆ】
2019528494.tif 000045
【図２Ｇ】
2019528494.tif 000046
【図２Ｈ】
2019528494.tif 000047
【図２Ｉ】
2019528494.tif 000048
【図２Ｊ】
2019528494.tif 000049
【図２Ｋ】
2019528494.tif 000050
【図３】
2019528494.tif 000051
【図４】
2019528494.tif 000052
【図５Ａ】
2019528494.tif 000053
【図５Ｂ】
2019528494.tif 000054
【図５Ｃ】
2019528494.tif 000055
【図６Ａ】
2019528494.tif 000056
【図６Ｂ】
2019528494.tif 000057
【図７Ａ】
2019528494.tif 000058
【図７Ｂ】
2019528494.tif 000059
【図８Ａ】
2019528494.tif 000060
【図８Ｂ】
2019528494.tif 000061
【図９】
2019528494.tif 000062
【図１０】
2019528494.tif 000063
【図１１】
2019528494.tif 000064
【図１２Ａ】
2019528494.tif 000065
【図１２Ｂ】
2019528494.tif 000066
【手続補正書】
【提出日】平成31年1月24日(2019.1.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
１つまたは複数の構成されたコンピューティングシステムによって、複数のセンサと１つまたは複数の制御と１つまたは複数の出力とを有する指定された種類の物理システムの動作をモデル化するバイナリルールのセットを受け取るステップであって、各センサは、前記指定された種類の物理システムの前記動作に関係付けられた少なくとも１つの種類の状態情報を測定し、各制御は、前記指定された種類の物理システムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作する制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲット物理システムの実際の動作を記述するデータを取得するステップであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲット物理システムに関する前記時間における前記センサの値、および前記時間についての前記ターゲット物理システムに関する前記制御を操作するために実行される１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記ターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記取得されたデータから、前記ターゲット物理システムの前記実際の動作を表わすデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成されたデータモデルから、前記ターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習するステップであって、各ソフトルールは、複数の可能性のある値のうちの１つに達するように評価される１つまたは複数の追加の条件を指定し、前記複数の可能性のある値は、確率的な値を表わし、前記１つの可能性のある値は、関連付けられた可能性を有し、および、前記学習するステップは、
前記データモデルに問い合わせて、前記ターゲット物理システムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲット物理システムの前記実際の動作からの結果を取得するステップ、
前記データモデルの前記問い合わせから取得された前記結果とバイナリルールの前記セットからの前記指定された状況の期待された結果との間の差異を決定するステップ、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築するステップ
を含み、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記ターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供するステップと
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記１つまたは複数の構成されたコンピューティングシステム上で実行している協働分散判断システムによって、前記ターゲット物理システムの少なくとも１つのセンサについての現在の状態情報を識別するセンサ情報を取得するステップと、
前記協働分散判断システムによって、少なくとも前記バイナリルールと前記取得されたセンサ情報と前記指定された種類の物理システムに関する指定された目標とから、結合された微分方程式を含む前記ターゲット物理システムの現在の状態を記述するモデルを作成するステップと、
前記協働分散判断システムによっておよび前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲット物理システムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別するステップと、
前記ターゲット物理システムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲットシステムの少なくとも１つの出力の、結果の変化を引き起こすステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記学習された１つまたは複数のソフトルールについての前記情報の前記提供ステップは、前記協働分散判断システムによって、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新するステップと、前記更新された作成されたモデルを使用して、前記ターゲット物理システムにおける１つまたは複数の追加の制御アクションを決定して実行するステップとを含むことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
前記モデルの前記作成ステップは、前記データの前記取得ステップの前に実行され、さらに、前記指定された種類の物理システムの前記動作をモデル化するために受け取られた１つまたは複数の初期ソフトルールに一部基づいて、前記ターゲット物理システムに対する１つまたは複数の構造的修正が、前記モデルの前記作成するステップと前記データの前記取得するステップとの間に行われ、前記１つまたは複数のソフトルールの前記自動的に学習するステップは、前記１つまたは複数の修正に関係付けられた少なくとも１つの追加のソフトルールを学習するステップを含み、前記作成されたモデルの前記自動的に更新するステップは、前記作成されたモデルを前記１つまたは複数の構造的修正を表わすように適合させるステップを含むことを特徴とする請求項３に記載のコンピュータ実施方法。
【請求項５】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記データモデルの前記問い合わせから取得された前記結果を表す全体的ハミルトン関数を生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、および前記バイナリルール上の少なくとも一部基づいて、前記指定された種類の物理システムのルールベースのモデルを表すバイナリルールベースのハミルトン関数を生成するステップと
をさらに含み、
前記差異の前記決定ステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記全体的ハミルトン関数と前記バイナリルールベースのハミルトン関数との間の差異を表わすソフトルールベースのハミルトン関数を生成するステップを含み、前記１つまたは複数のソフトルールの前記構築するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数の自然対数を実行するステップを含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項６】
前記差異の前記決定するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数を表わすために１つもしくは複数のスプラインまたは１つもしくは複数の区分多項式関数のうちの少なくとも１つを決定することによって前記ソフトルールベースのハミルトン関数を近似するステップをさらに含むことを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項７】
前記データの前記取得するステップは、前記時間の期間中の複数の追加の時間の各々について、前記ターゲット物理システムに関する前記追加の時間での前記センサの値、および前記追加の時間についての前記ターゲット物理システムからの前記出力の値、についての追加の情報を取得するステップをさらに含み、前記取得されたデータの前記生成ステップはさらに、前記取得された追加の情報上の一部に基づくことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項８】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記データモデルの前記問い合わせから取得された前記結果が前記１つまたは複数のソフトルールの前記関連付けられた可能性に関する閾値を満たすのに十分な情報を提供しないと決定するステップと、
追加の結果が、前記１つまたは複数のソフトルールの前記関連付けられた可能性に関する前記閾値を満たすのに十分な情報を提供するまで、前記データモデルのさらなる問い合わせを行って、前記ターゲット物理システムの前記実際の動作から前記追加の結果を取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項９】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記結果を取得する前記データモデルの前記問い合わせの前に、前記データモデルの他の問い合わせを実行して、前記ターゲット物理システムの１つまたは複数のセンサが複数の他の値の各々を有する、他の指定された状況における前記ターゲット物理システムの前記実際の動作からの初期の結果を取得するステップと、
前記データモデルの前記問い合わせから取得された前記結果が、閾値を満たす前記初期の結果に対して新しい情報を提供すると決定するステップと、
前記データモデルのさらなる問い合わせを行って、追加の結果が、前記閾値を満たすために先行の結果に対して十分に新しい情報を提供しなくなるまで、前記追加の結果を前記ターゲット物理システムの前記実際の動作から取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記セットの前記バイナリルールは、前記指定された種類の物理システムの前記動作に関する要件である修正不可能な制約を指定する１つまたは複数の絶対的ルールを含み、指定された状況で修正されることができる前記指定された種類の物理システムの前記動作に関する制約を指定する１つまたは複数のハードルールをさらに含み、前記方法は、
前記１つまたは複数の構成されたコンピューティングシステムによって、第２の時間の期間にわたって前記指定された種類の第２のターゲット物理システムの実際の動作を記述する第２のデータを取得するステップであって、前記データは、前記第２の時間の期間中の複数の時間の各々について、前記第２のターゲット物理システムに関する前記時間での前記センサの値、および前記時間についての前記第２のターゲット物理システムに関する前記制御を操作するために実行される１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記第２のターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記取得されたデータから、前記第２のターゲット物理システムの前記実際の動作を表わす第２のデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成された第２のデータモデルから、前記第２のターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数の第２のソフトルールを自動的に学習するステップであって、前記１つまたは複数の第２のソフトルールは、前記ターゲット物理システムに関する前記学習された１つまたは複数のソフトルールと異なり、前記ターゲット物理システムと前記第２のターゲット物理システムとの間の差異を反映する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記第２のターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数の第２のソフトルールについての情報を提供するステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１１】
１つまたは複数のコンピューティングシステムに動作を行わせるコンテンツを記憶した非一時的コンピュータ可読媒体であって、前記動作は、
前記１つまたは複数のコンピューティングシステムによって、センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムの要素の物理的状態に関する情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作する制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該受け取ることと、
前記１つまたは複数のコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲットシステムの実際の動作を記述するデータを取得することであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲットシステムに関する前記時間でのセンサ値、および前記時間についての前記ターゲットシステムに関する前記制御を操作する１つまたは複数の制御アクション、および前記時間についての前記ターゲットシステムからの１つまたは複数の出力、についての情報を含む、該取得することと、
前記１つまたは複数のコンピューティングシステムによって、前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記可能性のある値は、確率的な値を表わしおよび関連付けられた可能性を有し、および前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲットシステムの前記動作に関する前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記バイナリルールからの前記指定された状況の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記１つまたは複数のコンピューティングシステムによって、前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
を含むことを特徴とする非一時的コンピュータ可読媒体。
【請求項１２】
前記記憶されたコンテンツは、ソフトウェア命令を含み、前記ソフトウェア命令は、実行されたとき、追加の動作を前記１つまたは複数のコンピューティングシステムにさらに行わせ、前記追加の動作は、
前記ターゲットシステムの少なくとも１つのセンサについての状態情報を識別するセンサ情報を取得することと、
少なくとも前記バイナリルールと前記取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから、結合された微分方程式を含む前記ターゲットシステムの状態を記述するモデルを作成することと、
前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別することと、
前記ターゲットシステムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲットシステムの少なくとも１つの出力の、結果の変化を引き起こすことと
を含むことを特徴とする請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記ターゲットシステムは、指定された種類の物理システムであり、前記受け取られたバイナリルールは、前記指定された種類の物理システムの動作をさらにモデル化し、
前記学習された１つまたは複数のソフトルールに関する前記情報の前記提供は、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新することと、
前記更新された作成されたモデルを使用して、前記ターゲットシステムにおける１つまたは複数の追加の制御アクションを決定して実行することと
を含むことを特徴とする請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
システムであって、
１つまたは複数のコンピューティングシステムの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備え、前記命令は、前記１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、前記システムに、
センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムに関係付けられた状態情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作する制御アクションの結果に関する真値または偽値に達するように評価される前記状態情報を含む条件を指定する、該受け取ることと、
前記ターゲットシステムを記述しおよび結合された微分方程式を含む前記バイナリルールに基づく初期モデルを、前記バイナリルールと取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから作成することと、
時間の期間中の複数の時間において前記ターゲットシステムの前記動作を制御するために前記作成された初期モデルを使用し、前記制御された動作を記述するデータを取得することであって、前記ターゲットシステムの前記動作を制御することは、前記複数の時間の各々について前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、前記時間に関して実行するための少なくとも１つの制御アクションを識別することを含み、前記取得されたデータは、センサ値に関して、および前記ターゲットシステムの前記制御を操作する制御アクションについて、および前記ターゲットシステムからの出力についての情報を含む、該取得することと、
前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記可能性のある値は、確率的な値を表わしおよび関連付けられた可能性を有し、および前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における、前記ターゲットシステムの前記動作についての前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記作成された初期モデルからの前記指定された状況の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
によって前記ターゲットシステムのための自動化制御システムを実装させることを特徴とするシステム。
【請求項１５】
前記学習された１つまたは複数のソフトルールについての前記情報の前記提供は、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新することと、前記更新された作成されたモデルを使用して、前記ターゲットシステムにおける１つまたは複数の追加の制御アクションを決定して実行することとを含むことを特徴とする請求項１４に記載のシステム。
【手続補正書】
【提出日】令和1年7月16日(2019.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
１つまたは複数の構成されたコンピューティングシステムによって、複数のセンサと１つまたは複数の制御と１つまたは複数の出力とを有する指定された種類の物理システムの動作をモデル化するバイナリルールのセットを受け取るステップであって、各センサは、前記指定された種類の物理システムの前記動作に関係付けられた少なくとも１つの種類の状態情報を測定し、各制御は、前記指定された種類の物理システムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作する制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲット物理システムの実際の動作を記述するデータを取得するステップであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲット物理システムに関する前記時間における前記センサの値、および前記時間についての前記ターゲット物理システムに関する前記制御を操作するために実行される１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記ターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記取得されたデータから、前記ターゲット物理システムの前記実際の動作を表わすデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成されたデータモデルから、前記ターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習するステップであって、各ソフトルールは、複数の可能性のある値のうちの１つに達するように評価される１つまたは複数の追加の条件を指定し、前記複数の可能性のある値は、確率的な値を表わし、前記１つの可能性のある値は、尤度を有し、および、前記学習するステップは、
前記データモデルに問い合わせて、前記ターゲット物理システムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲット物理システムの前記実際の動作からの結果を取得するステップ、
前記データモデルの前記問い合わせから取得された前記結果とバイナリルールの前記セットからの前記指定された状況の期待された結果との間の差異を決定するステップ、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築するステップ
を含み、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記ターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供するステップと
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記１つまたは複数の構成されたコンピューティングシステム上で実行している協働分散判断システムによって、前記ターゲット物理システムの少なくとも１つのセンサについての現在の状態情報を識別するセンサ情報を取得するステップと、
前記協働分散判断システムによって、少なくとも前記バイナリルールと前記取得されたセンサ情報と前記指定された種類の物理システムに関する指定された目標とから、結合された微分方程式を含む前記ターゲット物理システムの現在の状態を記述するモデルを作成するステップと、
前記協働分散判断システムによっておよび前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲット物理システムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別するステップと、
前記ターゲット物理システムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲット物理システムの少なくとも１つの出力の、結果の変化を引き起こすステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記学習された１つまたは複数のソフトルールについての前記情報の前記提供ステップは、前記協働分散判断システムによって、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新するステップと、前記更新された作成されたモデルを使用して、前記ターゲット物理システムにおける１つまたは複数の追加の制御アクションを決定して実行するステップとを含むことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
前記モデルの前記作成ステップは、前記データの前記取得ステップの前に実行され、さらに、前記指定された種類の物理システムの前記動作をモデル化するために受け取られた１つまたは複数の初期ソフトルールに一部基づいて、前記ターゲット物理システムに対する１つまたは複数の構造的修正が、前記モデルの前記作成するステップと前記データの前記取得するステップとの間に行われ、前記１つまたは複数のソフトルールの前記自動的に学習するステップは、前記１つまたは複数の修正に関係付けられた少なくとも１つの追加のソフトルールを学習するステップを含み、前記作成されたモデルの前記自動的に更新するステップは、前記作成されたモデルを前記１つまたは複数の構造的修正を表わすように適合させるステップを含むことを特徴とする請求項３に記載のコンピュータ実施方法。
【請求項５】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記データモデルの前記問い合わせから取得された前記結果を表す全体的ハミルトン関数を生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、および前記バイナリルール上の少なくとも一部基づいて、前記指定された種類の物理システムのルールベースのモデルを表すバイナリルールベースのハミルトン関数を生成するステップと
をさらに含み、
前記差異の前記決定ステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記全体的ハミルトン関数と前記バイナリルールベースのハミルトン関数との間の差異を表わすソフトルールベースのハミルトン関数を生成するステップを含み、前記１つまたは複数のソフトルールの前記構築するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数の自然対数を実行するステップを含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項６】
前記差異の前記決定するステップは、前記１つまたは複数の構成されたコンピューティングシステムによって、前記ソフトルールベースのハミルトン関数を表わすために１つもしくは複数のスプラインまたは１つもしくは複数の区分多項式関数のうちの少なくとも１つを決定することによって前記ソフトルールベースのハミルトン関数を近似するステップをさらに含むことを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項７】
前記データの前記取得するステップは、前記時間の期間中の複数の追加の時間の各々について、前記ターゲット物理システムに関する前記追加の時間での前記センサの値、および前記追加の時間についての前記ターゲット物理システムからの前記出力の値、についての追加の情報を取得するステップをさらに含み、前記取得されたデータの前記生成ステップはさらに、前記取得された追加の情報上の一部に基づくことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項８】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記データモデルの前記問い合わせから取得された前記結果が前記１つまたは複数のソフトルールの前記尤度に関する閾値を満たすのに十分な情報を提供しないと決定するステップと、
追加の結果が、前記１つまたは複数のソフトルールの前記尤度に関する前記閾値を満たすのに十分な情報を提供するまで、前記データモデルのさらなる問い合わせを行って、前記ターゲット物理システムの前記実際の動作から前記追加の結果を取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項９】
前記１つまたは複数のソフトルールの前記学習するステップは、
前記結果を取得する前記データモデルの前記問い合わせの前に、前記データモデルの他の問い合わせを実行して、前記ターゲット物理システムの１つまたは複数のセンサが複数の他の値の各々を有する、他の指定された状況における前記ターゲット物理システムの前記実際の動作からの初期の結果を取得するステップと、
前記データモデルの前記問い合わせから取得された前記結果が、閾値を満たす前記初期の結果に対して新しい情報を提供すると決定するステップと、
前記データモデルのさらなる問い合わせを行って、追加の結果が、前記閾値を満たすために先行の結果に対して十分に新しい情報を提供しなくなるまで、前記追加の結果を前記ターゲット物理システムの前記実際の動作から取得するステップと
をさらに含み、
前記決定された差異は、前記データモデルからの前記追加の結果とバイナリルールの前記セットからの追加の期待される結果との間の差異をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記セットの前記バイナリルールは、前記指定された種類の物理システムの前記動作に関する要件である修正不可能な制約を指定する１つまたは複数の絶対的ルールを含み、指定された状況で修正されることができる前記指定された種類の物理システムの前記動作に関する制約を指定する１つまたは複数のハードルールをさらに含み、前記方法は、
前記１つまたは複数の構成されたコンピューティングシステムによって、第２の時間の期間にわたって前記指定された種類の第２のターゲット物理システムの実際の動作を記述する第２のデータを取得するステップであって、前記データは、前記第２の時間の期間中の複数の時間の各々について、前記第２のターゲット物理システムに関する前記時間での前記センサの値、および前記時間についての前記第２のターゲット物理システムに関する前記制御を操作するために実行される１つまたは複数の制御アクションの値、および前記時間についての前記１つまたは複数の制御アクションの結果として生じる前記第２のターゲット物理システムからの前記出力の値、についての情報を含む、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記取得されたデータから、前記第２のターゲット物理システムの前記実際の動作を表わす第２のデータモデルを生成するステップと、
前記１つまたは複数の構成されたコンピューティングシステムによっておよび前記生成された第２のデータモデルから、前記第２のターゲット物理システムの前記実際の動作をさらにモデル化する１つまたは複数の第２のソフトルールを自動的に学習するステップであって、前記１つまたは複数の第２のソフトルールは、前記ターゲット物理システムに関する前記学習された１つまたは複数のソフトルールと異なり、前記ターゲット物理システムと前記第２のターゲット物理システムとの間の差異を反映する、該ステップと、
前記１つまたは複数の構成されたコンピューティングシステムによって、前記第２のターゲット物理システムのさらなる制御に使用するために、前記学習された１つまたは複数の第２のソフトルールについての情報を提供するステップと
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１１】
１つまたは複数のコンピューティングシステムに動作を行わせるコンテンツを記憶した非一時的コンピュータ可読媒体であって、前記動作は、
前記１つまたは複数のコンピューティングシステムによって、センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムの要素の物理的状態に関する情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作する制御アクションの結果に関する真値または偽値に達するように評価される状態情報を含む条件を指定する、該受け取ることと、
前記１つまたは複数のコンピューティングシステムによって、時間の期間にわたって前記指定された種類のターゲットシステムの実際の動作を記述するデータを取得することであって、前記データは、前記時間の期間中の複数の時間の各々について、前記ターゲットシステムに関する前記時間でのセンサ値、および前記時間についての前記ターゲットシステムに関する前記制御を操作する１つまたは複数の制御アクション、および前記時間についての前記ターゲットシステムからの１つまたは複数の出力、についての情報を含む、該取得することと、
前記１つまたは複数のコンピューティングシステムによって、前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記可能性のある値は、確率的な値を表わしおよび尤度を有し、および前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における前記ターゲットシステムの前記動作に関する前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記バイナリルールからの前記指定された状況の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記１つまたは複数のコンピューティングシステムによって、前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
を含むことを特徴とする非一時的コンピュータ可読媒体。
【請求項１２】
前記記憶されたコンテンツは、ソフトウェア命令を含み、前記ソフトウェア命令は、実行されたとき、追加の動作を前記１つまたは複数のコンピューティングシステムにさらに行わせ、前記追加の動作は、
前記ターゲットシステムの少なくとも１つのセンサについての状態情報を識別するセンサ情報を取得することと、
少なくとも前記バイナリルールと前記取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから、結合された微分方程式を含む前記ターゲットシステムの状態を記述するモデルを作成することと、
前記作成されたモデルに基づいて、前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、少なくとも１つの制御アクションを識別することと、
前記ターゲットシステムにおいて前記少なくとも１つの制御アクションの実施を開始して、前記少なくとも１つの制御を操作し、前記ターゲットシステムの少なくとも１つの出力の、結果の変化を引き起こすことと
を含むことを特徴とする請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記ターゲットシステムは、指定された種類の物理システムであり、前記受け取られたバイナリルールは、前記指定された種類の物理システムの動作をさらにモデル化し、
前記学習された１つまたは複数のソフトルールに関する前記情報の前記提供は、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新することと、
前記更新された作成されたモデルを使用して、前記ターゲットシステムにおける１つまたは複数の追加の制御アクションを決定して実行することと
を含むことを特徴とする請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
システムであって、
１つまたは複数のコンピューティングシステムの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備え、前記命令は、前記１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、前記システムに、
センサと１つまたは複数の制御と１つまたは複数の出力とを有するターゲットシステムの動作をモデル化するバイナリルールを受け取ることであって、前記センサは、前記ターゲットシステムに関係付けられた状態情報を測定し、少なくとも１つの制御は、前記ターゲットシステムの少なくとも１つの出力を修正するように操作可能であり、前記バイナリルールは、前記１つまたは複数の制御を操作する制御アクションの結果に関する真値または偽値に達するように評価される前記状態情報を含む条件を指定する、該受け取ることと、
前記ターゲットシステムを記述しおよび結合された微分方程式を含む前記バイナリルールに基づく初期モデルを、前記バイナリルールと取得されたセンサ情報と前記ターゲットシステムに関する指定された目標とから作成することと、
時間の期間中の複数の時間において前記ターゲットシステムの前記動作を制御するために前記作成された初期モデルを使用し、前記制御された動作を記述するデータを取得することであって、前記ターゲットシステムの前記動作を制御することは、前記複数の時間の各々について前記結合された微分方程式の区分線形解析を実行して、前記ターゲットシステムの少なくとも１つの制御を操作しおよび前記目標に対する解を提供する、前記時間に関して実行するための少なくとも１つの制御アクションを識別することを含み、前記取得されたデータは、センサ値に関して、および前記ターゲットシステムの前記制御を操作する制御アクションについて、および前記ターゲットシステムからの出力についての情報を含む、該取得することと、
前記取得されたデータから、前記ターゲットシステムの前記動作をさらにモデル化する１つまたは複数のソフトルールを自動的に学習することであって、各ソフトルールは、可能性のある値に達するように評価される１つまたは複数の追加の条件を指定し、前記可能性のある値は、確率的な値を表わしおよび尤度を有し、および前記学習することは、
問い合わせを行って、前記ターゲットシステムの１つまたは複数のセンサが複数の値の各々を有する指定された状況における、前記ターゲットシステムの前記動作についての前記取得されたデータから結果を取得すること、
前記問い合わせから取得された前記結果と前記作成された初期モデルからの前記指定された状況の期待された結果との間の差異を決定すること、および
前記決定された差異を表わすように前記１つまたは複数のソフトルールを構築すること
を含み、
前記ターゲットシステムのさらなる制御に使用するために、前記学習された１つまたは複数のソフトルールについての情報を提供することと
によって前記ターゲットシステムのための自動化制御システムを実装させることを特徴とするシステム。
【請求項１５】
前記学習された１つまたは複数のソフトルールについての前記情報の前記提供は、前記学習された１つまたは複数のソフトルールの表現を含むように前記作成されたモデルを自動的に更新することと、前記更新された作成されたモデルを使用して、前記ターゲットシステムにおける１つまたは複数の追加の制御アクションを決定して実行することとを含むことを特徴とする請求項１４に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５２
【補正方法】変更
【補正の内容】
【０１５２】
ブロック５７３では、ルーチンは次いで、たとえば、ブロック５６５から５７１の実行が、あり得るソフトルールに関して新しい情報を作成することを続けるかどうかに基づいて、各そのようなあり得るソフトルールに対する関連付けられた完全性値（completeness value）を決定する。そのようなあり得るソフトルールが十分に完全でない（たとえば、関連付けられた閾値を下回る完全性値を有する）場合、ルーチンはブロック５６７に戻り、追加の問い合わせを行いそうでない場合は、ブロック５７７へと続き、ターゲットシステムの改善された更新されたモデルで使用するために候補として十分に完全なあり得るソフトルールのいずれかを選択する。ブロック５７９では、ルーチンは次いで、既存モデルを自動的に更新するかどうかを決定し、更新する場合、ブロック５８１へと続き、学習された候補ソフトルールを使用し、既存のルールベースのモデルを更新し、その後にブロック５８５へと続く。そうでない場合は、ルーチンはブロック５８３へと続き、既存のモデルおよび／またはターゲットシステムに関連付けられた１つまたは複数のユーザに対して、学習された候補ソフトルールに関する情報を提供して、たとえば、ユーザがそれらを使用して既存のルールベースのモデルを更新するかどうかを可能にし、その後、ブロック５０５へと進む（たとえば、ブロック５２０に関連してそのような更新についてユーザからさらなる命令を受け取る）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１５３
【補正方法】変更
【補正の内容】
【０１５３】
ブロック５９０の後、ルーチンはブロック５９５へと続き、継続するかどうかを決定し、たとえば停止する明示的インジケーションが受け取られるまで継続する。継続すると決定された場合、ルーチンはブロック５０５に戻り、そうでない場合はブロック５９９に進んで終了する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１６３
【補正方法】変更
【補正の内容】
【０１６３】
図７Ａないし図７Ｂは、ＣＤＤ制御アクション決定ルーチン７００の例示的実施形態のフロー図である。ルーチンは、たとえば、図３のコンポーネント３４４および／または図１Ｂのコンポーネント１４４ａないしｎもしくは１８４の実行によって提供されて、たとえば、特定の時間期間中にターゲットシステムに関して提案および／または実施する判断モジュールについての制御アクションを決定することができ、いくつかの実施形態では、可能な場合に１つまたは複数の目標に関して行う最適に近い（たとえば、最適解の閾値内の）アクションを決定するために最適化を行うことを含む。ルーチンの示された実施形態は、特定の判断モジュールにローカルな方式で実行され、したがって、一部または全部の判断モジュールは各々がそのようなルーチンのローカルバージョンを実施することができるが、他の実施形態では、ルーチンは、１つまたは複数の判断モジュールが１つまたは複数のネットワークを介して相互作用する１つまたは複数のコンポーネントによって、集中化された方式で実施されてよく、たとえば、特定の判断モジュールが、ローカル判断モジュールの代わりに動作するのではなく、特定の時間に使用されるように示される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１６９
【補正方法】変更
【補正の内容】
【０１６９】
そうではなく、ゲージの１つまたは複数からのモデルエラー測定値が１つまたは複数の対応する閾値を満たすのに充分であるとブロック７５５で決定された場合、ルーチンは代わりにブロック７７０へと続き、そうするのに充分なエラーを示すゲージの１つまたは複数に基づいて、たとえばモデルに対する更新の１つまたは複数の時間期間にわたる蓄積されたエラーに基づいて、モデルを再トレーニングするかどうかを決定する。再トレーニングする場合、ルーチンはブロック７２０に戻って、ブロック７２０および７２５でそのような再トレーニングを行い、次いでブロック７３０へと続いて、結果の再トレーニングされたモデルを用いて区間線形解析を再試行する。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１２Ａ
【補正方法】変更
【補正の内容】
【図１２Ａ】
2019528494.tif 000067
【国際調査報告】
2019528494.tif 000068