(57)【要約】      （修正有）【課題】モデルを使用して評価されたオプションを制限することによって適切な決定を選択するための、コンピュータ実施方法を提供する。【解決手段】適切な決定を選択するための方法は、入力を受け取り、入力に応答して出力を提供することができるモデルを選択しＳ２０、モデルをトレーニングしＳ３０、仮説的事象を表すオプションを生成しＳ４２、目標値を計算しＳ４０、生成されたオプションおよびトレーニングされたモデルと関連付けられた目標値にインデックス付けするためのインデックスを計算しＳ５０、特定の制約に従って実施されるオプションのセットの選択を獲得するためにインデックスを問合せるＳ７０、問合せの結果として、生成されたオプションのセットのサブセットを、個々のオプションと結合された目標値に従ってランク付けして返すＳ８０。【選択図】図１
2017126330.tif 000002
【特許請求の範囲】
【請求項１】
モデルを使用して評価されたオプションを制限することによって適切な決定を選択するための、コンピュータ実施方法であって、
−入力を受け取り、かつ、入力に応答して出力を提供することができるモデルを選択するステップ（Ｓ２０）と、
−同様の事象を表すデータのセットを使用してモデルをトレーニングするステップ（Ｓ３０）と、
−仮説的事象を表すオプションを生成するステップ（Ｓ４２）と、
−前記トレーニングされたモデルを前記生成されたオプションに適用することによって目標値を計算するステップ（Ｓ４０）と、
−前記生成されたオプション、および前記トレーニングされたモデルと関連付けられた目標値にインデックス付けするためのインデックスを計算するステップ（Ｓ５０）と、
−オプションのセットの選択を獲得するために前記インデックスを問合せるステップ（Ｓ６０）であって、前記選択は特定の制約に従って実行されるステップと、
−前記問合せの結果として、前記生成されたオプションの前記セットのサブセットを返すステップ（Ｓ７０）であって、前記サブセットは、各オプションと関連付けられた前記目標値に従ってランク付けされるステップと
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記モデルをトレーニングするステップは、
−同様の事象を表すデータのセットを収集するステップ（Ｓ１０）と、
−同様の事象を表すデータの前記収集されたセットに基づいて前記モデルをトレーニングするステップ（Ｓ３０）と
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
同様の事象を表すデータの前記セットは観察のセットを含み、各観察は変数を使用して定義され、
−観察の前記セットの目標変数であって、変数である目標変数を特定し、
−観察の前記セットの測定可能変数であって、過去の事象と類似している現在の事象の現在の観察において測定され得る変数である測定可能変数を特定し、
−観察の前記セットのアクション可能変数であって、ユーザの決定に基づいて作用され得る変数であるアクション可能変数を特定する
ことを特徴とする請求項１または２に記載のコンピュータ実施方法。
【請求項４】
前記モデルをトレーニングするステップは、
−シミュレーションのセットから生成される（Ｓ１２）データのセットを計算するステップと、
−データの前記生成されたセットに基づいて前記モデルをトレーニングするステップ（Ｓ３０）と
をさらに含むことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項５】
仮説的事象を表す前記オプションを生成するステップは、
−連続するセグメント、または前記各変数の可能な値の離散セットの各観察の各変数を定義するステップと、
−定義の前記セグメントの値、またはそれぞれの変数に対する可能な値のセットを生成することによって前記オプションを生成するステップと
を含むことを特徴とする請求項３または４に記載のコンピュータ実施方法。
【請求項６】
前記オプションを生成するステップは、生成されるオプション毎に、
−データの前記セットによって表される前記同様の事象の中から事象を選択するステップと、
−変数を、前記選択された事象の変数の値に基づいて生成される前記オプションに設定するステップと
をさらに含むことを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項７】
値を生成するステップは、無作為確率変数発生器を使用して実行されることを特徴とする請求項５または６に記載のコンピュータ実施方法。
【請求項８】
−前記セットの観察の前記変数間の依存性を決定するステップと、
−前記生成された事象の中から、変数が前記決定された依存性を満足しない事象を除去するステップと
を含むことを特徴とする請求項３乃至７のいずれか一項に記載のコンピュータ実施方法。
【請求項９】
１つまたは複数の観察の１つまたは複数の変数が実時間で伝送されることを特徴とする請求項８に記載のコンピュータ実施方法。
【請求項１０】
−前記伝送された１つまたは複数の変数から新しいオプションを生成するステップと、
−前記トレーニングされたモデルを前記生成された新しいオプションに対して提供することによって新しい目標値を計算するステップと、
−前記生成された新しいオプションおよび前記計算された新しい目標値にインデックス付けすることによって前記インデックスを更新するステップと
をさらに含むことを特徴とする請求項９に記載のコンピュータ実施方法。
【請求項１１】
前記インデックスを問合せることによって実行される選択が従う制約は、実時間で伝送される前記変数に対して提供され、また、実時間で伝送される値を使用して設定されることを特徴とする請求項９または１０に記載のコンピュータ実施方法。
【請求項１２】
請求項１乃至１１のいずれか一項に記載の方法を実行するための命令を含むことを特徴とするコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムがその上に記録されたことを特徴とするコンピュータ可読記憶媒体。
【請求項１４】
請求項１２に記載のコンピュータプログラムがその上に記録されたメモリに結合された処理回路を備えることを特徴とするサーバ。
【請求項１５】
クライアントコンピュータに接続され、前記クライアントコンピュータから前記インデックスの問合せが生成されることを特徴とする請求項１４に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、機械学習モデルの助けを借りて評価された可能なオプションを制限することによって適切な決定を選択するための方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
推薦（ｒｅｃｏｍｍｅｎｄａｔｉｏｎｓ）は、エンジニアリングにおける意思決定のために使用される。例えば衛星打上の進行中に、事故（例えば燃料タンクの温度、燃料消費、発射装置の速度、等々を制御すること）の危険の作用を最小化するためには、緊急アクションを推薦することが要求される。推薦は、デバイスの制御に限定されないが、それらはデバイスの構想中および製造中にも同じく使用されることが可能であり、例えばＣＡＤシステムは、設計されたデバイスがうまく作動しない危険が最小化されるよう、デバイスの設計中の推薦を提供することができる。
【０００３】
いくつかの知られているカテゴリの推薦システムが存在している。第１のカテゴリは、訪問者が、既に訪問された内容に基づいて内容提案を受け取るシステムである、いわゆるリコメンダシステムを含む。例えば探索エンジンは、訪問されたページの個人履歴に基づいて探索結果をランク付けする。このようなシステムの例は、非特許文献１の中で考察されており、または同じく非特許文献２の中で考察されている。
【０００４】
しかしながらこれらのリコメンダシステムは、極めて多数のユーザの履歴を集中化するアプリケーションで動作する。例えばＧｏｏｇｌｅ（Ｃ）探索は、１０億を超えるユーザを有している。会社のサーバ上でホストされるシステムは、学習すべき意思決定者のこのようなプールを有していない。意思決定者は、典型的には、同様の状況におけるそれらの同僚の蓄積された経験に基づくアドバイスのために、最良の実務または管理顧問会社を使用する。しかしながら、企業の、経営上のデータおよび設備データの異なる会社からの相対的な隔離は、コンピュータプログラムによるこの学習プロセスの自動化を困難にしている。したがってそれらの同業者からの決定の履歴を調べるよりもむしろ、意思決定者は、決定のためのニーズをトリガする状況を記述しているデータ（例えばそれらの独自の操作および設備を記述している変数）に基づいて状況を評価する。したがってこれらのリコメンダシステムは、これらの状況には適していない。
【０００５】
第２のカテゴリは、特定の問題に関連する意思決定を自動化する、規則に基づくシステムを含む。専門家によって作成される規則に基づいて、自動的に適用される。オプションの数が少なく、また、入力変数が人による管理が可能であるか、または処理されて識別的変数の管理可能なセットに要約される場合、専門家にとっては、ほとんどの場合に最適アクションをもたらすことになる規則を規定することが可能である。第１の手法は、「専門家規則のみ」と呼ばれ、規則は、システムが適用されることになる技術分野の専門家によって手で作成される。第２の手法は、「経験的なモデルと結合された専門家規則」と呼ばれ、経験的なモデルは、利用可能な入力を処理し、かつ、管理可能な数の入力を返すために機械学習に基づいて構築される。このようなモデルは、典型的には、予測された確率を返すことになる。人間によって作成された規則に提供される入力の複雑性が低減されるため、ヒューマンエラーに対する余地が低減される。
【０００６】
しかしながらこの第２のカテゴリは多くの欠点を抱えており、とりわけ２つの手法は、独立した要素の数およびオプションの数が人間の専門家によっては管理することができない問題をもたらす場合は機能しない。タイプ＜専門家規則のみ＞の手法は、すべての入力変数の寄与を全面的に捉えることができず、また、タイプ＜経験的なモデルと結合された専門家規則＞の手法は、不完全な経験的なモデルをもたらすことになるか（すべての独立した要素が入力変数の中で表現されない場合）、または人間の専門家によって理解できないモデルをもたらすことになるかのいずれかである。モデルを理解しない人間の専門家は、モデルをトレーニングする時点では存在しなかった、またはモデルをトレーニングする時点では考慮されなかった新しい情報の存在下においてその関連性を評価することができない。
【０００７】
経験的なモデルの例として、Ｄｅｌｍｉａ  ＯＩ（Ｃ）などの経験的な規則生成システムがある。これらのシステムは、このような現象を取り扱うために要求される複雑性を例示している。経験的な規則生成システムは、極めて多数の変数によって記述される現象をモデル化する。それらは、個々に再現度が低く、かつ、精度が低く、したがって潜在的に互いに矛盾する多くの規則を作成し、それらの異なる結果を投票で議決し、かつ、状況を記述するための新しい合成変数として使用される投票の結果を出力することによって動作する。これらのシステムは、典型的には、高い再現度および高い精度（それぞれ８０％を超える）を同時に達成するが、そうするために、専門家によっては作成され得なかったであろう管理不可能な数の規則（数十の変数に対して数万から数百万程度に及ぶ）を作成する。
【０００８】
このようなシステムは、多くの入力パラメータおよび比較的少数のオプションを使用した事例では、専門家が完全に理解することができるモデルの提供に関する場合を除き、手法「経験的なモデルと結合された専門家規則」に首尾よく使用され得る。
【０００９】
しかしながら、このような経験的なモデルは、システムをトレーニングし、また、専門家規則を作成する際に存在しなかったデータ、または考慮されなかったデータを意思決定者に考慮させない。さらに、経験的なモデルには、トレーニングするためのかなりのハードウェア資源が必要である。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【００１０】
第３のカテゴリは、関連する情報を、意思決定者またはそれらの補助者による管理を可能にする形態で提供することによって意思決定を補助する、理解可能なモデル、表現および対話型インターフェイスを含む。例えばビジネスインテリジェンスツールは、変数を選択し、かつ、例えば散布図によってそれらの相互作用を視覚化するための手段を提供する。分析者は、関連する視覚化をひろい上げ、静的報告書を作成し、かつ、それらを意思決定者に送る。
【００１１】
いわゆる「ホワイトボックスモデル」は、変数間の関係の視覚化または説明を与える経験的な（トレーニングされた）モデルに依拠している。例えば決定ツリー（例えば非特許文献３の中で考察されている）、規則構築エンジン、またはベイジアンネットワーク（例えば非特許文献４の中で考察されている）をトレーニングした後、何らかの確率で、現象を記述している変数のうちのいくつかの前提命題に目標変数をリンクする規則を理解することが可能である。
【００１２】
入力データがグラフで表現され得ない場合、２Ｄマップ上の２つのエンティティ間の距離がグラフ内におけるそれらの接続性を表す方法でグラフを２次元図面にマップする技法が存在している。これらの技法により、状況を記述している要素間の相互作用の程度を定性的に表すことができる。これらの技法は、例えば非特許文献５の中で考察されているように、同様の観察（Ｎ個の寸法が近く、寸法は観察を記述している変数である）が最終的には２Ｄマップ上で互いに接近するよう、複雑な観察を２Ｄマップ上にマップするために同じく適用され得る。
【００１３】
クラスタ化技術は、非特許文献６の中で考察されており、これらのクラスタ化技術により、Ｎ個の寸法が類似している観察を管理可能な数のグループでまとめてグループ化することができる。
【００１４】
寸法低減技法は、非特許文献７の中で考察されており、それらにより、寸法または寸法の組合せであって、それらに沿ってデータが最も変化する寸法または寸法の組合せを見出すことができる。
【００１５】
所与の目標変数の値に対してどの寸法が最も強い影響力を有するか（記述変数）を見出すための他の技法が存在している。
【００１６】
しかしながら「ホワイトボックスモデル」は、いくつかの欠点を抱えている。とりわけこれらのシステムは、完全に自動化された決定を依然として提供しておらず、したがって重要な要因の遺漏、または考慮される要因の実際の影響力の不正確な予測などのヒューマンエラーによる次善の決定を許容している。
【００１７】
この文脈内では、機械学習モデルの助けを借りて評価された可能オプションを制限することによって適切な決定を選択するための改良された方法の必要性が依然として存在している。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】Ｂａｌａｂａｎｏｖｉｃ，  Ｍａｒｋｏ，  ａｎｄ  Ｙｏａｖ  Ｓｈｏｈａｍ．  “Ｆａｂ：  ｃｏｎｔｅｎｔ−ｂａｓｅｄ，  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ．”  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ４０．３  （１９９７）：  ６６−７２
【非特許文献２】Ｓａｒｗａｒ，  Ｂａｄｒｕｌ，  ｅｔ  ａｌ．  “Ｉｔｅｍ−ｂａｓｅｄ  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｆｉｌｔｅｒｉｎｇ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ａｌｇｏｒｉｔｈｍｓ．”  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １０ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ．  ＡＣＭ，  ２００１
【非特許文献３】Ｑｕｉｎｌａｎ，  Ｊ．  Ｒｏｓｓ．  “Ｉｎｄｕｃｔｉｏｎ  ｏｆ  ｄｅｃｉｓｉｏｎ  ｔｒｅｅｓ．”  Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  １．１  （１９８６）：  ８１−１０６．  ［１］
【非特許文献４】Ｈｅｃｋｅｒｍａｎ，  Ｄａｖｉｄ，  Ｄａｎ  Ｇｅｉｇｅｒ，  ａｎｄ  Ｄａｖｉｄ  Ｍ．  Ｃｈｉｃｋｅｒｉｎｇ．  “Ｌｅａｒｎｉｎｇ  Ｂａｙｅｓｉａｎ  ｎｅｔｗｏｒｋｓ：  Ｔｈｅ  ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｋｎｏｗｌｅｄｇｅ  ａｎｄ  ｓｔａｔｉｓｔｉｃａｌ  Ｄａｔａ．”  Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  ２０．３  （１９９５）：  １９７−２４３
【非特許文献５】Ｂａｌａｓｕｂｒａｍａｎｉａｎ，  Ｍｕｋｕｎｄ，  ａｎｄ  Ｅｒｉｃ  Ｌ．  Ｓｃｈｗａｒｔｚ．  “Ｔｈｅ  ｉｓｏｍａｐ  ａｌｇｏｒｉｔｈｍ  ａｎｄ  ｔｏｐｏｌｏｇｉｃａｌ  ｓｔａｂｉｌｉｔｙ．”  Ｓｃｉｅｎｃｅ  ２９５．５５５２  （２００２）：  ７−７
【非特許文献６】Ｊａｉｎ，  Ａｎｉｌ  Ｋ．，  Ｍ．  Ｎａｒａｓｉｍｈａ  Ｍｕｒｔｙ，  ａｎｄ  Ｐａｔｒｉｃｋ  Ｊ．  Ｆｌｙｎｎ．  “Ｄａｔａ  ｃｌｕｓｔｅｒｉｎｇ：  ａ  ｒｅｖｉｅｗ．”  ＡＣＭ  ｃｏｍｐｕｔｉｎｇ  ｓｕｒｖｅｙｓ  （ＣＳＵＲ）  ３１．３  （１９９９）：  ２６４−３２３
【非特許文献７】Ｗａｌｌ，  Ｍｉｃｈａｅｌ  Ｅ．，  Ａｎｄｒｅａｓ  Ｒｅｃｈｔｓｔｅｉｎｅｒ，  ａｎｄ  Ｌｕｉｓ  Ｍ．  Ｒｏｃｈａ．  “Ｓｉｎｇｕｌａｒ  ｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ  ａｎｄ  ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ．”  Ａ  ｐｒａｃｔｉｃａｌ  ａｐｐｒｏａｃｈ  ｔｏ  ｍｉｃｒｏａｒｒａｙ  Ｄａｔａ  ａｎａｌｙｓｉｓ．  Ｓｐｒｉｎｇｅｒ  ＵＳ，  ２００３．  ９１−１０９
【発明の概要】
【００１９】
したがって、モデルを使用して評価されたオプションを制限することによって適切な決定を選択するための、コンピュータ実施方法が提供される。方法は、
−入力を受け取り、かつ、入力に応答して出力を提供することができるモデルを選択するステップと、
−同様の事象を表すデータのセットを使用してモデルをトレーニングするステップと、
−仮説的事象を表すオプションを生成するステップと、
−トレーニングされたモデルを生成されたオプションに対して提供することによって目標値を計算するステップと、
−生成されたオプション、およびトレーニングされたモデルと関連付けられた目標値にインデックス付けするためのインデックスを計算するステップと、
−オプションのセットの選択を獲得するために前記インデックスを問合せるステップであって、選択は特定の制約に従って実行されるステップと、
−問合せの結果として、生成されたオプションのセットのサブセットを返すステップであって、サブセットは、各オプションと関連付けられた目標値に従ってランク付けされるステップと
を含む。
【００２０】
方法は、以下のうちの１つまたは複数を含むことができる。
−モデルをトレーニングするステップは、同様の事象を表すデータのセットを収集するステップと、同様の事象を表すデータの収集されたセットに基づいてモデルをトレーニングするステップをさらに含む。
−同様の事象を表すデータのセットは観察のセットを含み、各観察は変数を使用して定義され、観察のセットの目標変数であって、変数である目標変数を特定し、観察のセットの測定可能変数であって、過去の事象と類似している現在の事象の現在の観察において測定され得る変数である測定可能変数を特定し、観察のセットのアクション可能変数であって、ユーザの決定に基づいて作用され得る変数であるアクション可能変数を特定する。
−モデルをトレーニングするステップは、シミュレーションのセットから生成されるデータのセットを計算するステップと、データの生成されたセットに基づいてモデルをトレーニングするステップをさらに含む。
−仮説的事象を表すオプションを生成するステップは、連続するセグメント、または前記各変数の可能な値の離散セットの各観察の各変数を定義するステップと、定義のセグメントの値、またはそれぞれの変数に対する可能な値のセットを生成することによってオプションを生成するステップを含む。
−オプションを生成するステップは、生成されるオプション毎に、データのセットによって表される同様の事象の中から事象を選択するステップと、変数を、選択された事象の変数の値に基づいて生成されるオプションに設定するステップをさらに含む。
−値を生成するステップは、無作為確率変数発生器を使用して実行される。
−セットの観察の変数間の依存性を決定するステップと、生成された事象の中から、変数が決定された依存性を満足しない事象を除去するステップ。
−１つまたは複数の観察の１つまたは複数の変数は実時間で伝送される。
−伝送された１つまたは複数の変数から新しいオプションを生成するステップと、トレーニングされたモデルを生成された新しいオプションに対して提供することによって目標値を計算するステップと、生成された新しいオプションおよび計算された目標値にインデックスを付けることによって前記インデックスを更新するステップ。
−前記インデックスを問合せることによって実行される選択が従う制約は、実時間で伝送される変数に対して提供され、また、実時間で伝送される値を使用して設定される。
−オプションのセットのオプションは生成されたオプションである。
【００２１】
上記方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【００２２】
コンピュータプログラムがその上に記録されたコンピュータ可読記憶媒体がさらに提供される。
【００２３】
上記コンピュータプログラムがその上に記録されたメモリに結合された処理回路を備えるサーバがさらに提供される。
【００２４】
サーバは、クライアントコンピュータに接続されることが可能であり、クライアントコンピュータから前記インデックスの問合せが生成される。
【図面の簡単な説明】
【００２５】
以下、本発明の実施形態が、非制限例として、添付の図面を参照して説明される。
【図１】本発明の例のフローチャートである。
【図２】コンピュータの例を示す図である。
【図３】観察のセットの例を示す図である。
【発明を実施するための形態】
【００２６】
図１のフローチャートを参照すると、モデルを使用して評価されたオプションを制限することによって適切な決定を選択するための、コンピュータ実施方法が提案される。方法は、入力を受け取り、かつ、入力に応答して出力を提供することができるモデルを選択するステップを含む。方法は、同様の事象を表すデータのセットを使用してモデルをトレーニングするステップをさらに含む。方法は、仮説的事象を表すオプションを生成するステップを同じく含む。方法は、トレーニングされたモデルを生成されたオプションに対して提供することによって目標値を計算するステップをさらに含む。方法は、生成されたオプション、およびトレーニングされたモデルと関連付けられた目標値にインデックス付けするためのインデックスを計算するステップを同じく含む。次に方法は、オプションのセットの選択を獲得するために前記インデックスを問合せるステップであって、選択が特定の制約に従って実行されるステップを含む。次に、方法は、問合せの結果として、生成されたオプションのセットのサブセットを返すステップであって、サブセットが、個々のオプションと関連付けられた目標値に従ってランク付けされるステップを含む。
【００２７】
このような方法は、モデルを使用して評価されたオプションを制限することによる適切な決定の選択を改善する。実際、本発明は、任意のタイプのモデルを使用して予測を実施することにあるが、その場合、最も高い予測された結果のオプションを返す代わりに、それは、オプションおよび対応する結果にインデックスを付け、結果によるランク付けの前に、意思決定者からの制約を受け入れることにある。例えば意思決定者は、最初は全く制約を規定せず、返された推薦が適用可能かどうかを調べる問合せを実施することができる。適用可能ではない場合、それらは、適用不可能な推薦をフィルタする新しい問合せの形態で制約を追加することができる。
【００２８】
本発明は、モデルをトレーニングする時点では利用可能ではない推薦の知識を前提として統合を可能にする。第１の結果として、本発明は、意思決定者がそれらに提供される推薦に影響を及ぼすことを可能にする。それは、それらに、推薦をもたらすプロセスに対する制御を与える。それらは推薦を割り当てることができ、また、それをより使用する傾向がある。第２の結果として、本発明は、関連を維持するためには頻繁に更新される必要があるモデルの使用を可能にするが（速やかに展開する状況の場合）、限られた利用可能な計算資源のため、十分に頻繁には更新され得ない（モデルの再トレーニングは、とりわけ状況を表すために多くの変数が必要である場合、典型的には非常に長いＣＰＵ時間および大量のＲＡＭが必要である）。例えばシャトルのエンジンが軌道に到達するために期待された推力を提供しない場合、以前のミッションから収集されたデータから学習するモデルは、エンジンがこの問題を有していることを知らないことになり（例えばこの問題は、過去には決して直面されなかった）、適切ではないシャトルの方向の変更を実行することを提案する可能性がある。ミッションのチーフは、エンジンが期待された推力を提供しないことを制約として適用することができる。「ホワイトボックスシステム」および概念的ディスプレイとは対照的に、本発明は、オプションの自動化された選択を提供し、恐らくユーザアクションは要求されず、一方、最良のオプションが選択される。これは、デバイスおよびシステムの管理を改善する。
【００２９】
方法は、コンピュータによって実施される。これは、方法のステップ（または実質的にすべてのステップ）が少なくとも１つのコンピュータまたは同様の任意のシステムによって実行されることを意味している。したがって方法のステップは、コンピュータによって、恐らくは完全に自動的に、または半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を介して実行され得る。要求されるユーザ−コンピュータ対話のレベルは、ユーザの希望を実施するための、予知され、かつ、平衡に置かれた必要性の自動性のレベルに依存し得る。例では、このレベルは、ユーザによって定義され、および／または予め定義され得る。
【００３０】
方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを使用して方法を実行することである。システムは、メモリおよびグラフィカルユーザインターフェイス（ＧＵＩ）に結合されたプロセッサを備えることができ、メモリには、方法を実行するための命令を含むコンピュータプログラムがその上に記録される。メモリは、このような記憶のために適合された任意のハードウェアであり、恐らくはいくつかの全く異なる物理部分（例えばプログラムのための部分、および恐らくはデータベースのための部分）を備える。
【００３１】
「データベース」により、探索および検索のために編成されたデータ（すなわち情報）の任意の収集が意味される（例えば予め定められた、構造化された言語、例えばＳＱＬに基づく、例えば関係データベース）。メモリ上に記憶される場合、データベースは、コンピュータによる速やかな探索および検索を可能にする。データベースは、実際、様々なデータ処理操作と関連してデータの記憶、検索、修正および削除を容易にするように構造化される。データベースは、記録に分解され得るファイルまたはファイルのセットからなることができ、記録の各々は、１つまたは複数のフィールドからなる。フィールドは、データ記憶の基本単位である。ユーザは、主として問合せを介してデータを検索することができる。キーワードおよびソーティングコマンドを使用して、ユーザは、多くの記録中のフィールドを速やかに探索し、並べ換え、グループ化し、かつ、選択することができ、それにより使用されているデータベース管理システムの規則に従って、データの特定の集合体上で報告書を検索し、または作成することができる。
【００３２】
インデックスを付けるとは、観察を記憶することは、変数の予め定義されたセット上の値による問合せを最適化することを意味する方法でそれらの目標値を含むことを意味している（これらの変数は、「インデックスが付けられた」と言われる）。変数は、逆リストに記憶されなければならない。逆リストは値のリストであり、値毎にポインタのリストを有している。個々のポインタは、記憶された観察をさし示し、その観察に対してこの値が生じる。逆リストは、値による速やかな問合せを可能にする。いくつかの変数では、順序の観念および値間の差が重要である。例えば温度Ｔ１＝２２Ｃ、温度Ｔ２＝２３Ｃ、温度Ｔ３＝３０ＣでラップＬ１が生じると、温度に関して、Ｔ１およびＴ２はＴ２およびＴ３よりもより類似している。これらの変数に対して、セグメントによる問合せは有意義である。インデックスが付けられると、これらの変数は、典型的には、最も速い読出しアクセスを提供する支援された物理的メモリ上に記憶される。これは、所与の変数の値をセグメントに分類し得るすべての観察の速やかな問合せを可能にすることである。セグメントによる問合せのための１つの手法は、離散化された値（精度の特定のレベルに丸められた）にインデックスを付け、かつ、セグメントに含まれているすべての離散値を問合せることである。インデックスは、関連するメタデータを有する文書としてデータを記憶する。文書は観察であり、関連する入力および目標値はメタデータである。
【００３３】
図２は、システムの例を示したもので、システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【００３４】
例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を備えている。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられるグラフィカルプロセッシングユニット（ＧＰＵ）１１１０をさらに備えている。ビデオＲＡＭ１１００は、当分野ではフレームバッファとして同じく知られている。大容量記憶デバイスコントローラ１０２０は、ハードドライブ１０３０などの大容量メモリデバイスへのアクセスを管理している。コンピュータプログラム命令およびデータを有形的に具体化するのに適した大容量メモリデバイスは、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスク、磁気光学的ディスクおよびＣＤ−ＲＯＭディスク１０４０を含むあらゆる形態の不揮発性メモリを含む。上記はいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足され、または特別に設計されたＡＳＩＣ（特定用途向け集積回路）に組み込まれ得る。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理している。クライアントコンピュータは、カーソル制御デバイス、キーボード、等々のハプティックデバイス１０９０を同じく含むことができる。カーソル制御デバイスは、クライアントコンピュータに使用され、ディスプレイ１０８０上の任意の所望の位置へのユーザによるカーソルの選択的位置決めを許容する。さらに、カーソル制御デバイスは、ユーザによる様々なコマンドおよび入力制御信号の選択を可能にする。カーソル制御デバイスは、システムへの入力制御信号のためのいくつかの信号発生デバイスを含む。典型的には、カーソル制御デバイスはマウスであってもよく、マウスのボタンを使用して信号が生成される。別法または追加として、クライアントコンピュータシステムは、感知可能なパッド、および／または感知可能なスクリーンを備えることも可能である。
【００３５】
コンピュータプログラムは、コンピュータによる実行が可能な命令を含むことができ、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体上に記録することができる。プログラムは、例えばデジタル電子回路の中、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアの中、またはそれらの組合せの中で実施され得る。プログラムは、装置、例えばプログラマブルプロセッサによる実行のために機械可読記憶デバイスの中で有形的に具体化された製品として実施され得る。方法ステップは、命令のプログラムを実行して、入力データ上で動作し、かつ、出力を生成することによって方法の機能を実行するプログラマブルプロセッサによって実行され得る。プロセッサは、したがってプログラマブルであってもよく、また、データ記憶システム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスからデータおよび命令を受け取り、また、データ記憶システム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスにデータおよび命令を伝送するために結合され得る。アプリケーションプログラムは、必要に応じて、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語で、もしくはアセンブリ言語または機械言語で実施され得る。いずれの場合においても、言語は、コンパイルされた、すなわち翻訳された言語であってもよい。プログラムは、フルインストレーションプログラムまたは更新プログラムであってもよい。システム上のプログラムのアプリケーションは、いずれの場合においても、命令が方法を実行することになる。
【００３６】
方法は、一般に、観察のセットを操作する。観察は変数のセットであり、個々の変数は値と関連付けられる。変数は、システムの状態またはその一部の状態、もしくはシステムまたはその一部と関係があるか、もしくはシステムまたはその一部に対する影響力を有する要素の状態を表す。例えば自動車の観察の変数は、自動車の温度、オイル圧、瞬時燃料消費、競争中の平均燃料消費、タイヤの種類、空気の温度、天気（雨、晴れ、雪）、等々であってもよい。変数は、変数の状態を定量化する値と関連付けられる。観察は、所与の時点におけるシステムの状態を表す。観察のセットは、したがって異なる時点における変数の値である。実際には、システムは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業設備、輸送、海運および／または沖合オイル／ガス製造または輸送を始めとする様々な無制限の産業分野に属し得る。方法によって使用される観察のセットは、したがって、地球上の車両またはその一部のシステム（例えば自動車および軽トラック設備、競走用自動車、モータサイクル、トラックおよび電動機設備、トラックおよびバス、列車を含む）、航空機またはその一部のシステム（例えば機体設備、航空宇宙設備、推進設備、防衛製品、航空路設備、宇宙設備を含む）、船舶またはその一部のシステム（例えば海軍設備、商船、沖合設備、ヨットおよび作業船、海上設備を含む）、機械的システム全体または機械的システムの一部（例えば産業製造機械類、大型移動機械類または設備、設置された設備、産業設備製品、製造された金属製品、タイヤ製造製品を含む）、電気機械的システムもしくは電子システムまたはその一部（例えば消費者電子装置、安全保護および／または制御および／または計装製品、計算および通信設備、半導体、医療デバイスおよび設備を含む）、消費財（例えば家具、家庭および庭製品、余暇財、ファッション製品、耐久消費財小売業者用製品、非耐久消費財小売業者用製品を含む）、梱包（例えば食料および飲料ならびにタバコ、美容および個人医療、家庭用製品梱包を含む）などの任意の機械的システムであってもよい産業システムに関連する変数を含むことができる。
【００３７】
図３は、観察の例を示したものである。個々の線１２は観察を表しており、個々の列１４（分かりやすくするために、図３には１つだけ点線で示されている）は変数に対応し、個々の長方形１８は、観察に対する変数の値を表している。この例では、観察のセットは、行列１０上に記憶される。個々の観察は、その値を使用して、＜入力変数＞として同じく知られているいわゆる＜記述変数＞上で記述されている（それらは、観察を記述するために、トレーニングされたモデルの入力として提供されるため）。おもしろいことには、セットの個々の観察は、セットの他の観察の変数と同じ変数を含む。個々の観察に対して、１つまたは複数の変数は空であってもよく、すなわち値と関連付けられていなくてもよいことを理解されたい。個々の観察は、＜出力変数＞として同じく知られているいわゆる＜目標変数＞上で対応する値と関連付けられる。目標変数は、トレーニングされたモデルが新しい観察に対して評価しなければならない変数である。目標変数は、それらが、システムの挙動を理解し、および／または予測し、および／または反応するモデルのユーザを補助する情報を提供する、という意味でモデルのユーザにとっては有意義である。この例では、目標変数は、行列１６の中に同じく記憶される。個々の観察の値および目標変数は、行列１０および１６を含む単一の行列の中に記憶され得ることを理解されたい。観察および目標変数は、タグが付けられたデータのセットを形成する（また、タグが付けられたデータのセットと呼ばれる）。個々の目標変数には、観察毎のいわゆる目標値である値が付随することを理解されたい。
【００３８】
図１を参照すると、本発明の構築時間が考察されており、この構築時間の間に、同様の事象である過去の事象のデータからモデルがトレーニングされる。
【００３９】
ステップＳ１０で、同様の事象上のデータが収集される。同様の事象とは、事象が共通の特性を有していることを意味している。実際には、収集されるデータは同様の事象の観察であり、個々の観察は、１つまたは複数の変数と関連付けられる。事象間の共通の特性は、事象を記述している変数であってもよい。したがって、また、図３を参照すると、観察のセットの個々の観察は、２つの観察の間の変数は異なる値を有し得ることを除き、同じ変数を使用して記述される事象を記述している。
【００４０】
以下、過去の同様の事象上のデータがどのように収集されるか、すなわち観察のセットがどのように構築されるかの例が説明される。個々の変数は観察の行列の列であり、一方、観察自体は同じ行列の行である。列Ｃと行Ｒの交点における観察行列の個々の要素は、観察Ｒに対する変数Ｃの値である。変数の３つのカテゴリがデータのセットの中から識別され得る。第１のカテゴリの変数は目標変数と呼ばれる。目標変数は、トレーニングされたモデルが新しい観察に対して評価しなければならない変数である。目標変数は、それらが、システムの挙動を理解し、および／または予測し、および／または反応するモデルのユーザを補助する情報を提供する、という意味でモデルのユーザにとっては有意義である。個々の目標変数は目標値と関連付けられる。
【００４１】
第２のカテゴリの変数はアクション可能変数と呼ばれる。アクション可能変数は、意思決定者がそれに対して行動することができる変数である。例えばスペースシャトルの速度は、それがシャトルの飛行乗組員によって修正され得るため、アクション可能変数である。
【００４２】
第３のカテゴリの変数は測定可能変数と呼ばれる。これらの変数は、現在の事象の間に測定される。
【００４３】
アクション可能変数および測定可能変数は観察の記述変数を形成する。
【００４４】
観察のセットが構築されると、観察の変数がこれらの３つのカテゴリに従って分類され、例えば図３の行列は、同じカテゴリの変数が行列の隣接する列の中でグループ化されるように構築される。説明のために、変数は、同時にアクション可能変数（意思決定者がそれらに対して行動することができる）、および同時に測定可能変数（それらは現在の事象の中で測定される）であってもよいことに留意されたい。
【００４５】
次に、観察が、測定されないが、シミュレーションのセットから生成される（Ｓ１２）例が説明される。個々のシミュレーションは変数毎の測度を提供し、また、個々のシミュレーションは、異なる状況の下で事象の進行をシミュレートする。例えばスペースシャトルの多くの着陸がシミュレートされることが可能であり、また、個々のシミュレーションは、事象の進行（着陸）と関連付けられた変数（アクション可能および測定可能の両方）を提供する。
【００４６】
例えば、シミュレーションの任意の時点におけるアクション可能変数の異なる値によって異なり、また、事象の後続する進行によって異なる複数のシミュレーションを生成することが可能であり、それらは、複数の変数上の対応する観察の値によっても同じく異なるようである。
【００４７】
シミュレーションの任意の時点におけるアクション可能変数の値の変化を生成するために、恐らくは定義の範囲上の一様な分布に従って、または変数の値の典型的な分布と整合性のある任意の他の確率分布に従って、変数の定義の範囲上で無作為確率変数発生器を使用することができる。
【００４８】
次に、ステップＳ２０で、収集されたデータの目標値を予測するモデルが選択される。モデルは、利用可能な機械学習ライブラリ、例えばＰｙｔｈｏｎ  Ｓｃｉｋｉｔ学習から選択され得る。例えば確率的勾配ブースティングモデルが選択され得る。モデルを過去のデータ上でトレーニングし、かつ、モデルパラメータを選択するためのツールが存在している（オープンソースカンパニー内、またはＤａｔａｉｋｕまたはＢｉｇＭＬによって提供されるソフトウェアなどのソフトウェアによって）。選択されたモデルは、当分野で知られているように、入力を受け取り、かつ、入力に応答して出力を提供することができる。
【００４９】
次に、ステップＳ３０で、選択されたモデルが、同様の事象を表すデータのセットを使用してトレーニングされ、典型的にはモデルは、同様の過去の事象またはシミュレートされた事象に関連する観察のセットを使用してトレーニングされる。モデルをトレーニングするための方法はモデル毎に変化する。例えば人工ニューラルネットワークのトレーニングには、ネットワークに入力される新しい観察に応答した更新に先立ちネットワークがどのように挙動するかに基づいて、また、ネットワークの出力と、観察と結合された目標値との差に基づいてネットワークのニューロンの特性を更新するためのバックプロパゲーションアルゴリズムの使用を含む。勾配ブースティング（Gradient Boosting）またはランダムフォレスト（Random Forest）などのアンサンブルモデル（Ensemble model）のトレーニングには、観察の多くのサブセットを選択すること、また、サブセット毎に、サブセットの観察が与えられた目標値を出力するためにＳｔｕｂなどの単一の推定器をトレーニングすること、およびトレーニングされた推定器を総合Ｅｎｓｅｍｂｌｅモデルの推定器のリストに加えることを含む。Ｓｔｕｂ（＝１レベル決定木（Decision Tree））のトレーニングには、変数と、選択された観察の中から異なる目標値と関連付けられたこれらを最も良好に識別するその変数の値とを選択することを含む。
【００５０】
機械学習ライブラリは、典型的には、個々の利用可能なモデルをトレーニングするための方法を実施し、その方法をライブラリのユーザに提供する。ユーザは、トレーニングデータとして使用されることになる観察およびそれらの目標値の選択をこの方法に入力することによってモデルをトレーニングすることができる。方法は、通常、次に新しい観察が与えられた目標値を予測するために使用され得るトレーニングされたモデルにポインタを返す。
【００５１】
さらに図１を参照して、本発明の実行時間が次に説明される。
【００５２】
ステップＳ４２で、仮説的事象を表すオプションが生成される。仮説的事象とは、事象が実行されても、または実行されなくてもよいことを意味している。オプションは、アクション可能変数の値の差によってのみ実際の事象とは異なる事象である。すなわち、観察のセットが、ユーザが決定を下すことができる事象の現在の展開を記述している場合、ユーザは、オプションの中から、非アクション可能変数上のその値が、アクションが取られる際の状況を最も良好に記述している観察と同じであるオプションを選択することを決定することができる。
【００５３】
例えば、いわば観察は、変数「Ｃａｂｉｎ  Ｆｉｒｅ」（イエス／ノー）、「Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ」（オン／オフ）、「Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｄｕｒｅ」（Ｆｌｉｇｈｔ  Ｄａｔａ  Ｆｉｌｅの中に定義されている）によって記述される。「Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ」はアクション可能変数であり、また、「Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｄｕｒｅ」もある程度アクション可能変数である（手順をスキップすることはできず、例えばカウントダウンの中に存在し、ｏｒｂｉｔａｌ＿ａｂｏｒｔへの切換えを突然に決定することはできない）。Ｃａｂｉｎ  Ｆｉｒｅ＝イエス、Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ＝オフ、Ｆｌｉｇｈｔ  Ｌｅｖｅｌ＝カウントダウンという状況によって記述される場合、消火器を使用し、また、カウントダウンを休止する決定は、Ｃａｂｉｎ  Ｆｉｒｅ＝イエス、Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ＝オン、Ｆｌｉｇｈｔ  Ｌｅｖｅｌ＝ｃｏｕｎｔｄｏｗｎ＿ｐａｕｓｅｄによって定義されるオプションの選択に変換する。
【００５４】
オプションの代表的なセットを生成するために、連続する変数は公称変数で近似されることが可能であり、すなわち有限数の値および公称変数のすべての値を取る変数が列挙され得る。任意の変数を公称変数で近似することは、下限および上限を見出し、かつ、変数を離散化することによって実施される。任意の変数の値は、連続するセグメントまたは可能な値の離散セット上で定義される。実際には、物理的事象を表す変数はセグメントの値のみを取り、すなわち下限および上限が存在している。これらの限界は、典型的には、過去のデータを調べることによって見出され得る。変数を離散化するために、１つの方法は、許容可能な精度を決定することにある。典型的には、精度レベルで丸められた、下限と上限の間の値のみが維持される。あるいは値は、恐らくは定義の範囲上の一様な分布に従って、または変数の値の典型的な分布と整合性がある任意の他の確率分布に従って、変数の定義の範囲上で無作為確率変数発生器を使用して生成され得る。
【００５５】
次に、オプションが、それらの変数の可能な値を組み合わせることによって生成される。例えば変数Ａが値［１、２、３］を取り、また、変数Ｂが値［１、２］を取る場合、組合せは、（１、１）、（１、２）、（２、１）、（２、２）、（３、１）、（３、２）である。すなわち｜Ａ｜*｜Ｂ｜個の組合せである。
【００５６】
しかしながら、生成されるオプションの数は極めて重要であり得る。組合せの数を少なくするために、戦略は、観察のアクション可能変数間の依存性を決定し、かつ、計算された組合せの中から、決定された依存性を満足しない組合せを除去することにあり得る。例えばスペースシャトルの高度および飛行経路角度は、依存しているものとして決定されることが可能であり、この依存性を満足しない組合せは、生成された組合せの中から削除されることになる。別の戦略は、事象が進行する前に、計画された手順（衛星打上げの場合、Ｆｌｉｇｈｔ  Ｄａｔａ  Ｆｉｌｅの中で定義される）に関する些細な逸脱に対応する値を生成し、また、事象が進行している間に、事象の実際の展開に関する些細な逸脱に対応する値を生成することにある。例えばこれは、変数毎に、正規の手順において計画された値を中心とする分布をシミュレートし、次に、事象の進行中に測定された値を中心とする分布をシミュレートする無作為確率変数発生器の使用によって実施され得る。説明のために、無作為確率変数発生器は、定義のそれらの範囲上のそれらの確率分布に従って無作為変数の特定の結果を生成するプログラムである。
【００５７】
次に、ステップＳ４０で、目標値が、トレーニングされたモデルを生成されたオプションに対して提供することによって計算される。すなわち目標値がその前に生成されたオプション毎に予測される。トレーニングされたモデルを適用することは、トレーニングされたモデルをオプションと共に入力することにある。機械学習ライブラリは、典型的には、トレーニング後のモデルにポインタを提供し、また、新しい観察をトレーニングされたモデルに入力し、かつ、それに応答して対応する目標値を受け取る方法を提供する。
【００５８】
目標値は、観察に対して評価された目標変数の値である。目標値は、トレーニングされたモデルによって与えられるか（典型的には過去の観察に対して）、または予測される（典型的には新しい観察に対して）かのいずれかである。本発明の文脈においては、目標変数は、典型的には、アクション可能変数に対する行動によって影響を及ぼすことをユーザが希望する何かである。したがって目標値は、典型的には、オプションがいかに望ましいかに関する情報を与える。例えばその前の例では、「Ｅｘｐｅｃｔｅｄ  Ｍｉｓｓｉｏｎ  Ｓｔａｕｓ  ａｔ  Ｔｅｒｍｉｎａｔｉｏｎ」（失敗／継続中／成功）または「Ｅｘｐｅｃｔｅｄ  Ｍｉｓｓｉｏｎ  Ｃｏｓｔ  ａｔ  Ｔｅｒｍｉｎａｔｉｏｎ」（百万ドルの価値）が可能な目標変数である。これらの値は、現在の観察が与えられ、かつ、十分な記述変数が提供されると、トレーニングされた機械学習アルゴリズムによって予測され得る。具体的には、オプションが観察であると（実現されず、決定が下される前、または行動がなされる前は仮説的である）、すべてのオプションは、その予測された目標値によって評価され得る。上の例では、消火器を作動させ、かつ、カウントダウンを休止するオプションは、ミッションの成功に対する期待された結果、およびその総コストによって評価されることになる。
【００５９】
したがって目標値の計算は、トレーニングされたモデルを生成されたオプションに対して提供することによって実行される。
【００６０】
実行時間のこのステップでは、方法を実行するシステムは、個々のオプションに対応する目標値を計算しており、個々のオプションは、測定可能変数およびアクション可能変数によって記述されている。測定可能変数は、決定およびアクションの文脈を記述し、アクション可能変数は、決定および後続するアクションを記述する。目標値は、文脈が与えられた決定および後続するアクションの目標変数上で結果を記述する。前記の他の方法では、現在の事象の間に収集された測定可能データ、およびアクション可能変数に対する生成されたデータの両方を使用して、オプションの組合せ毎に予測が利用可能である。
【００６１】
事象の間、測定された変数の測定されたデータは、実時間でシステムに伝送されることが好ましい。これは、データプロバイダまたはセンサからの任意の通信チャネルを介した通知を実時間プッシュするためのサブスクリプション、およびサブスクリプションまたはメッセージングプロトコルによって実施され得る。チャネルは、典型的には、データプロバイダまたはセンサによって提供されるインターフェイスに依存することを理解されたい。
【００６２】
次に、ステップＳ５０で、ステップＳ４２の計算されたオプションおよびステップＳ４０の計算された目標値のためのインデックスが計算される。実際には、単一のインデックスがオプションおよび目標値の両方に対して計算される。インデックスを付けるために、それらの目標値を含む現在の観察が記憶される。変数は、個々のオプションと結合された探索可能なメタデータとしてインデックスが付けられる。そうするために、それらは逆リストに記憶される。逆リストは値のリストであり、値毎にポインタのリストを有している。個々のポインタは、記憶された観察を示し、その観察に対してこの値が生じる。アクション可能変数毎に、すなわちオプション毎に少なくとも逆リストが存在する。逆リストは、値による速やかな問合せを可能にする。
【００６３】
次に、ステップＳ６０で、問合せがインデックスによって受け取られる。これは、インデックスをホストしているサーバが、ユーザ、例えばサーバ上に接続されたクライアントコンピュータによって生成された問合せを受け取ったことを意味している。問合せの目的は、インデックスが付けられる計算されたオプションのサブセットの選択を獲得することであり、選択は、問合せにおいて規定された特定の制約に従って実行される。特定の制約は、１つまたは複数の変数に対して提供される。制約は、典型的には、オプションを記述している変数の値の同等性および／または非同等性のセットである。制約を適用することは、いくつかのオプションを捨てることになり、その結果、他のオプションを考慮することになる。
【００６４】
制約は、事象の現在の展開において測定された値に従った測定可能変数の制約、およびモデルをトレーニングする時点では知られていなかった情報に基づいてオプションをフィルタ除去するためのアクション可能変数の制約を含むことができる。例えばアクションが飛行の第１の段階の間に生じ、また、消火器が突然に動作を停止した場合、制約は、我々に興味があるのは、可能な決定を記述しているオプション、ならびに事象（飛行の第１の段階の間の）および新しい情報が手元に与えられた実行可能性（とりわけ、消火器が動作を停止したため、それはそれらを作動させるためのオプションではない）の文脈におけるそれらの結果のみであることを意味する＜Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｄｕｒｅ＝ｆｉｒｓｔ＿ｓｔａｇｅ  ＡＮＤ  ＮＯＴ  Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ＝ｏｎ＞を含むことができる。
【００６５】
既に言及したように、変数は実時間で伝送され得る。したがってインデックスを問合せることによって実行される選択が従う制約は、実時間で伝送される変数に対して提供し、また、実時間で伝送される値を使用して設定される。
【００６６】
問合せの結果、インデックスは、ステップＳ７０で、問合せと一致する予測を返す。これは、インデックスをホストしているサーバが、問合せのオプションのサブセットからの計算されたオプションのセットを生成したことを意味している。
【００６７】
セットのサブセットは、サブセットの個々のオプションと関連付けられた目標値の関数に従ってランク付けされ（またはソートされ）得る（Ｓ８０）。これは、オプションの望ましさの測度が複数の変数に依存する場合、ユーザに、最良のオプションの速やかな識別を有利に提供する。複数のモデルをトレーニングして、それぞれ１つの目標値が予測されることが可能であり、また、オプションは、複数の変数の関数に従ってランク付けされ得る。
【００６８】
ランク付けされたサブセットは、したがって、ユーザ、例えばサーバ上に接続されたクライアントコンピュータに伝送される。
【００６９】
ステップＳ４０およびＳ５０を参照して説明したように、変数は実時間で伝送され得る。これは、現在の事象からの潜在的な逸脱、およびこれらの逸脱に応答して下され得る潜在的な決定を考慮するために、新しいオプションが伝送された変数から連続的に生成され得ることを意味している。新しい目標値は、新しいオプション毎に計算され得る。また、したがって新しいオプションおよび予測のために新しいインデックス付けが実行され、インデックスは、生成された新しいオプションおよび計算された新しい目標値に対応する文書を使用して更新される。インデックスは、典型的には、データの猛烈な実時間フローを処理することができる。したがってインデックス付けは、典型的には、オプションが生成され、また、予測が提供されると実行され得る。無作為確率変数発生器の使用によるオプションの生成は、典型的には速やかに実行されるプロセスであり、また、新しいオプション（予測）に対する目標値の予測も、同じく典型的には速やかに実行されるプロセスである。機械学習アルゴリズムは、典型的にはトレーニングするのが遅いが、一度トレーニングされると、実行するのが速い。したがって操作の連続的な流れに不便な制限をもたらすプロセスの部分は存在しない。
【００７０】
次に、衛星の打上げのための軌道船の操作の間に決断する宇宙管制センターのクルーおよび乗組員を補助する本発明の例が説明される。
【００７１】
これらの操作においては、ほとんどのアクションが自動化されたプログラムおよび計画された手順に従って実行されることは事実である。指針および計画された事象のセットは、フライトデータファイル（Flight Data File）の中に存在している。フライトデータファイルは、クルーアクティビティプラン、ペイロードハンドブック、および精巧な飛行計画プロセスの間、一緒に置かれる他の文書を含む。問題のタイプはセグメント化され、また、アクションは、あらゆるタイプの問題を予想する目的で、前もって計画される。
【００７２】
しかしながら宇宙管制センターのクルーおよび乗組員には、常に決断することが依然として必要である。例えばＮＡＳＡは、あらゆる中止モードの中でもとりわけａｂｏｒｔ−ｔｏ−ｏｒｂｉｔは、可能である場合、好ましいモードであると明言しており、また、１つの理由は、それが、管制官および飛行乗組員に、状況を評価し、かつ、着陸するか、または計画された通りに継続することを決定し、また、問題をどのように解決するかを決定するための時間を与えることである。しかしながらこの時間は、ミッションが保留されるため貴重であり、資源は消費されつづけ、また、問題がより一層悪化し得る。ａｂｏｒｔ−ｔｏ−ｏｒｂｉｔが可能ではない場合、決定の速さおよび質がより一層重要である。
【００７３】
いくつかの変数がスペースシャトルのために測定され、個々のエンジンのためのエンジンスロットル、個々のエンジンのための燃料レバー、キャビン圧力（減圧化の場合、問題）、軌道船冷却システムの状態（失われると問題）、高度、飛行経路角度、方向、重量、速度／範囲、宇宙船の表面の圧力、電気システム状態、現在の手順（カウントダウン／第１の段階／第２の段階／Ｒｅｔｕｒｎ  ｔｏ  Ｌａｕｎｃｈ  Ｓｉｔｅ／Ｔｒａｎｓ−Ａｔｌａｎｔｉｃ  Ａｂｏｒｔ  Ｌａｎｄｉｎｇ／Ａｂｏｒｔ  Ｏｎｃｅ  Ａｒｏｕｎｄ／Ａｂｏｒｔ  ｔｏ  Ｏｒｂｉｔ／Ｃｏｎｔｉｎｇｅｎｃｙ  Ａｂｏｒｔ  ／Ｅｘｔｒａ−ｖｅｈｉｃｕｌａｒ  ａｃｔｉｖｉｔｙ）、等々が測定され得る。さらにこの例では、アクション可能変数は、個々のエンジンシステムのためのエンジンスロットル、燃料レベル（燃料は投棄され得る）、重量（材料は投棄され得る）、操縦の選択（高度、姿勢、飛行角度、方向、等々を変更するため）、手順の選択および軌道の選択を含む。
【００７４】
この文脈においては、本発明は、衛星を正しい軌道に乗せる予測された機会、地球に戻る際の危険のない着陸を最大化し、例えば材料の損傷の最小化および乗組員メンバーの傷害または死亡の原因になりやすいキャビンの内部における事件の最小化によるミッションの総合コストを最小化するオプションを推薦するために適用され得る。
【００７５】
準備フェーズでは、例えば何らかの変数に対して、正規の手順において計画された正規の値とは異なる（理論的に可能な）値を設定することによって多くの状況（正規の手順からの逸脱）が予想され得る。これらの逸脱の各々に対してオプションが生成され得る。例えばＦｌｉｇｈｔ  Ｄａｔａ  Ｆｉｌｅの中に文書化された手順は、起こると思われる状況および選択されると思われるオプションの大きいセットを記述している。他のオプションは、初期逸脱の後の様々な段階で生じるその手順からの様々な他の逸脱によるものである。これらのオプションの各々に対して、例えばオプションの効果のシミュレーションに基づいて結果が計算され得る（例えば安全に着陸する予測された機会）。
【００７６】
本発明においては、これらの状況および結果のすべてにインデックスが付けられる。状況が生じると、状況を記述している変数の現在の値を使用してインデックスを問合せることによって、状況に対応するオプションが選択される。
【００７７】
例えば軌道船冷却システムの構成要素がＭａｉｎ  Ｅｎｇｉｎｅ  Ｃｕｔ−ｏｆｆの直後に故障する（その状態は、計画された手順における「正常状態」の代わりに「異常状態」である）。飛行時間は８分であり、高度は６０マイルであり、シャトル速度は１６，６９７ｍｐｈである（正規手順を考慮すると、Ｍａｉｎ  Ｅｎｇｉｎｅ  Ｃｕｔ−ｏｆｆにおける正常値）。そのデータおよびすべての他の変数の収集された値は、インデックスの問合せおよびすべての関連するオプションの検索、ならびにそれらのランク付けを可能にする。
【００７８】
オペレータは、次に、新しい問合せを実施することによって無関係のオプションを除外することができる。例えば発生の不確実性および悪天候条件による大西洋を横断する着陸サイトを除外することによって。着陸をもたらさない、または実行可能なサイト上への着陸をもたらす新しい推薦が次に分類され、かつ、表示される。
【００７９】
この例では、衛星打上げの比較的少数の先行する発生は、衛星打上げで生じ得るすべての状況、およびこれらの状況に応答して下され得るすべての決定を表すには十分ではない可能性がある。実際の衛星打上げ上の過去のデータ単独では、あらゆる状況および関連するオプションにおける目標値を正確に予測するモデルをトレーニングするには十分ではない。しかしながら実際の打上げ上のデータには、試験データ、より重要なことにはシミュレーションデータが追加され得る。シミュレーションは、トレーニングデータを生成するために使用され得る。シミュレーションは、試験および実際の打上げよりはるかに安価であり、したがってはるかに多い回数にわたって実行され得る。
【００８０】
シミュレーションは、状況およびオプションからの結果の直接的な推定を可能にする。この意味では、機械学習アルゴリズムの使用は、この例における目標値を予測するモデルを提供するためには必要ではない（機械学習技法は、経験的なデータに基づいてモデルを構築するための手段を提供し、また、シミュレーション技法は、物理的な特性の数学的なモデル化に基づいてモデルを構築するための手段を提供する）。
【００８１】
しかしながらこの例においても、シミュレートされたデータを機械学習モデルのためのトレーニングデータとして使用することが可能であり、新たに生成された状況およびオプションの目標値を予測する実行時に機械学習モデルを使用することが可能である。この方法は、飛行の開始前には予想されなかった状況およびオプションに対する目標値予測を有利に提供することができ、また、典型的にはこれらの予測を、成熟したシミュレーションエンジンが可能であるよりもはるかに速く提供することができる。
【図１】
2017126330.tif 000003
【図２】
2017126330.tif 000004
【図３】
2017126330.tif 000005
【外国語明細書】
2017126330000001.pdf