(57)【特許請求の範囲】
【請求項１】
非集中システムにおける複数の学習デバイスの連続的構成のための方法であって、
監視モードに入っている間に取得されたイベントおよび少なくとも第１のリフレックスを、前記複数の学習デバイスのうちの第１の学習デバイスによって、記憶することと、ここにおいて、前記第１のリフレックスは、第１のトリガーパターン、トリガー重み、第１の報酬パターン、および第１の補正パターンを含む所定のアクションに関連付けられたデータである、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードを、前記第１の学習デバイスによって、アクティブ化することと、
前記トリガー重みがトリガー重み閾値を超えるかどうかを、前記第１の学習デバイスによって、決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを、前記第１の学習デバイスによって、実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを、前記第１の学習デバイスによって、取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを、前記第１の学習デバイスによって、調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスデータを、前記第１の学習デバイスによって、作成することと、
を備える方法。
【請求項２】
前記第１のリフレックスの前記トリガー重みを、前記第１の学習デバイスによって、調整することは、
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の報酬パターンに対応するときに前記第１のリフレックスの前記トリガー重みを、前記第１の学習デバイスによって、増加させることと、および
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の補正パターンに対応するときに前記第１のリフレックスの前記トリガー重みを、前記第１の学習デバイスによって、減少させることと、をさらに備える、
請求項１に記載の方法。
【請求項３】
前記第１のリフレックスとともに臨界学習期間に、前記第１の学習デバイスによって、入ることと、その間に高利得セットが前記トリガー重みに適用される、をさらに備える請求項２に記載の方法。
【請求項４】
前記第１のリフレックスとともに定常状態学習期間に、前記第１の学習デバイスによって、入ることと、その間に低利得セットが前記トリガー重みに適用される、をさらに備える請求項２に記載の方法。
【請求項５】
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを、前記第１の学習デバイスによって、取得することは、
メモリから以前のイベントを、前記第１の学習デバイスによって、取り出すこと、
をさらに備える、
請求項１に記載の方法。
【請求項６】
前記監視モードに入っている間に取得されたイベントを、前記第１の学習デバイスによって、記憶することは、
少なくとも１つのイベントおよび関連付けられたパターンが時間ウィンドウの後にメモリから取り除かれるように、前記時間ウィンドウにおいて前記少なくとも１つのイベントを、前記メモリに、記憶すること、
を備える、
請求項１に記載の方法。
【請求項７】
前記記憶されたイベントの少なくとも１つは、ローカルで生成される発生データに基づいて取得される、
請求項１に記載の方法。
【請求項８】
前記記憶されたイベントの少なくとも１つは、リモートで生成される発生データに基づいて取得される、
請求項１に記載の方法。
【請求項９】
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の学習デバイスが第２の学習デバイスからイベントレポートメッセージを受信することに応答して生成され、ここにおいて、前記第１の学習デバイスおよび前記第２の学習デバイスは、有線またはワイヤレス通信リンクを介して接続されるある場所における前記複数の学習デバイスからなる前記非集中システムの一部である、
請求項８に記載の方法。
【請求項１０】
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応する、
請求項８に記載の方法。
【請求項１１】
前記記憶されたイベントの少なくとも１つは、有線またはワイヤレス通信リンクを介して非学習デバイスから受信される発生データに基づいて取得される、
請求項１に記載の方法。
【請求項１２】
前記少なくとも１つの追加のイベントが第３のリフレックスに関連付けられた異なるトリガーパターンに対応するときに、第２のトリガーモードを、前記第１の学習デバイスによって、同時にアクティブ化することをさらに備える請求項１に記載の方法。
【請求項１３】
監視モードに入っている間に取得されたイベントおよび少なくとも第１のリフレックスを記憶することと、ここにおいて、前記第１のリフレックスは、第１のトリガーパターン、トリガー重み、第１の報酬パターン、および第１の補正パターンを含む所定のアクションに関連付けられたデータである、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記トリガー重みがトリガー重み閾値を超えるかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスデータを作成することと、
を備えるオペレーションを実行するためのプロセッサ実行可能命令により構成されたプロセッサを備える非集中システムにおける複数の学習デバイスのコンピューティングデバイス。
【請求項１４】
非集中システムにおける複数の学習デバイスのコンピューティングデバイスのプロセッサに、
監視モードに入っている間に取得されたイベントおよび少なくとも第１のリフレックスを記憶することと、ここにおいて、前記第１のリフレックスは、第１のトリガーパターン、トリガー重み、第１の報酬パターン、および第１の補正パターンを含む所定のアクションに関連付けられたデータである、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記トリガー重みがトリガー重み閾値を超えるかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスデータを作成することと、
を備えるオペレーションを実行させるように構成されたプロセッサ実行可能命令をその上に記憶している非一時的プロセッサ可読記憶媒体。
【請求項１５】
第１のプロセッサと、
前記第１のプロセッサに結合された第１のメモリとを備え、
ここにおいて、前記第１のプロセッサは、
監視モードに入っている間に取得されたイベントおよび少なくとも第１のリフレックスを、前記第１のメモリに、記憶することと、ここにおいて、前記第１のリフレックスは、第１のトリガーパターン、トリガー重み、第１の報酬パターン、および第１の補正パターンを含む所定のアクションに関連付けられたデータである、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記トリガー重みがトリガー重み閾値を超えるかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスデータを作成することと、
を備えるオペレーションを実行するためのプロセッサ実行可能命令により構成される、
非集中システムにおける複数の学習デバイス内の第１の学習デバイスと、および
第２のプロセッサと、
前記第２のプロセッサに結合された第２の信号送信機を備え、および
ここにおいて、前記第２のプロセッサは、第１のイベントレポートメッセージを、前記第２の信号送信機を介して、送信することを備えるオペレーションを実行するためのプロセッサ実行可能命令により構成される、
前記複数の学習デバイス内の第２の学習デバイスと、
を備え、および
ここにおいて、前記第１の学習デバイスは、
前記第１のプロセッサに結合された第１の信号受信機をさらに備え、および
ここにおいて、前記第１のプロセッサは、前記第２の学習デバイスによって送信された前記第１のイベントレポートメッセージを、前記第１の信号受信機を介して、受信することをさらに備えるオペレーションを実行するためのプロセッサ実行可能命令により構成される、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]本出願は、すべての目的に関して内容全体が参照により本明細書に組み込まれている、２０１３年５月２４日に出願した米国仮出願第６１／８２７，１４１号、名称「Ａ  Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｃｏｎｔｉｎｕｏｕｓ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｏｆ  ａ  Ｄｅｖｉｃｅ」の優先権の利益を主張するものである。
【背景技術】
【０００２】
[0002]コンピュータプログラマーは、典型的には、デバイスが新しい挙動を実行することが必要になるたびにプログラム可能なデバイス（すなわち、スマートデバイス）を再プログラムしなければならない。プログラム可能なデバイスは、典型的には、デバイスとインターフェースする専用プログラマーインターフェースをプログラマー（またはユーザ）が使用してデバイスを新しいタスク用に構成することを必要とする。しかしながら、プログラマーインターフェースがあっても、プログラム可能なデバイスの再構成および再プログラミングは、デバイスに新しい挙動をプログラムするためにプログラマーインターフェースに関連付けられている骨の折れるコンピュータコードを書く上で専門的知識を必要とし得る。エキスパートがコードを書くのをスケジュールすることは、再プログラミングがすぐに成し遂げられることが滅多にないことを意味し、適切な変更を行うためにそのようなエキスパートをスタッフとして確保しておくか、またはコンサルタントを雇用することが必要になり得るので費用がかかることがある。そのため、プログラム可能なデバイス上で新しい挙動をプログラムすることは、単純な効率の良い活動ではない。エキスパートを必要とすることなく学習デバイスに新しい挙動をティーチングするための単純ですぐに使えるメカニズムが必要である。
【発明の概要】
【０００３】
[0003]様々な実施形態が、学習デバイスの連続的構成のためのシステムと、デバイスと、非一時的プロセッサ可読記憶媒体と、方法とを提供する。第１の学習デバイスのプロセッサによって実行され得る一実施形態の方法は、監視モードに入っている間に取得されたイベントを記憶するためのオペレーションと、記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに所定のアクションに関連付けられた第１のリフレックスに対する第１のトリガーモードをアクティブ化するためのオペレーションと、第１のリフレックスがトリガー重み閾値を超えるトリガー重みを有するかどうかを決定するためのオペレーションと、第１のリフレックスに関連付けられたトリガー重みがトリガー重み閾値を超えると決定することに応答して第１のリフレックスに関連付けられた所定のアクションを実行するためのオペレーションと、第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得するためのオペレーションと、少なくとも１つの追加のイベントが第１のリフレックスに関連付けられ、所定のアクションを実行することに応答して発生する第１の報酬パターンおよび第１の補正パターンの少なくとも一方に対応するときに第１のリフレックスのトリガー重みを調整するためのオペレーションと、少なくとも１つの追加のイベントが第１のリフレックスに関連付けられた第１のトリガーパターン、第１の補正パターン、および第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスを作成するためのオペレーションとを含み得る。いくつかの実施形態では、イベントを記憶することは、バッファメモリなどの、メモリ内にイベントを一時的に記憶（すなわち、バッファリング）することを伴い得る。いくつかの実施形態では、この方法は、高利得セットがトリガー重みに適用され得る間に第１のリフレックスとともに臨界学習期間に入ることをさらに含み得る。いくつかの実施形態では、この方法は、低利得セットがトリガー重みに適用され得る間に第１のリフレックスとともに定常状態学習期間に入ることをさらに含み得る。いくつかの実施形態では、この方法は、少なくとも１つの追加のイベントが第３のリフレックスに関連付けられた異なるトリガーパターンに対応するときに第２のトリガーモードを同時にアクティブ化することをさらに含み得る。
【０００４】
[0004]いくつかの実施形態では、第１のリフレックスのトリガー重みを調整することは、少なくとも１つの追加のイベントが第１のリフレックスの第１の報酬パターンに対応するときに第１のリフレックスのトリガー重みを増加させることと、少なくとも１つの追加のイベントが第１のリフレックスの第１の補正パターンに対応するときに第１のリフレックスのトリガー重みを減少させることとをさらに含み得る。いくつかの実施形態では、第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することは、以前のイベントをメモリ（たとえば、バッファメモリ）から取り出すことをさらに含み得る。いくつかの実施形態では、監視モードに入っている間に取得されたイベントを記憶することは、少なくとも１つのイベントおよび関連付けられたパターンが時間ウィンドウの後にメモリから取り除かれ得るように、時間ウィンドウにおいて少なくとも１つのイベントを、メモリに、記憶することを含み得る。いくつかの実施形態では、この方法は、イベントレポートメッセージを別の学習デバイスから受信することを含み得、受信されたイベントレポートメッセージが第１のトリガーパターンに対応し得る別のイベントを別の学習デバイスが取得したことに応答して別の学習デバイスによって生成された別のイベントを示す。
【０００５】
[0005]いくつかの実施形態では、記憶されたイベントの少なくとも１つは、ローカルで生成され得る発生データに基づいて取得され得る。いくつかの実施形態では、記憶されたイベントの少なくとも１つは、リモートで生成され得る発生データに基づいて取得され得る。いくつかの実施形態では、リモートで生成され得る発生データに基づいて取得され得る記憶されたイベントの少なくとも１つは、第１の学習デバイスが第２の学習デバイスからイベントレポートメッセージを受信することに応答して生成され得、その場合、第１の学習デバイスおよび第２の学習デバイスは、有線またはワイヤレス通信リンクを介して接続され得るある場所における複数の学習デバイスを含む非集中システムの一部であり得る。いくつかの実施形態では、リモートで生成され得る発生データに基づいて取得され得る記憶されたイベントの少なくとも１つは、第１の報酬パターンおよび第１の補正パターンの少なくとも一方に対応する。いくつかの実施形態では、記憶されたイベントの少なくとも１つは、有線またはワイヤレス通信リンクを介して非学習デバイスから受信され得る発生データに基づいて取得され得る。
【０００６】
[0006]いくつかの実施形態では、第１のリフレックスに関連付けられたトリガー重みがトリガー重み閾値を超えると決定することに応答して第１のリフレックスに関連付けられた所定のアクションを実行することは、所定のアクションを実行することに基づいて結果として生じるイベントを生成することと、結果として生じるイベントを示し、別の学習デバイスによって使用されることが可能であり得るイベントレポートメッセージをブロードキャストすることとを含み得る。いくつかの実施形態では、記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに所定のアクションに関連付けられた第１のリフレックスに対する第１のトリガーモードをアクティブ化することは、記憶されたイベントの少なくとも１つに基づいてパターンフィルタをパターンに適用することと、記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに、およびパターンが適用されるパターンフィルタに基づいて破棄されないときに所定のアクションに関連付けられた第１のリフレックスに対する第１のトリガーモードをアクティブ化することとを含み得る。いくつかの実施形態では、第１のリフレックスおよび第２のリフレックスは、ガーベジコレクションポリシーに基づいて第１の学習デバイスから除去可能なだけであり得る。いくつかの実施形態では、第１のリフレックスに関連付けられたトリガー重みがトリガー重み閾値を超えると決定することに応答して第１のリフレックスに関連付けられた所定のアクションを実行することは、アクチュエータを駆動するためにモーター駆動装置によって使用され得るイベントのパターンを生成することを含み得る。いくつかの実施形態では、第１の補正パターンおよび第１の報酬パターンの１つまたは複数は、順序依存であるものとしてよい。いくつかの実施形態では、第１の補正パターンおよび第１の報酬パターンの１つまたは複数は、順序独立であるものとしてよい。
【０００７】
[0007]様々な実施形態は、上で説明されている方法のオペレーションを実行するようにプロセッサ実行可能命令とともに構成されたコンピューティングデバイスを含み得る。様々な実施形態は、上で説明されている方法のオペレーションの機能を実行するための手段を有するコンピューティングデバイスを含み得る。様々な実施形態は、コンピューティングデバイスのプロセッサが上で説明されている方法のオペレーションを実行することを引き起こすように構成されたプロセッサ実行可能な命令が記憶された非一時的なプロセッサ可読記憶媒体を含み得る。様々な実施形態は、上で説明されている方法のオペレーションを実行するように構成された１つまたは複数の学習デバイスを備え得るシステムを含み得る。
【０００８】
[0008]本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００９】
【図１Ａ】[0009]様々な実施形態を実装する例示的なシステムを示すシステムブロック図。
【図１Ｂ】[0009]様々な実施形態を実装する例示的なシステムを示すシステムブロック図。
【図１Ｃ】[0010]実施形態の学習デバイスのコンポーネントブロック図。
【図２】[0011]実施形態の学習デバイスのコンポーネントブロック図。
【図３Ａ】[0012]３つのコンポーネントを備える実施形態のイベントレポートメッセージ構造のコンポーネントブロック図。
【図３Ｂ】[0013]３つのコンポーネントを備える実施形態のイベントデータ構造のコンポーネントブロック図。
【図３Ｃ】[0014]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｄ】[0014]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｅ】[0014]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｆ】[0014]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｇ】[0014]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｈ】[0014]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図４】[0015]４つのパターンからなる実施形態のリフレックスのコンポーネントブロック図。
【図５】[0016]様々な実施形態で使用するのに適しているイベントを生成することに応答して状態を変化させるリフレックスシステムの例示的なタイムライン図。
【図６】[0017]様々な実施形態で使用するのに適している既存のリフレックスに基づく新しいリフレックスの作成を示す例示的なタイムライン図。
【図７】[0018]様々な実施形態で使用するのに適している新規作成されたリフレックスのトレーニング（training）を示す例示的なタイムライン図。
【図８】[0019]様々な実施形態で使用するのに適している学習デバイスに対する２つの例示的な学習率の図。
【図９】[0020]様々な実施形態で使用するのに適している繰返しを通じて知られているリフレックスのトリガー重みを増加させることによって学習デバイスをトレーニングするための報酬信号を示す例示的なタイムライン図。
【図１０】[0021]様々な実施形態で使用するのに適している繰返しを通じて知られているリフレックスのトリガー重みを減少させることによって学習デバイスをトレーニングするための補正信号を示す例示的なタイムライン図。
【図１１】[0022]アクションを実行するか、またはアクションをトリガーに関連付けるイベントを生成し、処理する一実施形態の方法を示すプロセスフロー図。
【図１２】[0023]学習と学習解除（unlearning）のためのトリガー重みを調整するための実施形態の動作を示すプロセスフロー図。
【図１３Ａ】[0024]様々な実施形態で使用するのに適しているある場所の中にある学習デバイスに対する例示的な構成を示す図。
【図１３Ｂ】[0024]様々な実施形態で使用するのに適しているある場所の中にある学習デバイスに対する例示的な構成を示す図。
【図１４Ａ】[0024]様々な実施形態で使用するのに適しているある場所の中にある学習デバイスに対する例示的な構成を示す図。
【図１４Ｂ】[0024]様々な実施形態で使用するのに適しているある場所の中にある学習デバイスに対する例示的な構成を示す図。
【発明を実施するための形態】
【００１０】
[0025]様々な実施形態について、添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１１】
[0026]「例示的な」という単語は、本明細書では、「一例、事例、または例示として使用する」ことを意味するために使用される。本明細書に「例示的」と記載されたいかなる実装態様も、必ずしも他の実装態様よりも好ましいまたは有利であると解釈されるべきではない。
【００１２】
[0027]「学習デバイス（複数可）」、「スマートデバイス（複数可）」、および「スマートボックス（複数可）」という用語は、本明細書では事前定義されたアクションをトリガーに関係する情報、ユーザ入力、状態の検出された変化、受信された信号または送信を示すそのようなデータ、およびデバイスにおいて取得され得る他の情報と相関させることによって観察された情報から挙動を学習することができるコンピューティングデバイスを指すために使用される。学習デバイスは、時間の経過とともにトリガーと事前定義されたアクションとの間の新しい関係または相関を記憶するように構成され得る。事前定義されたアクションにすでに相関しているトリガーを検出したことに応答して、学習デバイスは、事前定義されたアクションを実行するか、または代替的に、他の関連付けられているデバイスが相関するアクションを実行することを引き起こすオペレーションを実行することができる。本開示全体を通して、修飾語「スマート」は、製品（アプライアンス、appliance）（たとえば、ランプ）が学習デバイスであることを示すために使用され得る。たとえば、「スマートランプ」という用語は、学習デバイスとなるように構成され、学習デバイスに結合され、制御されるか、または他の何らかの形で学習デバイスのコンポーネントを備えるランプを指す。
【００１３】
[0028]「イベント」という用語は、本明細書では、１つまたは複数の学習デバイスによって検出または生成されたアクション、条件、および／または状況を表すデータ（たとえば、オブジェクトもしくは他のデータ構造）を指すために使用される。イベントは、アクションまたは条件の発生を示す情報（本明細書では「発生データ」と称される）を取得したことに応答して学習デバイス上でローカルに生成され（または他の何らかの形で取得され）、記憶され得る。発生データは、アクションまたは条件を記述し、さらにはデバイス識別子、タイムスタンプ、優先度情報、利得情報、状態識別子などの、アクションまたは条件を実行または検出したデバイスを識別する様々なデータを含み得る。発生データは、学習デバイス（たとえば、学習デバイスのプロセッサもしくはコアに直接結合されたセンサーなど）に接続された、または学習デバイス（たとえば、非プログラム可能ランプなど）によって他の何らかの形で制御されるデバイスからの信号もしくは他の情報から学習デバイスによって受信されるか、または取得され得る。発生データは、他の付近のデバイスから受信されたブロードキャストメッセージ（本明細書では「イベントレポートメッセージ」と称される）からも学習デバイスによって受信されるか、または取得され得る。たとえば、ローカルで遭遇したセンサーデータに基づいて第１のイベントを生成した後に、第１の学習デバイスは、第２の学習デバイスがイベントレポートメッセージ内のデータに基づいて第１のイベントも生成することを有効化され得るように第１のイベントが発生したことを示す発生データとともにイベントレポートメッセージをブロードキャストし得る。
【００１４】
[0029]「リフレックス」という用語は、本明細書では、トリガーと学習デバイスが実行するように構成されているアクションとの間の少なくとも１つの相関または関係を示す学習デバイス内の記憶されている情報を指すために使用される。リフレックスの記憶されている情報は、学習デバイスがリフレックスのアクションを実行すること、および／またはリフレックス（たとえばトリガー重み）に関して記憶されている永続的データを調整することを引き起こすために所定の時間ウィンドウ内に生成されるイベントとマッチングされ得るパターンを含み得る。イベントは、リフレックス内のパターンの構成ブロックと考えられ得る。たとえば、リフレックス内に記憶されているトリガーパターンは、１つまたは複数のイベントからなるものとしてよい。
【００１５】
[0030]様々な実施形態が、イベントを観察しイベントをトリガーアクションに相関させることを介して学習デバイスの連続的構成を可能にするプロセッサ実行可能命令を伴う非一時的プロセッサ可読記憶媒体と、システムと、プロトコルと、方法と、デバイスとを提供する。様々な実施形態において、学習プロセスは、学習デバイスが直観的トレーニング方法を通じてユーザによって容易に構成されることを可能にするために、生体システムをエミュレートし得る。学習デバイスは、ユーザアクションの結果として生成され得るイベント、他の学習デバイスの状態の変化などに応答して望ましい仕方で反応するように容易に構成され得る。単純な繰返しを通じて、様々な挙動が、プリコンディショニングまたはプログラマーインターフェースを必要とすることなく、複数の学習デバイスの非集中システム内に実装されることによって学習され得る。繰り返される報酬トレーニング入力（rewarding training input）を使用することで、ユーザは、様々なトリガーに応答して事前定義されたタスクを自動的に実行するように学習デバイスを容易にトレーニングすることができる。同様の仕方で、ユーザは、補正入力（correcting input）（たとえば、単一の補正入力（correction input）、時間の経過とともに繰り返される補正入力など）を使用することによって他のトリガーに応答して特定のタスクを自動的に実行することを停止するように学習デバイスを容易にトレーニングすることができる。
【００１６】
[0031]様々な実施形態は、ユーザにとってより自然な仕方で連続的構成（継続的設定、continuous configuration）を可能にするシステムを可能にする。学習デバイスは、新しい挙動を学習するか、またはトリガーへのすでにプログラムされている応答を学習解除するために、オフにされること、リセットされること、またはクリアされることを必要としない。実施形態のシステムおよびトレーニングプロトコルは、学習デバイスが他の学習デバイスから学習するか、または他の学習デバイスに反応することを可能にする。
【００１７】
[0032]実施形態の学習デバイスのインタラクティブな操作およびオペレーションについては例を用いて説明され得る。ボタンの押下に関係する発生データを受信したことに応答して、第１の学習デバイスはイベントを生成し、このイベントはワイヤレス（または有線）信号を介しイベントレポートメッセージで学習デバイスによって報告され得る。第２の付近の学習デバイスは、イベントレポートメッセージを受信し、類似のイベントを生成し、イベントを処理することを、第２の学習デバイスがそのイベントをフィルタにかけていない限り行い得る。イベントを処理することに応答して、第２の学習デバイスは機能を実行することができ、次いで、実行された機能の結果得られる発生データに基づくなどして追加のイベントを生成し得る。
【００１８】
[0033]いくつかの実施形態では、学習デバイスは、将来の処理のために監視モードにおいてイベントレポートメッセージに関して受信機回路（たとえば、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または他のワイヤレストランシーバ）を監視し得る。学習デバイスは、別の学習デバイスによるブロードキャスト送信（またはワイヤレス通信リンク）を介してイベントレポートメッセージを受信し得る。たとえば、第１の学習デバイスは、「オフ」から「オン」にトグルされたことに対応して、またはそのことに応答してワイヤレス方式でイベントレポートメッセージをブロードキャストするスマート壁面スイッチであってよく、ブロードキャストされたイベントレポートメッセージは、スマートランプなどの、付近の第２の学習デバイスによって受信され得る。そのようなイベントレポートメッセージを受信した学習デバイスは、それらのメッセージを処理し、含まれる発生データに基づいてイベントを生成し得る。たとえば、発生データは、スマートランプ（たとえば、学習デバイスに結合されているフロアランプ）によって受信され、壁面スイッチの「オン」イベントを生成するために使用され得る付近のスマート壁面スイッチ内の状態変化を示し得る。付近の学習デバイスは、ブロードキャストされるイベントレポートメッセージを受信し、処理するために送信側学習デバイスとペアリングされる必要がないものとしてよい。そのようなものとして、イベントは、通信範囲内にある学習デバイスによる受信のために自由に報告されるものとしてよく、したがって、学習デバイスは、他の学習デバイスからの情報に基づいて挙動を自由に学習することができる。このような仕方で、複雑なシステム挙動は、学習デバイスが他の学習デバイスを利用して、容易にプログラムまたは構成され得る。いくつかの実施形態では、受信されたイベントレポートメッセージを処理することに応答して、学習デバイスは、他の付近の学習デバイスによって受信され得る追加のイベントレポートメッセージをブロードキャストし得る。
【００１９】
[0034]代替的に、学習デバイスは、直接結合されているセンサーから学習デバイスのプロセッサによって受信されたセンサーデータに基づくなど、学習デバイスにおいて観察された発生データに基づいてイベントを生成（または受信／取得）することができる。たとえば、学習デバイスは、「オフ」から「オン」にトグルされたときに、それ自体の対応する「オフ」から「オン」へのイベントを生成し得るスマートランプであってよい。
【００２０】
[0035]学習デバイスが直接観察された発生または受信されたイベントレポートメッセージ内のデータに基づいてイベントを取得するかどうかに関係なく、学習デバイスは、所定の時間期間においてイベントを一時的に記憶する（すなわち、バッファリングする）など、イベントをメモリに記憶することができる。その時間期間の後に、学習デバイスは、メモリ（たとえば、バッファメモリ）内のイベントを無視し、それを削除することを、そのイベントがリフレックスの記憶されたまたは所定のパターンとマッチしない（またはマッチするイベントとのパターンの一部でない）か、または他のイベントまたはパターンが受信／取得されない場合に、行うことができる。しかしながら、学習デバイスが、メモリ内の１つまたは複数のイベントが、リフレックスの記憶されたまたは所定のパターン（たとえば、学習デバイスのメモリに記憶されているトリガーパターン）とマッチすると決定した場合、学習デバイスは、アクションを学習するかまたは実行するために、そのようなイベントを利用し得る。特に、メモリ内のパターンとリフレックスのトリガーパターンとのマッチングを行ったことに応答して、学習デバイスは、トリガーモードに入る（またはアクティブ化する）ことができる。トリガーモードに入っている間、学習デバイスは、マッチしたトリガーパターンのリフレックスが閾値を超える重み（すなわち、トリガー重み）を有するかどうかを決定し得る。学習デバイスは、リフレックスに関連付けられている重みが閾値を超えるときにリフレックスに関連付けられているアクションを実行することができる。たとえば、学習デバイスは、ライトをオンにするか、ステレオシステムを特定のラジオ局に同調させるか、または学習デバイスが実行する能力を有している他のアクションを実行するためのアクションを実行することができる。いくつかの実施形態では、学習デバイスは、メモリ内の１つまたは複数のイベントでトリガーパターンを生成することによってトリガーパターンを識別することができる。トリガーモードに入っている間、学習デバイスは、受信されたイベントレポートメッセージまたは検出された発生データに基づいてイベントを生成することを続行することができる。トリガーモードに入っている間に取得された少なくとも１つの追加のイベント（またはイベントのパターン）が識別されたトリガーパターンに関連付けられているリフレックスに対応する所定の補正パターンまたは所定の報酬パターンに対応する場合、学習デバイスは、リフレックスに関連付けられている１つまたは複数のトリガー重みを調整し得る。たとえば、追加のイベントが補正パターンに対応している場合、学習デバイスは、識別されたトリガーパターンに関連付けられているリフレックスのトリガー重みを低減し得る。しかしながら、追加のイベントが知られているトリガーパターン、補正パターン、または報酬パターンに対応しない場合、学習デバイスは、追加のイベント（複数可）に基づくトリガーパターン、さらにはトリガーモードに関係するリフレックスの事前定義されたアクション、補正パターン、および報酬パターンのコピーを伴う新しいリフレックスを作成し得る。いくつかの実施形態では、学習デバイスは、トリガーモードに入っている間に取得された少なくとも１つの追加のイベント（またはイベントのパターン）が識別されたトリガーパターンに関連付けられたリフレックスに対応する所定の補正パターンまたは所定の報酬パターンに対応する場合に、リフレックスに関連付けられている様々なパラメータおよび／またはトリガー重みを計算するための式に関連付けられているスケーリング係数または重み値などの、トリガー重みを調整するように構成され得る。
【００２１】
[0036]いくつかの実施形態では、学習デバイスは、リフレックスに関連付けられているトリガー重みが事前定義された閾値より高くないときにリフレックスのトリガーパターンを識別した後、アクションを実行しないことができる。この閾値、およびトリガー重みを徐々に増加させるプロセスは、学習デバイスが繰返しから学習し、意図しない学習（たとえば、望ましくない機能を実行するランダムな、または意図しないイベントからの学習）を回避することを可能にする働きをする。たとえば、学習デバイスが、スマートランプである場合、スマートランプは、付近の新しい壁面スイッチから受信されるイベントレポートメッセージに基づくイベント（たとえば、新しい壁面スイッチの「トグルオン」イベント）を生成し、スマートランプ上に記憶されているリフレックスに関連付けられているトリガーパターンとマッチするものとしてイベントを識別し得る。しかしながら、スマートランプは、スマートランプが追加のイベントレポートメッセージが付近の壁面スイッチから受信されるまでそのアクション（たとえば、オンにする）を実行することを学習しないように、最初に、リフレックスのトリガー重みを閾値より低く設定し得る。したがって、スマートランプは、トリガーパターンとマッチする十分な数のイベントパターンが観察されるまでトリガーパターンを識別した後にリフレックスの事前定義されたアクションを実行せず、リフレックスの関連付けられているトリガー重みを事前定義された閾値より高くし得る。
【００２２】
[0037]学習デバイスがモニターモードに入っているか、トリガーモードに入っているかに関係なく、学習デバイスは、メモリ（たとえば、バッファメモリ）に一時的に記憶されるイベントを生成するために、ローカルで観察された発生データを継続的に取得し、および／またはイベントレポートメッセージを受信し得る。たとえば、学習デバイスがスマートランプである場合、ユーザは、ランプスイッチをトグルすることによってスマートランプをオンにすることができ、そのようなトグルに応答して、スマートランプは、「オン」イベントを生成することができる。いくつかの実施形態では、学習デバイスは、トリガーモードに入っている間に以前のイベントをメモリから取り出すことができる。学習デバイスは、学習デバイスがリフレックスのトリガー重みを調整することによって事前定義されたタスクまたはリフレックスを自動的に実行することを学習できるように、メモリに記憶されているイベントの１つまたは複数が補正パターンまたは報酬パターンとマッチするかどうかを決定できる。イベントの定義済みの順序を有するパターンもあれば（順序依存イベントパターンと称される）、イベントの定義済み順序を有しないパターンもあり得る（順序独立イベントパターンと称される）。したがって、学習デバイスは、順序独立（または代替的に順序依存）方式でイベントを使用してトレーニングされ得る。たとえば、ランプに関連付けられている学習デバイスは、壁面スイッチから第１の「オン」イベントを、次いでランプスイッチから第２の「オン」イベントを観察したこと、またはランプスイッチから第２の「オン」イベントを、次いで壁面スイッチから第１の「オン」イベントを観察したことのいずれに応答してランプが壁面スイッチの「オン」イベントに反応することを引き起こすようにトレーニングされ得る。
【００２３】
[0038]いくつかの実施形態では、学習デバイスは、イベントが評価のためメモリに記憶されたままである、その後イベントがメモリから削除され得る、時間ウィンドウを利用するように構成され得る。学習デバイスは、イベントおよび／または関連付けられているパターンを生成した以降の時間が時間ウィンドウ（たとえば、５〜１０秒など）を超えた後にイベントおよび／またはパターンをメモリから取り除くことができる。この時間ウィンドウは、学習デバイスが認知の順序に関係なくイベントの相関を含む、比較的近くに一緒に生じる２つまたはそれ以上のイベントもしくはパターンを相関させることを可能にする。したがって、学習デバイスは、特定のトリガーに遭遇したことに応答してアクションを実行することを、そのアクションに関連付けられているイベントまたはパターンが特定のトリガーのイベントまたはパターンの前に観察されたとしても、学習し得る。たとえば、ユーザは、壁面スイッチに結合されている学習デバイスから「オン」状態を示すイベントレポートメッセージを受信したことに応答してランプをオンにするようにランプに結合されている学習デバイスをトレーニングすることを、ユーザが壁面スイッチを「オン」に入れる直前にランプをオンにしたとしても、それら２つのイベントがメモリの時間ウィンドウ内にあれば、行い得る。いくつかの実施形態では、学習デバイスは、単一の時間ウィンドウ（たとえば、５〜１０秒など）内で１つまたは複数のイベントの複数のトリガーパターンを観察し得る。
【００２４】
[0039]上で示されているように、学習デバイスは、イベントレポートメッセージを介して受信されたリモートで観察される発生データに基づいてイベントを生成することができる。たとえば、スマートは壁面スイッチなどの第２の学習デバイスは、「オン」位置にトグルされ、「オン」状態を示す発生データを含むイベントレポートメッセージをブロードキャストすることができ、受信後、第１の学習デバイス（たとえば、スマートランプ）は、受信されたイベントレポートメッセージからの発生データに基づいて「オン」イベントを生成し得る。このようにして、ある場所にあるデバイスを制御するための一実施形態の方法が使用可能にされるものとしてよく、それによって、第１の学習デバイスは、ローカルで発生データを取得し、取得された発生データに基づいてそれが生成するイベントに基づいて決定を下し、第１の学習デバイスにおいて他のイベントを生成すること、さらには第２の学習デバイスによって受信され得るイベントレポートメッセージをブロードキャストするなどの、アクションを実行し、第２のデバイスが決定を下し、アクションを行うことを引き起こすように構成され得る。いくつかの実施形態では、学習デバイスは、有線またはワイヤレス通信を通じて非学習デバイスからイベントとパターンとに変換され得るイベントレポートメッセージまたは他の信号を受信し得る。たとえば、壁面スイッチは、オンにトグルされたときに一方の信号を、オフにトグルされたときに異なる信号をワイヤレス方式で放射する送信機を有することができる。この仕方で、学習デバイスは、非学習デバイスから信号を受信し、アクションをそれらのデバイスから受信された信号に基づいて生成されたイベントに関連付けることを学習し得る。
【００２５】
[0040]いくつかの実施形態では、非集中システム内の複数の学習デバイスは、類似のトリガーパターンを有するリフレックスを記憶することができ、したがって、同じ発生データを取得し、同じイベントを生成したことに応答してそれぞれのアクションを実行するように構成され得る。たとえば、壁面スイッチの単一のトグルは、フロアランプがオンになることと、ステレオがオンになることと、テレビジョンがオンになることとを引き起こし得る。いくつかの実施形態では、２つの異なる学習デバイスが、同じ発生データを検出するか、または受信し、それに応答して、個別にアクションを実行し、イベントレポートメッセージで互いに伝達され得るその後の発生データを生成し得る。たとえば、同じ元のイベント応答メッセージを受信したことに応答して、第１の学習デバイスは、第１のアクションを実行し、第１のイベント応答メッセージを生成し得るが、第２の学習デバイスは、同時に第２のアクションを実行し、第２のイベント応答メッセージを生成する。この状況において、第１の学習デバイスは、第２のイベント応答メッセージを受信し、第２の学習デバイスは、第１のイベント応答メッセージを受信し、各々以前に学習されたリフレックスに基づいて応答としてさらなるアクションを実行する（またはしない）ことができる。第１の学習デバイスは、第２の学習デバイスによって補正パターンまたは報酬パターンのいずれかとして処理され得る発生データを含むイベントレポートメッセージをブロードキャストするように構成され得ることは理解されるであろう。
【００２６】
[0041]実施形態の学習デバイスは、おもちゃまたは娯楽製品を含むか、またはその中に含まれ得る。特に、一実施形態の学習デバイスは、物理的機能を駆動するための様々なモーターと、光センサーデータを検出するためのセンサーと、ユーザ入力要素（たとえば、ボタン）と、他のコンポーネントに結合され、入力とセンサーからのセンサーデータとを処理し、リフレックスおよび／または記憶されているリフレックスのトリガーアクションパターンを作成するように構成されているプロセッサとを備える閉ループシステムである子供のおもちゃであってよい。たとえば、学習デバイスは、おもちゃの自動車が床の白色または黒色の上（または前）にあるかどうかを検出するためのセンサーと、左と右の車輪を独立して回転させるためのモーターと、プロセッサと、対応するモーターを介して左車輪の回転をアクティブ化する左車輪モーターボタンと、対応するモーターを介して右車輪の回転をアクティブ化する右車輪モーターボタンとを備えるおもちゃの自動車であってよい。最初に、おもちゃの自動車は、車輪がセンサーからのセンサーデータに基づいて回転することを引き起こすリフレックスとともに構成されないことができる。しかしながら、ユーザは、床の白色を示すセンサーデータが取得されたときに（すなわち、おもちゃの自動車が床の大部分白い表面の上にあるときに）左車輪モーターボタンを押すことによって第１のリフレックスを作成し得る。第１の作成されたリフレックスにより、おもちゃの自動車は、その後取得されたセンサーデータがおもちゃの自動車が床の大部分白色の表面の上にあることを示すときに左車輪モーターをアクティブ化し得る（そこで左車輪を回転させ得る）。ユーザは、床の黒色を示すセンサーデータが取得されたときに（すなわち、おもちゃの自動車が床の大部分黒い表面の上にあるときに）右車輪モーターボタンを押すことによって第２のリフレックスも作成し得る。こうして、第２のリフレックスにより、おもちゃの自動車は、床の黒色を示すセンサーデータが取得されたときに（すなわち、おもちゃの自動車が床の大部分黒い表面の上にあるときに）右車輪モーターをアクティブ化する（したがって右車輪を回転させる）ようにトレーニングされ得る。言い換えれば、第１および第２のリフレックスは、所定の時刻における床の主色にのみ基づいて、ユーザがモーターボタンを押すことなく、おもちゃの自動車が移動することを引き起こし得る。このようにして、ユーザは、単純に、白色または黒色のセンサーデータイベントパターンにより左または右車輪回転アクションパターンをトリガーするようにおもちゃの自動車をトレーニングすることによって、他の何らかの形で白い床の上に塗られた黒色の線を辿るようにおもちゃの自動車をトレーニングすることができる。
【００２７】
[0042]様々な実施形態において、学習デバイスは、規則正しい周期的タイミングメカニズムを利用して、イベントが取得されたかどうか（たとえば、結合されているセンサーからのセンサーデータが受信されているかどうかなど）を決定し得る。そのようなメカニズムは、学習デバイスがトリガーパターンに応答してそのリフレックスのオペレーションを実行することを規則正しく引き起こす「心拍」のようなものであってよい。たとえば、上で説明されているおもちゃの自動車の学習デバイスは、規則正しい間隔または「心拍」でそれが床の黒色または白色の部分の上にあるかどうかを評価し、それによって、おもちゃの自動車が規則正しい仕方で回転する車輪を介して移動することを引き起こすように構成され得る。いくつかの実施形態では、学習デバイスは、１つまたは複数の周期的タイミングメカニズムまたは「心拍」に基づいて１つまたは複数のセンサーをポーリングし得る（たとえば、数ミリ秒おきなどで現在のセンサーデータを要求する）。たとえば、学習デバイスは、有線またはワイヤレス接続を介して学習デバイスに結合されている１つまたは複数のセンサーユニットがイベントレポートメッセージを生成することを引き起こす事前定義された間隔で要求を送信し得る。様々な実施形態において、学習デバイスは、異なる評価に対して異なる周期的タイミングメカニズムを（または「心拍」）を利用し得る。たとえば、学習デバイスは、学習デバイスが第１の周波数で（たとえば、数ミリ秒おきなどで）第１のタイプの入力（たとえば、着信光センサーデータ）を評価することを引き起こす第１の「心拍」メカニズムと、学習デバイスが第２の周波数で（たとえば、１秒おきなどで）第２のタイプの入力（たとえば、他のデバイスから受信されたメッセージなど）を評価することを引き起こす第２の「心拍」メカニズムとを実装し得る。いくつかの実施形態では、周期的タイミングメカニズムまたは「心拍」は、センサーユニットなどの、複数の有線もしくはワイヤレス方式の学習デバイスおよび／またはレポーターにまたがり得る。たとえば、第１および第２の学習デバイスは、他の付近の学習デバイスまたはセンサーなどの、他の外部デバイスから（たとえば、イベントレポートメッセージを介して）イベントを内部的に取得する、および／または最新情報を要求するために単一のタイミングメカニズム（たとえば、同期された「心拍」）を利用し得る。
【００２８】
[0043]いくつかの実施形態では、帯域外技術が、学習デバイスが不正にまたは思いがけなく動作しているときに非集中システム内の学習デバイスを調整するために使用され得る。特に、学習デバイスの状態（たとえば、システム変数など）または学習された挙動（たとえば、記憶されているリフレックス）を変更することなどの、デバッギング、プロビジョニング、診断、または較正オペレーションを実行するために、非集中システムの外の非学習デバイスは、学習デバイスと通信をやり取りして重み、利得、および／または他の記憶されている設定のクエリおよび／または調整を行うことができる。たとえば、学習デバイスは、学習デバイスが様々な記憶されているリフレックスに対する重み生成特性（たとえば、利得など）を調整することを引き起こす通信をデバッギングデバイスから帯域外有線またはワイヤレスシグナリング（たとえば、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉなど）を介して受信するように構成され得る。別の例として、デバッギングデバイスは、学習デバイスと通信をやり取りして、学習デバイスに記憶されているリフレックス（たとえば、トリガー重み、利得など）の現在の状態を学習（または「のぞき込む」）ことができる。実施形態の帯域外技術は、発生データ（またはイベントレポートメッセージ）を使用することなく学習デバイスの挙動を調整するためプログラムをおよび／またはグラフィカルユーザインターフェース（ＧＵＩ）インターフェースを使用してデバイスからの通信を送信することを含み得る。言い換えれば、製造業者デバイスなどの、工場または他の現場から離れている場所にあるデバイス、および／または現場の技術者デバイスなどの、学習デバイスの付近に配置されているデバイスによって送信される通信は、反復的活動（たとえば、トリガー重みを調整するためスイッチを入れることなど）を実行することをユーザに要求することなく学習デバイス内で誤りのあるデータを即座に補正することができるものとしてよい。
【００２９】
[0044]他の学習デバイスによる受信のためイベントへの応答を学習し、イベントメッセージをブロードキャストするそれらのメカニズムを通じて、様々な実施形態は、直接的なプログラミングまたはプログラミングインターフェースとのインタラクティブな操作を必要とすることなく中での時間の経過とともに行われるユーザのインタラクティブな操作から学習することができる学習デバイスの非集中分散システムを実現する。実施形態の非集中システムは、主コントローラまたは他の中央ユニットが学習オペレーションを実行することを必要としない。特に、実施形態のシステムは、他のデバイスのアクションに相関するイベントのパターンを識別するために単一のデバイスを利用しない。その代わりに、いくつかの実施形態の非集中システムにおける各学習デバイスは、イベントを監視し、システム内の他の学習デバイスから独立して学習するように構成されるものとしてよく、その特定のアクションがそれ自体に関連するイベントを検出したことに応答して実行されるべきであるかどうかのみを決定する。したがって、これらの実施形態は、イベントを観察し、相関させる技術を利用して、システム内の個別な学習デバイスがイベントおよびトリガーの自らの受信に基づいて自らの挙動を制御することを学習することを引き起こすアクションをトリガーする。
【００３０】
[0045]様々な実施形態は、実施形態の技術がリフレックスを利用して個別の学習デバイスの前記定義されたアクションを一意的にトリガーするという点で機械学習を使用する従来の自動化システムからさらに区別され得る。従来の技術では、トリガーをアクションから分けず、関係する発生のシーケンスを単に識別するだけであり得る。そのような従来の技術は、シーケンスで生じるイベントを観察し、そのイベントのシーケンスの１つまたは複数がその後検出されたときに必ずそのシーケンスのオペレーションがデバイスによって実行されることを引き起こす。知られているシーケンス内の異なるイベントの存在は、そのシーケンスの様々な残りのアクションの実行を引き起こし得るので、従来の技術は、本開示で説明されているように、定義されているトリガーに応答して生じる定義されているアクション（すなわち、別々に定義されているトリガーおよびアクション）を利用するとは考えられ得ない。言い換えれば、これらの実施形態の技術は、観察されたイベントに基づいて実行されるべきアクションの新しいシーケンスを学習し得ず、その代わりに、新しいトリガーを事前定義されたアクションに関連付けることのみを学習し得る。
【００３１】
[0046]さらに、従来の技術では、システムのデバイスが時間の経過とともに異なる方法で使用されるときにイベント間の関連付けを置き換えるか、または書き換えることができる。たとえば、従来の技術では、イベントの第１のシーケンスをイベントの第２のシーケンスで書き換えることを、第２のシーケンスが第１のシーケンスのバリエーション（たとえば、システム内でより最近またはより頻繁に観察されるバリエーション）であるときに行うことができる。様々な実施形態は、個別の実施形態の学習デバイスが各々異なるトリガー（またはトリガーパターン）を学習デバイスによって実行されるべき同じアクションに関連付け得る複数のリフレックスを生成することができるので、そのような従来の技術と異なる。言い換えれば、観察されたイベントバリエーションに基づいて観察された関連付けを書き換えることまたは置き換えることの代わりに、実施形態の学習デバイスは、事前定義された機能をトリガーするための追加の関連付けを記憶し得る。たとえば、学習デバイスは、壁面スイッチの「オン」イベントをランプのライトアクション（たとえば、オンにする）に関連付ける第１のリフレックスと、ステレオの電源オンイベントをランプのライトアクション（たとえば、オンにする）に関連付ける第２のリフレックスとを記憶し得る。これは、異なるトリガーを同じアクションに関連付ける複数のリフレックスが異なるユーザまたは同じユーザに対する、異なる状況の下での、学習デバイスの好ましい応答を可能にし得るので有益である。たとえば、学習デバイスは、壁面スイッチが入れられたときにライトがオンになることを望む第１のユーザと、ステレオの電源がオンにされ、電気スタンドがオンにされたときにライトがオンになることを望む第２のユーザとを受け入れるため異なるリフレックスを記憶し得る。
【００３２】
[0047]様々な実施形態は、学習デバイスに対する学習の一意的なプロセス（たとえば、イベントを観察し、トリガーアクションに相関させること）も実装する。特に、様々な実施形態は、事前定義された補正および報酬パターンを利用してリフレックスの変動性をオンザフライで調整することができる。事前定義された補正パターンを繰り返し検出したことに応答して、学習デバイスは、関係するリフレックスに関連付けられている重みを、最終的にその事前定義されたアクションが関連付けられているトリガーパターンがその後検出されたときに実行され得なくなるまで徐々に調整してゆくことができる。したがって、リフレックスパターンは、デバイスのメモリ内に残っている可能性があるが、学習デバイスは事実上リフレックスを学習解除しているので関連するリフレックスはもはや実行され得ない。しばらくしてから、リフレックスパターンは、イベントとアクションとのパターンをユーザが繰り返すことによって再アクティブ化され得、学習デバイスはこれを観察し、それに応答して、関係するリフレックスの重みを、関連付けられている重みがイベントが観察されたときにアクションをトリガーするまで調整する。同様に、事前定義された報酬パターンを繰り返し検出したことに応答して、学習デバイスは、リフレックスの重みを、事前定義されたアクションが関連付けられているトリガーパターンがその後検出されたときに実行され得るように徐々に調整してゆくことができる。言い換えれば、実施形態の技術は、その後遭遇した（または記憶されている）イベントに基づいて無効にされた関連付けを上書きすることまたは取り除くことをせずに補正情報に基づいてリフレックスにおける関連付けを無効にし、それらのリフレックスをその後受信される報酬パターンで再生されるようにメモリに記憶されたままにすることができる。
【００３３】
[0048]いくつかの実施形態では、リフレックスまたは他のデータは、新しいリフレックスを記憶するための領域をあけるために必要になったときにメモリから取り除かれ得る。たとえば、事前定義されたアクションに対するまだ知られていないトリガー要素を有する新しいリフレックス追加するために、すでに存在しているリフレックスがメモリ全体から取り除かれるかまたは削除され得る。しかしながら、学習デバイスのメモリからのリフレックスのそのような取り除きは、手続き的であり得、ガーベジコレクションポリシーに基づくものであり得（たとえば、最低使用頻度の、または最も古いリフレックスを取り除くなど）、したがって、リフレックスで示されている関連付けのバリエーションまたは更新を受信したことに応答しない。
【００３４】
[0049]様々な実施形態は、個別の学習デバイスの各リフレックス（またはアクション）に対して事前定義され、静的である明示的な補正パターンと、報酬パターンと、アクションパターンとを利用し、したがって、リフレックスに対するトリガーに重みを付け直すことは、関連付けられているリフレックスに関連する場合も関連しない場合もある他のイベントの分析を必要としない直接的手続きである。事前定義された報酬パターンおよび補正パターンは、個別の学習デバイスの学習がユーザによって監督され、ユーザ選好／期待に応答し、時間の経過とともに集約される発生に単に基づくだけでないことを確実にする。さらに、実施形態の学習デバイスは、既存のリフレックスに関連付けられているアクションが実行されていると決定したことに応答して検出される報酬または補正パターンに基づいて既存のリフレックスを調整し得る。言い換えれば、トリガーパターンに対する重みは、トリガーパターンに関連付けられているアクションが実際に実行され、関係する補正または報酬パターンが取得された発生データに基づいて生成された後になって初めて増加または減少させられる。たとえば、トリガーパターンを観察したことに応答してアクションが実行されたときに、ユーザは、学習デバイス上の「補正」ボタンを押して、ユーザがそのアクションおよびそのトリガーの関連付けを好まないことを示すことができる。この学習方法は、アクションが実行される前にトリガーとアクションとの間の関連付けの正しさをユーザ側で確認することを必要とし得る従来の技術と異なる。
【００３５】
[0050]さらに、様々な実施形態の技術は、学習デバイスがトリガーとアクションとの間の関連付けを「オンザフライ」で生成できる学習デバイスの「高速」トレーニング時間を使用可能にする。ほとんどの従来の機械学習技術は、最初に別の機械を使用して新しいプログラミング（または命令）を生成もしくはプログラムし、次いでターゲットデバイスを別の時刻に新しいプログラミングで更新することによってターゲットデバイスをトレーニングすることができる技術などの、「オフライン」学習を必要とする。そのような従来技術は、デバイスの単純なトレーニング可能な関連付けについてはトレーニング体験が劣ることがある。たとえば、ユーザがデバイスにおいて新しい挙動を望んだが、従来のトレーニング手続きが挙動の変更を行わせるのにデバイスのプログラミングおよび／または更新に対して長い期間（たとえば、時間）を必要とした場合、ユーザは、自分の考えの脈絡を失ったり、混乱したり、または関心をなくすことがあり得る。様々な実施形態の技術は、本明細書で説明されているリフレックスの作成技術および報酬／補正メカニズムが取得されたイベント（他の学習デバイスからの信号、学習デバイスに取り付けられているセンサーからのデータなど）に基づいて学習デバイスの高速トレーニングを可能にするので、そのよう「オフライン」の学習を必要としない。そこで、様々な実施形態の技術で、人々にとって意味のある、また直観的であるように思われる時間内に学習デバイスのトレーニングを可能にする。
【００３６】
[0051]次の説明では、学習デバイスは、１つまたは複数スマートボックスとして参照されるものとしてよく、これらは、図１Ｃおよび図２を参照しつつ以下で説明されているコンポーネントを有する学習デバイスの特定の実施形態である。しかしながら、類似のコンポーネントおよび機能を有する他の学習デバイスまたはスマートデバイスも、本開示において説明されているように様々な実施形態を利用するように構成され得ることは理解されるであろう。
【００３７】
[0052]図１は、様々なデバイス１０２、１０４、１０６、１１４、１１５、１１６が信号を互いに送受信するスマートボックス１０３ａ〜１０３ｅによって制御され得る一実施形態のシステム１００を示している。スマートボックス１０３ａ〜１０３ｅの間で伝達される信号は、各スマートボックスが信号をシステム１００内の特定のアクションまたは条件の発生に関係するものとして認識することを可能にするデータまたは他の情報を含み得る。特に、スマートボックス１０３ａ〜１０３ｅは、無線周波数（ＲＦ）送信１１２またはワイヤレス通信リンクを介して、図３Ａを参照しつつ以下で説明されているような発生データを含むイベントレポートメッセージをブロードキャストすることができる。スマートボックス１０３ａ〜１０３ｅは、代替的に、またはそれに加えて、有線接続、光、音、またはそのような媒体の組合せを介して互いに通信することができる。
【００３８】
[0053]一例として、様々な実施形態によって使用可能にされるシステム１００は、スマートボックス１０３ａに接続された壁面スイッチ１０２を備え、スマートボックス１０３ａは壁面スイッチ１０２が他のデバイスによる応答を制御する（たとえば、フロアランプ１０４をオンにする）ことを可能にする信号を送信する。壁面スイッチ１０２は、有線接続１１０によってスマートボックス１０３ａに接続されるか、またはスマートボックス１０３ａおよび壁面スイッチ１０２は、単一のユニットに組み合わされ得る。壁面スイッチ１０２がトグルされると、その関連付けられているスマートボックス１０３ａは、状態のこの変化を検出し、ＲＦ送信１１２を介してイベントレポートメッセージを発行し、これは送信するスマートボックス１０３ａの半径内にある他のスマートボックス１０３ｂから１０３ｅのどれかによって受信され得る。１つのそのような受信するスマートボックス１０３ｂは、有線接続１１０ｂを介してフロアランプ１０４に接続され得る。例として、フロアランプのスマートボックス１０３ｂは、フロアランプ１０４がオンになることを引き起こすイベントを生成することによって「オン」位置に移動される壁面スイッチ１０２に対応するイベントレポートメッセージに応答するようにトレーニングされ得る。フロアランプ１０４がオンになると、そのスマートボックス１０３ｂは、イベントを示す発生データを含み、他の付近のスマートボックス１０３ｃ〜１０３ｅさらには壁面スイッチ１０２に接続されているスマートボックス１０３ａによって受信され得るイベントレポートメッセージをブロードキャストし得る。代替的に、またはそれに加えて、スマートボックス１０３ａ、１０３ｃ〜１０３ｅは、ランプをオンにすることが発生／条件／アクションを示す信号として処理され得るようにフロアランプ１０４からの光を感知し得る光センサーを備えることができる。
【００３９】
[0054]図１Ａに示されているように、電気スタンド１１５、ステレオ１０６、携帯電話１１４、およびセンサー１１６などの、様々なデバイスがスマートボックスに結合され得る。スマートボックス１０３ａ〜１０３ｅは、個別のデバイス１０２、１０４、１１５、１１６から分離しているように図示されているけれども、各デバイスは、内部スマートボックスを備えるものとしてよく、１つのデバイス内のスマートボックスは、分離しているデバイスに結合され得る。説明を簡単にするため、フロアランプ１０４、壁面スイッチ１０２、電気スタンド１１５、センサー１１６、およびステレオ１０６への参照は、断りのない限りその対応するスマートボックスも参照し得る。
【００４０】
[0055]図１Ａには示されていないけれども、システム全体を通して他の学習デバイスまたはスマートボックスによって受信され処理され得る信号（すなわち、イベントレポートメッセージ）を送信するために非学習デバイスがシステム１００内に備えられてもよい。たとえば、壁面スイッチ１０２は、図示されているスマートボックス１０３ａの代わりに送信機を有していてもよい。オンにトグルされたとき、壁面スイッチは符号化された「オン」信号（たとえば、１ビットイベントレポートメッセージ）を送信するものとしてよく、壁面スイッチがオフにトグルされたとき、これは、異なる符号化された「オフ」信号（たとえば、２ビットイベントレポートメッセージ）を送信し得る。システム内の別のスマートボックス（たとえば、フロアランプ１０４に接続されたスマートボックス１０３ｂ）は、いずれかの信号を受信し、これをイベントに変換することができ、これは記憶されているリフレックスの関連付けられているアクションに対応し得る。
【００４１】
[0056]スマートボックスは、典型的には、スマートボックスで、またはスマートボックスによって実行されたアクションおよび／またはスマートボックスで検出された条件（たとえば、センサーデータ）などの、スマートボックスにおいてイベントを示すイベントレポートメッセージをブロードキャストするか、または他の何らかの形で送信するように構成され得る。たとえば、スマートボックスまたはスマートボックスにワイヤレス方式で接続されている送信機（「レポーター」）は、ガレージのドアが開かれていることを示すデータを含む信号をブロードキャストすることができる。スマートボックスは、典型的にはある場所の他のスマートボックスに直接に関与するようには構成されないことができるが、その代わりに、請求応答なしで、および／または他のデバイスのオペレーションを考慮することなく、発生データを単に報告するだけであってもよいことは理解されるであろう。しかしながら、いくつかの実施形態では、スマートボックスは、そのような送信１１２を介して互いに直接通信することができる。たとえば、ある場所（たとえば、家庭、オフィスなど）に置かれた新しいスマートボックスは、お気に入りの（または最も頻繁に遭遇する）イベントを示すデータを求める信号をその場所における他の学習デバイスに送信することができ、他のデバイスから応答信号受信したことに応答して、新しいスマートボックスは、バイアスを設定するように構成され得る。
【００４２】
[0057]図１Ｂは、システム１００’内の壁面スイッチ１０２がスマートボックス１０３ａに、内部的に、または有線接続１１０ａなどの別の接続によって、接続され得ることを示している。壁面スイッチ１０２は、タッチセンサー１１９またはトグルを有することができる。タッチセンサー１１９がタッチされるか、またはトグルされたときに（たとえば、壁面スイッチ１０２がオンにされたときに）、状態の変化が発生データとしてスマートボックス１０３ａに有線接続１１０ａを介して伝達され得る。スマートボックス１０３ａは、発生データによってイベントとして示される状態の変化を解釈し、ＲＦ送信１１２ａ、１１２ｂなどによって、イベントに関連付けられているイベントレポートメッセージをワイヤレス方式で送信することができる。イベントレポートメッセージは、壁面スイッチ１０２の受信範囲１２３内にあるスマートボックスによって受信され得る。いくつかの実施形態では、フロアランプ１０４は、ＲＦ送信１１２ａを受信するスマートボックス１０３ｂを備えるか、またはそれに結合され得る。ときには、ＲＦ送信１１２ａを介してイベントレポートメッセージを受信した後に、フロアランプ１０４上のランプスイッチ１２６が、ユーザによってオンにされ、これにより、照明１２４がオンになるものとしてよい。フロアランプ１０４は、そのスマートボックス１０３ｂに、現在「オン」状態になっていることを信号で知らせ、スマートボックス１０３ｂは、この信号を発生データとして解釈し得る。この信号は、ランプスイッチ１２６とスマートボックス１０３ｂとの間の有線接続１１０ｂによって、またはワイヤレス方式で（たとえば、Ｂｌｕｅｔｏｏｔｈデータリンクを介して）送信され得る。スマートボックス１０３ｂが、ランプを通電するスイッチを備える場合、このシグナリングは、このスイッチの作動であってよい。
【００４３】
[0058]様々な実施形態において、フロアランプ１０４に関連付けられているスマートボックス１０３ｂは、壁面スイッチ１０２をトグルする直前またはトグルした直後に（たとえば、５〜１０秒以内に）ユーザが手動でフロアランプ１０４をオンにすることによって壁面スイッチのスマートボックス１０３ａからトグル信号（すなわち、トグルアクションを示す発生データを含むイベントレポートメッセージ）を受信したことに応答してフロアランプ１０４を通電するか、またはフロアランプ１０４がオンになることを引き起こすようにトレーニングされ得る。このような学習を遂行するために、スマートボックス１０３ｂは、所定の時間ウィンドウ内で壁面スイッチのトグル（イベントレポートメッセージで報告されるような）およびフロアランプ１０４の作動に関係するイベント（フロアランプ１０４から取得された発生データを介して報告されるような）がいつ生じたかを認識することができる。これは、少なくとも一部は、所定の時間ウィンドウに対する取得された発生データから生成されたイベントを一時的に記憶する（すなわち、バッファリングする）ことと、メモリに記憶されているイベントを処理し、相関させることと、その後、メモリからイベントを削除することとによって遂行され得る。たとえば、フロアランプ１０４に接続されているスマートボックス１０３ｂは、壁面スイッチ１０２の「オン」イベントをフロアランプ１０４のランプスイッチ１２６の「オン」イベントに関連付けることを、これら２つのイベントが生成されるか、または所定の時間ウィンドウ内で生じるときに行うことができ、実際、将来の壁面スイッチ１０２の「オン」イベントがフロアランプ１０４の作動をトリガーすべきであることを学習する。いくつかの実施形態では、イベントの順序は、重要であるが、いくつかの実施形態では、イベントの順序は問題にならず、したがって、イベントの順序は、イベントが所定の時間ウィンドウ内で生じる（または生成される）限り逆にされ得る。たとえば、壁面スイッチ１０２に接続されているスマートボックス１０３ａは、フロアランプ１０４のランプスイッチ１２６の「オン」イベントを後続する壁面スイッチ１０２の「オン」イベント（たとえば、タッチセンサー１１９へのタッチ）に関連付けることができ、実際、将来の壁面スイッチ１０２の「オン」イベントがフロアランプ１０４の作動をトリガーすべきであることをそのまま学習する。以下でより詳しく説明されているように、そのようなトレーニングは、望ましくない挙動をうっかり学習してしまうことを回避するためある程度の繰返しを必要とし得る。
【００４４】
[0059]図１Ｃに示されているように、一実施形態のスマートボックス１０３は、信号受信機１４２から受信されたイベントレポートメッセージを処理するように構成されたプロセッサ１３２（図１Ｃにおいて、中央演算処理装置（ＣＰＵ）と称される）を備えることができる。スマートボックス１０３は、他の学習デバイスまたはスマートボックスによって受信され得るＲＦ信号を介してイベントレポートメッセージで発生データを送信するように構成された信号送信機１３６を備えることができる。上で説明されているように、そのようなイベントレポートメッセージ内の発生データは、スマートボックス１０３において遭遇した条件または実行されたアクションを定義または特徴付けることができる（すなわち、イベントレポートメッセージが、スマートボックス１０３において生成されたイベントを特徴付けることができる）。さらに、その信号受信機１４２を介して、スマートボックス１０３は、他のデバイスから類似の送信されたＲＦ信号を介してイベントレポートメッセージを受信することができ、以下で説明されているようなデータ構造を使用して受信された信号からの受信された発生データをイベントとしてメモリ１３８内のバッファに保存することができる。いくつかの実施形態では、メモリ１３８は、本開示全体を通して説明されているような関連付けられているパターンを有するリフレックスを記憶するためのある量（たとえば、３２キロバイト（ＫＢ）、６４ＫＢなど）の記憶装置（たとえば、ランダムアクセスメモリ（ＲＡＭ）、フラッシュなど）を備え得る。この実施形態のスマートボックス１０３は、スマートボックス１０３によって検出された状態の変化を示す発生データを取得するためのセンサーエンコーダ１３４を備えることができる。たとえば、スマートボックス１０３が、フロアランプに接続され、フロアランプがオンにされた場合、接続されているスマートボックス１０３内のセンサーエンコーダ１３４は、状態の変化をデジタル方式で識別するか、またはマップするために発生データを生成し得る。この発生データは、スマートボックス１０３のメモリ１３８に記憶され、そのブロードキャスト範囲内の他の学習デバイス（たとえば、スマートボックス）に対してイベントレポートメッセージ内でブロードキャストされ得る。他の学習デバイスは、その信号受信機を通じて発生データを含むイベントレポートメッセージを受信し、最終的に本明細書で説明されている様々な学習アルゴリズムによって関係するイベントを処理することができる。いくつかの実施形態では、メモリ１３８は、揮発性ランダムアクセスメモリ（ＲＡＭ）ユニット（複数可）と不揮発性フラッシュメモリユニット（複数可）とを含むものとしてよい。そのような実施形態では、ＲＡＭユニットは、スマートボックス１０３の様々な機能を動作させるために使用され、フラッシュユニットは、永続的データ（たとえば、リフレックスなど）とログデータ（たとえば、取得されたイベント、信号など）を記憶するために使用され得る。いくつかの実施形態では、リフレックス（以下で説明されているような）は、フラッシュメモリに記憶されないことができるが、その代わりに、揮発性ＲＡＭに記憶され、これにより、学習された挙動の再設定を効率的に簡単に行えるようにすることができる（たとえば、電源をオフにすることによって未トレーニング状態にリセットし、ＲＡＭ内のすべてのリフレックスを消去する）。いくつかの実施形態では、フラッシュメモリは、サイズが様々であり、また他の点で、オプションであってもよい。たとえば、フラッシュメモリは、６４ＭＢ  ＲＡＭユニットに等しい６４ＭＢ記憶ユニットであってもよく、両方とも図１Ｃに表されているようにメモリ１３８内に含まれ得る。
【００４５】
[0060]それに加えて、スマートボックス１０３は、補正されたトリガーに応答して学習されたリフレックスアクションとし接続されているデバイス上で物理的アクションを実行するためのモーター駆動装置１４０を備え得る。たとえば、スマートボックス１０３が、フロアランプに接続され、受信されたイベントレポートメッセージに応答して生成されたイベントに基づいてフロアランプがオンになるべきであると決定した場合、スマートボックス１０３のプロセッサ１３２は、モーター駆動装置１４０に信号を送りフロアランプの電源スイッチを作動させることができる。モーター駆動装置１４０の代わりに（またはそれに加えて）、スマートボックス１０３は、補正されたトリガーに応答して学習されたリフレックスアクションとしてアプライアンスを外部電源（たとえば、１２０Ｖの交流電源）に接続するように構成されたリレーを備えることができる。
【００４６】
[0061]いくつかの実施形態では、スマートボックス１０３は、スマートボックス１０３のコンポーネントに結合された電池１４３（たとえば、充電式リチウムイオン電池など）を備え得る。いくつかの実施形態では、スマートボックス１０３は、それに加えて、電流を受けて充電式電池１４３を充電するか、またはスマートボックス１０３の様々なコンポーネントに他の何らかの形で電力を供給するための電線または他のインターフェース１４４（たとえば、交流（ＡＣ）電源コンセントに接続するためのプラグまたはプロング）を備えることができる。
【００４７】
[0062]図２は、イベントから新しい挙動を学習し、その後のイベントに応答して学習された挙動を実行するために様々な機能コンポーネントがどのように一緒に結合されるか、または通信するかを示す一例を図示するスマートボックス１０３の一実施形態のアーキテクチャ２００を示している。スマートボックス１０３は、イベント生成器２０２と、センサーエンコーダ１３４と、信号受信機１４２とを備え得る。イベント生成器２０２は、知られているイベントパターン（たとえば、すでに学習されている、または事前プログラミングされているパターン）を示すデータを受信したことに応答してイベントまたは１つもしくは複数のイベントのシーケンスを生成することができる。たとえば、イベントのパターンがスマートボックス１０３に接続されているフロアランプをオンにする事前定義されたアクションに関連付けられている場合、イベント生成器２０２は、イベントパターン記憶装置２０４に記憶されているパターンを有する信号内の受信された発生データから生成されるイベントとマッチしたことに応答して「ランプオン」イベントを生成し得る。次いで、生成されたイベントは、イベントバス２１４を介してモーター駆動装置１４０に伝達され、スマートボックス１０３に接続されているフロアランプのライトをオンにする。
【００４８】
[0063]スマートボックス１０３は、信号受信機１４２を介して別のスマートボックスから信号内の発生データ（たとえば、イベントレポートメッセージ）を受信することもできる。信号受信機１４２によって受信された信号からのデータは、イベントバス２１４を介して、イベントレコーダー２０６などの、他のデバイスコンポーネントにイベントとしてトランスポートされ得る。
【００４９】
[0064]スマートボックス１０３は、センサーエンコーダ１３４からのイベントも認識することができ、このエンコーダは、イベントバス２１４を介してイベントを他のコンポーネントに伝達し得る。たとえば、ユーザがスマートボックス１０３に接続されているフロアランプを手動でオンにする場合、状態の変化を示す発生データ（たとえば、ライトを「オフ」から「オン」にする）は、センサーエンコーダ１３４によってデジタル符号化され、状態の変化をイベントに変換することができる。
【００５０】
[0065]信号送信機１３６は、その後、イベントレポートメッセージを介して別のスマートボックスによって発生データも受信され得るようにイベントバス２１４を介して受信されたイベントに基づいて発生データを送信することができる。これは、一方のスマートボックス１０３から他方のスマートボックスへのイベントに関する情報の転送を可能にし、これにより、スマートボックスが互いから学習し、各それぞれのスマートボックスによって学習された挙動に基づいて複雑なシステム挙動を作成することを可能にし得る。イベントに関係するデータ（すなわち、イベントレポートメッセージ内の発生データ）の再送またはブロードキャストは、スマートボックスがデージーチェーンで一緒につながれ与えられたスマートボックスの信号範囲を拡張することを可能にし得る。
【００５１】
[0066]イベントレコーダー２０６は、イベントバス２１４からイベントを受信し、そのイベントをイベントパターン記憶装置２０４に保存し得る。いくつかの実施形態では、イベントレコーダー２０６は、発生データを受信し、受信されたデータに基づいてイベントを作成し、イベントパターン記憶装置２０４に記憶することができる。イベントセレクター２１０は、イベントレコーダー２０６から１つまたは複数のイベントを受信することができる。イベントの特定の組合せを受信したことに応答して、セレクター２１０は、ストアパターンコマンドを生成し、ストアパターンコマンドをイベントレコーダー２０６に送信し、イベントの組合せをパターンとしてイベントパターン記憶装置２０４内に記憶することをそれに指令することができる。いくつかの実施形態では、イベントセレクター２１０は、イベントバス２１４から直接イベントを受信することができる。
【００５２】
[0067]コンポーネントのオペレーションおよびスマートボックス１０３に対するインタラクティブな操作は、次の例に示されている。フロアランプに接続されたスマートボックス１０３は、信号受信機１４２を通じてスマートボックス１０３で受信される、壁面スイッチからのイベントレポートメッセージを介して状態の変化を示す発生データを受信し得る。信号受信機１４２を介したスマートボックス１０３は、壁面スイッチの状態の変化に関係するイベントをイベントバス２１４を介してイベントレコーダー２０６に伝達することができる。その後まもなく、ユーザは、スマートボックス１０３に接続されているフロアランプのライト１２４を手動でオンにすることができ、それに応答して、センサーエンコーダ１３４が、この状態の変化をイベントに変換して、そのイベントをイベントバス２１４を介してイベントレコーダー２０６に伝達し得る。イベントレコーダー２０６は、それらのイベントを、受信されるとともにセレクター２１０に送信し得る。セレクター２１０は、学習アルゴリズムを用いて、壁面スイッチのトグルに基づいて生成される、イベントのパターンと、フロアランプの手動のライトオン発生データとを処理することができる。イベントを処理した後、セレクター２１０は、ストアパターンコマンドを通じてイベントのパターンをイベントパターン記憶装置２０４に記憶するようにイベントレコーダー２０６に指令することができる。イベントパターン記憶装置２０４は、イベント間の学習された関連付けをリフレックスとして特定の重み関連付けとともに記憶し得る。いくつかの実施形態では、イベントパターン記憶装置２０４は、補正パターンと、報酬パターンと、トリガーパターンと、アクションパターンとを生成するために使用されるパターンもしくはイベントなどの所定のパターンおよび／またはイベントも同様に記憶することができる。
【００５３】
[0068]観察されたイベントとアクションとの間の関連付けに応じて、セレクター２１０は、以下で説明されているように、利得調整器２１２と連携して、観察されたアクションパターン（たとえば、ユーザがフロアランプをオンにしたことの観察）および／または重み（すなわち、バイアス、スケール、など）の方程式および／または計算に関係する他の特性に関連付けられているイベントの重みを変更する（たとえば、トリガーイベントのトリガー重みを増加させる）ことができる。
【００５４】
[0069]適宜、センサーエンコーダ２５２は、指令されたアクションの開始に基づいて追加のイベントを提供し得る。これらの追加のイベントは、指令されたイベントが実際に発生した（たとえば、「オン」アクションが実行されたことに応答してライトが実際に点灯した、など）ことの確認であるものとしてよく、スマートボックス１０３がイベントとアクションとの間の関連付けを学習するのを助ける報酬イベント（またはパターン）として処理することができる。
【００５５】
[0070]図３Ａは、発生データを特徴付けるために使用され得るデータ構造３００を示している。発生データは、フォーマットコンポーネント３０１と、識別コンポーネント３０２と、状態コンポーネント３０３とを含むようにデータレコード内に反映され得る。スマートボックス（たとえば、図１Ｃに示されているような）のプロセッサ１３２（またはＣＰＵ）は、復号情報をフォーマットコンポーネント３０１として記録し得る。これは、プロトコルバージョン、暗号化タイプ、シーケンス番号、トランザクション識別子（たとえば、指示なしで様々な発生データを次のデータから区別するために使用され得る情報、方向、順序、またはシーケンス）、記録時間、送信時間などを含み得る。しかしながら、記録時間および送信時間は、フォーマットコンポーネント３０１におけるオプションフィールドであり得る。いくつかの実施形態では、トランザクション識別子（またはＩＤ）は、値に関して連続していないか、または他の何らかの形で順序番号（たとえば、シーケンス内で増加または減少）を示し得る。上で説明されているように、スマートボックスは、データ構造３００を少なくとも含む信号（すなわち、イベントレポートメッセージ）を送信するように構成されるものとしてよく、また他の学習デバイスは、そのような信号を受信し、このフォーマットコンポーネント３０１を使用してデータ構造３００の発生データの残りを読み取るように構成され得る。識別コンポーネント３０２は、発生データの発生元のデバイスを示すものとしてよく、状態コンポーネント３０３は、発生データが表す状態または状態の変化に対応し得る。いくつかの実施形態では、状態コンポーネント３０３は、デバイスの動作状態（たとえば、「オン」、「オフ」など）に加えてボルト（たとえば、０．０２）などの、アナログ状態データを含み得る。
【００５６】
[0071]たとえば、発生データに対するデータ構造３００は、「Ｖ２．１」のフォーマットコンポーネント３０１と、「ＷＡＬＬＳＷＩＴＣＨ１０２」の識別コンポーネント３０２と、「ＯＮ」の状態コンポーネント３０３とを含み得る。これは、壁面スイッチに接続されているスマートボックスで２．１のデータフォーマットバージョンを表し、また壁面スイッチが「オフ」から「オン」にトグル式に切り替えられたことを表し得る。さらにこの例において、発生データおよび関連付けられているイベントは、壁面スイッチ（図１Ａに示されている）のところで生成され得る。生成された後、発生データは、イベントレポートメッセージで、そのブロードキャスト範囲内にあるすべてのスマートボックスによって受信されるように壁面スイッチに関連付けられているスマートボックスからブロードキャストされ得る。フロアランプに関連付けられている付近のスマートボックスは、ブロードキャストされた発生データを受信して処理することができる。発生データは、後で説明されるイベントデータ構造３５０（図３Ｂ）と類似のデータコンポーネントを有し得るので、受信するスマートボックスは、発生データを利用してイベントを生成し復号することができる。これは、イベントのフィルタリングおよびパターン生成を円滑にするのに役立ち得る。
【００５７】
[0072]図３Ｂは、イベントを記録するか、または特徴付けるために使用され得るデータ構造３５０を示している。データ構造３５０は、適宜、上で説明されているようなフォーマットコンポーネント３０１を含み得る。イベントは、時間コンポーネント３５１と、識別コンポーネント３５２と、状態コンポーネント３５３とを含むようにデータレコード内に反映され得る。イベントデータ構造３５０は、発生データに関して図３Ａにおいて上で説明されているようなデータ構造３００に類似しており、イベントは、発生データと同時に生成され得る。データ構造３００（すなわち、発生データ）は、データ構造３５０（すなわち、イベント）を生成するためにスマートボックスによって使用され、またその逆もあり得る。スマートボックスが、イベント発生源（たとえば、信号受信機１４２）を通じてイベントに対する発生データを受信したときに、イベントに関連付けられている時間コンポーネント３５１を記録することができる、イベントレコーダー２０６内のイベントを特徴付けるデータを記憶することができる。時間コンポーネント３５１は、受信するスマートボックスによってイベントが作成されるか、または観察された時間であってよい。代替的に、時間コンポーネント３５１は、イベントの発生データを送信する前に発生元のスマートボックスによって割り当てられた時間（すなわち、アクションが実行された、または条件が観察されたときなど）を示し得る。識別コンポーネント３５２は、イベントの発生データの発生元のデバイスを示すものとしてよく、状態コンポーネント３５３は、イベントが表す状態または状態の変化に対応し得る。
【００５８】
[0073]たとえば、イベントは、１７：１２：０２の時間コンポーネント３５１と、「ＷＡＬＬＳＷＩＴＣＨ１０２」の識別コンポーネント３５２と、「ＯＮ」の状態コンポーネントとを含み得る。これは、壁面スイッチに接続されているスマートボックス上で１７：１２：０２に作成されたイベントを表し、また壁面スイッチが「オフ」から「オン」にトグル式に切り替えられたことを表し得る。引き続きこの例示において、そのようなイベントを記述する発生データは、イベントレポートメッセージで、壁面スイッチに関連付けられているスマートボックスからそのブロードキャスト範囲内にあるどれかのスマートボックスにブロードキャストされ得る。フロアランプに関連付けられているスマートボックスは、以下で説明されているように、ブロードキャストされたイベントレポートメッセージを受信し、含まれている発生データを処理して学習アルゴリズムによる処理のためのイベントを生成することができる。
【００５９】
[0074]イベントパターンは、取得されるか、生成されるか、または他の何らかの形で時間ウィンドウもしくはシーケンス内で遭遇する１つまたは複数のイベントを含み得る。たとえば、特定のイベントパターンが、学習デバイス（たとえば、スマートフロアランプなど）によって内部で生成された第１のイベントと、別のデバイス（たとえば、スマート壁面スイッチなど）から受信される信号を受信したことに応答して学習デバイスによって取得された第２のイベントとを含み得る。後で説明されているように、イベントパターンは、トリガーパターン、アクションパターン、補正パターン、または報酬パターンであってよい。どのタイプかに関係なく、イベントパターンは、順序依存であるものとしてよく、したがって特定のイベントが受信される順序がパターンを構成する。代替的に、イベントパターンは順序独立であってよく、その場合、パターンは、イベントの処理順序から独立している。たとえば、第１のイベント（イベントＡと称される）は、時刻０に取得され（たとえば、受信された発生データに基づいて生成される）、第２および第３のイベント（それぞれイベントＢおよびイベントＣと称される）は、その後の時刻１に同時に取得され得る（Ａ：０、Ｂ：１、Ｃ：１と表される）。順序依存パターンでは、学習デバイスは、イベントＡが最初に取得され、イベントＢおよびＣがイベントＡの後に同時に取得される場合にのみパターンを認識し得る（Ａ：０、Ｂ：１、Ｃ：１と表される）。しかしながら、イベントＣが時刻１ではなく時刻２において取得された場合、パターン（Ａ：０、Ｂ：１、Ｃ：２）は、イベントＣが時刻１ではなく時刻２において取得されたので、パターンＡ：０、Ｂ：１、Ｃ：１に等しくなり得ない。したがって、時刻１にイベントＣを取得することによって作成される第１のパターン（Ａ：０、Ｂ：１、Ｃ：１）および時刻２にイベントＣを取得することによって作成されるパターン（Ａ：０、Ｂ：１、Ｃ：２）は、イベントＣを取得する時刻が異なるので異なる。順序独立パターンでは、学習デバイスは、取得されたイベントＡ：０、Ｂ：１、Ｃ：１を取得されたイベントＡ：０、Ｂ：１、Ｃ：２と同じように処理し得るが、それは、Ｃの時刻は、イベントＣがイベントＡおよびイベントＢと同じ所定の時間ウィンドウ内で取得される限り重要でないからである。言い換えれば、順序独立の場合、同じベントは、特定の時間ウィンドウ内で取得されるだけでよい。スマートボックスまたは学習デバイスによって観察される時間ウィンドウは、図３Ｃ〜図３Ｈを参照しつつ以下でさらに説明される。
【００６０】
[0075]いくつかの実施形態では、複数のスマートボックスまたは学習デバイスが、パターン（たとえば、トリガーパターンおよびアクションパターン）を生成し、単一のイベントに基づいてアクションを実行することができる。たとえば、ユーザは、壁面スイッチを「オフ」から「オン」にトグルし、壁面スイッチが単一の第１のイベントを生成することを引き起こすことができる。第１のイベントを生成した後、壁面スイッチは、関係するイベントレポートメッセージをワイヤレス方式ですべての付近の学習デバイスにブロードキャストし得る。第１の付近の学習デバイスは、たとえば、フロアランプであってよく、これは受信されたイベントレポートメッセージに基づいて第１のイベントを生成し、それをトリガーパターンに変換し得る。トリガーパターンに応答して、フロアランプは、アクションパターンを生成し、このアクションパターンに基づいてライトをアクティブ化することができる。同時に、付近のステレオが、同じイベントレポートメッセージを受信し、それと同時に、受信されたイベントレポートメッセージに基づいて第１のイベントを同様に生成し、それをトリガーパターンに変換し、フロアランプと異なる関連付けられているアクションパターンを生成し、異なるアクションパターンに基づいて音楽を再生することができる。したがって、この例において第１のパターンに関係する単一のブロードキャストされたイベントレポートメッセージは、フロアランプがそのライトをアクティブ化し、ステレオが音楽を再生することを引き起こした。
【００６１】
[0076]いくつかの実施形態では、複数のスマートボックスは、アクションパターンを生成し、複数の個別のイベントに関係する複数のイベントレポートメッセージを受信することに基づいて対応するアクションを実行することができる。たとえば、ユーザは、図１Ａからの壁面スイッチを「オフ」から「オン」にトグルし、壁面スイッチにおいて第１のイベントを生成する。ユーザは、スマートフロアランプのランプスイッチをオフから「オン」にトグルすることもでき、これは、スマートフロアランプがスマートフロアランプにおいて第２のイベントを生成することを引き起こす。第１および第２のイベントに関係するイベントレポートメッセージ（すなわち、それぞれ第１および第２のイベントに対する発生データを含む）は、５〜１０秒の時間ウィンドウ内でそれぞれのスマートボックスからブロードキャストされ得る。なおもその時間ウィンドウ内で、付近のスマートステレオおよびスマート電気スタンドは、第１および第２のイベントに関係する両方のイベントレポートメッセージを受信し得る。スマートステレオは、第１および第２のイベントに関係するイベントレポートメッセージを受信することに基づいてトリガーパターンと、対応するアクションパターンとを生成し得る。アクションパターン生成は、たとえば、ステレオがオンになり、音楽の再生を開始することを引き起こすことができる。それと同時に、スマート電気スタンドは、同じ２つのイベントに関係するイベントレポートメッセージを受信することに基づいてトリガーパターンと、異なるアクションパターンとを生成する。アクションパターンを生成した後、スマート電気スタンドは、たとえば、そのライトをオンにすることができる。
【００６２】
[0077]図３Ｃ〜図３Ｈは、様々な実施形態の学習デバイスがイベントのパターンを識別し、および／または補正するために時間をロールオーバーする時間ウィンドウ３６２をどのように使用するかを示している。上で説明されているように、そのような時間ウィンドウ３６２は、与えられた時刻にパターンまたはパターンの一部として識別されることに対して適格であり得るイベントに対して時間的制限を加えることができる、秒数（たとえば、５〜１０秒）などの、所定の時間量であってよい。言い換えれば、時間ウィンドウ３６２内に発生するか、またはスマートボックスによって取得されるイベント（たとえば、時間ウィンドウ３６２内に収まる図３Ｂにおいて上で説明されているような時間コンポーネント３５１を有するイベント）が組み合わされて、以下で説明されているようにアクションをトリガーし、および／またはリフレックスに対するトリガー重みを調整する際に使用するためのパターンを生成し得る。いくつかの実施形態では、スマートボックスは、取得されたイベントを、そのような取得されたイベントが所定の時間ウィンドウ３６２内にもはや収まっていないときにメモリ、バッファ、または他の記憶装置から削除するように構成され得る。
【００６３】
[0078]図３Ｃは、タイムライン３６０に対する例示的な時間ウィンドウ３６２を示している。取得されるか、または観察されたイベント３７０〜３７４（図３Ｃ〜図３ＦにおいてイベントＡ〜Ｅと称される）は、第１の時刻３８０ａおよび第２の時刻３８０ｂに関して時間ウィンドウ３６２内でスマートボックスによって遭遇されているものとしてよい。時間ウィンドウ３６２の長さは、第１の時刻３８０ａと第２の時刻３８０ｂとの間の時間の長さとすることができる。そのため、第２の時刻３８０ｂにおいて、スマートボックスは、取得されたイベント３７０〜３７４のどれかを任意の組合せまたは順序で使用して、記憶されているリフレックス内の事前定義されたパターンとマッチされ得るパターンを生成し得る。たとえば、スマートボックスは、「Ａ，Ｂ，Ｃ，Ｄ，Ｅ」、「Ａ，Ｂ，Ｃ，Ｄ，」「Ａ，Ｂ，Ｃ，」「Ａ，Ｂ」「Ａ」、「Ａ，Ｂ，Ｃ，Ｄ，Ｅ」、「Ａ，Ｃ，Ｅ」、「Ｅ，Ｃ，Ａ」、「Ａ，Ｅ，Ｃ」などの、イベントＡ〜Ｅの任意の組合せおよび／または順序を使用してパターンを生成することができる。
【００６４】
[0079]図３Ｄは、第３の時刻３８１ａと第４の時刻３８１ｂとの間の時間ウィンドウ３６２内で取得されたイベント３７１〜３７５（図３ＤにおいてイベントＢ〜Ｆと称される）を示している。たとえば、第４の時刻３８１ｂにおいて、イベント「Ａ」３７０は、もはや、時間ウィンドウ３６２内にはないが（すなわち、イベント「Ａ」３７０は、第３の時刻３８１ａよりも早い時刻に対応し得る）、イベントＢ〜Ｆ３７１〜３７５の任意の組合せは、スマートボックスに記憶されているリフレックス内の事前定義された情報とマッチし得るパターンを生成するように組み合わされ得る。いくつかの実施形態では、イベント「Ａ」３７０は、第４の時刻３８１ｂにおいてメモリ、バッファ、または他の記憶装置から削除されるか、または他の何らかの形で取り除かれ得る。
【００６５】
[0080]同様に、図３Ｅは、第５の時刻３８２ａと第６の時刻３８２ｂとの間の時間ウィンドウ３６２内でスマートボックスによって取得され得るイベント３７２〜３７６（図３ＥにおいてイベントＣ〜Ｇと称される）を示している。たとえば、第６の時刻３８２ｂにおいて、イベント「Ａ」３７０およびイベント「Ｂ」３７１は、もはや、時間ウィンドウ３６２内に入っていないが、イベントＣ〜Ｇ３７２〜３７６の任意の組合せは、スマートボックスに記憶されているリフレックス内の事前定義された情報とマッチし得るパターンを生成するように組み合わされ得る。いくつかの実施形態では、イベント「Ｂ」３７１は、第６の時刻３８２において（すなわち、時間ウィンドウ３６２の外であるとき）メモリ、バッファ、または他の記憶装置から削除されるか、または他の何らかの形で取り除かれ得る。スマートボックスは、同様の方式で時間ウィンドウ３６２をロールする（または進ませる）ことを続け、時間ウィンドウ３６２内に収まるイベントを継続的に評価し、イベントが事前定義されたパターンに対応しているかどうかを決定することができる。
【００６６】
[0081]図３Ｆ〜図３Ｈは、識別されたパターンに関する様々な他の例示的な時間ウィンドウを示している。本明細書で説明されているように、スマートボックス（または学習デバイス）は、フロアランプの「オン」イベントまたは壁面スイッチの「オン」イベントなどのイベントを識別されたトリガーまたはそのような事前定義された時間ウィンドウ内で発生する他のパターンに相関させることができる。たとえば、特定のリフレックス（たとえば、取得された壁面スイッチの「オン」イベント）のトリガーパターンの発生を検出したことに応答して、スマートボックスは、リフレックスの関係する報酬パターンまたは補正パターンもトリガーパターンから５〜１０秒の時間ウィンドウ内で発生したかどうかを決定し得る。スマートボックスは、関係するパターンにも遭遇したかどうかを決定するために識別されたパターン（たとえば、トリガーパターン）の前および／または後に取得される取得済みイベントを評価し得る。
【００６７】
[0082]図３Ｆ〜図３Ｈは、イベント「Ｄ」３７３および識別されたパターンに関連付けられている時刻３８９（図３Ｆ〜３Ｈでは「ｉｄ’ｄパターンの時刻（Ｔｉｍｅ  ｏｆ  ｉｄ’ｄ  ｐａｔｔｅｒｎ）」と称されている）からなる識別されたパターンに関する様々な時間ウィンドウ３６２ａ〜３６２ｃを示している。図３Ｆは、識別されたパターン（すなわち、イベント「Ｄ」３７３）に関連付けられている時刻３８９の前に生じる第１の期間３９２ａを含むように構成され、識別されたパターンに関連付けられている時刻３８９の後に生じる第２の期間３９２ｂに等しい第１の時間ウィンドウ３６２ａを示している。スマートボックスは、識別されたパターンに関連付けられている時刻３８９から第２の期間３９２ｂが経過した後に生じる第１の終了時刻３９０ａまでに識別されたパターンに相関され得るイベントを取得し、記憶する（またはバッファリングする）ように構成され得る。第１の期間３９２ａおよび第２の期間３９２ｂが同じ持続時間である場合に、等しい数のイベントが、潜在的に、識別されたパターンに関連付けられている時刻３８９の前および後に生じる期間３９２ａ、３９２ｂ内に取得され得る。言い換えれば、第１の時間ウィンドウ３６２ａにより、スマートボックスは、イベント「Ｂ」３７１、イベント「Ｃ」３７２、イベント「Ｅ」３７４、およびイベント「Ｆ」３７５のどれかまたはすべてをイベント「Ｄ」３７３の識別されたパターンに相関させることができるものとしてよい。別の例として、スマートボックスは、イベント「Ｄ」３７３の識別されたパターンをイベント「Ｂ」３７１とイベント「Ｆ」３７５とを含む報酬パターンなどと相関させることができる。
【００６８】
[0083]図３Ｇは、識別されたパターンに関連付けられている時刻３８９の後に生じる第４の期間３９３ｂより短い（または時間的に小さい）識別されたパターン（すなわち、イベント「Ｄ」３７３）に関連付けられている時刻３８９の前に生じる第３の期間３９３ａを含むように構成されている第２の時間ウィンドウ３６２ｂを示している。スマートボックスは、識別されたパターンに関連付けられている時刻３８９から第４の期間３９３ｂが経過した後に生じる第２の終了時刻３９０ｂまでに識別されたパターンに相関され得るイベントを取得し、記憶する（またはバッファリングする）ように構成され得る。したがって、識別されたパターンの後に生じる第４の期間３９３ｂ内で、より多くの数のイベントが潜在的に取得され得る。言い換えれば、第２の時間ウィンドウ３６２ｂにより、スマートボックスは、イベント「Ｃ」３７２、イベント「Ｅ」３７４、イベント「Ｆ」３７５、およびイベント「Ｇ」３７６のどれかまたはすべてをイベント「Ｄ」３７３の識別されたパターンに相関させることができるものとしてよい。たとえば、スマートボックスは、イベント「Ｄ」３７３の識別されたパターンをイベント「Ｃ」３７２と、イベント「Ｅ」３７４と、イベント「Ｇ」３７６を含む補正パターンなどと相関させることができる。
【００６９】
[0084]図３Ｈは、識別されたパターンに関連付けられている時刻３８９の後に生じる第６の期間３９４ｂより長い（または時間的に大きい）識別されたパターン（すなわち、イベント「Ｄ」３７３）に関連付けられている時刻３８９の前に生じる第５の期間３９４ａを含むように構成されている第３の時間ウィンドウ３６２ｃを示している。スマートボックスは、識別されたパターンに関連付けられている時刻３８９から第６の期間３９４ｂが経過した後に生じる第３の終了時刻３９０ｃまでに識別されたパターンに相関され得るイベントを取得し、記憶する（またはバッファリングする）ように構成され得る。したがって、識別されたパターンの前に生じる第５の期間３９４ａ内で、より多くの数のイベントが潜在的に取得され、記憶され得る。言い換えれば、第３の時間ウィンドウ３６２ｃにより、スマートボックスは、イベント「Ａ」３７０、イベント「Ｂ」３７１、イベント「Ｃ」３７２、およびイベント「Ｅ」３７４のどれかまたはすべてをイベント「Ｄ」３７３の識別されたパターンに相関させることができるものとしてよい。たとえば、スマートボックスは、イベント「Ｄ」３７３の識別されたパターンをイベント「Ｃ」３７２と、イベント「Ｅ」３７４とを含む補正パターンなどと相関させることができる。
【００７０】
[0085]上で説明されているように、リフレックスは、スマートボックスが関連付けられているトリガーを検出したことに応答して実行するか、または開始することができる事前定義されたアクションを示す記憶されている情報であるものとしてよい。図４に示されているように、４つのパターンは、リフレックス４００、特にトリガーパターン４０２と、アクションパターン４０４と、報酬パターン４０６と、補正パターン４０８とを構成し得る。パターンは、１つまたは複数のイベントを含み、イベントは、データに関連付けられ得る。しかしながら、いくつかの実施形態では、パターンは、１ビット信号に関係付けられ得る（たとえば、割り込み信号線がＨｉｇｈレベルになる）。たとえば、１ビット信号は、報酬パターンに変換され、スマートボックスの論理イベントバス上に出され得る報酬信号であるものとしてよい。割り込みセンサーは一種のセンサーエンコーダであってよいので、そのような１ビット信号報酬パターンは、センサーエンコーダ経路を、上で説明されているように取り得る。他のパターンタイプ（たとえば、アクション、トリガーなど）は、単純な信号（たとえば、１ビット信号または割り込み）によっても定義され得る。
【００７１】
[0086]スマートボックスが知られているリフレックスの知られているトリガーパターンとマッチするイベント（または複数のイベント）を取得したときに、スマートボックスは、対応するアクションパターン４０４を生成し得る。リフレックスは、所定の報酬パターンおよび所定の補正パターンを有することができる。スマートボックスが、学習を許されたときに報酬パターンを受け取った場合、スマートボックスは、トリガーパターン４０２とアクションパターン４０４との間の関連付けに対する重み付け（すなわち、トリガー重み）を増加させ得る。関連付け重み付けが、閾値量を超えると、スマートボックスは、トリガーパターンに応答してアクションパターンを実行し得る。同様に、リフレックス４００は、所定の補正パターン４０８を有することができ、スマートボックスが、学習を許されたときに補正パターンを受け取った場合、スマートボックスは、トリガーパターン４０２とアクションパターン４０４との間の関連付け重み付けを減少させ得る。補正パターン４０８の処理で、関連付け重み付けの修正を、関連付け重み付けが閾値量よりも低くなり得、スマートボックスが事実上トリガーパターン４０２に応答してアクションパターン４０４を実行しないことを学習する十分な回数だけ行うことができる。この仕方で、スマートボックスは、トリガーパターン４０２と対応するアクションパターン４０４との間の関連付けを学習し、望ましくないトリガー／アクション関連付けを学習解除することができる。様々な実施形態において、補正パターン４０８および／または報酬パターン４０６は、アクションを実行すること、入力を受信することなどに応答してイベントレポートメッセージを発行する付近のデバイスなどの別のスマートボックスデバイスからスマートボックスによって受信されたデータに基づいて取得され得る。
【００７２】
[0087]いくつかの実施形態では、スマートボックスのリフレックス４００の事前定義されたアクションパターン４０４をトリガーパターンに関連付けるために、スマートボックスに対する「学習を許された」状態（または学習モード）を有効化する方法が使用され得る。そのような学習モードは、スマートボックスがリフレックス４００のトリガー重みを変更することを可能にされ得る間のスマートボックスの動作状態であるものとしてよい。取得されたパターンが知られているリフレックス４００のトリガーパターン４０２にマッチした後、リフレックスは学習モードに入り得る。他の実施形態では、スマートボックスは、アクションパターン４０４が生成されるときに学習モードに入り得る。他の実施形態では、スマートボックスは、大域的学習モードまたは状態に入り、これはトリガー（たとえば、学習スイッチをオンにする）から独立しているものとしてよく、またそのときに、スマートボックスは様々なリフレックスに対するトリガー重みを変更するか、または他の何らかの形で、取得されたイベントに基づいて新しいリフレックスを生成することができる。様々な実施形態において、リフレックス４００は、リフレックス４００がアクティブな監視モード、トリガーされたモード、学習モードなどに入っているかどうかを示すビット、フラグ、または他のインジケータなどの、様々なモードのステータスを示すデータを含み得る。
【００７３】
[0088]スマートボックスは、スマートボックスの所定の知られている能力に対するアクションパターンを有する１つまたは複数のリフレックスとともに構成され得る。スマートボックスは、複数のリフレックスを異なる対応するアクションとともに利用することができるけれども、いくつかの実施形態では、スマートボックスは、製造業者によって提供されるデータにおいて示されるアクションパターンなどの、スマートボックスの知られている能力またはアクションの静的セットの外部のアクションを実行するように構成されないことができる。そのため、スマートボックスは、知られているアクションに相関する知られていないトリガーを有する新しいリフレックスを生成するように構成され得るが、事前定義されていないアクションを有する新しいリフレックスを生成するように構成されないことかできる。
【００７４】
[0089]例示として、ステレオ学習デバイス（または学習デバイスまたはスマートボックスに結合されているステレオ）は、音量レベルを音量レベル値の有限の範囲（たとえば、０〜１０など）内の値に設定する、ラジオ（またはラジオチューナー）を「オン」にアクティブ化する、ラジオ（またはラジオチューナー）を非アクティブ化する、ラジオ放送局をラジオ放送局の値の有限の範囲（たとえば、８８．１〜１２１．９など）内の値に設定する、周波数変調（ＦＭ）構成または振幅変調（ＡＭ）構成を設定するなどの所定のアクションとともに構成され得る。ステレオ学習デバイスは、様々なトリガーパターンを有するこれらの所定のアクションの各々に対するリフレックスを記憶することができる。たとえば、ステレオ学習デバイスは、ラジオ放送局を第１の値（たとえば、９２．３ＦＭ）に設定するアクションパターンとランプ「オン」イベントのトリガーパターンとを有する第１のリフレックス、ラジオ放送局を第２の値（たとえば、１０１．５ＦＭ）に設定するアクションパターンと壁面スイッチ「オン」イベントのトリガーパターンとを有する第２のリフレックス、音量レベルを８に設定するアクションパターンとランプ「オン」イベントのトリガーパターンとを有する第３のリフレックス、などを記憶することができる。
【００７５】
[0090]パターンは、センサー（たとえば、光センサー、スイッチ視覚センサーなど）によって取得された発生データに基づいて生成されるイベントおよび／または信号受信機１４２によって受信された発生データに基づいて生成される１つまたは複数のイベントなどの、スマートボックスで取得される１つまたは複数のイベント（たとえば、時間コンポーネント、デバイスコンポーネント、など）から作成され得る。イベントは、メモリ１３８内に記憶され、パターンを作成または認識するためにイベントレコーダー２０６によって使用され得る。パターンを作成または認識するためにイベントを評価する前に、フィルタがイベントに適用され、これにより、考慮され得るイベントのセットを縮小することができる。たとえば、フロアランプのスマートボックスは、ステレオからのイベントレポートメッセージに関係するイベントを無視することができる。代替的な一例として、ステレオは、午後１１時などの、ある時刻以降に取得されるか、または生成されたイベントを無視することができる。スマートボックスが、イベントのパターンを生成した後、これは、そのパターンが記憶されているリフレックスに対応する知られているトリガーパターンとマッチするかどうかを決定することができる。
【００７６】
[0091]識別されたパターンがリフレックス内の記憶されているトリガーパターンとマッチし、関係するトリガー重みが特定の閾値に等しいか、またはそれ以上である場合に、対にされたアクションパターンが生成され得る。特定のリフレックス（Ｒｅｆｌｅｘi）に対する現在のトリガー重み（Ｗi）は、次の式に基づいて計算され得る。
【００７７】
【数１】
0006352402.tif 000002
【００７８】
[0092]ただし、ｉは、リフレックスカウンターまたは識別子であり、ｎは、リフレックスのトリガーパターンに関連付けられているイベントの数であり、ｋは、リフレックスのトリガーパターン内の個別のイベントに対するカウンターを識別し、ｍは、リフレックスのトリガーパターン内の個別のイベントに対するイベントマッチインジケータであり、ｘは、リフレックスのトリガーパターン内の個別のイベントに関連付けられているマッチ重みであり、ｓは、リフレックスのトリガーパターン内の個別のイベントに適用されるスケール係数であり、ｂは、リフレックスのトリガーパターン内の個別のイベントに適用される重みマッチ全体に対するバイアスである。したがって、Ｒｅｆｌｅｘiの現在のトリガー重みＷiは、イベントマッチ（ｍ）にマッチ重み（ｘ）とスケール係数（ｓ）とを掛けて取った総和にＲｅｆｌｅｘiに関連付けられているトリガーパターンにおけるバイアスｂを加えたものに等しい。いくつかの実施形態では、マッチ重み（ｘ）は、それぞれのイベントに関連付けられている利得によって調整されるものとしてよく、本開示で説明されているように、利得は、学習デバイスが臨界期間内にあるか、または定常状態期間内にあるかに基づいて設定され得る。いくつかの実施形態では、スマートボックスは、値を０．０から１．０の範囲内に正規化する。さらに、いくつかの実施形態では、イベント（ｍ）に対するイベントマッチインジケータは、イベントが完全にマッチしたかしていないかを示し得る０．０と１．０との間で流動的な値であり得る。（すなわち、１．０のイベントマッチ値は、完全マッチを表し、０．０のイベントマッチは、完全なミスマッチを示し得る）。
【００７９】
[0093]例示として、単一のイベントの識別されたパターンが特定のリフレックス（Ｒｅｆｌｅｘi）に対する知られているトリガーパターンとマッチする場合に、単一のイベントに対するイベントマッチインジケータ（ｍ）は、１に設定され得る。単一のイベントに対するマッチ重み（ｘ）が関連付けられている利得値に基づいて１に設定され、スケール係数（ｓ）も１に設定され、Ｒｅｆｌｅｘiに対するバイアス（ｂ）は０に設定されていると仮定すると、Ｒｅｆｌｅｘiに対する新しい、または現在のトリガー重みＷiは１に等しいものとしてよい。同じパターンが再び受信された場合、マッチ重み（ｘ）は、リフレックスに関連付けられている現在の利得によって調整され、その結果、トリガー重み閾値よりも大きくなり得るその後の新しいトリガー重み（Ｗi）の増加が生じ得る。したがって、新しいトリガー重み（Ｗi）は、増減し得る。たとえば、２度目も同じトリガーパターンを受信することは、ｍk,iが１に設定され、ｘk,iが１．５に調整され、ｓk,iが１に設定され、ｂiが０に設定されていると仮定してトリガー重み（Ｗi）を１．５に増加させ得る。同じ条件の下で、識別されたパターンが、知られているトリガーパターンとマッチしない場合、ｍは、０に等しくなり、その結果、新しいトリガー重みＷiも０に等しくなり得る。
【００８０】
[0094]追加の例示として、ステレオ（たとえば、図１Ａにおいて上で説明されているようなステレオ１０６）は、様々なリフレックスを記憶し、利用することができるスマートボックスを備えるか、またはこれに結合され得る。特に、ステレオは（そのスマートボックスを介して）、付近のシーリングライトからの「オン」信号に関係する第１のイベントと、付近のリクライナー内の人感センサー（たとえば、圧力センサー、モーションセンサーなど）からの信号に関係する第２のイベントとを含むトリガーパターンを有する第１のリフレックス（Ｒi）を記憶し得る。たとえば、第１のイベントは、アクティブ化されたときにシーリングライト（またはシーティングライトに結合されているスマートボックス）によって送信された信号に対応するものとしてよく、第２のイベントは、リクライナーに人が座っているときにリクライナー（またはリクライナーに結合されているスマートボックス）によって送信された信号に対応するものとしてよい。第１のリフレックスは、ステレオがトリガーパターンの発生を検出したことに応答してステレオがオンになることを引き起こし得るアクションパターンも含み得る（すなわち、シーティングライトとリクライナーイベントの両方）。言い換えれば、第１のリフレックスに基づいて、ステレオは、シーリングライトがオンにされ、誰かが事前定義された時間ウィンドウ（たとえば、５〜１０秒など）内でリクライナーに座ったことに応答してラジオをアクティブ化し、音楽を再生することができる。
【００８１】
[0095]次の表は、ステレオの第１のリフレックス（つまり、Ｒi）に関する式の例示的な特性を示している。次の例および表の目的に関して、第１のリフレックスのアクションパターン（すなわち、ステレオをオンにして、音楽を再生する）は、第１のリフレックス（すなわち、Ｗi）のトリガー重みが１．５のトリガー閾値以上であるときにトリガーされるものとしてよく、この条件はステレオが第１のイベントおよび第２のイベントの少なくとも一方を受信したことに応答して発生し得る。第１のイベントは、イベントｋ＝０であり、第２のイベントは、ｋ＝１であるものとしてよい。さらに、様々イベント（ｍn,i）に対するマッチインジケータを除き、製造業者、開発者、またはユーザによって設定されるような、次の特性における様々な値は、事前定義され得ることは理解されるであろう。たとえば、イベントに対するマッチ重みは、製造業者によって設定され得るか、またはスマートボックスにおいて遭遇した以前のイベントに基づくものとしてよい。
【００８２】
【表１】
0006352402.tif 000003
【００８３】
[0096]上の表Ａの例示的な特性に示されているように、一シナリオにおいて、第１のイベント（すなわち、ｋ＝０）のみがステレオによって受信され得る。したがって、ステレオのスマートボックスは、第１のイベント（ｍ０，ｉ）に対するイベントマッチインジケータを１．０に（すなわち、第１のイベントに対してマッチがある）、第２のイベント（ｍ１，ｉ）に対するイベントマッチインジケータを０．０に（すなわち、第２のイベントに対してマッチがない）設定することができる。第１のリフレックスのトリガー重みは、各イベントに対する部分重み計算結果を総和することによって計算されるものとしてよく、それにより、第１のイベントの部分重みは、１．０と計算される。言い換えれば、（ｍ０，ｉ＊ｘ０，ｉ＊ｓ０，ｉ）＋ｂｉ＝（１．０＊１．０＊１．０）＋０．０＝１．０である。第２のイベントはないので、第２のイベント（ｍ１，ｉ）に対するイベントマッチインジケータは０．０であり、したがって、第２のベントに対する部分重み計算結果は０．０となり得る。言い換えれば、（ｍ１，ｉ＊ｘ１，ｉ＊ｓ１，ｉ）＋ｂｉ＝（０．０＊１．０＊１．０）＋０．０＝０．０である。したがって、第１のリフレックス（Ｗｉ）のトリガー重み合計は、１．０（すなわち、１．０＋０．０）であり、これは１．５のトリガー閾値よりも小さい。したがって、第１のイベントのみが受信された場合、第１のリフレックスのアクションパターンはトリガーされないことができる（たとえば、ステレオはラジオをアクティブ化しないことができる）。
【００８４】
【表２】
0006352402.tif 000004
【００８５】
[0097]上の表Ｂの例示的な特性に示されているように、別のシナリオにおいて、第１のイベント（すなわち、ｋ＝０）および第２のイベント（すなわち、ｋ＝１）の両方がステレオによって受信され得る。したがって、スマートボックスは、第１のイベント（ｍ0,i）に対するイベントマッチインジケータを１．０に（すなわち、第１のイベントに対してマッチがある）、第２のイベント（ｍ1,i）に対するイベントマッチインジケータを非ゼロの値に設定することができる。しかしながら、いくつかの場合において、第２のイベントは、正確にマッチされないことがあり得、そのため、第２のイベント（ｍ1,i）に対するマッチインジケータは、０．８に設定され得る（すなわち、第２のイベントに対して少なくとも部分的なマッチがある）。第２のイベント（ｍ1,i）に対するイベントマッチインジケータに対する０．８の値は、第２のイベントマッチが、値を０．０から１．０までの範囲に正規化するシステムに対する不完全なマッチであったことを示すものとしてよく、１．０は、イベントマッチ値に対する完全なマッチを表す。
【００８６】
[0098]上で説明されているように、トリガー重み（Ｗi）は、各イベントに対する部分重み計算結果を総和することによって計算されるものとしてよく、それにより、第１のイベントの部分重みは、１．０と計算される。言い換えれば、（ｍ0,i＊ｘ0,i＊ｓ0,i）＋ｂi＝（１．０＊１．０＊１．０）＋０．０＝１．０である。さらに、第２のイベントの部分重みは、０．８と計算される。言い換えれば、（ｍ1,i＊ｘ1,i＊ｓ1,i）＋ｂi＝（０．８＊１．０＊１．０）＋０．０＝０．８である。したがって、第１のリフレックス（Ｗi）のトリガー重み合計は、１．８（すなわち、１．０＋０．８）であり、これは１．５のトリガー閾値よりも大きい。そのため、第１のイベントと第２のイベントの両方がスマートボックスで取得される場合、第１のリフレックスのアクションパターンが生成され、これはアクションが実行されることを引き起こし得る（たとえば、ステレオがそのラジオをアクティブ化し、音楽を再生し得る、など）。いくつかの実施形態では、第１のリフレックスのアクションパターンが生成され、これはトリガー閾値（たとえば、１．５）以上の第１のリフレックス（Ｗi）のトリガー重み合計の計算に応答してアクションが実行されることを引き起こし得る。
【００８７】
【表３】
0006352402.tif 000005
【００８８】
[0099]いくつかの実施形態では、様々なイベントに対するマッチ重みに基づいて、スマートボックスは、単一のイベントを取得したことに応答してアクションを実行するように構成され得る。たとえば、ステレオのスマートボックスは、誰かがリクライナーに座っていることを示す信号を受信したことのみに応答してそのラジオ機能をアクティブ化するように構成され得る（すなわち、アクションパターンは、リクライナーに関連付けられている人感センサーのイベントによってトリガーされ得る）。上の表Ｃの例示的な特性に示されているように、第１のイベントは取得されず（すなわち、ｍ０，ｉ＝０．０）、第２のイベントは取得され（すなわち、ｍ１，ｉ＝０．８）、第２のイベント（ｘ１，ｉ）に対するマッチ重みは２．０の値に設定され得る。第２のイベントに対するマッチ重みが高いので、ステレオのラジオは、第２のイベントのみがステレオにおいて取得されたときにアクティブ化され得る。言い換えれば、第１のリフレックスに対するトリガー重みは、第２のイベントを取得することにのみ基づいて１．５よりも大きいものとしてよい（すなわち、（（ｍ０，ｉ＊ｘ０，ｉ＊ｓ０，ｉ）＋（ｍ１，ｉ＊ｘ１，ｉ＊ｓ１，ｉ））＋ｂｉ＝（（０．０＊１．０＊１．０）＋（０．８＊２．０＊１．０））＋０．０＝１．６）。
【００８９】
【表４】
0006352402.tif 000006
【００９０】
[0100]いくつかの実施形態では、ノイズの多いＲＦ環境などにおいて、不完全なイベントマッチングがあり得そうなときに、スケール係数は、マッチングが低い可能性があるとしてもリフレックスがトリガーされるように調整され得る。たとえば、上の表Ｄに示されているように、マッチングインジケータが理想値より低い（たとえば、１．０未満、０．８未満など）ときであっても、１．５の閾値より高いトリガー重みを可能にするために、第１のイベント（ｓ０，ｉ）に対するスケール係数および第２のイベント（ｓ１，ｉ）に対するスケール係数は２．０の値に増加され得る。言い換えれば、理想値より低いマッチングインジケータ（たとえば、それぞれ０．７および０．６）を有する第１のイベントと第２のイベントの両方を受信し、第１のリフレックスに対する２．６のトリガー重みを計算したことに応答して、ステレオはそのラジオをアクティブ化して、音楽を再生することができる（すなわち、（（ｍ０，ｉ＊ｘ０，ｉ＊ｓ０，ｉ）＋（ｍ１，ｉ＊ｘ１，ｉ＊ｓ１，ｉ））＋ｂｉ＝（（０．７＊１．０＊２．０）＋（０．６＊１．０＊２．０））＋０．０＝２．６）。
【００９１】
【表５】
0006352402.tif 000007
【００９２】
[0101]いくつかの実施形態では、スマートボックスが単一のイベントを取得したことに応答してアクションパターンがトリガーされることを引き起こすためにトリガー重み計算結果に対するバイアス値が調整され得る。たとえば、上の表Ｅに示されているように、バイアス（ｂi）は、１．０に設定されるものとしてよく、これは、第１のイベントまたは第２のイベントのいずれかがステレオが第１のリフレックスを介してそのラジオをアクティブ化することを個別に引き起こすことを許す。言い換えれば、アクションパターンは、第２のイベントのみが取得されたときに（すなわち、（（ｍ0,i＊ｘ0,i＊ｓ0,i）＋（ｍ1,i＊ｘ1,i＊ｓ1,i））＋ｂi＝（（０．０＊１．０＊１．０）＋（０．８＊１．０＊１．０））＋１．０＝１．８）または第１のイベントのみが取得されたときに（すなわち、（（ｍ0,i＊ｘ0,i＊ｓ0,i）＋（ｍ1,i＊ｘ1,i＊ｓ1,i））＋ｂi＝（（０．９＊１．０＊１．０）＋（０．０＊１．０＊１．０））＋１．０＝１．９）．トリガーされ得る。
【００９３】
[0102]図５〜図７は、イベント（アクションを含む）がフレックスにおいてパターンとしてどのように認識（または識別）され得るかを示すタイムライン図である。これらのタイムラインの説明において、壁面スイッチおよびフロアランプは、それらのデバイスに関連付けられているスマートボックスに対する簡略表記として参照されている。さらに、壁面スイッチおよびフロアランプは、スマートボックスに結合され得るタイプのデバイスの説明に役立つ例として使用される。したがって、壁面スイッチおよびフロアランプへの参照は、いかなる形でも請求項の範囲を制限することを意図されていない。
【００９４】
[0103]図５は、送信機５１０（たとえば、壁面スイッチ）と受信機（たとえば、ランプ）との間の送信の時間を示すリフレックスに対応するイベント送信のタイムライン図５００である。これらのイベント送信（またはイベントレポートメッセージ）は、受信機がイベントを生成するのを助け得る発生データを含みことができる。タイムライン図は、受信機がモニターモード５０６に入っている状態で時刻０（または図５に示されているようにｔ＝「ｔ０」）から始まり、受信機が時刻「ｔＲｅｓｕｍｅＭｏｎｉｔｏｒ」（またはｔ＝「ｔＲｅｓｕｍｅＭｏｎｉｔｏｒ」）でモニターモード５０６に戻ったときに終了する。いくつかの実施形態では、図５００内の送信機５１０は、フロアランプによって受信され得る、イベントの発生データをブロードキャストする壁面スイッチであってよい。フロアランプは、モニターモード５０６またはトリガーモード５０８のいずれかとしてよい、各記憶されているリフレックスに関連付けられている受信機状態５１１を有し得る。フロアランプに関連付けられている各リフレックスの既定状態は、モニターモード５０６であってよい。フロアランプは、イベントを他のスマートボックスコンポーネントに転送し得る、イベントバス２１４（典型的にはそのスマートボックス内の）も有することができる。
【００９５】
[0104]例示を目的として、時刻ｔ＝ｔ０において、フロアランプは、すべてのリフレックスに関してモニターモード５０６に入っていると考えられ得る。フロアランプは、その信号受信機１４２などを介してイベントレポートメッセージ５０２を受信することができる。たとえば、ユーザは、壁面スイッチを「オフ」から「オン」にトグルすることができる。それに応答して、壁面スイッチは、センサーエンコーダ１３４（図２に示されている）によりそのトグルをイベントとして記録することができる。壁面スイッチは、壁面スイッチの信号送信機１３６を通じて新しいイベントに関係する発生データを有するイベントレポートメッセージ５０２を送信し得る。イベントレポートメッセージ５０２は、フロアランプなどの、他のスマートボックスによって受信され得る。
【００９６】
[0105]ｔ＝ｔＴｒｉｇｇｅｒにおいて、イベントレポートメッセージ５０２がフロアランプによって受信され得る。フロアランプは、イベントレポートメッセージ５０２に基づいて生成されたイベントがリフレックスのトリガーパターンとマッチすると決定し、マッチしたリフレックスに関してトリガーモード５０８に入り得る。トリガーモード５０８において、フロアランプは、他のイベントの探索を続け、学習または学習解除をそれぞれ可能にするために報酬および／または補正パターンが存在するかどうかを決定し得る。
【００９７】
[0106]ｔ＝ｔＲｅｓｐｏｎｓｅにおいて、フロアランプは、マッチするリフレックスのアクションパターンに関連付けられているイベント５１４を生成することができ、これはモーター駆動装置１４０をアクティブ化して、フロアランプ（図１Ｂおよび図１Ｃに示されている）のライト１２４をオンにすることなどのアクションを引き起こし得る。イベント５１４は、フロアランプのイベントバス２１４上に出され、最終的にパターンに変換され、メモリ１３８に記憶され得る。いくつかの実施形態では、生成されたアクションパターンは、追加のアクションパターンに対するトリガーパターンであってもよい。たとえば、フロアランプをオンにすることは、ステレオをオンにするためのトリガーパターンであってもよい。言い換えれば、複数の学習デバイスがデージーチェーンでつながれ、これにより、トリガーパターンおよびアクションパターンが生成されることを可能にし、対応するデータをデバイスからデバイスへと送信することができる。
【００９８】
[0107]ｔ＝ｔＲｅｓｕｍｅＭｏｎｉｔｏｒにおいて、フロアランプは、トリガーモード５０８を抜けて、モニターモード５０６に再入し、そこで、フロアランプは、新しいイベントレポートメッセージを探索し、受信することができる。
【００９９】
[0108]図５が示しているように、フロアランプは、単一のリフレックスに関して単一のトリガーモードに入ることができる。いくつかの実施形態では、フロアランプは、複数のリフレックスをメモリに記憶しておき、重なり合う時間間隔で複数のイベントを取得（または生成）することができる。フロアランプが、結果として複数のトリガーパターンを引き起こす複数のイベントを取得すると仮定すると、フロアランプは、同時トリガーモードに入り得る。各トリガーモードは、異なるリフレックスに対応し得る。たとえば、フロアランプは、壁面スイッチからＥｖｅｎｔＡに関係するイベントレポートメッセージを、ステレオからＥｖｅｎｔＢに関係するイベントレポートメッセージを同時に受信することができる。ＥｖｅｎｔＡは、フロアランプのメモリに記憶されている第１のリフレックスからのトリガーパターンに対応し得る。それに応答して、フロアランプは、第１のリフレックスＲｅｆｌｅｘＡに関してトリガーモードに入ることができる。ＥｖｅｎｔＢは、異なるリフレックスＲｅｆｌｅｘＢの異なるトリガーパターンに対応し得る。したがって、フロアランプは、ＲｅｆｌｅｘＢに関して第２のトリガーモードに同時に入り得る。各トリガーモードは、図５に示されているように表され得るが、フロアランプは、各イベントと、リフレックスと、トリガーモードとを独立して処理することができる。
【０１００】
[0109]フロアランプは、異なる時刻に異なるリフレックスに対するトリガーパターンのイベントを生成することができ、これは、フロアランプが一方のトリガーに関して他のリフレックスに対する他方のトリガーモードと異なる時刻にトリガーモードに入ることを引き起こし得る。各リフレックスのトリガーモードが同じ時間期間（たとえば、５秒）に重なると仮定すると、フロアランプは、第１のリフレックスに関してトリガーモードを終了するが、第２のリフレックスに関してはトリガーモードに留まり得る。最終的に、イベントフロアランプは、各リフレックスに関してトリガーモードを終了し、各リフレックスに関してモニターモードに戻り得る。
【０１０１】
[0110]図６は、新しいリフレックスを作成する学習タイムラインを示すタイムライン図６００である。図６００は、知られているリフレックス（「ＲｅｆｌｅｘＦ１」または「Ｆ１」と称される）が新しいリフレックス（「ＲｅｆｌｅｘＦ２」または「Ｆ２」と称される）を作成するためにどのように使用され得るかを示している。図６００は、新しい壁面スイッチと、ランプスイッチと、フロアランプとを含む。フロアランプは、知られているＲｅｆｌｅｘＦ１を有し、これはモニターモード６０６とトリガーモード６０８とを含む状態６１８を有する。ＲｅｆｌｅｘＦ２は知られておらず、このタイムライン６０１上で最終的に作成される。タイムライン６０１は、時刻０（「ｔ＝ｔ０」）に開始し、時刻「ＲｅｓｕｍｅＭｏｎｉｔｏｒ」（ｔ＝「ｔＲｅｓｕｍｅＭｏｎｉｔｏｒ」）に終了する。
【０１０２】
[0111]ｔ＝ｔ０において、フロアランプは、ＲｅｆｌｅｘＦ１に関してモニターモード６０６で開始し得る。ＲｅｆｌｅｘＦ１は、トリガーパターン（ＭＤ２と称される）と、アクションパターン（ＭＤ３と称される）と、報酬パターン（ＭＤ４と称される）と、補正パターン（ＭＤ５と称される）とを含み得る。フロアランプは、ＲｅｆｌｅｘＦ１（ＭＤ２）のトリガーパターンとマッチするパターンに対する生成されたイベントを監視し得る。
【０１０３】
[0112]ｔ＝ｔＭｄ１−ｏｎにおいて、新しい壁面スイッチが「オフ」から「オン」に切り替えられ、これにより、イベントを生成し、関係する発生データ（「発生データ１」と称される）がフロアランプによって受信されたイベントレポートメッセージで壁面スイッチによってブロードキャストされることを引き起こし得る。新しい壁面スイッチからのイベントレポートメッセージからの発生データは、１つまたは複数のイベントと組み合わされ得るか、またはパターン（「ＭＤ１」）を作成するために個別に使用され得るイベントを生成するためにフロアランプによって使用され得る。
【０１０４】
[0113]ｔ＝ｔＭｄ１−ｄｏｎｅにおいて、フロアランプは、「発生データ１」を含むイベントメッセージを受信し、関係するイベントを生成し、それを（およびメモリに記憶されている可能な他のイベントを）パターン「ＭＤ１」として知られているパターンに変換し得る。このときに、フロアランプは、パターンＭＤ１をイベントバス上に出して、さらに処理するか、またはメモリに一時的に記憶することができる。フロアランプは、パターンＭＤ１がフロアランプの知られているリフレックスの知られているトリガーパターンと一致していないと決定し、そこで、モニターモード６０６で動作し続けることができる。
【０１０５】
[0114]ｔ＝ｔＭｄ２−ｏｎにおいて、ランプスイッチは、「オフ」から「オン」にされ、それに応答して、フロアランプが、状態変化に関係する発生データ（「発生データ２」と称される）に基づいてイベントを生成し得る。それと同時に、フロアランプは、「発生データ２」から生成されたイベントをパターンＭＤ２としてまとめて処理される他のイベントと組み合わせて、パターンＭＤ２をイベントバス上に出して、メモリに一時的に記憶し得る。
【０１０６】
[0115]ｔ＝ｔＴｒｉｇｇｅｒにおいて、フロアランプは、パターンＭＤ２とＲｅｆｌｅｘＦ１のトリガーパターンとのマッチングを行うことができる。次いで、フロアランプは、パターンＭＤ２がＲｅｆｌｅｘＦ１のトリガーパターンとマッチするので、ＲｅｆｌｅｘＦ１に対するトリガーモード６０８に入ることができる。いくつかの実施形態では、フロアランプは、内部送信を完了し、ｔ＝ｔＴｒｉｇｇｅｒにおいて「発生データ２」から生成されたイベントをパターンＭＤ２に変換し得る。
【０１０７】
[0116]ｔ＝ｔＡｃｔｉｏｎにおいて、フロアランプは、イベントバス上に配置されるか、またはフロアランプのメモリに記憶されるＲｅｆｌｅｘＦ１（ＭＤ２）に対する知られているトリガーパターンに関連付けられているＲｅｆｌｅｘＦ１（ＭＤ３）に対するアクションパターンを生成し得る。パターンＭＤ３の生成は、フロアランプに接続されているモーター駆動装置がライトをオンにすることを引き起こし得る。
【０１０８】
[0117]ｔ＝ｔＮｅｗＲｅｆｌｅｘにおいて、パターンＭＤ１とマッチするトリガーパターンを有する既存のリフレックスがないので、新しいリフレックス（「ＲｅｆｌｅｘＦ２」または「Ｆ２」と称される）が作成される。ただ１つの知られているトリガーパターンは、ＲｅｆｌｅｘＦ１に関連付けられているＭＤ２である。ＲｅｆｌｅｘＦ２を作成する際に、フロアランプは、ＲｅｆｌｅｘＦ１に関連付けられているアクションパターンと、報酬パターンと、補正パターンとを新しいリフレックスにコピーし、タイムライン６０１上で受信されたパターン（ＭＤ１）をそのトリガーパターンとして新しいリフレックスに割り当て得る。コピーされるパターンに関連付けられている重みは、新しいリフレックスにコピーされるときに調整され得る。したがって、新しいリフレックス（ＲｅｆｌｅｘＦ２）は、パターンＭＤ１に等しく、新しい壁面スイッチから受信された発生データ（「発生データ１」）に関係するトリガーパターンと、フロアランプをオンにすることに関連付けられているパターンＭＤ３に等しいアクションパターンと、パターンＭＤ４に等しい報酬パターンと、パターンＭＤ５に等しい補正パターンとを有することができる。いくつかの実施形態では、フロアランプが、複数のアクションを実行し（たとえば、オンにする、オフにする、など）、それにより、少なくとも２つのリフレックス（すなわち、アクションごとに少なくとも１つのリフレックス）を利用するように構成され得るときに、未知のパターン検出したことに応答して作成される新しいリフレックスは、そのトリガーモードにおいて既存のリフレックスからコピーされ得る。言い換えれば、新しいリフレックスを作成するときにどの既存のリフレックスからコピーするかを決定するために、フロアランプは、トリガーモードにおいてイベント（またはイベントのパターン）をリフレックスの知られているアクションに相関させるオペレーションを実行し得る（すなわち、新しいリフレックスに対するパターンが、知られていないパターン／イベントの時間ウィンドウ内でアクションパターンに遭遇する既存のリフレックスからコピーされ得る）。図１１は、スマートボックスが新しいリフレックスを追加するためのオペレーションを含む一実施形態の方法を示している。
【０１０９】
[0118]ｔ＝ｔＲｅｗａｒｄにおいて、別のコンポーネントが、ＲｅｆｌｅｘＦ１に対する報酬パターンとして知られているパターンＭＤ４などの報酬パターンとマッチするイベントを生成し得る。たとえば、モーター駆動装置は、フロアランプのライトがオンになるときにパターンＭＤ４に等しいイベントを生成することができる（図１Ｂ〜図１Ｃに示されている）。モーター駆動装置は、パターンＭＤ４をイベントレコーダーに送信し得る。パターンＭＤ４は、ＲｅｆｌｅｘＦ１の報酬パターン（および新規作成されたＲｅｆｌｅｘＦ２）とマッチするので、ＲｅｆｌｅｘＦ１に関連付けられているトリガー重みは、ＲｅｆｌｅｘＦ１がトリガーモード６０８に入るときに増加され得る。いくつかの実施形態では、報酬パターンは、フロアランプのライトがオンになる限りパターンＭＤ４に等しい報酬パターンが常に生成され、トリガー重みが増加し得るように自己生成パターンであってよい。
【０１１０】
[0119]学習有効モードにおいて、報酬パターン（ＭＤ４）がマッチした場合、報酬利得が適用され得る（たとえば、トリガー重みを蔵させる、など）。いくつかの実施形態では、マッチ重み（上で説明されているようにｘ）は、典型的には、学習有効モードに入っている間に修正されるけれども、式の中のパラメータまたは値は、学習有効モードに入っている間に調整され得る。言い換えれば、リフレックスのトリガー重みを増減することは、トリガー重みの式の中のパラメータを調整することを含み得る。
【０１１１】
[0120]しかし、補正パターン（ＭＤ５）がマッチした場合、補正利得が適用され得る（たとえば、トリガー重みを減少させる）。いくつかの実施形態では、報酬パターンまたは補正パターンは、入力、または応答が望ましいものであった（または望ましくなかった）というフィードバックを返すためにユーザがアクティブ化し得るボタンなどの、追加の発生によって生成され得る。たとえば、フロアランプがそのライトをオンにした後、ユーザは、フロアランプ上のボタンを押して、報酬パターンを生成する。報酬パターンに基づいて、フロアランプは、関係するリフレックスのトリガー重みを増加させ得る。
【０１１２】
[0121]ｔ＝ｔＲｅｓｕｍｅ  Ｍｏｎｉｔｏｒにおいて、フロアランプは、ＲｅｆｌｅｘＦ１に対するトリガーモード６０８を終了し、モニターモード６０６に戻る。いくつかの実施形態では、フロアランプは、その後、パターンＭＤ１を受信するものとしてよく、これは、フロアランプがＲｅｆｌｅｘＦ２のトリガーされたアクションに基づいてライトをアクティブ化することを引き起こし得る。
【０１１３】
[0122]いくつかの実施形態では、新しいリフレックスが、様々発生データがフロアランプによって受信されるか、または取得される順序に関係なく生成され得る。言い換えれば、未知のトリガーパターン（たとえば、ＭＤ１）は、トリガーウィンドウの前、間、および後に受信され、使用される可能性があり、したがって、発生データを受信する順序と無関係にリフレックスの作成を引き起こす可能性がある。たとえば、「発生データ１」が受信され、フロアランプがＲｅｆｌｅｘＦ１に対するトリガーモード６０８に入った後（すなわち、「発生データ２」が受信され、ＭＤ２が取得された後）にパターンＭＤ１を生成するために使用される場合、ＭＤ１がトリガーモード６０８に関する時間ウィンドウ内でまだ発生していることがあり得るので、フロアランプはＲｅｆｌｅｘＦ２をまだ作成することができる。
【０１１４】
[0123]図７は、図６からの新規作成されたリフレックスＲｅｆｌｅｘＦ２がどのように報酬を受けおよび／または補正されてタイムライン７０１に沿ったアクションとの関連付けを増加／減少させるかを示している。ＲｅｆｌｅｘＦ２の状態７１８に応じて、フロアランプは、ＲｅｆｌｅｘＦ２に関してモニターモード７０６またはトリガーモード７０８に入り得る。モニターモード７０６において、フロアランプは、リフレックスに関してマッチするトリガーパターンを探索している。フロアランプが、記憶されているリフレックスの知られているトリガーパターンとマッチするイベントのパターンを生成する場合、フロアランプは、マッチするトリガーパターンを含むフレックスのトリガーモードに入り得る。図７００では、ＲｅｆｌｅｘＦ２は、パターンＭＤ１に等しいトリガーパターンと、パターンＭＤ３に等しいアクションパターンと、パターンＭＤ４に等しい報酬パターンと、パターンＭ５に等しい補正パターンとを有することができる。
【０１１５】
[0124]ｔ＝ｔ０において、壁面スイッチは、イベントを生成し、そのイベントに関係する発生データとともにイベントレポートメッセージをブロードキャストすることができる。フロアランプは、モニターモード７０６において、ｔ＝ｔＭＤ１−Ｒｘまでにイベントレポートメッセージを受信し得る。
【０１１６】
[0125]ｔ＝ｔＭＤ１−Ｒｘにおいて、フロアランプは、発生データを伴うイベントレポートメッセージ全体を受信し、それに応答してイベントを生成し、それをイベントレコーダーに転送し、このイベントレコーダーがイベントをパターンＭＤ１に変換して、イベントバスに出すものとしてよい（図２に示されているように）。フロアランプは、パターンＭＤ１をイベントバスからメモリの一時記憶装置（たとえば、図２のイベントパターン記憶装置２０４）に転送し得る。
【０１１７】
[0126]ｔ＝ｔＴｒｉｇｇｅｒにおいて、フロアランプは、パターンＭＤ１を処理し、それがＲｅｆｌｅｘＦ２に関連付けられている知られているトリガーパターンとマッチすると決定し得る。したがって、フロアランプは、ＲｅｆｌｅｘＦ２に関してトリガーモード７０８に入り、そこで、フロアランプは、ＲｅｆｌｅｘＦ２に関して学習または学習解除を行うことができる。
【０１１８】
[0127]ｔ＝ｔＡｃｔｉｏｎにおいて、フロアランプは、イベントバス上に出される、ＲｅｆｌｅｘＦ２に関連付けられているアクションパターン（ＭＤ３）を生成し得る。モーター駆動装置は、アクションパターン（ＭＤ３）をイベントバスから取り出し、生成されたアクションパターンに関連付けられているアクション（たとえば、フロアランプのライトをオンにする）を実行し得る。
【０１１９】
[0128]ｔ＝ｔＲｅｗａｒｄにおいて、ＲｅｆｌｅｘＦ２に関連付けられている報酬パターン（ＭＤ４）が、別のコンポーネントから生成され得る。たとえば、生成されたアクションパターン（ＭＤ３）は、モーター駆動装置がフロアランプをオンにすることを引き起こし得る。フロアランプがオンになると、モーター駆動装置がフィードバックを受信し得るか、またはセンサーエンコーダがランプの状態の変化を感知し、パターンＭＤ４を生成し得る。パターンＭＤ４は、その後、イベントパターン記憶装置に記憶され得る。パターンＭＤ４は、ＲｅｆｌｅｘＦ２の報酬パターンとマッチするものとしてよく、その結果、ＲｅｆｌｅｘＦ２トリガーパターン（ＭＤ１）に関連付けられている重みが増加され得る。
【０１２０】
[0129]いくつかの実施形態では、リフレックスのトリガー重みが、最大レベルに達した後、トリガー重みは、さらに調整されることはなく、これにより、システムリソースが別のところで使用されることを許し得る。そのような最大レベルは、重み計算の動的範囲を制限するか、または学習デバイス内に備えられるＲＡＭの量を減らすために利用され得る。たとえば、リフレックスにトリガー重みのより小さい動的範囲が使用されるときに（たとえば、最小のトリガー重みと最大のトリガー重みとの間のより小さい範囲）、学習デバイスではより少ないＲＡＭが使用され得る（たとえば、１６ビットの代わりに８ビット）。
【０１２１】
[0130]いくつかの実施形態では、フロアランプのメモリは、限られた数のパターンおよび／またはリフレックスを記憶できるだけのサイズを有し得る。そのような場合、記憶されているリフレックスのトリガー重みが、最小の重み値（たとえば、「破棄閾値」）に達した場合、トリガー重みは、リフレックスをトリガーすることが決してないことがあり得そうなほど低いものとしてかんが得られ得る。そのような場合、フロアランプは、新しいリフレックスのためにそのリフレックスに割り振られているメモリを再使用（または再利用）することができる。したがって、低いトリガー重みでリフレックスを補正するための下限値を設定することは、そのメモリが他のパターンおよび／またはリフレックス用に記憶域を充てることを可能にし得る。他の実施形態では、新しいリフレックスを記憶するための制限されたリソースがあるときに、フロアランプは、最小のまたは「破棄」閾値を使用することなく、メモリを最も頻繁に使用されていない、または使用される可能性が最も低いものから（重み特性を介して）新しいリフレックスに再割り振りすることができる（すなわち、フロアランプは、単純に、最も無益なリフレックスを置き換えることができる）。
【０１２２】
[0131]ｔ＝ｔＣｏｒｒｅｃｔｉｏｎにおいて、異なるコンポーネントが補正パターン（ＭＤ５）を生成し得る。たとえば、フロアランプが、トリガーモード７０８においてオフにされた場合、センサーエンコーダは、この状態の変化をイベントに変換するものとしてよく、これはイベントレコーダーに受け渡され、補正パターンＭＤ５を作成することができる。パターンＭＤ５は、ＲｅｆｌｅｘＦ２（トリガーモード７０８に入っている）の補正パターンにマッチされるものとしてよく、その結果、トリガー重みは減らされて、トリガーパターン（ＭＤ１）とＲｅｆｌｅｘＦ２のアクションパターン（ＭＤ３）との間の関連付けを弱め得る。
【０１２３】
[0132]ｔ＝ｔＲｅｓｕｍｅ  Ｍｏｎｉｔｏｒにおいて、フロアランプは、ＲｅｆｌｅｘＦ２に関連付けられているトリガーモード７０８を終了し得、フロアランプは、モニターモード７０６に戻り得る。トリガーモード７０８は、それがタイムアウトになったことで単純に終了し得る。たとえば、トリガーモード７０８は、１０秒間のみ持続し得るので、１０秒間トリガーモード７０８で動作した後、フロアランプは、ＲｅｆｌｅｘＦ２に関してトリガーモード７０８を終了し、対応するモニターモード７０６に入り得る。
【０１２４】
[0133]図８は、フロアランプなどの、学習デバイスのリフレックスに対する異なる種類の学習率（learning rates）を示している。各デバイスは、学習の臨界学習期間８０１と定常状態学習期間８０２とを有し得る。言い換えれば、臨界学習期間８０１および定常状態学習期間８０２は、学習デバイスの異なる学習状態または学習条件に対応し得る。たとえば、臨界学習期間８０１は、高速学習状態に対応し、定常状態学習期間８０２は、低速または通常学習状態に対応し得る。これらの期間の各々の期間内にあるときに利得の異なるセットがトリガー重みに適用され得る。図８は、２つの学習期間８０１、８０２を示しているが、リフレックスは、２つよりも多い学習期間を利用することができることは理解されるであろう。
【０１２５】
[0134]臨界学習期間８０１は、典型的には、学習デバイスの初期状態に関連付けられ得る。これは、学習デバイスの初期挙動をトレーニングすることが、ユーザにとってより有益である時間であり得る。初期動的リフレックスは、この状態で作成される可能性が高い、つまり、臨界学習期間８０１に関連付けられている様々な利得値（図８では「利得セット１」と称されている）が高く（すなわち、高利得セット）、スマートボックスは、学習および学習解除を行う可能性がより高い。たとえば、製造業者が、フロアランプを最初に高い利得を有する臨界学習期間８０１に設定し、フロアランプが壁面スイッチまたは他のデバイスに素早く関連付けることを可能にし得る。第１のトリガーアクション関連付けが発生した後、フロアランプは、定常状態学習期間８０２に変化し得る。
【０１２６】
[0135]定常状態学習期間８０２は、特定のデバイスが初期トレーニングされたときに生じるものとしてよく、追加のトレーニングは許されるが、より困難であることが意図される。定常状態学習期間８０２に関連付けられている利得（図８では「利得セット２」と称されている）は、低い利得（すなわち、低利得セット）を有し、学習をより困難なものにし得る。たとえば、フロアランプが壁面スイッチに関係する「オン」イベントとの「オン」イベント関連付けを有する場合、フロアランプは、定常状態学習期間８０２に入っているものとしてよい。定常状態学習期間８０２に入っている間、フロアランプは、ステレオから受信された発生データに応答してアクティブ化するなどの、追加の関連付けを学習し得る。しかしながら、ステレオとフロアランプとの間の関連付けを瞬時に学習する代わりに、フロアランプは、トリガーパターン（たとえば、ステレオから受信された発生データに基づくステレオ「オン」イベント）と、アクションパターン（たとえば、ランプがオンにされたことを示す発生データに基づくフロアランプ「オン」イベント）と、報酬パターン（たとえば、ランプ上のユーザ入力ボタンから「報酬」信号または発生データを受信することに基づく）とに、ステレオがオンになったときにフロアランプがオンになることを学習する前に複数回遭遇しなければならない場合がある。
【０１２７】
[0136]臨界学習期間８０１に関連付けられている利得（「利得セット１」）と、定常状態学習期間８０２に関連付けられている利得（「利得セット２」）との関係は、次の式で示され得る。
【０１２８】
【数２】
0006352402.tif 000008
【０１２９】
[0137]言い換えれば、上記の式を使用する学習デバイスは、利得セット１で学習するのが利得セット２よりも高速であり得る。
【０１３０】
[0138]いくつかの実施形態では、各利得セットは、オペレーションの異なる段階でリフレックスのトリガー、報酬、および補正パターンに関連付けられている個別の利得または重みを有し得る。臨界期間と定常状態期間とにより近くなるように利得を調整するために２つまたはそれ以上の利得レベルが使用され得る。たとえば、第３の利得セットがあり得、これは、臨界期間と定常状態期間とのハイブリッドであってよい（たとえば、学習するのに繰返しが少なくて済む）。利得が調整されるときに、特定のパターンに関連付けられている重みが、システム内のマッチを決定するように調整され得る。
【０１３１】
[0139]特定のリフレックスが動的であるか、または静的であるかは、学習デバイスに関連付けられている利得と学習とに影響を及ぼし得る。特定の学習デバイスが、調整されないことができる、組み込みの静的リフレックスを有し得る。たとえば、フロアランプは、関係する報酬パターンまたは補正パターンに遭遇することに関係なく再重み付けされないことができる組み込みのリフレックスを有し得る。言い換えれば、学習デバイスは、重み調整（たとえば、補正）の使用を通じて静的リフレックスを無効にする（または「忘れる」）ことができない。しかしながら、対照的に、動的リフレックスは、自然発生的に作成され、時間の経過とともに調整され得る。たとえば、フロアランプは、壁面スイッチに関連付けられているトリガーパターンに対応してフロアランプのアクションが実行されないよう時間の経過とともに動的リフレックス（たとえば、上で示されているようなＲｅｆｌｅｘＦ２）の重みを調整し得る。言い換えれば、学習デバイスは、トリガーパターン（たとえば、壁面スイッチでの発生）とアクションパターン（たとえば、フロアランプをオンにする）との間の関連付けに関係するリフレックスのトリガー重みを、そのトリガー重みが閾値より低くなり、したがってアクションが実行されないように下げることができる。しかしながら、いくつかの実施形態では、動的リフレックスは、関連付けが忘れ去られないように静的リフレックスに変換され得る。いくつかの実施形態では、動的リフレックスは、アクションとトリガーとの間の関連付けを有するリフレックスのトリガー重みを変更することが困難になり、したがってそのような動的リフレックスをより永続的にするようなリジッド状態を与えられ得る。
【０１３２】
[0140]図９および図１０は、図８に示されているように定常状態学習期間８０２における動的リフレックスの学習および学習解除の例を示している。図９および図１０に示されている同じ原理は、臨界学習期間８０１における動的リフレックスにも当てはまる。
【０１３３】
[0141]図９は、トリガーアクション関連付けに報酬を与えることで、トリガーパターンがトリガー重み閾値９２５以上の重みを有するようになるまでトリガーパターンの重みをどのように変更することができるかを示しているタイムライン図９００である。図９００は、２つの知られているリフレックスＲｅｆｌｅｘＦ１とＲｅｆｌｅｘＦ２とを含む。ＲｅｆｌｅｘＦ１は、トリガーパターン（「ＭＤ２」と称される）と、そのトリガー閾値（図示せず）よりも高い第１のトリガー重みとを有する。ＲｅｆｌｅｘＦ１は、また、アクションパターン（「ＭＤ３」と称される）と、報酬パターン（「ＭＤ４」と称される）と、補正パターン（「ＭＤ５」と称される）とを有する。ＲｅｆｌｅｘＦ２は、ＲｅｆｌｅｘＦ２が異なるトリガーパターン（「ＭＤ１」と称される）を有することを除きＲｅｆｌｅｘＦ１と同じであり、最初にトリガー重み閾値９２５より低い第２のトリガー重みを有し得る。図９００は、ＲｅｆｌｅｘＦ２のトリガー重みを変えることができる、イベントおよび反応のタイムライン９０１を示している。
【０１３４】
[0142]時刻ｔ＝ｔ０において、フロアランプは、ＲｅｆｌｅｘＦ２に関してモニターモード９０６に入っているものとしてよい。モニターモード９０６では、フロアランプは、トリガーパターンＲｅｆｌｅｘＦ２とマッチするイベントに関係する信号が入ってくるのを監視し得る。モニターモード９０６において、フロアランプは、トリガーパターンＭＤ１に対応するイベントに遭遇するか、または取得し得る。たとえば、第１の壁面スイッチと同一であってもよい、新しい壁面スイッチは、新しい壁面が「オフ」から「オン」にトグルしたときにイベントレポートメッセージを発生データとともにフロアランプに送信することができ、次いで、フロアランプは、受信されたイベントレポートメッセージおよび発生データに基づいてトリガーパターンＭＤ１を生成することができる。
【０１３５】
[0143]時刻ｔ＝ｔＮｏＡｃｔｉｏｎ１において、フロアランプは、ＲｅｆｌｅｘＦ１とＲｅｆｌｅｘＦ２とに対するトリガーパターンＭＤ１を処理することができる。すでに説明されているように、ＭＤ１は、ＲｅｆｌｅｘＦ２にのみ関連付けられ、したがって、フロアランプは、ＲｅｆｌｅｘＦ２に関してトリガーモード９０８に入り得る。ＲｅｆｌｅｘＦ２は、ｔ＝ｔＮｏＡｃｔｉｏｎ１でトリガー重み閾値９２５より低い第１のトリガー重みレベル９２１で現在のトリガー重みを有するので、フロアランプは、ＲｅｆｌｅｘＦ２に対するアクションパターン（たとえば、ＭＤ３）を生成しないことができる。しかしながら、その後すぐに、フロアランプは、新しい壁面スイッチに対応する発生データとともに別のイベントレポートメッセージを受信してからトリガーパターンＭＤ２を生成し得る。たとえば、新しい壁面スイッチは、「オフ」から「オン」にトグルし、関係するイベントレポートメッセージをフロアランプに送信して、フロアランプがイベントレポートメッセージに基づいてトリガーパターンＭＤ２を生成することを引き起こし得る。トリガーパターンＭＤ２はＲｅｆｌｅｘＦ１に対応し、トリガー重みはそのトリガー閾値よりも高いと、フロアランプはアクションパターンＭＤ３を生成し得る。フロアランプは、その後、結果としてランプがそのライトをオンにすることを引き起こす対応するアクションイベントを生成し得る。ライトがオンになった後、状態の変化が、センサーエンコーダによって記録されるものとしてよく、これは関連付けられているイベントを作成し、報酬パターンＭＤ４を生成する。
【０１３６】
[0144]時刻ｔ＝ｔＷｅｉｇｈｔＡｄｊｕｓｔ１において、報酬パターンＭＤ４は、ＲｅｆｌｅｘＦ１とＲｅｆｌｅｘＦ２とに対するトリガー重みを調整するように処理され得る。ＲｅｆｌｅｘＦ２に関してトリガーモード９０８に入っている間、フロアランプは、パターンＭＤ４がＲｅｆｌｅｘＦ２の報酬パターンとマッチしていると決定するものとしてよく、ＭＤ１およびＲｅｆｌｅｘＦ２のトリガー重みを増加させ得る。新しいトリガー重みは第２のトリガー重みレベル９２２にあり、これは、依然としてトリガー重み閾値９２５より低くなっている。トリガーモード９０８がタイムアウトになった後、フロアランプは、モニターモード９０６に再び入ることができる。
【０１３７】
[0145]ｔ＝ｔＷｅｉｇｈｔＡｄｊｕｓｔ２において、イベントに遭遇し、対応するパターンＭＤ１と、ＭＤ２と、ＭＤ３（またはＭＤ３’）と、ＭＤ４とを生成するプロセスが繰り返され、その結果、トリガー重み閾値９２５を超えて第３のトリガー重みレベル９２３にまで増加するようにＲｅｆｌｅｘＦ２のトリガー重みを調整し得る。
【０１３８】
[0146]ＲｅｆｌｅｘＦ２のトリガー重みをトリガー重み閾値９２５よりも高く調整した後いつでも、フロアランプは、パターンＭＤ１に対応するイベントに遭遇することがあり、その結果、ＲｅｆｌｅｘＦ１をトリガーするのにパターンＭＤ２に遭遇する必要なくアクションパターンＭＤ３’が生成され得る。たとえば、新しい壁面スイッチの「オン」イベントに対応するパターンＭＤ２を生成したときのみフロアランプがオンになった可能性がある前である。次に、壁面スイッチは、結果としてパターンＭＤ１に対応するイベントを生成し、したがってフロアランプがＲｅｆｌｅｘＦ２を介してそのライトをオンにするようにトリガーされることを引き起こし得る発生データを含むイベントレポートメッセージをフロアランプに送信することができる。
【０１３９】
[0147]図１０は、トリガー重み閾値１０２５より低くなるまでトリガー重みを調整することによってトリガーアクション関連付けを補正することを示すタイムライン図１０００である。図１０００は、補正イベントにフロアランプが遭遇することと、フロアランプがその後補正パターンを生成することを除き図９００に類似している。この補正パターンは、リフレックスのトリガー重みを減少させる。図９００と異なり、図１０００の補正プロセスは、ただ１つのリフレックスを伴い得る。ここで、ＲｅｆｌｅｘＦ２のみが関わり、図９００のように、同じトリガーパターンＭＤ１と、アクションパターンＭＤ３と、報酬パターンＭＤ４と、補正パターンＭＤ５とを含む。また図９００とは異なり、図１０００におけるＲｅｆｌｅｘＦ２は、トリガー重み閾値１０２５よりも高い１０２３の初期トリガー重みから始まり得る。したがって、トリガーパターンＭＤ１を生成した後に、フロアランプは、対応するアクションパターンと関連付けられているアクションとを生成し得る。
【０１４０】
[0148]時刻ｔ＝ｔ０において、フロアランプは、モニターモード１００６においてイベントを監視し得る。モニターモード１００６において、フロアランプは、トリガーパターンＭＤ１に対応するトリガーイベントに遭遇し得る。たとえば、新しい壁面スイッチは、新しい壁面スイッチが「オフ」から「オン」にトグルされたので、「オン」イベントに関係する、パターンＭＤ１に対応する、発生データとともにイベントレポートメッセージをブロードキャストすることができる。イベントが受信されると、フロアランプは、対応するトリガーパターンを生成し得る。
【０１４１】
[0149]時刻ｔ＝ｔＴｒｉｇｇｅｒｅｄ１において、フロアランプは、オンイベントに関係するイベントレポートメッセージを受信し、パターンＭＤ１を生成し得る。フロアランプは、パターンＭＤ１がＲｅｆｌｅｘＦ２に対応する知られているトリガーパターンであると決定し、したがって、ＲｅｆｌｅｘＦ２に関してトリガーモード１００８に入ることができる。その後すぐに、フロアランプは、ＲｅｆｌｅｘＦ２に対する第１のトリガー重みレベル１０２３がトリガー重み閾値１０２５より高いと決定し、アクションパターンＭＤ３を生成することができ、その結果、フロアランプがライトをオンにするアクションイベントおよび物理的アクションが生じる。フロアランプは、トリガーモード１００８に入っている間に補正パターンＭＤ５に対応するイベントにも遭遇し得る。たとえば、フロアランプは、ユーザがフロアランプ上の別の補正ボタン（たとえば、「Ｃｏｒｒｅｃｔｉｏｎ」というラベルが付いたボタン）を押したときにイベントに遭遇した後補正パターンＭＤ５を生成し得る。ユーザは、このボタンを押して、補正イベントをフロアランプに送信し、それに応答して、フロアランプは、補正パターンＭＤ５を生成し得る。代替的一例において、フロアランプは、ユーザが前のトリガーパターンの短い時間ウィンドウ内でフロアランプを手動でオフにしたときに補正パターンを生成し得る。前のトリガーパターンの反対の入力は、補正パターンに対応し、フロアランプは、トリガーパターンとアクションパターンとの関連付けを解除するように学習し得る。
【０１４２】
[0150]時刻ｔ＝ｔＣｏｒｒｅｃｔｉｏｎ１において、フロアランプは、補正パターンＭＤ５がＲｅｆｌｅｘＦ２の補正パターンとマッチしていると決定することができる。したがって、フロアランプは、ＲｅｆｌｅｘＦ２に関連付けられているトリガー重みを第２のトリガー重みレベル１０２２にまで下げることができる。第２のトリガー重みレベル１０２２はまだトリガー重み閾値１０２５より高く、そのため、フロアランプはライトをそのままアクティブ化することができる。最終的に、トリガーモード１００８は、時間の制約によって終了し、フロアランプは、モニターモード１００６に再び入り得る。
【０１４３】
[0151]モニターモード１００６に入っている間に、フロアランプは、第２のトリガーイベントに遭遇し、第２のトリガーパターンＭＤ１を生成し得る。たとえば、新規壁面スイッチは、再び、「オフ」から「オン」にトグルされ得る。時刻ｔ＝ｔＴｒｉｇｇｅｒｅｄ２において、フロアランプは、第２のパターンＭＤ１がＲｅｆｌｅｘＦ２の知られているトリガーパターンとマッチすると決定し、ＲｅｆｌｅｘＦ２に関してトリガーモード１００８に入ることができる。ＲｅｆｌｅｘＦ２が現在トリガー重み閾値１０２５よりも高い第２のトリガー重みレベル１０２２を有しているので、フロアランプは、アクションパターンＭＤ３と関連付けられている機械的アクション（たとえば、ライトをオンにする）を生成し得る。フロアランプが、ＲｅｆｌｅｘＦ２でトリガーモード１００８に入っている間、フロアランプは、再び、補正ボタンからの補正イベントに遭遇し、補正パターンＭＤ５を生成することができる。パターンＭＤ５は、ＲｅｆｌｅｘＦ２に対応しているので、時刻ｔ＝ｔＣｏｒｒｅｃｔｉｏｎ２において、トリガー重みは、第３のトリガー重みレベル１０２１に下げられるが、これはトリガー重み閾値１０２５よりも低い。したがって、時刻ｔ＝ｔＴｒｉｇｇｅｒｅｄ３においてフロアランプが別のトリガーイベントに遭遇し、別のトリガーパターンＭＤ１を生成する場合、フロアランプは、トリガーモード１００８において対応するアクションパターンＭＤ３を生成しないことができる。言い換えれば、フロアランプはＲｅｆｌｅｘＦ２のトリガーアクション関連付けを事実上忘れてしまっている可能性があり、将来トリガーパターンＭＤ１を生成した後（または少なくともトリガーパターンへのその仕方に応答するように再トレーニングされるまで）そのライトをアクティブ化しないことがあり得る。
【０１４４】
[0152]いくつかの実施形態では、その関連付けトリガー重み閾値よりも低いトリガー重みは、報酬パターンに遭遇することなくフロアランプがトリガーモードに入ったことに応答して継続的に下げられ得る。たとえば、図１０では、時刻ｔＴｒｉｇｇｅｒｅｄ３において、フロアランプは、その後の報酬パターンなしでトリガーパターンＭＤ１を検出することができ、結果として、時刻ｔ＝ｔＳｕｂｔｈｒｅｓｈｏｌｄ１において示されているようにフロアランプはＲｅｆｌｅｘＦ２に対するトリガー重みを第４のトリガー重みレベル１０１９に減少させ続け得る。いくつかの実施形態では、リフレックスのトリガー重みは、トリガー重みがその関連付けられているトリガー重み閾値より低くなり、報酬パターンに遭遇しないと、時間の経過とともに周期的に減少（または減衰）させられ得る。
【０１４５】
[0153]いくつかの実施形態では、フロアランプは、そのトリガー重みがトリガー重み閾値１０２５よりも低くなり、メモリ不足が生じた後ただちに、またはしばらくしてからＲｅｆｌｅｘＦ２を取り除くことができる。したがって、フロアランプが、ＲｅｆｌｅｘＦ２が削除された後にＲｅｆｌｅｘＦ２のトリガーパターン（ＭＤ１）を検出した場合、フロアランプは、他の条件が満たされていると仮定して（たとえば、トリガーモードにおいて存在している報酬を有する）そのトリガーパターンとしてパターンＭＤ１を有する新しいリフレックスを作成し得る。いくつかの実施形態では、フロアランプは、メモリ不足（たとえば、記憶されているリフレックスに対してメモリ限界に達したこと）により関連付けられている閾値よりも高いトリガー重みを有するリフレックスを取り除くことができる。たとえば、フロアランプが、トリガーモードにおいて新しいトリガーパターンに遭遇したが、ローカルメモリに利用可能な記憶領域を有していないときに、フロアランプは、トリガー閾値よりも高いトリガー重みを有するが、あまり使用されない、使用される可能性が最も低い、および／またはトリガー重みがそれぞれのトリガー重み閾値を超えるすべてのリフレックスの最低のトリガー重みを有する、記憶されているリフレックスを取り除くことができる。
【０１４６】
[0154]図１１は、イベントに関連付けられているアクションを学習するためスマートボックス内に実装され得る一実施形態の方法１１００を示している。この実施形態の方法１１００は、どのようなスマートボックスとも使用され得るけれども、説明を簡単にするため、方法１１００は、壁面スイッチに接続されているスマートボックスからイベントレポートメッセージを受信するフロアランプに接続されているスマートボックスの例を参照しつつ説明されている。それに加えて、フロアランプ、壁面スイッチ、またはステレオへの参照は、対応するスマートボックスもそれぞれ包含する。たとえば、フロアランプによって実行されるものとして説明されているオペレーションは、フロアランプに関連付けられているスマートボックスのプロセッサによって実行され得る。これらのスマートボックスは、実際には、イベントレポートメッセージ内の発生データを交換するオペレーションと、イベントおよび／またはパターンを処理するオペレーションとを実行する。
【０１４７】
[0155]ブロック１１０２において、フロアランプはイベントを取得し得る。たとえば、フロアランプは、壁面スイッチからＲＦ送信上で発生データを含むイベントレポートメッセージを受信することができ、イベントレポートメッセージ内のデータに基づいて、フロアランプは、図３Ｂを参照しつつ上で説明されているようなデータ構造としてイベントを生成し得る。そのような一例において、イベントレポートメッセージは、ユーザが壁面スイッチを「オフ」から「オン」にトグルしたときに壁面スイッチによって送信され得る。上で説明されているように、フロアランプは、代替的に、フロアランプに結合されたセンサー（たとえば、光センサーなど）に基づいて、および／またはアクションを実行したこと応答して、イベントを取得し得る。時間の経過とともに、方法１１００および１２００のオペレーションのその後の繰返しにおいて、フロアランプは、取得されたイベントに関係する場合もない場合もある追加の要素を取得し得る。たとえば、取得されてイベントに基づいてトリガーモードをアクティブ化した後、フロアランプは、受信されたイベントレポートメッセージおよび／またはフロアランプによって実行されたアクションに応答して生成されたイベントなどの、取得され、メモリ内に記憶された以前のイベントを取り出すことによって追加のイベントを取得し得る。
【０１４８】
[0156]決定ブロック１１０４において、フロアランプは、イベントフィルタが適用されるかどうかを決定することができる。イベントフィルタは、時間フィルタ、タイプフィルタ、デバイスイベントフィルタなどを含み得る。イベントフィルタが適用されることを決定したことに応答して（決定ブロック１１０４＝「はい」）、フロアランプは、ブロック１１０６においてさらなる処理からイベントを破棄し、ブロック１１０２において新しく入ってくる信号を監視し続けることができる。いくつかの実施形態では、イベントフィルタが時間ベースのフィルタである場合、日中にイベントを破棄する所定のされたスケジュールがあってよい。たとえば、ステレオは、真夜中の時間から午前１０時までに取得されたイベントを無視する時間フィルタを有することができる。別の例では、フロアランプのところのイベントフィルタは、単に、ステレオからの取得されたすべてのイベントを無視し得る。さらなる例では、ステレオは、特定のユーザに関連付けられている取得されてイベントを無視し得る。いくつかの実施形態では、壁面スイッチは、入力されたユーザＩＤ（たとえば、指紋データ、パスコード、Ｂｌｕｅｔｏｏｔｈまたは近距離通信（ＮＦＣ）からの付近のモバイルデバイスのデータなど）を受信し、そのユーザＩＤをイベントレポートメッセージ内の発生データに含めることができる。ステレオを所有する父親は、自分のステレオを自分以外の誰かに壁面スイッチでオンにしてもらいたくない場合がある。したがって、ステレオは、取得されたすべてのイベントを、それらが父親のユーザＩＤを含まない場合に破棄し、それによって、他人が壁面スイッチでステレオをオンにするのを防ぐことができる。しかしながら、イベントフィルタが適用されない場合（すなわち、決定ブロック１１０４＝「いいえ」）、フロアランプは、メモリ１３８（図１Ｃに示されている）に配置されているバッファ内にイベントを記憶し得る。
【０１４９】
[0157]イベントフィルタが適用されないと仮定すると、フロアランプは、ブロック１１０８においてメモリ１３８に配置されているバッファ内にイベントを記憶し得る。イベントはバッファまたはメモリに記憶されることで、フロアランプがモニターモードに入っている間にイベントレコーダー２０６のところでパターンを生成することを円滑にし得る。言い換えれば、フロアランプは、モニターモードに入っている間にイベントの記憶を実行し得る。図示されていないけれども、フロアランプは、特定の時間期間（たとえば、５〜１０秒）にメモリ内にイベントを一時的に記憶またはバッファリングし、次いで、イベントを破棄して新しいイベントのための領域をあけることができる。
【０１５０】
[0158]ブロック１１１０において、フロアランプは、イベントがメモリ内に常駐していることに基づいてパターンを生成し得る。いくつかの実施形態では、フロアランプは、メモリ内に記憶されている様々イベントを取り出して組み合わせることなどによって、メモリ内に常駐する複数のイベントに基づいてパターンを生成し得る。たとえば、フロアランプは、２つの異なる壁面スイッチが「オン」位置に切り替えられたときに受信されるイベントレポートメッセージに基づいて生成された２つのイベントに基づいてパターンを生成しているものとしてよい。パターンは、次の４つの方法の１つによって生成され得る、すなわち、（１）イベントの時間順序のシーケンスに基づくこと、（２）複数のイベントをシングレットに圧縮すること、（３）発見的手法、および（４）パターン生成においてイベントから時間を取り除くことによって生成され得る。
【０１５１】
[0159]イベントの時間順序のシーケンスに基づいてパターンを生成するときに、イベントが生成されるか、または他の何らかの形で取得される時間が問題になり得る。したがって、イベントが特定の時間ウィンドウ内で生成されない場合、フロアランプは、イベントに基づいてパターンを生成しないことがあり得る。たとえば、フロアランプは、壁面スイッチに関係する「オン」イベントおよびステレオに関係する「オン」イベントと同等のトリガーパターンを有することができる。フロアランプが、時間ウィンドウ内で壁面スイッチに関係する「オン」イベントを取得するが、時間ウィンドウの外でステレオに関係する「オン」イベントが取得された場合、フロアランプは、トリガーイベントを認識しないことがあり得る。いくつかの実施形態では、パターンは、イベントＡがイベントＢの前に取得される場合にのみ生成され得る。たとえば、フロアランプが、壁面スイッチの「オン」イベントの前にステレオの「オン」イベントを取得した場合、壁面スイッチのイベントが最初に取得されたときにのみフロアランプがトリガーパターンを受け付けるので、フロアランプはこれらのイベントをトリガーパターンとして認識しないことがあり得る。
【０１５２】
[0160]いくつかの実施形態では、複数のイベントが、単一のイベントまたはシングレットに圧縮され得る。たとえば、フロアランプは、ランプイベントバッファまたはメモリに記憶されている、異なる時刻における２つの「Ａ」イベント、次いで「Ｂ」イベントを取得し得る。フロアランプは、第２の「Ａ」イベントを破棄して、１つの「Ａ」イベントと１つの「Ｂ」イベントとに基づいてパターンを生成し得る。したがって、２つの「Ａ」イベントと１つの「Ｂ」イベントとを有するトリガーパターンは、１つの「Ａ」イベントと１つの「Ｂ」イベントとを有するトリガーパターンに圧縮され得る。「Ａ」イベントは、異なる時刻に繰り返されるので、フロアランプは、繰り返されるイベントを無視することができる。
【０１５３】
[0161]いくつかの実施形態では、フロアランプは、一連の発見的計算を実行して、イベントを無視するかどうかを決定することができる。これらの発見的計算のいくつかは、単に、カウントするメカニズムを含み得る。たとえば、フロアランプは、「Ａ」イベントを３回受信したか（たとえば、壁面スイッチに関係する「オン」イベント）を決定することができ、その時点で、フロアランプは、３つの「Ａ」イベントを受信することはトリガーパターンを生成することと同じであるという発見的ルールに基づいてトリガーパターンなどの対応するパターンを生成し得る。
【０１５４】
[0162]いくつかの実施形態では、フロアランプは、イベントからパターンを作成する時刻を無視することができる。時刻を無視することは、発見的計算と同時に起こってよい。たとえば、フロアランプがメモリ１３８において３つの「Ａ」イベントと１つの「Ｂ」イベントとを受信した場合、フロアランプは、一連の発見的計算を実行して時間ウィンドウなしでイベントに基づいてパターンを生成するかどうかを決定することができる。時刻を無視することは、順序独立であることも含み得る。たとえば、フロアランプは、まず「Ａ」イベント、続いて「Ｂ」イベントを取得するか、または「Ｂ」イベント、続いて「Ａ」イベントを取得するかどうかに関係なく同じパターンを作成し得る。
【０１５５】
[0163]決定ブロック１１１２において、フロアランプは、パターンフィルタを適用するどうかを決定することができる。これは、決定ブロック１１０４を参照しつつ説明されているイベントフィルタに類似するものであってよく、これは記憶されている無視パターン、時間ベースのフィルタ、デバイスタイプフィルタなどを含み得る。フロアランプは、パターンが時間閾値などの閾値よりも低くなったときにパターンフィルタを使用してパターンをメモリ（たとえば、３２Ｋメモリ、６４Ｋメモリなど）から取り除くことができる。フロアランプがパターンフィルタが適用されることを決定したことに応答して（すなわち、決定ブロック１１１２＝「はい」）、フロアランプは、パターンを破棄し、ブロック１１１３においてそのパターンのさらなる処理を止めることができる。いくつかの実施形態では、フロアランプは、最近実行されたアクションに対して生成されたパターンをフィルタリングし得る。たとえば、フロアランプがオンになったときに、フロアランプは、イベントからアクションパターンを生成することができる。アクションパターンが、一定の時間期間において無視されなかった場合、フロアランプは、アクションパターンを別のアクション（たとえば、ステレオをオンにする）へのトリガーパターンとして処理しようと試み得る。新しいトリガーアクション関連付けの作成を回避するために、フロアランプは、フロアランプが短い時間期間において生成されたアクションパターンを無視する一時的無視パターンフィルタを作成し得る。フロアランプがパターンを破棄した後、フロアランプはブロック１１０２において新しいイベントを取得することに戻る。いくつかの実施形態では、フロアランプは、ブロック１１０２において、イベントを絶えず取得し得る。
【０１５６】
[0164]いくつかの実施形態では、フロアランプは、パターンのトリガー重みまたは対応するリフレックスが低閾値よりも低い場合にパターンフィルタを適用することができる。パターンフィルタを適用することによって、フロアランプは、特定のリフレックスの閾値が特定の設定値よりも低いときにそのメモリからパターンを削除することができるものとしてよい。フロアランプは、本出願全体を通して説明されている補正プロセスを通じてリフレックスのトリガー重みを低減することができる。パターンを取り除くことで、フロアランプが新しいリフレックスの作成のためリソース（たとえば、メモリ）を節約することを可能にし得る。いくつかの実施形態では、フロアランプは、利用可能なローカルの記憶装置に関係なく、ユーザが与えられた時刻にフロアランプの学習能力に関して混乱する可能性が低くなるように所定の限られた数のリフレックス（たとえば、ランプ１つにつきリフレックス２つ）を利用するように構成され得る。記憶されるリフレックスに対するそのような限界は、記憶されるリフレックスおよびパターンがより少ないことで比較される必要があり得るパターンの数を減らすことによってパターンマッチング速度を改善するなどによって性能改善するという追加の利点も有し得る。
【０１５７】
[0165]決定ブロック１１１２に戻って参照すると、パターンフィルタが適用されないことを決定したことに応答して（すなわち、決定ブロック１１１２＝「いいえ」）、フロアランプは、決定ブロック１１１４において生成されたパターンが知られているパターンとマッチしているかどうかを決定し得る。たとえば、フロアランプは、受信されたイベントが時間ベースのフィルタの時間ウィンドウ内にあると決定し得る。そこで、フロアランプは、イベントをパターンとして処理し続ける。フロアランプは、生成されたパターンが、知られているトリガーパターン、知られている補正パターン、知られている報酬パターンなどの、任意の種類の知られているパターンであるかどうかを決定し得る。
【０１５８】
[0166]一例として、決定ブロック１１１４において、フロアランプは、生成されたパターンが、図６を参照しつつ上で説明されているリフレックス「ＲｅｆｌｅｘＦ１」に対するトリガーパターン「ＭＤ２」などの、リフレックスの知られているトリガーパターンに対応するかどうかを決定し得る。生成されたパターンが知られているパターンとマッチすると決定したことに応答して（すなわち、決定ブロック１１１４＝「はい」）、フロアランプは、図１２を参照しつつ以下で説明されている決定ブロック１２０２のオペレーションを実行し得る。たとえば、フロアランプは、少なくとも１つのイベントがリフレックスに関連付けられているトリガーパターンに対応するときにリフレックスに関係するトリガーモードに入り、リフレックスに関連付けられているアクションを実行することができる。
【０１５９】
[0167]しかしながら、生成されたパターンが知られているパターンにマッチしていないと決定したことに応答して（すなわち、決定ブロック１１１４＝「いいえ」）、フロアランプは、決定ブロック１１１６において新しいリフレックスを作成するかどうかを決定し得る。たとえば、図７のシナリオにおいて上で説明されているように、生成されたパターンは、知られているパターンに対応していないパターン「ＭＤ１」であり得（すなわち、ＲｅｆｌｅｘＦ２はまだ作成されていない）、したがってフロアランプは、パターンＭＤ１を有する新しいリフレックスをその新しいトリガーパターンとして作成すべきかどうかを決定し得る。フロアランプは、未知のパターンが検出されたかどうかと、リフレックスがトリガーモードに入っているかどうかの両方に基づいて新しいリフレックスが作成されるべきかどうかを決定することができる。
【０１６０】
[0168]フロアランプが新しいリフレックスを作成しないことを決定したことに応答して（すなわち、決定ブロック１１１６＝「いいえ」）、フロアランプは、ブロック１１１３において生成されたパターンを破棄し、ブロック１１０２において新しいベントを監視することを開始し得る。いくつかの実施形態では、フロアランプは、フロアランプが新しい関連付けを学習することができない非学習モードに切り替えられ、それによって、新しいリフレックスを作成する能力を無効化することができる。たとえば、フロアランプは、壁面スイッチがオン／オフイベントに関連付けられているイベントレポートメッセージを送信したときにライトをオン／オフにすることをすでに学習している場合がある。ユーザは、この単純なオン／オフ関連付けに満足し、フロアランプによる追加の学習を無効化することができる。そのため、フロアランプは、ステレオまたは他の学習デバイスのところでの発生（たとえば、電源オンなど）との追加の関連付けを学習しないことができる。他の実施形態では、フロアランプは、新しいリフレックスを学習することを避けるための他の考慮事項（たとえば、十分なメモリがない、トリガーモードがタイムアウトした、など）を有し得る。
【０１６１】
[0169]フロアランプが新しいリフレックスを作成することを決定したことに応答して（すなわち、決定ブロック１１１６＝「はい」）、フロアランプは、ブロック１１１８において新しいパターンを新しいリフレックスに対するトリガーパターンとして記憶することができる。新しいリフレックスは、所定のアクションパターンと、報酬パターンと、補正パターンにより作成され得る。したがって、ブロック１１１９において、フロアランプは、現在トリガーモードに入っているリフレックスから、新しいリフレックスに、アクションパターンと、報酬パターンと、補正パターンとをコピーし得る。たとえば、上記の図６に示されているように、フロアランプは、新しいパターンＭＤ１を含むＲｅｆｌｅｘＦ２をトリガーパターンとして作成し、他の知られているＲｅｆｌｅｘＦ１のみからアクションパターンと、報酬パターンと、補正パターンとをコピーすることができる。代替的な一例において、フロアランプは、トリガーモードで他の記憶されているリフレックスからパターンを取り出すことによって新しいリフレックスを作成し得る。
【０１６２】
[0170]すでに指摘されているように、フロアランプは、トリガーモードに入っている間に追加のイベントを取得することができ、そのような追加のイベントは、異なるトリガーに関連付けられるか、または相関され得る。フロアランプは、これらの追加のイベントに基づいてパターンを識別するか、またはパターンとメモリに記憶されているリフレックスのパターンとのマッチングを行うことを試み得る。しかしながら、これらの追加のイベントに基づくパターンは、記憶されているリフレックスの知られているパターンに対応しないことができ、フロアランプは、新しいリフレックスを作成することを決定し得る。言い換えれば、フロアランプは、追加のイベントに基づくパターンがリフレックスに関連付けられているトリガーパターン、アクションパターン、補正パターン、および報酬パターンの少なくとも１つに対応しないときに、トリガーパターンと、アクションパターンと、補正パターンと、報酬パターンにより第２のリフレックスを作成し得る。
【０１６３】
[0171]図１２は、図１１からのマッチしたパターンの継続処理の一実施形態の方法１２００を示している。上で説明されているように、生成されたパターンが知られているパターンにマッチしていると決定したことに応答して（すなわち、図１１の決定ブロック１１１４＝「はい」）、フロアランプは、決定ブロック１２０２において生成されたパターンがリフレックスの知られているトリガーパターンとマッチするかどうかを決定し得る。たとえば、フロアランプは、壁面スイッチの「オン」イベントに基づいて生成されたパターンが、記憶されているリフレックスの知られているトリガーパターンとマッチしている（たとえば、パターンＭＤ１が図６に示されているＲｅｆｌｅｘＦ２に対するトリガーパターンとマッチしている）かどうかを決定することができる。フロアランプが生成されたパターンが知られているトリガーパターンとマッチすると決定したことに応答して（すなわち、決定ブロック１２０２＝「はい」）、フロアランプは、ブロック１２０３において生成されたパターンとマッチする知られているトリガーパターンに関連付けられているリフレックスに対するトリガーモードをアクティブ化する（または、「オン」にする）ことができる。トリガーモードをアクティブ化することで、リフレックスに関連付けられているモニターモードを非アクティブ化することができる。フロアランプは、他のリフレックスに関連付けられている他のイベントなどの、リフレックスに関係するトリガーモードに入っている間に追加のイベントを受信し、識別することができ、これにより、同時にアクティブ化されたトリガーモードを引き起こすことに注意されたい。
【０１６４】
[0172]フロアランプは、決定ブロック１２０４においてマッチしているパターンのリフレックスのトリガー重みがトリガー閾値以上かどうかを決定し得る。引き続き図１１の例によれば、フロアランプは、生成されたパターンＭＤ１が最近作成されたＲｅｆｌｅｘＦ２の知られているトリガーパターンとマッチしていると決定し、ＲｅｆｌｅｘＦ２に対する現在の記憶されているトリガー重みをそれぞれのトリガー閾値と比較し得る。決定ブロック１２０４において、フロアランプは、トリガー重みが閾値以上であるかどうかを決定することができる。トリガー重みが閾値以上であると決定したことに応答して（すなわち、決定ブロック１２０４＝「はい」）、フロアランプは、マッチしているトリガーパターンのリフレックスを使用してフロアランプが所定のアクションを行うか、または実行することを引き起こすパターンもしくはその結果生じるイベントを生成することなどによって、ブロック１２１６においてアクションを生成し得る。たとえば、フロアランプは、ＲｅｆｌｅｘＦ２のトリガー重みが、図９に示されているようにトリガー重み閾値９２５より高い場合にライト１２４をオンにすることができる。様々な実施形態において、アクションを生成することは、さらに外部的に、または内部的に伝搬され得る、またアクチュエータを駆動するためにモーター駆動装置によって使用されるイベントのパターンを生成することを含み得る。
【０１６５】
[0173]いくつかの実施形態では、フロアランプは、トリガーされたときに限られた数のアクションを生成するように構成され得る。たとえば、フロアランプは、１つのトリガーモードにおいて１つのアクションのみの生成を、そのトリガーモードで受信されたトリガーパターンの数に関係なく行うことができる。
【０１６６】
[0174]オプションのブロック１２１７において、フロアランプは、生成されたアクション（またはその結果のイベント）を示す発生データを含むブロードキャストメッセージなどの、生成されたアクションに基づくイベントレポートメッセージをブロードキャストし得る。フロアランプが、マッチしたトリガー重みがリフレックスに対するトリガー閾値以上でないと決定したことに応答して（すなわち、決定ブロック１２０４＝「いいえ」）、またはブロック１２１６におけるオペレーションによりアクションが生成され、オプションのブロック１２１７におけるオペレーションによりブロードキャストが行われる場合、フロアランプは、以下で説明されている決定ブロック１２２０におけるオペレーションを実行することができる。
【０１６７】
[0175]フロアランプが生成されたパターンが知られているトリガーパターンにマッチしていないと決定したことに応答して（すなわち、決定ブロック１２０２＝「いいえ」）、フロアランプは、決定ブロック１２０６においてフロアランプが学習することを許されているかどうかを決定し得る。たとえば、フロアランプは、トリガーパターン（たとえば、ＭＤ１）をすでに処理している場合があり、現在は、トリガーモードに入っている間に生成された報酬パターンおよび補正パターンを監視している。したがって、フロアランプは、トリガーパターンを受信し、関連付けられているリフレックスに対するアクティブ化されたトリガーモードに入った後まもなく、報酬イベントを取得し、対応する報酬パターン（たとえば、ＭＤ４）を生成し得る。
【０１６８】
[0176]フロアランプが学習することを許されていないと決定したことに応答して（すなわち、決定ブロック１２０６＝「いいえ」）、フロアランプは、以下で説明されている決定ブロック１２２０におけるオペレーションを実行し得る。たとえば、フロアランプは、トリガーパターン（たとえば、ＭＤ１）に関連付けられている新しいアクションを学習／学習解除するためにトリガーパターンを生成した後５秒の指定された時間ウィンドウを有し得る。報酬パターンまたは補正パターンが５秒のウィンドウ内で生成される限り、フロアランプは、トリガーパターン（たとえば、ＭＤ１）でアクションを学習／学習解除し得るが、フロアランプは、受信された報酬／補正パターンが５秒の時間ウィンドウの外にある場合に新しい関連付けを学習すること、または古い関連付けを学習解除することを実行しないことができる。別の例では、フロアランプは、単純に関連付けられているリフレックスが学習解除状態にあるか、または関連付けられているリフレックスが学習または学習解除し得ない静的リフレックスであるという理由により学習することができない場合があり得る。
【０１６９】
[0177]しかし、フロアランプが、リフレックスのアクショントリガー関連付けに関して学習することを許されていると決定した場合（すなわち、決定ブロック１２０６＝「はい」）、決定ブロック１２０８において、フロアランプは、生成されたパターンが報酬パターンとマッチしているかどうかを決定し得る。いくつかの実施形態では、フロアランプは、学習時間ウィンドウ内で報酬パターンを受信するかまたは生成し得る。たとえば、ユーザは、壁面スイッチをスイッチオンし、フロアランプをオンにしてから５秒以内にフロアランプ上の報酬ボタンを押すことができる。フロアランプ上の報酬ボタンを押すことによって、報酬パターン（たとえば、図７に示されているようなパターンＭＤ４）を生成し得る。代替的な一例において、ユーザは、壁面スイッチをオンにしてから５秒以内にフロアランプに取り付けられているランプスイッチ１２６をオンにし、フロアランプがランプがアクティブ化したときに報酬パターン（たとえば、ＭＤ４）を生成し、フロアランプがオンになったことを確認することを引き起こし得る。
【０１７０】
[0178]いくつかの実施形態では、フロアランプは、モニターモードに入っているか、またはトリガーモードに入っているかに基づいて学習することを許され得る。たとえば、特定のリフレックスに対するモニターモードに入ったときに、フロアランプは、そのリフレックスに関して学習することを許されないが、学習することは、リフレックスのトリガーモードに入っているときに許され得る。いくつかの実施形態では、１つまたは複数のリフレックスは、フロアランプの全体的状態または構成などの、他の要因により学習することを許され得る。たとえば、フロアランプは、様々なリフレックスがテストされ得るアクティブデバッグモードなどの、システム設定により学習することを許さないように構成され得る。
【０１７１】
[0179]フロアランプが、生成されたパターンが報酬パターンとマッチすると決定した場合（すなわち、決定ブロック１２０８＝「はい」）、ブロック１２１２ａにおいて、フロアランプは、関連付けられているリフレックスのトリガー重みを調整することができる。いくつかの実施形態では、フロアランプは、トリガー重みを増加させることによって適切なリフレックスに関連付けられているトリガー重みを調整し得る。たとえば、フロアランプが、トリガーパターン（たとえば、ＭＤ１）に遭遇してからの５秒の学習時間ウィンドウ内でパターン（たとえば、ＭＤ４）を受信するかまたは生成する場合、フロアランプは、トリガーパターンのリフレックスのトリガー重みを増加させることができる。トリガー重みが調整された後、ブロック１２１４において、フロアランプは、調整されたトリガー重みをメモリ１３８に記憶することができ、フロアランプは、以下で説明されているように決定ブロック１２２０におけるオペレーションを実行することができる。
【０１７２】
[0180]いくつかの実施形態では、フロアランプは、ブロック１２１２ａにおけるオペレーションを実行した後に決定ブロック１２１０におけるオペレーションも適宜実行し得る。言い換えれば、フロアランプは、決定ブロック１２０８の決定に関係なく、学習することを許されていると決定したことに応答して（すなわち、決定ブロック１２０６＝「はい」）、決定ブロック１２０８において報酬パターンがマッチしたかどうかと、決定ブロック１２１０において補正パターンがマッチしたかどうかの両方を評価するように構成され得る。言い換えれば、報酬および補正のマッチは、フロアランプによって並行してチェックされ得る。
【０１７３】
[0181]フロアランプが生成されたパターンが知られている報酬パターンにマッチしていないと決定した場合（すなわち、決定ブロック１２０８＝「いいえ」）、フロアランプは、決定ブロック１２１０において補正パターンのマッチをチェックし得る。いくつかの実施形態では、フロアランプは、学習時間ウィンドウ内で補正パターンを受信するかまたは生成し得る。たとえば、ユーザは、壁面スイッチをスイッチオンし、フロアランプをオンにしてから５秒以内にフロアランプ上の補正ボタンを押すことができる。補正ボタンを押すことによって、フロアランプは、補正パターン（たとえば、図７に示されているようなパターンＭＤ５）を生成し得る。代替的な一例において、ユーザは、壁面スイッチをオンにしてから５秒以内にフロアランプに取り付けられているランプスイッチ１２６をオフにし、フロアランプがライト１２４をオフにしたときにフロアランプが補正パターン（たとえば、ＭＤ４）を生成することを引き起こし得る。
【０１７４】
[0182]フロアランプが、生成されたパターンが知られている補正パターンとマッチすると決定した場合（すなわち、決定ブロック１２１０＝「はい」）、フロアランプは、ブロック１２１２ｂにおいてトリガー重みを調整することができる。いくつかの実施形態では、フロアランプは、学習時間ウィンドウ内で補正パターンを受信した後にトリガー重みを減少させ得る。たとえば、フロアランプは、ユーザが壁面スイッチの「オン」イベントに関連付けられているトリガーパターン（たとえば、ＭＤ１）を生成して５秒以内にフロアランプのランプスイッチ１２６を「オフ」にするときに補正パターン（たとえば、パターンＭＤ５）を生成することができる。フロアランプは、ＲｅｆｌｅｘＦ２の補正パターンとして生成されたパターン（ＭＤ５）とマッチし、ＲｅｆｌｅｘＦ２に関連付けられているトリガー重みを小さくすることができる。ブロック１２１４において、フロアランプは、調整された重みをメモリ１３８に記憶することができ、フロアランプは、以下で説明されているように決定ブロック１２２０におけるオペレーションを実行することができる。言い換えれば、フロアランプは、少なくとも１つの追加のイベントがリフレックスに関連付けられている補正パターンおよび報酬パターンの少なくとも一方に対応するときにリフレックスの１つまたは複数のトリガー重みを調整し得る。
【０１７５】
[0183]フロアランプが生成されたパターンが補正パターンとマッチしないと決定したことに応答して（すなわち、決定ブロック１２１０＝「いいえ」）、またはフロアランプがマッチしたトリガー重みがトリガー閾値以上ではないと決定したことに応答して（すなわち、決定ブロック１２０４＝「いいえ」）、またはフロアランプが学習することを許されていないと決定したことに応答して（すなわち、決定ブロック１２０６＝「いいえ」）、またはフロアランプがブロック１２１７または１２１４のオペレーションを実行したことに応答して、フロアランプは、ブロック１２０３におけるオペレーションでアクティブ化されたトリガーモードに入るので失効した持続時間に基づくなどして決定ブロック１２２０においてモニターモードに戻るかどうかを決定し得る。トリガーモードを非アクティブ化することで、リフレックスに関連付けられているモニターモードをアクティブ化することができる。フロアランプがモニターモードに戻るべきと決定したことに応答して（すなわち、決定ブロック１２２０＝「はい」）、フロアランプは、ブロック１２２２においてリフレックスに対するトリガーモードを非アクティブ化することができる。フロアランプがモニターモードに戻るべきでないと決定したことに応答して（すなわち、決定ブロック１２２０＝「いいえ」）、またはブロック１２２２のオペレーションが実行されたときに、フロアランプは、図１１を参照しつつ上で説明されているように方法１１００のブロック１１０２においてイベントを取得することを続け得る。
【０１７６】
[0184]図６にシナリオに基づく例として、壁面スイッチは、フロアランプによって受信される新しい発生データとともに新しいイベントレポートメッセージを送信し得る（たとえば、壁面スイッチの「オン」イベント）。フロアランプは、受信された新しいイベントレポートメッセージに基づいてイベントに関連付けられている第１のパターン（たとえば、パターンＭＤ１）を生成するまでブロック１１０２、１１０４、１１０８、および１１１０のオペレーションを実行し得る。同じ時間ウィンドウ内で、フロアランプは、他の発生データに基づいて第２のパターン（たとえば、パターンＭＤ２）を生成し、図１１を参照しつつ上で説明されているようなブロック１１０２〜１１４および図１２を参照しつつ上で説明されているようなブロック１２０２、１２０３、１２０４、１２１６におけるオペレーションにより第２のパターンを処理し得る。フロアランプは、これらのオペレーションに基づいて第２のパターンに関連付けられている第２のリフレックス（たとえば、ＲｅｆｌｅｘＦ１）をトリガーモードにすることができる。
【０１７７】
[0185]次いで、フロアランプは、受信された新しいイベントレポートメッセージに基づいてイベントに関連付けられている第１のパターン（たとえば、パターンＭＤ１）を生成するまで図１１を参照しつつ上で説明されているようなブロック１１０２、１１０４、１１０８、および１１１０におけるオペレーションを実行し得る。フロアランプは、図１１を参照しつつ上で説明されているようなブロック１１１２、１１１４、１１１６、１１１８、１１１９のオペレーションを実行することと、第１のパターンをトリガーパターン（たとえば、パターンＭＤ１）として第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）を作成することと、第２のリフレックスがトリガーモードに入っているので第２のリフレックス（たとえば、ＲｅｆｌｅｘＦ１）からそのアクションパターンと、報酬パターンと、補正パターンとをコピーすることとによって新しいパターンを処理することを続け得る。
【０１７８】
[0186]フロアランプが、その後、同じイベントを取得し、壁面スイッチから受信された他のデータに基づいて第１のパターン（たとえば、パターンＭＤ１）を生成する場合、フロアランプは、図１１を参照しつつ上で説明されているようなブロック１１０２、１１０４、１１０８、１１１０、１１１２、および１１１４のオペレーションで第１のリフレックスを参照して第１のパターンを処理することができる。決定ブロック１１１４において、フロアランプは、壁面スイッチに関連付けられているパターンがメモリに記憶されている第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）のトリガーパターンとして現在知られているので、壁面スイッチに関連付けられている生成されたパターン（たとえば、パターンＭＤ１）は知られているパターンとマッチすると判定し得る。そこで、フロアランプは、壁面スイッチの「オン」イベントに対する生成されたパターンの処理を継続するために図１２を参照しつつ上で説明されているオペレーションを実行し続け得る。
【０１７９】
[0187]この例を続けると、フロアランプは、新しい壁面スイッチイベントからマッチした第１のパターン（ＭＤ１）を処理し、マッチしたパターンがトリガーパターンマッチであると決定し（すなわち、決定ブロック１２０２＝「はい」）、第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）に対するトリガーモードをアクティブ化することができる。しかしながら、第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）に対するトリガー重みは、そのトリガー閾値よりも低い場合があり、その場合、フロアランプは、ブロック１２１６においてアクションを生成しないが、他のイベント／パターンを監視することを続け得る。その一方で、フロアランプは、ランプスイッチ１２６からの「オン」イベントなどの、異なるトリガーベントに遭遇し得る。フロアランプは、図１１を参照しつつ上で説明されているような方法１１００のブロック１１０２、１１０４、１１０８、および１１１０を通じてランプスイッチ１２６からのオンイベントを処理し、ランプスイッチ１２６のオンイベントに関連付けられている第２のパターン（たとえば、パターンＭＤ２）を生成し得る。フロアランプは、図１１と図１２とを参照しつつ上で説明されているようなブロック１１１２、１１１４、および１２０２のオペレーションを通じてオンイベントパターンを処理することを続け得る。方法１２００の決定ブロック１２０２において、フロアランプは、第２のパターン（ＭＤ２）が第２のリフレックス（ＲｅｆｌｅｘＦ１）に対するトリガーパターンマッチであると決定し、決定ブロック１２０４において、第２のリフレックスに対するトリガー重みは、閾値より高いと決定し得る。その場合、第２のリフレックスのトリガー重みに基づいて、フロアランプは、図１２を参照しつつ上で説明されているようなブロック１２１６においてアクションパターンと関連付けられているアクション（たとえば、ライトをオンにする）とを生成し得る。ライトをオンにすることによって、フロアランプは、図１１を参照しつつ上で説明されているようなブロック１１１０において報酬イベントとその後の報酬パターン（たとえば、パターンＭＤ４）とを生成し得る。フロアランプは、決定ブロック１２０８においてフロアランプが生成された報酬パターン（ＭＤ４）が第１のリフレックス（ＲｅｆｌｅｘＦ２）の報酬パターンとマッチすると決定するまで上で説明されているような方法１１００と１２００とを通じて報酬パターンを処理することができる。フロアランプは、トリガー重みを増加させることと、調整をメモリ１３８に記憶することとによってＲｅｆｌｅｘＦ２に関連付けられている重みを調整し、それによって、壁面スイッチでのオンイベントとフロアランプでのオンイベントとの間の関連付けを学習し得る。このプロセスは、第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）のトリガー重みが、図９に示されているようなトリガー閾値より高くなるまでフロアランプによって繰り返され得る。
【０１８０】
[0188]図１１と図１２とを参照しつつ上で説明されている実施形態の方法は、イベントがある時間ウィンドウに対して取得されて記憶され、その時間ウィンドウにおいて任意の数のイベントが取得されるものとしてよく、記憶されたイベントを処理してマッチしているパターンを識別し、新しい相関またはリフレックスを学習することは複数のイベントとイベントおよびリフレックスの組合せとを包含し得るので、ある種の再帰アルゴリズムとして機能し得る。ユーザが実施形態のスマートボックスと学習デバイスとをトレーニングすることを可能にするためにこれらの実施形態がどのように機能し得るかをさらに開示するために、そのようなデバイスを実装するユーザアクションの次の例が提示されている。この例では、ユーザは、まだ互いに関連付けられていない、２つの学習デバイス、すなわち、壁面スイッチとフロアランプとをトレーニングする。説明を簡単にするため、フロアランプまたは壁面スイッチへの次の参照は、それらの関連付けられているスマートボックスを包含することを意図されている。
【０１８１】
[0189]この例では、フロアランプおよび壁面スイッチの各々は、それらの関連付けられているスマートボックスのメモリに記憶されている事前定義されたリフレックスを有するものとしてよい。たとえば、壁面スイッチは、トリガーパターン「ＷＴ」と、アクションパターン「ＷＡ」と、補正パターン「ＷＣ」と、報酬パターン「ＷＲ」とを含み得るメモリに記憶されている事前定義されたリフレックスＲｅｆｌｅｘＷを有するものとしてよい。トリガーパターンＷＴは、ユーザが壁面スイッチを「オフ」から「オン」にトグルするトリガーイベントに対応し得る。ユーザが、壁面スイッチを「オフ」から「オン」にトグルしたときに、壁面スイッチは、イベントを生成し、さらには「オン」イベントに関係する発生データを含むイベントレポートメッセージをブロードキャストし得る。壁面スイッチの「オン」イベントに関係する生成されたイベントから、壁面スイッチ内に備えられているか、または結合されているスマートボックスが、トリガーパターンＷＴを生成し得る。最初に、アクションパターンＷＡは、スイッチをトグルするなどの日常の生活におけるアクションに対応していない可能性がある。その代わりに、ＷＡは、単純に、将来のリフレックスにいつでも割り当てられるようになっているコンピュータコードであってよい。
【０１８２】
[0190]補正パターンＷＣは、「Ｃｏｒｒｅｃｔｉｏｎ」というラベルが付けられている壁面スイッチ上のボタンに対応し得る。ユーザが補正ボタンを押すと、壁面スイッチは、補正イベントを生成し、さらには補正イベントを示す発生データとともに別のイベントレポートメッセージをブロードキャストし得る。生成された補正イベントから、壁面スイッチに関連付けられているスマートボックスは、補正パターンＷＣを生成し得る。報酬パターンＷＲは、ユーザが「Ｒｅｗａｒｄ」というラベルが付けられている壁面スイッチ上の報酬ボタンを押すイベントに対応し得る。ユーザが報酬ボタンを押すと、壁面スイッチは、報酬イベントを生成し、さらには報酬イベントを示す発生データとともに別のイベントレポートメッセージをブロードキャストし得る。生成された報酬イベントから、壁面スイッチに関連付けられているスマートボックスは、報酬パターンＷＲを生成し得る。
【０１８３】
[0191]同様に、フロアランプは、トリガーパターンＭＤ１と、アクションパターンＭＤ３と、補正パターンＭＤ５と、報酬パターンＭＤ４とを含み得るメモリに記憶されている事前定義されたリフレックスＲｅｆｌｅｘＦ２を有することができる。トリガーパターンＭＤ１は、ユーザがフロアランプのランプスイッチを「オフ」から「オン」にトグルするトリガーイベントに対応し得る。ユーザが、ランプスイッチを「オフ」から「オン」にトグルしたときに、壁面スイッチは、トリガーイベントを生成し、さらにはランプの「オン」イベントを示す発生データを含むイベントレポートメッセージをブロードキャストし得る。生成されたトリガーイベントから、フロアランプ内に備えられているか、または結合されているスマートボックスが、トリガーパターンＭＤ１を生成し得る。アクションパターンＭＤ３は、フロアランプがライトを「オフ」から「オン」にするイベントに対応し得る。補正パターンＭＤ５は、フロアランプがトリガーモードに入っているときに「Ｃｏｒｒｅｃｔｉｏｎ」というラベルが付けられているフロアランプ上の追加のボタンに対応し得る。ユーザが補正ボタンを押すと、ランプは、補正イベントを生成し、さらにはランプの補正イベントを示す発生データとともにイベントレポートメッセージをブロードキャストし得る。生成された補正イベントから、フロアランプに関連付けられているスマートボックスは、補正パターンＭＤ５を生成し得る。報酬パターンＭＤ４は、ユーザがトリガーモードに入っている場合にフロアランプをオンにしたときに、報酬イベントを生成し、さらにはランプの報酬イベントを示す発生データとともにイベントレポートメッセージをブロードキャストすることに対応する。報酬イベントから、フロアランプに関連付けられているスマートボックスは、報酬パターンＭＤ４を生成し得る。
【０１８４】
[0192]壁面スイッチおよびフロアランプが最初にこの仕方で構成されている状態で、ユーザは、次のように壁面スイッチに応答してオンになるようにフロアランプをトレーニングすることができる。壁面スイッチが「オフ」位置にあり、フロアランプがオフにされている状態で、ユーザは壁面スイッチをオンにし、手動によるオペレーション（たとえば、デバイス上のスイッチを入れる）を介して即座にフロアランプをオンにすることがある。これら２つのアクションが短い時間期間（たとえば、５から１０秒）内に遂行された場合、フロアランプに関連付けられているスマートボックスは、ランプオンリフレックスに関連付けられている重みを増加させることによってターンオンアクションを学習することを始めることができる。同様に、ユーザは、壁面スイッチをオフにし、即座にフロアランプをオフにすることによって壁面スイッチがオフにされたことに応答するようフロアランプをティーチングすることができる。ここでもまた、これら２つのアクションが短い時間期間（たとえば、５から１０秒）内に遂行された場合、フロアランプに関連付けられているスマートボックスは、ランプオフリフレックスに関連付けられている重みを増加させることによってターンオフアクションを学習することを始めることができる。
【０１８５】
[0193]そのようなトレーニングサイクルが１つでは十分でない場合があり（すでにトレーニング解除されているスマートボックスが単一のステップで第１のリフレックスイベント相関を学習するいくつかの実施形態の場合を除き）、したがって、ユーザは、壁面スイッチをオンにし、即座にフロアランプをオンにし、続いて少し間を置いて、壁面スイッチをオフにし、即座にフロアランプをオフにするプロセスを繰り返すものとしてよい。この一連のステップは、フロアランプに関連付けられているスマートボックスの学習ヒステリシス構成に応じて、３回またはそれ以上の回数、繰り返される必要があり得る。
【０１８６】
[0194]２、３、またはそれ以上の繰返しの後、フロアランプに関連付けられているスマートボックスは、壁面スイッチのその後のトグルがフロアランプがしかるべくオンまたはオフになることを引き起こすようにランプオンおよびランプオフのリフレックスに関連付けられている重みを増加させている可能性がある。したがって、壁面スイッチのオン／オフイベントとフロアランプのオン／オフアクションとのこの望ましい相関をトレーニングするために、ユーザは、フロアランプがユーザが壁面スイッチをトグルしたことに応答してオンにすることを開始するまでこのプロセスを単純に繰り返すことができる。
【０１８７】
[0195]ユーザによるこの一連のアクションは、壁面スイッチおよびフロアランプと関連付けられているスマートボックス内で次のアクションが生じることを引き起こす。壁面スイッチに関連付けられているスマートボックスが、「オフ」から「オン」へのトグルを感知したときに、壁面スイッチは、受信するブロードキャスト範囲（たとえば、１００フィート）内のすべての学習デバイスに対してイベントレポートメッセージでブロードキャストされ得るトリガーイベントと関連付けられている発生データとを生成し得る。フロアランプに関連付けられているスマートボックスは、壁面スイッチのブロードキャスト範囲内にあり、イベントレポートメッセージを受信することができる。受信した後、フロアランプは、関係するイベントを生成し、メモリに記憶されているイベントフィルタが生成されたイベントのさらなる処理を妨げるかどうかを決定し得る。既定の状態では、フロアランプは、フィルタを生成されたイベントに適用しないことがあり得、したがって、フロアランプは生成されたイベントをメモリに記憶し得る。生成されたイベントに基づいて、フロアランプは、パターンＭＤ２を生成し得る。
【０１８８】
[0196]最初に、フロアランプは、ＲｅｆｌｅｘＦ２に関連付けられているパターンをメモリに記憶しておくだけである（たとえば、ＭＤ１、ＭＤ３、ＭＤ５、およびＭＤ４）。この例の目的のために、フロアランプは、パターンＭＤ２を生成するのと同じ時間ウィンドウ内で、ＲｅｆｌｅｘＦ２に対するトリガーパターン、パターンＭＤ１を生成したことなどに応答して、ＲｅｆｌｅｘＦ２に対するトリガーモード内にすでに入っていることが仮定される。生成されたパターンＭＤ２がＲｅｆｌｅｘＦ２のどのパターンともマッチしないので、生成されたパターンＭＤ２は、新しいリフレックスに対するトリガーパターンとして使用され得る未知のパターンと考えられ得る。フロアランプは、未知の、またはマッチしていないパターンＭＤ２で新しいリフレックスを作成するかどうかを決定し得る。フロアランプには、新しいリフレックスを作成しない異なる多くの理由があり得る。たとえば、フロアランプは、学習阻止モード（たとえば、保持モード）に入っているか、またはフロアランプは、特定のデバイスに関連付けられている特定のパターンからリフレックスを作成することを禁じられている場合がある（たとえば、フロアランプは、壁面スイッチに関連付けられているパターンからリフレックスを作成しない）。
【０１８９】
[0197]この例では、フロアランプは、新しいリフレックスを作成することを阻止されていないので、フロアランプは、未知のパターンＭＤ２をトリガーパターンとして、新しいリフレックスＲｅｆｌｅｘＦ１を作成することができる。新しいリフレックスＲｅｆｌｅｘＦ１は、完全なリフレックスとなるように、アクションパターンと、補正パターンと、報酬パターンとを含み得る。そこで、フロアランプは、メモリに記憶してあるアクションパターンと、補正パターンと、報酬パターンとを（たとえば、ＭＤ３と、ＭＤ５と、ＭＤ４とを）コピーすることによってトリガーモードにおける知られているリフレックスＲｅｆｌｅｘＦ２のみからのパターンを使用し、それらのパターンを新しいトリガーパターンＭＤ２とともに新しいリフレックスＲｅｆｌｅｘＦ１に割り当てることができる。フロアランプの設定に応じて、フロアランプは、オンにトグルする壁面スイッチに関係するトリガーイベントとフロアランプのライトのアクティブ化との間の新しい関連付けを学習したばかりである場合がある。たとえば、フロアランプは、フロアランプが新しいリフレックスをすぐに学習する臨界学習期間８０１（図８に示されているような）に入っているものとしてよい（たとえば、フロアランプ上で実行される単一のオン／オフシーケンス）。そこで、フロアランプは、壁面スイッチが「オフ」から「オン」にトグルした後、ライトをアクティブ化し得る。しかしながら、この例の目的に関して、フロアランプが、臨界期間内になく、「オフ」から「オン」への壁面スイッチのトグルとフロアランプのライトをアクティブ化することとの間の関連付けをまだ完全には学習していないことが仮定される。
【０１９０】
[0198]ユーザが、壁面スイッチをトグルした後まもなくフロアランプをオンにしたときに、フロアランプに関連付けられているスマートボックスは、最近学習されたパターンＭＤ２をトリガーパターンとして、そのランプオンイベントを新しいリフレックスＲｅｆｌｅｘＦ１と相関させることができる。壁面スイッチがオフにされ、その後すぐにフロアランプがオフにされるアクションでは、壁面スイッチとフロアランプとにおいて類似の応答を生成し得る。
【０１９１】
[0199]壁面スイッチが、２回目に「オフ」から「オン」にトグルされると、オンイベントの関連付けられている発生データは、再び、イベントレポートメッセージでブロードキャストされ、フロアランプによって受信され得る。ここでもまた、フロアランプは、発生データとともに関係するイベントレポートメッセージを処理し、イベントを、そして最終的にパターンＭＤ２を生成し得る。しかしながら、今回、フロアランプは生成されたパターンＭＤ２とＲｅｆｌｅｘＦ１の知られているパターンとのマッチングを行う。このマッチングに応答して、フロアランプは、また、パターンＭＤ２とＲｅｆｌｅｘＦ１の記憶されているトリガーパターンとの間にマッチがあると決定し、ＲｅｆｌｅｘＦ１に関してトリガーモードに入ることができる。さらに、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上であるかどうかを決定することができる。この例では、１回のみのトレーニングサイクルの後に、ＲｅｆｌｅｘＦ１が新しいリフレックスであるので、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上でないと決定し得る。そこで、フロアランプは、ＲｅｆｌｅｘＦ１に対してトリガーモードに入っている間により多くのイベントを監視することを続け得る。
【０１９２】
[0200]ユーザが５〜１０秒の時間ウィンドウ内でフロアランプをオンにしたときに、フロアランプは、最終的にフロアランプが報酬パターンＭＤ４を生成することを引き起こす報酬イベントを生成し得る。フロアランプは、ＭＤ４を処理し、報酬パターンとＲｅｆｌｅｘＦ１とのマッチがあると決定する。それに応答して、フロアランプは、ＲｅｆｌｅｘＦ１に関してまだトリガーモードに入っており、ＲｅｆｌｅｘＦ１のトリガー重みを増加させ得る。重みを調整した後、または５〜１０秒の時間ウィンドウの後に、フロアランプは、ＲｅｆｌｅｘＦ１に関してトリガーモードを終了し、フロアランプがより多くのイベントを監視する監視モードに入り得る。
【０１９３】
[0201]その後しばらくして、ユーザが３回目にまた壁面スイッチをオンにトグルし、壁面スイッチがフロアランプによって受信された発生データとともにイベントレポートメッセージをブロードキャストすることを引き起こし得る。ここでもまた、受信されたメッセージ内のデータに基づいて、フロアランプは、関係するイベントを生成し、次いでパターンＭＤ２を生成し得る。フロアランプは、生成されたパターンＭＤ２とＲｅｆｌｅｘＦ１のトリガーパターンとの間にトリガーのマッチがあると決定し、３回目にＲｅｆｌｅｘＦ１に関してトリガーモードに入ることができる。もう一度、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上であるかどうかを決定することができる。３回目では、ＲｅｆｌｅｘＦ１が新しいリフレックスであるので、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上でないと決定し得る。そこで、フロアランプは、トリガーモードに入っている間により多くのイベントを監視することを続ける。
【０１９４】
[0202]ＲｅｆｌｅｘＦ１の最近のトリガーモードの５〜１０秒の時間ウィンドウ内にまだある間に、ユーザが、３回目にフロアランプをオンにすることができる。それに応答して、フロアランプは、最終的にフロアランプが報酬パターンＭＤ４を生成することを引き起こす報酬イベントを生成する。フロアランプは、ＭＤ４を処理し、報酬パターンとＲｅｆｌｅｘＦ１とのマッチがあると決定し得る。フロアランプは、ＲｅｆｌｅｘＦ１に関してまだトリガーモードに入っており、ＲｅｆｌｅｘＦ１のトリガー重みをトリガー閾値より高く増加させ得る。
【０１９５】
[0203]その後しばらくして、ユーザが４回目に壁面スイッチを「オフ」から「オン」にトグルしたときに、同じシーケンスのイベントが発生し、今回のみ、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みが閾値以上であり、したがってアクションパターンＭＤ３を生成すると決定し得る。アクションパターンＭＤ３に応答して、フロアランプは、フロアランプのライトをオンにするモーターコントローラを通電する関連付けられているアクションイベントを生成し得る。その後、フロアランプは、ユーザが壁面スイッチを「オフ」から「オン」にトグルしたことに応答してオンにされる。
【０１９６】
[0204]学習デバイスの非集中システムのユーザは、ある場所において異なる状況に賢く適応するようにそのような学習デバイスをトレーニングすることができる。しかしながら、学習デバイスの異なるフォームファクタは、異なるユーザと、場所と、アプリケーションに対して役立ち得る。特に、購入を迫られているユーザがすべての新しいデバイス（たとえば、家具、電気製品など）を購入することを回避するために、既存のデバイスは、学習デバイスへと姿を変えさせるスマートボックスのインテリジェント機能を備えるように改造または適応される必要があり得る。図１３Ａ〜図１４Ｂは、ある場所にある他のデバイスに関するスマートボックスに対する例示的なフォームファクタおよび／または構成を示している。特に、他の方法ではプログラム可能でないか、または学習しないデバイスを学習を行うことができるスマートボックス対応デバイスに変換するアダプタが使用され得る。そのようなアダプタは、処理ロジック（すなわち、「頭脳」）、さらには対応する頭脳と、またさらにはその場所の中にある他のスマートボックスとワイヤレス方式でデータを交換するその場所の中にあるユニットであり得るレポーターを備えるものとしてよい。
【０１９７】
[0205]図１３Ａは、頭脳とレポーターの両方を含み得る一実施形態のアダプタを示している。言い換えれば、図１３Ａは、図１Ａを参照しつつ上で説明されているスマートボックスに類似するスマートボックスアダプタ１３０１を示している。アダプタ１３０１は、二叉または三叉コネクタなどを介して、コンセント１３０２（たとえば、ＡＣコンセント）に直接接続され、さらには接続部１１０ｂ（たとえば、フロアランプからのコードとプラグ）を介してフロアランプに接続され得る。アダプタ１３０１をコンセント１３０２とフロアランプとの間に置き、アダプタ１３０１は、リレーなどを介して、フロアランプへの電力消費量を検出し、調節することができるものとしてよい。レポーター（図１３Ａには図示されていない）が含まれる場合、アダプタ１３０１も、フロアランプで生じる電源オン／オフイベントを示す発生データを含むイベントレポートメッセージなどの、フロアランプのオペレーションに関係するイベントを示す信号をワイヤレス方式で送信するように構成され得る。
【０１９８】
[0206]図１３Ｂは、図１３Ａに示されているアダプタ１３０１に類似する別の実施形態のアダプタ１３５２を示しているが、ただし、アダプタ１３５２は、直接取り付けられるか、または含まれるレポーターユニットがない頭脳要素のみを備え得る点が異なる。特に、レポーターが含まれていないアダプタ１３５２は、コンセント１３０２に、さらには接続部１１０ｂを介してフロアランプに接続され得る。レポーター１３５４は、壁、デスク、テーブルトップなどの、同じ場所の中の付近に置かれ、したがって、レポーター１３５４は、アダプタ１３５２のワイヤレス信号の受信範囲内にある。様々な実施形態において、レポーター１３５４は、状態変化（たとえば、オン／オフ変化）を送信するワイヤレス送信機、様々な増分（たとえば、秒、分、時、日など）の時間変化を送信する時計、輝度レベルを送信する光センサー、および他の類似の送信機デバイスを有する単純な壁面スイッチであってよい。
【０１９９】
[0207]図１４Ａは、電球１４０２とフロアランプとの間の電気的接続部内に置かれるように構成されている別の実施形態のスマートボックスアダプタ１４０４を示している。アダプタ１４０４は、アダプタ１４０４が電球１４０２とソケット１４１０とに接続し、それらの間に位置決めされるようにフロアランプの従来の電球ソケット１４１０内に挿入され得る。たとえば、アダプタ１４０４は、電球１４０２の下に置かれているリングであってよい。いくつかの実施形態では、アダプタ１４０４、１４５０は、内部電池を充電するために使用され得る熱エネルギーを電球１４０２から取り出すように構成され得る。
【０２００】
[0208]いくつかの実施形態では、アダプタは、交換可能物（またはスマート交換可能物）内に備えられ得る。このようにして、ユーザが学習することができるある場所にすでに存在している電気製品を安く、容易にアップグレードする（すなわち、通常の電気製品を学習デバイスに変換する）ことができるように電気製品の使い捨て／交換可能コンポーネント内にインテリジェント機能が組み込まれ得る。図１４Ｂは、従来の電球を交換することができる電球（すなわち、「スマートバルブ」）内に備えられる使い捨てスマートボックスアダプタ１４５０を示している。そのようなスマートバルブがあれば、ユーザは、その場所内での発生に基づいて動作することを学習することができるランプを有するためにスマートランプを購入することを回避できる。たとえば、フロアランプのソケット１４１０内に取り付けられたアダプタ１４５０は、アダプタが付近のスマートボックスから知られているトリガーパターンに関係する発生データとともにイベントレポートメッセージを受信したときにオンまたはオフになるようにトレーニングされ得る（すなわち、スマートバルブ内のコネクタは、実際のランプスイッチを使用せずにライトをオン／オフすることができる）。学習デバイス能力を有する交換可能物の他の例示的な使用は、冷蔵庫のフィルタ、様々な電池式デバイス用の電池、便座、蛇口、室内装飾品カバー（たとえば、ソファー、枕など）を含み得る。
【０２０１】
[0209]様々な実施形態において、アダプタは、関連付けられているデバイスがオフにされたときであっても必ず動作可能なように内部電池を充填する必要があり得る。たとえば、図１４Ａ〜図１４Ｂに示されているようにソケット１４１０に接続されているときに、アダプタ１４０４、１４５０は、フロアランプを介して受ける電流で充電式電池を充電するように構成され得る。様々な実施形態において、そのようなアダプタは、回路と、処理ユニットと、センサーとを備え得る。
【０２０２】
[0210]上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様のステップを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の態様におけるステップの順序は、いかなる順序でも実行され得る。「その後」、「次いで」、「次に」などの用語は、それらのステップの順序を限定することが意図されず、これらの用語は、単に、読者をこれらの方法の説明に導くためである。さらに、たとえば、冠詞「ａ」、「ａｎ」または「ｔｈｅ」を使用する単数形の請求項の要素への言及は、その要素を単数形に限定するものと解釈されるべきではない。
【０２０３】
[0211]本明細書で開示される態様に関して説明される、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上述されている。このような機能性がハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、特定の応用およびシステム全体に課される設計の制約によって決まる。当業者は、各具体的なアプリケーションについて様々な方法で説明された機能性を実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０２０４】
[0212]スマートボックス１０３などのハードウェアは、本明細書で開示されている態様に関して説明されている様々例示的な論理回路、論理ブロック、モジュール、および回路を実装するために使用され、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書で説明されている機能を実行するように設計されているこれらの任意の組合せにより実装または実行され得る。汎用プロセッサはマルチプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマルチプロセッサとの組合せ、複数のマルチプロセッサ、ＤＳＰコアと連携する１つもしくは複数のマルチプロセッサ、専用スマートデバイスＡＳＩＣ、または任意の他のそのような構成としても実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実施できる。
【０２０５】
[0213]１つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装された場合、これらの機能は、非一時的プロセッサ可読（またはコンピュータ可読）記憶媒体、非一時的コンピュータ可読媒体、または非一時的プロセッサ可読媒体上に１つまたは複数の命令もしくはコードとして記憶され得る。本明細書で開示されている方法またはアルゴリズムのステップは、非一時的コンピュータ可読媒体またはプロセッサ可読記憶媒体上に存在し得る、プロセッサ実行可能ソフトウェアモジュールまたはプロセッサ実行可能命令で具現化され得る。非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセス可能な何らかの記憶媒体であってよい。限定ではなく、例として、そのような非一時的コンピュータ可読媒体または非一時的プロセッサ可読媒体は、所望されるプログラムコードを命令またはデータ構造の形で記憶するために使用可能であり、かつコンピュータによってアクセス可能なＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＦＬＡＳＨメモリ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または何らかの他の媒体を含むことが可能である。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、一方、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体および非一時的プロセッサ可読媒体の範囲に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品内に組み込むことが可能な１つのコードおよび／もしくは命令、あるいはコードおよび／もしくは命令の任意の組合せまたはセットとして、非一時的プロセッサ可読媒体上および／または非一時的コンピュータ可読媒体上に存在し得る。
【０２０６】
[0214]開示した実施形態の上記の説明は、当業者が本発明を製作または使用できるように提供したものである。これらの実施形態への様々な修正は当業者には容易に明らかであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示された実施形態に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示される原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
学習デバイスの連続的構成のための方法であって、
監視モードに入っている間に取得されたイベントを、第１の学習デバイスによって、記憶することと、
前記記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに、所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記第１のリフレックスがトリガー重み閾値を超えるトリガー重みを有するかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられ、前記所定のアクションを実行することに応答して発生する第１の報酬パターンおよび第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスを作成することと、
を備える方法。
［Ｃ２］
前記第１のリフレックスの前記トリガー重みを調整することは、
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の報酬パターンに対応するときに前記第１のリフレックスの前記トリガー重みを増加させることと、および
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の補正パターンに対応するときに前記第１のリフレックスの前記トリガー重みを減少させることと、をさらに備える、
Ｃ１に記載の方法。
［Ｃ３］
高利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに臨界学習期間に入ることをさらに備えるＣ２に記載の方法。
［Ｃ４］
低利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに定常状態学習期間に入ることをさらに備えるＣ２に記載の方法。
［Ｃ５］
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することは、
メモリから以前のイベントを取り出すこと、
をさらに備える、
Ｃ１に記載の方法。
［Ｃ６］
前記監視モードに入っている間に取得されたイベントを、前記第１の学習デバイスによって、記憶することは、
少なくとも１つのイベントおよび関連付けられたパターンが時間ウィンドウの後にメモリから取り除かれるように、前記時間ウィンドウにおいて前記少なくとも１つのイベントを、前記メモリに、記憶すること、
を備える、
Ｃ１に記載の方法。
［Ｃ７］
前記記憶されたイベントの少なくとも１つは、ローカルで生成される発生データに基づいて取得される、
Ｃ１に記載の方法。
［Ｃ８］
前記記憶されたイベントの少なくとも１つは、リモートで生成される発生データに基づいて取得される、
Ｃ１に記載の方法。
［Ｃ９］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の学習デバイスが第２の学習デバイスからイベントレポートメッセージを受信することに応答して生成され、ここにおいて、前記第１の学習デバイスおよび前記第２の学習デバイスは、有線またはワイヤレス通信リンクを介して接続されるある場所における複数の学習デバイスからなる非集中システムの一部である、
Ｃ８に記載の方法。
［Ｃ１０］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応する、
Ｃ８に記載の方法。
［Ｃ１１］
前記記憶されたイベントの少なくとも１つは、有線またはワイヤレス通信リンクを介して非学習デバイスから受信される発生データに基づいて取得される、
Ｃ１に記載の方法。
［Ｃ１２］
前記少なくとも１つの追加のイベントが第３のリフレックスに関連付けられた異なるトリガーパターンに対応するときに、第２のトリガーモードを同時にアクティブ化することをさらに備えるＣ１に記載の方法。
［Ｃ１３］
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することは、
前記所定のアクションを実行することに基づいて結果として生じるイベントを生成することと、および
前記結果として生じるイベントを示し、別の学習デバイスによって使用されることが可能であるイベントレポートメッセージをブロードキャストすることと、
を備える、
Ｃ１に記載の方法。
［Ｃ１４］
別の学習デバイスからイベントレポートメッセージを、前記第１の学習デバイスにおいて、受信すること、ここにおいて、前記受信されたイベントレポートメッセージは、前記別の学習デバイスが前記第１のトリガーパターンに対応する別のイベントを取得したことに応答して前記別の学習デバイスによって生成された別のイベントを示す、をさらに備えるＣ１に記載の方法。
［Ｃ１５］
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することは、
前記記憶されたイベントの前記少なくとも１つに基づいてパターンにパターンフィルタを適用することと、および
前記記憶されたイベントの前記少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、および前記パターンが前記適用されたパターンフィルタに基づいて破棄されないときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することと、
を備える、
Ｃ１に記載の方法。
［Ｃ１６］
前記第１のリフレックスおよび前記第２のリフレックスは、ガーベジコレクションポリシーに基づいて前記第１の学習デバイスから除去可能なだけである、
Ｃ１に記載の方法。
［Ｃ１７］
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することは、アクチュエータを駆動するためにモーター駆動装置によって使用されるイベントのパターンを生成することを備える、
Ｃ１に記載の方法。
［Ｃ１８］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序依存である、
Ｃ１に記載の方法。
［Ｃ１９］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序独立である、
Ｃ１に記載の方法。
［Ｃ２０］
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することは、１つまたは複数の周期的タイミングメカニズムに基づいて前記少なくとも１つの追加のイベントを取得することを備える、
Ｃ１に記載の方法。
［Ｃ２１］
前記１つまたは複数の周期的タイミングメカニズムに基づいて１つまたは複数のセンサーをポーリングすることをさらに備えるＣ２０に記載の方法。
［Ｃ２２］
前記１つまたは複数の周期的タイミングメカニズムは、複数のデバイスによって共有される、
Ｃ２０に記載の方法。
［Ｃ２３］
監視モードに入っている間に取得されたイベントを記憶することと、
前記記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに、所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記第１のリフレックスがトリガー重み閾値を超えるトリガー重みを有するかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられ、前記所定のアクションを実行することに応答して発生する第１の報酬パターンおよび第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスを作成することと、
を備えるオペレーションを実行するようにプロセッサ実行可能命令により構成されたプロセッサを備えるコンピューティングデバイス。
［Ｃ２４］
前記プロセッサは、
前記第１のリフレックスの前記トリガー重みを調整することが、
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の報酬パターンに対応するときに前記第１のリフレックスの前記トリガー重みを増加させることと、および
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の補正パターンに対応するときに前記第１のリフレックスの前記トリガー重みを減少させることと、
をさらに備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ２５］
前記プロセッサは、
高利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに臨界学習期間に入ることをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２４に記載のコンピューティングデバイス。
［Ｃ２６］
前記プロセッサは、
低利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに定常状態学習期間に入ることをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２４に記載のコンピューティングデバイス。
［Ｃ２７］
前記プロセッサは、
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することがメモリから以前のイベントを取り出すことをさらに備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ２８］
前記プロセッサは、
前記監視モードに入っている間に取得されたイベントを記憶することが、
少なくとも１つのイベントおよび関連付けられたパターンが時間ウィンドウの後にメモリから取り除かれるように、前記時間ウィンドウにおいて前記少なくとも１つのイベントを、前記メモリに、記憶することを備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ２９］
前記記憶されたイベントの少なくとも１つは、ローカルで生成される発生データに基づいて取得される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３０］
前記記憶されたイベントの少なくとも１つは、リモートで生成される発生データに基づいて取得される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３１］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記コンピューティングデバイスが別のデバイスからイベントレポートメッセージを受信することに応答して生成され、ここにおいて、前記コンピューティングデバイスおよび前記別のデバイスは、有線またはワイヤレス通信リンクを介して接続されるある場所の複数の学習デバイスからなる非集中システムの一部である、
Ｃ３０に記載のコンピューティングデバイス。
［Ｃ３２］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応する、
Ｃ３０に記載のコンピューティングデバイス。
［Ｃ３３］
前記記憶されたイベントの少なくとも１つは、有線またはワイヤレス通信リンクを介して非学習デバイスから受信される発生データに基づいて取得される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３４］
前記プロセッサは、
前記少なくとも１つの追加のイベントが第３のリフレックスに関連付けられた異なるトリガーパターンに対応するときに、第２のトリガーモードを同時にアクティブ化することをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３５］
前記プロセッサは、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することが
前記所定のアクションを実行することに基づいて結果として生じるイベントを生成することと、および
前記結果として生じるイベントを示し、別のデバイスによって使用されることが可能であるイベントレポートメッセージをブロードキャストすることと、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３６］
前記プロセッサは、
別のデバイスからイベントレポートメッセージを受信すること、ここにおいて、前記受信されたイベントレポートメッセージは、前記別のデバイスが前記第１のトリガーパターンに対応する別のイベントを取得したことに応答して前記別のデバイスによって生成された別のイベントを示す、
をさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３７］
前記プロセッサは、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することが、
前記記憶されたイベントの前記少なくとも１つに基づいてパターンにパターンフィルタを適用することと、および
前記記憶されたイベントの前記少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、および前記パターンが前記適用されたパターンフィルタに基づいて破棄されないときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することと、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３８］
前記第１のリフレックスおよび前記第２のリフレックスは、ガーベジコレクションポリシーに基づいて前記コンピューティングデバイスから除去可能なだけである、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ３９］
前記プロセッサは、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することが、
アクチュエータを駆動するためにモーター駆動装置によって使用されるイベントのパターンを生成すること、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ４０］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序依存である、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ４１］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序独立である、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ４２］
前記プロセッサは、
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することが、
１つまたは複数の周期的タイミングメカニズムに基づいて前記少なくとも１つの追加のイベントを取得すること、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ２３に記載のコンピューティングデバイス。
［Ｃ４３］
前記プロセッサは、
前記１つまたは複数の周期的タイミングメカニズムに基づいて１つまたは複数のセンサーをポーリングすることをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ４２に記載のコンピューティングデバイス。
［Ｃ４４］
前記１つまたは複数の周期的タイミングメカニズムは、複数のデバイスによって共有される、
Ｃ４２に記載のコンピューティングデバイス。
［Ｃ４５］
コンピューティングデバイスのプロセッサに、
監視モードに入っている間に取得されたイベントを記憶することと、
前記記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに、所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記第１のリフレックスがトリガー重み閾値を超えるトリガー重みを有するかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられ、前記所定のアクションを実行することに応答して発生する第１の報酬パターンおよび第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスを作成することと、
を備えるオペレーションを実行させるように構成されたプロセッサ実行可能命令をその上に記憶している非一時的プロセッサ可読記憶媒体。
［Ｃ４６］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記第１のリフレックスの前記トリガー重みを調整することが、
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の報酬パターンに対応するときに前記第１のリフレックスの前記トリガー重みを増加させることと、および
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の補正パターンに対応するときに前記第１のリフレックスの前記トリガー重みを減少させることと、
をさらに備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ４７］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
高利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに臨界学習期間に入ることをさらに備えるオペレーションを実行させるように構成される、
Ｃ４６に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ４８］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
低利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに定常状態学習期間に入ることをさらに備えるオペレーションを実行させるように構成される、
Ｃ４６に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ４９］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することが、
メモリから以前のイベントを取り出すことをさらに備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５０］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記監視モードに入っている間に取得されたイベントを記憶することが、
少なくとも１つのイベントおよび関連付けられたパターンが時間ウィンドウの後にメモリから取り除かれるように、前記時間ウィンドウにおいて前記少なくとも１つのイベントを、前記メモリに、記憶することを備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５１］
前記記憶されたイベントの少なくとも１つは、ローカルで生成される発生データに基づいて取得される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５２］
前記記憶されたイベントの少なくとも１つは、リモートで生成される発生データに基づいて取得される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５３］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記コンピューティングデバイスが別のデバイスからイベントレポートメッセージを受信することに応答して生成され、ここにおいて、前記コンピューティングデバイスおよび前記別のデバイスは、有線またはワイヤレス通信リンクを介して接続されるある場所における複数の学習デバイスからなる非集中システムの一部である、
Ｃ５２に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５４］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応する、
Ｃ５２に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５５］
前記記憶されたイベントの少なくとも１つは、有線またはワイヤレス通信リンクを介して非学習デバイスから受信される発生データに基づいて取得される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５６］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記少なくとも１つの追加のイベントが第３のリフレックスに関連付けられた異なるトリガーパターンに対応するときに、第２のトリガーモードを同時にアクティブ化することをさらに備えるオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５７］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することが、
前記所定のアクションを実行することに基づいて結果として生じるイベントを生成することと、および
前記結果として生じるイベントを示し、別のデバイスによって使用されることが可能であるイベントレポートメッセージをブロードキャストすることと、
を備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５８］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
別のデバイスからイベントレポートメッセージを受信すること、ここにおいて、前記受信されたイベントレポートメッセージは、前記別のデバイスが前記第１のトリガーパターンに対応する別のイベントを取得したことに応答して前記別のデバイスによって生成された別のイベントを示す、
をさらに備えるオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ５９］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することが、
前記記憶されたイベントの前記少なくとも１つに基づいてパターンにパターンフィルタを適用することと、および
前記記憶されたイベントの前記少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、および前記パターンが前記適用されたパターンフィルタに基づいて破棄されないときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することと、
を備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６０］
前記第１のリフレックスおよび前記第２のリフレックスは、ガーベジコレクションポリシーに基づいて前記コンピューティングデバイスから除去可能なだけである、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６１］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することが、アクチュエータを駆動するためにモーター駆動装置によって使用されるイベントのパターンを生成することを備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６２］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序依存である、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６３］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序独立である、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６４］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することが、１つまたは複数の周期的タイミングメカニズムに基づいて前記少なくとも１つの追加のイベントを取得することを備えるようなオペレーションを実行させるように構成される、
Ｃ４５に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６５］
前記記憶されたプロセッサ実行可能命令は、前記プロセッサに、
前記１つまたは複数の周期的タイミングメカニズムに基づいて１つまたは複数のセンサーをポーリングすることをさらに備えるオペレーションを実行させるように構成される、
Ｃ６４に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６６］
前記１つまたは複数の周期的タイミングメカニズムは、複数のデバイスによって共有される、
Ｃ６４に記載の非一時的プロセッサ可読記憶媒体。
［Ｃ６７］
第１のプロセッサと、
前記第１のプロセッサに結合された第１のメモリとを備え、
ここにおいて、前記第１のプロセッサは、
監視モードに入っている間に取得されたイベントを、前記第１のメモリに、記憶することと、
前記記憶されたイベントの少なくとも１つが第１のリフレックスに関連付けられた第１のトリガーパターンに対応するときに、所定のアクションに関連付けられた前記第１のリフレックスに対する第１のトリガーモードをアクティブ化することと、
前記第１のリフレックスがトリガー重み閾値を超えるトリガー重みを有するかどうかを決定することと、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することと、
前記第１のトリガーモードに入っている間に少なくとも１つの追加のイベントを取得することと、
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられ、前記所定のアクションを実行することに応答して発生する第１の報酬パターンおよび第１の補正パターンの少なくとも一方に対応するときに、前記第１のリフレックスの前記トリガー重みを調整することと、および
前記少なくとも１つの追加のイベントが、前記第１のリフレックスに関連付けられた前記第１のトリガーパターン、前記第１の補正パターン、および前記第１の報酬パターンの少なくとも１つに対応しないときに、第２のトリガーパターン、第２の補正パターン、および第２の報酬パターンにより、第２のリフレックスを作成することと、
を備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
複数の学習デバイス内の第１の学習デバイスと、および
第２のプロセッサと、
前記第２のプロセッサに結合された第２の信号送信機を備え、および
ここにおいて、前記第２のプロセッサは、第１のイベントレポートメッセージを、前記第２の信号送信機を介して、送信することを備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
前記複数の学習デバイス内の第２の学習デバイスと、
を備え、および
ここにおいて、前記第１の学習デバイスは、
前記第１のプロセッサに結合された第１の信号受信機をさらに備え、および
ここにおいて、前記第１のプロセッサは、前記第２の学習デバイスによって送信された前記第１のイベントレポートメッセージを、前記第１の信号受信機を介して、受信することをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
システム。
［Ｃ６８］
前記第１のプロセッサは、
前記第１のリフレックスの前記トリガー重みを調整することが、
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の報酬パターンに対応するときに前記第１のリフレックスの前記トリガー重みを増加させることと、および
前記少なくとも１つの追加のイベントが前記第１のリフレックスの前記第１の補正パターンに対応するときに前記第１のリフレックスの前記トリガー重みを減少させることと、
をさらに備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ６９］
前記第１のプロセッサは、
高利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに臨界学習期間に入ることをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６８に記載のシステム。
［Ｃ７０］
前記第１のプロセッサは、
低利得セットが前記トリガー重みに適用されている間に前記第１のリフレックスとともに定常状態学習期間に入ることをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６８に記載のシステム。
［Ｃ７１］
前記第１のプロセッサは、
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することが、
前記第１のメモリから以前のイベントを取り出すことをさらに備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ７２］
前記第１のプロセッサは、
前記監視モードに入っている間に取得されたイベントを記憶することが、
少なくとも１つのイベントおよび関連付けられたパターンが時間ウィンドウの後に第１のメモリから取り除かれるように、前記時間ウィンドウにおいて前記少なくとも１つのイベントを、前記第１のメモリに、記憶すること、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ７３］
前記記憶されたイベントの少なくとも１つは、ローカルで生成される発生データに基づいて取得される、
Ｃ６７に記載のシステム。
［Ｃ７４］
前記記憶されたイベントの少なくとも１つは、リモートで生成される発生データに基づいて取得される、
Ｃ６７に記載のシステム。
［Ｃ７５］
リモートで生成される前記発生データに基づいて取得される前記記憶されたイベントの前記少なくとも１つは、前記第１の報酬パターンおよび前記第１の補正パターンの少なくとも一方に対応する、
Ｃ７４に記載のシステム。
［Ｃ７６］
１つまたは複数の非学習デバイスをさらに備え、および
ここにおいて、前記記憶されたイベントの少なくとも１つは、有線またはワイヤレス通信リンクを介して前記１つまたは複数の非学習デバイスから受信される発生データに基づいて前記第１の学習デバイスによって取得される、
Ｃ６７に記載のシステム。
［Ｃ７７］
前記第１のプロセッサは、
前記少なくとも１つの追加のイベントが第３のリフレックスに関連付けられた異なるトリガーパターンに対応するときに、第２のトリガーモードを同時にアクティブ化することをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ７８］
前記第１の学習デバイスは、前記第１のプロセッサに結合された第１の信号送信機をさらに備え、および
ここにおいて、前記第１のプロセッサは、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することが、
前記所定のアクションを実行することに基づいて結果として生じるイベントを生成することと、および
前記結果として生じるイベントを示し、別のデバイスによって使用されることが可能である第２のイベントレポートメッセージを、前記第１の信号送信機を介して、ブロードキャストすることと、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ７９］
前記第２のプロセッサは、
前記第１のトリガーパターンに対応する第１のイベントを取得することと、および
前記第１のトリガーパターンに対応する前記第１のイベントを取得することに応答して第２のイベントを生成することとをさらに備え、および
ここにおいて、前記第１のイベントレポートメッセージは第２のイベントを示す、オペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ８０］
前記第１のプロセッサは、
前記記憶されたイベントの少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することが、
前記記憶されたイベントの前記少なくとも１つに基づいてパターンにパターンフィルタを適用することと、および
前記記憶されたイベントの前記少なくとも１つが前記第１のリフレックスに関連付けられた前記第１のトリガーパターンに対応するときに、および前記パターンが前記適用されたパターンフィルタに基づいて破棄されないときに、前記所定のアクションに関連付けられた前記第１のリフレックスに対する前記第１のトリガーモードをアクティブ化することと、
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ８１］
前記第１のリフレックスおよび前記第２のリフレックスは、ガーベジコレクションポリシーに基づいて前記第１の学習デバイスの前記第１のメモリから除去可能なだけであるＣ６７に記載のシステム。
［Ｃ８２］
前記第１のプロセッサは、
前記第１のリフレックスに関連付けられた前記トリガー重みが前記トリガー重み閾値を超えると決定することに応答して前記第１のリフレックスに関連付けられた前記所定のアクションを実行することが、アクチュエータを駆動するためにモーター駆動装置によって使用されるイベントのパターンを生成することを備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ８３］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序依存である、
Ｃ６７に記載のシステム。
［Ｃ８４］
前記第１の補正パターンおよび前記第１の報酬パターンの１つまたは複数は、順序独立である、
Ｃ６７に記載のシステム。
［Ｃ８５］
前記第１のプロセッサは、
前記第１のトリガーモードに入っている間に前記少なくとも１つの追加のイベントを取得することが、１つまたは複数の周期的タイミングメカニズムに基づいて前記少なくとも１つの追加のイベントを取得することを備えるようなオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ６７に記載のシステム。
［Ｃ８６］
前記第１のプロセッサは、
前記１つまたは複数の周期的タイミングメカニズムに基づいて１つまたは複数のセンサーをポーリングすることをさらに備えるオペレーションを実行するようにプロセッサ実行可能命令により構成される、
Ｃ８５に記載のシステム。
［Ｃ８７］
前記１つまたは複数の周期的タイミングメカニズムは、前記第２の学習デバイスによって共有される、
Ｃ８５に記載のシステム。
［Ｃ８８］
学習デバイスの非集中トレーニングのための方法であって、
第１の学習デバイスにおいて１つまたは複数のイベントを受信すること、前記第１の学習デバイスは１つまたは複数の関連付けられたリフレックスを有し、各リフレックスは少なくとも１つの関連付けられたトリガーパターンと少なくとも１つの関連付けられたアクションとを有する、と、
前記受信された１つまたは複数のイベントが前記第１の学習デバイスに関連付けられた第１のリフレックスに関連付けられた第１のトリガーパターンとマッチするかどうかを決定することと、
前記受信された１つまたは複数のイベントが前記第１のトリガーパターンとマッチすると決定したことに応答して前記第１のリフレックスに関連付けられた第１のアクションを実行することと、および
前記受信された１つまたは複数のイベントが前記第１の学習デバイスに関連付けられたどのパターンともマッチしないと決定することに応答して第２のトリガーパターンと第２のアクションとにより前記第１の学習デバイスに関連付けられた第２のリフレックスを作成することと、
を備える方法。
【図１Ａ】
0006352402.tif 000009
【図１Ｂ】
0006352402.tif 000010
【図１Ｃ】
0006352402.tif 000011
【図２】
0006352402.tif 000012
【図３Ａ】
0006352402.tif 000013
【図３Ｂ】
0006352402.tif 000014
【図３Ｃ】
0006352402.tif 000015
【図３Ｄ】
0006352402.tif 000016
【図３Ｅ】
0006352402.tif 000017
【図３Ｆ】
0006352402.tif 000018
【図３Ｇ】
0006352402.tif 000019
【図３Ｈ】
0006352402.tif 000020
【図４】
0006352402.tif 000021
【図５】
0006352402.tif 000022
【図６】
0006352402.tif 000023
【図７】
0006352402.tif 000024
【図８】
0006352402.tif 000025
【図９】
0006352402.tif 000026
【図１０】
0006352402.tif 000027
【図１１】
0006352402.tif 000028
【図１２】
0006352402.tif 000029
【図１３Ａ】
0006352402.tif 000030
【図１３Ｂ】
0006352402.tif 000031
【図１４Ａ】
0006352402.tif 000032
【図１４Ｂ】
0006352402.tif 000033