(57)【特許請求の範囲】
【請求項１】
車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されている記憶装置と、前記車両に搭載される第１実行装置と、車載装置とは別の第２実行装置と、を備え、
前記車両の状態を検出するセンサの検出値を取得する取得処理と、
前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を前記第１実行装置および前記第２実行装置の協働で実行し、
前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、
前記操作処理は、前記更新処理によって更新された前記関係規定データと前記車両の状態とに応じて前記電子機器を操作する処理を含み、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記更新処理は、複数の前記車両の状態、および複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として前記第２実行装置によって実行され、
前記操作処理は、前記関係規定データから把握される前記期待収益を最大とする操作とは異なる操作を実行する探索処理を含み、
前記第２実行装置は、前記探索処理として実行すべき前記行動変数の値として複数の前記車両のうちの２つの車両である第１の車両と第２の車両とで異なる値を指示する指示処理を実行する車両用制御システム。
【請求項２】
車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されている記憶装置と、前記車両に搭載される第１実行装置と、車載装置とは別の第２実行装置と、を備え、
前記車両の状態を検出するセンサの検出値を取得する取得処理と、
前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を前記第１実行装置および前記第２実行装置の協働で実行し、
前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、
前記操作処理は、前記更新処理によって更新された前記関係規定データと前記車両の状態とに応じて前記電子機器を操作する処理を含み、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記更新処理は、複数の前記車両の状態、および複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として前記第２実行装置によって実行され、車両が分類されるグループ毎に前記関係規定データを更新すべく、同一のグループに属する複数の前記車両の状態、および該同一のグループに属する複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として当該グループに属する前記関係規定データを更新する処理を含み、
前記第２実行装置は、前記車両の状態、前記行動変数の値および前記報酬が、複数の前記グループのいずれに属するかを特定する特定処理を実行し、
前記特定処理は、前記車両の位置に応じて、いずれのグループに属するかを特定する処理を含む車両用制御システム。
【請求項３】
車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されている記憶装置と、前記車両に搭載される第１実行装置と、車載装置とは別の第２実行装置と、を備え、
前記車両の状態を検出するセンサの検出値を取得する取得処理と、
前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を前記第１実行装置および前記第２実行装置の協働で実行し、
前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、
前記操作処理は、前記更新処理によって更新された前記関係規定データと前記車両の状態とに応じて前記電子機器を操作する処理を含み、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記更新処理は、複数の前記車両の状態、および複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として前記第２実行装置によって実行され、車両が分類されるグループ毎に前記関係規定データを更新すべく、同一のグループに属する複数の前記車両の状態、および該同一のグループに属する複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として当該グループに属する前記関係規定データを更新する処理を含み、
前記第２実行装置は、前記車両の状態、前記行動変数の値および前記報酬が、複数の前記グループのいずれに属するかを特定する特定処理を実行し、
前記特定処理は、前記車両の消耗度合いに応じて、いずれのグループに属するかを特定する処理を含む車両用制御システム。
【請求項４】
前記更新処理は、車両が分類されるグループ毎に前記関係規定データを更新すべく、同一のグループに属する複数の前記車両の状態、および該同一のグループに属する複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として当該グループに属する前記関係規定データを更新する処理を含み、
前記第２実行装置は、前記車両の状態、前記行動変数の値および前記報酬が、複数の前記グループのいずれに属するかを特定する特定処理を実行する請求項１記載の車両用制御システム。
【請求項５】
請求項１〜４のいずれか１項に記載の前記第１実行装置を備える車両用制御装置。
【請求項６】
請求項１〜４のいずれか１項に記載の前記第２実行装置を備える車両用学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用制御システム、車両用制御装置、および車両用学習装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、アクセルペダルの操作量をフィルタ処理した値に基づき、車両に搭載される内燃機関の操作部としてのスロットルバルブを操作する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記フィルタは、アクセルペダルの操作量に応じて車両に搭載される内燃機関のスロットルバルブの操作量を適切な操作量に設定するものである必要があることから、その適合には熟練者が多くの工数をかける必要が生じる。このように、従来は、車両の状態に応じた車両内の電子機器の操作量等の適合には、熟練者が多くの工数をかけていた。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されている記憶装置と、前記車両に搭載される第１実行装置と、車載装置とは別の第２実行装置と、を備え、前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記電子機器を操作する操作処理と、前記取得処理によって取得された前記検出値に基づき、前記車両の特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を前記第１実行装置および前記第２実行装置の協働で実行し、前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、前記操作処理は、前記更新処理によって更新された前記関係規定データと前記車両の状態とに応じて前記電子機器を操作する処理を含み、前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、前記更新処理は、複数の前記車両の状態、および複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として前記第２実行装置によって実行される車両用制御システムである。
【０００６】
上記構成では、電子機器の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、車両の状態と行動変数との関係を車両の走行において適切な関係に設定することができる。したがって、車両の状態と行動変数との関係を車両の走行において適切な関係に設定する際、熟練者に要求される工数を削減できる。
【０００７】
さらに上記構成では、複数の車両についての状態、行動変数および報酬に基づき単一の関係規定データを更新することにより、単一の車両の状態、行動変数および報酬に基づき単一の関係規定データを更新する場合と比較して、更新頻度を高めることができる。
【０００８】
２．前記更新処理は、車両が分類されるグループ毎に前記関係規定データを更新すべく、同一のグループに属する複数の前記車両の状態、および該同一のグループに属する複数の前記車両の前記電子機器の操作に用いられた行動変数の値、および該操作に対応する前記報酬を前記更新写像への入力として当該グループに属する前記関係規定データを更新する処理を含み、前記第２実行装置は、前記車両の状態、前記行動変数の値および前記報酬が、複数の前記グループのいずれに属するかを特定する特定処理を実行する上記１記載の車両用制御システムである。
【０００９】
車両の走行環境、消耗度合い、ユーザの運転嗜好等によって、車両の状態と適切な行動変数の値との組は異なるものとなりうる。そこで上記構成では、グループ毎に関係規定データを更新することにより、システム内の第１実行装置を備えた全車両に関する車両の状態、行動変数、および報酬に基づき単一の関係規定データを更新する場合と比較して、各グループにとってより適切なデータへと関係規定データを更新することが可能となる。
【００１０】
３．前記特定処理は、前記車両の位置に応じて、いずれのグループに属するかを特定する処理を含む上記２記載の車両用制御システムである。
地域によって車両のおかれた状況が異なることから、車両の状態にとって適切な行動変数の値が地域に応じて異なるものとなる可能性がある。そこで上記構成では、位置情報変数に基づきグループを特定することにより、複数の地域のそれぞれにとって好適なデータへと関係規定データを更新することが可能となる。
【００１１】
４．前記特定処理は、前記車両の消耗度合いに応じて、いずれのグループに属するかを特定する処理を含む上記２または３記載の車両用制御システムである。
車両の消耗度合いに応じてユーザによる操作に対する車両の応答性が異なるものとなることなどから、車両の消耗度合いに応じて、車両の状態にとって適切な行動変数の値が異なりうる。そこで上記構成では、車両の消耗度合いによってグループを特定することにより、車両の消耗度合いに応じて適切な関係規定データに更新することが可能となる。
【００１２】
５．前記操作処理は、前記関係規定データから把握される前記期待収益を最大とする操作とは異なる操作を実行する探索処理を含み、前記第２実行装置は、前記探索処理として実行すべき前記行動変数の値として複数の前記車両のうちの２つの車両である第１の車両と第２の車両とで異なる値を指示する指示処理を実行する上記１〜４のいずれか１つに記載の車両用制御システムである。
【００１３】
上記構成では、第１の車両と第２の車両とで異なる行動を探索として実行するように指示することにより、複数の車両のそれぞれによる探索結果から得られる情報を制御することが可能となる。
【００１４】
６．上記１〜５のいずれか１つに記載の前記第１実行装置を備える車両用制御装置である。
７．上記１〜５のいずれか１つに記載の前記第２実行装置を備える車両用学習装置である。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態にかかる車両用制御システムの構成を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図３】（ａ）および（ｂ）は、同実施形態にかかるシステムが実行する処理の手順を示す流れ図。
【図４】同実施形態にかかる車両の分類を例示する図。
【図５】（ａ）および（ｂ）は、第２の実施形態にかかるシステムが実行する処理の手順を示す流れ図。
【図６】同実施形態にかかる再探索のための行動の設定を例示する図。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
以下、車両用制御システムの第１の実施形態について、図面を参照しつつ説明する。
図１に、本実施形態にかかる車両ＶＣ１の駆動系および制御システムの構成を示す。
【００１７】
図１に示すように、内燃機関１０の吸気通路１２には、上流側から順にスロットルバルブ１４および燃料噴射弁１６が設けられており、吸気通路１２に吸入された空気や燃料噴射弁１６から噴射された燃料は、吸気バルブ１８の開弁に伴って、シリンダ２０およびピストン２２によって区画される燃焼室２４に流入する。燃焼室２４内において、燃料と空気との混合気は、点火装置２６の火花放電に伴って燃焼に供され、燃焼によって生じたエネルギは、ピストン２２を介してクランク軸２８の回転エネルギに変換される。燃焼に供された混合気は、排気バルブ３０の開弁に伴って、排気として排気通路３２に排出される。排気通路３２には、排気を浄化する後処理装置としての触媒３４が設けられている。
【００１８】
クランク軸２８には、ロックアップクラッチ４２を備えたトルクコンバータ４０を介して、変速装置５０の入力軸５２が機械的に連結可能とされている。変速装置５０は、入力軸５２の回転速度と出力軸５４の回転速度との比である変速比を可変とする装置である。出力軸５４には、駆動輪６０が機械的に連結されている。
【００１９】
制御装置７０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御すべく、スロットルバルブ１４、燃料噴射弁１６および点火装置２６等の内燃機関１０の操作部を操作する。また、制御装置７０は、トルクコンバータ４０を制御対象とし、ロックアップクラッチ４２の係合状態を制御すべくロックアップクラッチ４２を操作する。また、制御装置７０は、変速装置５０を制御対象とし、その制御量としての変速比を制御すべく変速装置５０を操作する。なお、図１には、スロットルバルブ１４、燃料噴射弁１６、点火装置２６、ロックアップクラッチ４２、および変速装置５０のそれぞれの操作信号ＭＳ１〜ＭＳ５を記載している。
【００２０】
制御装置７０は、制御量の制御のために、エアフローメータ８０によって検出される吸入空気量Ｇａや、スロットルセンサ８２によって検出されるスロットルバルブ１４の開口度（スロットル開口度ＴＡ）、クランク角センサ８４の出力信号Ｓｃｒを参照する。また、制御装置７０は、アクセルセンサ８８によって検出されるアクセルペダル８６の踏み込み量（アクセル操作量ＰＡ）や、加速度センサ９０によって検出される車両ＶＣ１の前後方向の加速度Ｇｘを参照する。また、制御装置７０は、全地球測位システム（ＧＰＳ９２）による位置データＰｇｐｓを参照する。
【００２１】
制御装置７０は、ＣＰＵ７２、ＲＯＭ７４、電気的に書き換え可能な不揮発性メモリ（記憶装置７６）、通信機７７および周辺回路７８を備え、それらがローカルネットワーク７９を介して通信可能とされている。ここで、周辺回路７８は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００２２】
ＲＯＭ７４には、制御プログラム７４ａおよび学習用サブプログラム７４ｂが記憶されている。一方、記憶装置７６には、アクセル操作量ＰＡと、スロットル開口度ＴＡの指令値（スロットル開口度指令値ＴＡ＊）および点火装置２６の遅角量ａｏｐとの関係を規定する関係規定データＤＲが記憶されている。ここで、遅角量ａｏｐは、予め定められた基準点火時期に対する遅角量であり、基準点火時期は、ＭＢＴ点火時期とノック限界点とのうちの遅角側の時期である。ＭＢＴ点火時期は、最大トルクの得られる点火時期（最大トルク点火時期）である。またノック限界点は、ノック限界の高い高オクタン価燃料の使用時に、想定される最良の条件下で、ノッキングを許容できるレベル以内に収めることのできる点火時期の進角限界値である。また、記憶装置７６には、トルク出力写像データＤＴが記憶されている。トルク出力写像データＤＴによって規定されるトルク出力写像は、クランク軸２８の回転速度ＮＥ、充填効率η、および点火時期を入力とし、トルクＴｒｑを出力する写像である。
【００２３】
上記通信機７７は車両ＶＣ１の外部のネットワーク１００を介してデータ解析センター１１０と通信するための機器である。
データ解析センター１１０は、複数の車両ＶＣ１，ＶＣ２，…から送信されるデータを解析する。データ解析センター１１０は、ＣＰＵ１１２、ＲＯＭ１１４、および電気的に書き換え可能な不揮発性メモリ（記憶装置１１６）、周辺回路１１８および通信機１１７を備えており、それらがローカルネットワーク１１９によって通信可能とされるものである。ＲＯＭ１１４には、関係規定データＤＲを強化学習によって更新するための学習用メインプログラム１１４ａが記憶されている。また、記憶装置１１６には、関係規定データＤＲが記憶されている。
【００２４】
図２に、本実施形態にかかる制御装置７０が実行する処理の手順を示す。図２に示す処理は、ＲＯＭ７４に記憶された制御プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって各処理のステップ番号を示す。
【００２５】
図２に示す一連の処理において、ＣＰＵ７２は、まず、状態ｓとして、アクセル操作量ＰＡの６個のサンプリング値「ＰＡ（１），ＰＡ（２），…ＰＡ（６）」からなる時系列データを取得する（Ｓ１０）。ここで、時系列データを構成する各サンプリング値は、互いに異なるタイミングにおいてサンプリングされたものである。本実施形態では、一定のサンプリング周期でサンプリングされる場合の、互いに時系列的に隣り合う６個のサンプリング値によって時系列データを構成する。
【００２６】
次にＣＰＵ７２は、関係規定データＤＲが定める方策πに従い、Ｓ１０の処理によって取得した状態ｓに応じたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐからなる行動ａを設定する（Ｓ１２）。
【００２７】
本実施形態において、関係規定データＤＲは、行動価値関数Ｑおよび方策πを定めるデータである。本実施形態において、行動価値関数Ｑは、状態ｓおよび行動ａの８次元の独立変数に応じた期待収益の値を示すテーブル型式の関数である。また、方策πは、状態ｓが与えられたときに、独立変数が与えられた状態ｓとなる行動価値関数Ｑのうち最大となる行動ａ（グリーディ行動）を優先的に選択しつつも、所定の確率εで、それ以外の行動ａを選択する規則を定める。
【００２８】
次にＣＰＵ７２は、設定されたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐに基づき、スロットルバルブ１４に操作信号ＭＳ１を出力してスロットル開口度ＴＡを操作するとともに、点火装置２６に操作信号ＭＳ３を出力して点火時期を操作する（Ｓ１４）。ここで、本実施形態では、スロットル開口度ＴＡをスロットル開口度指令値ＴＡ＊にフィードバック制御することを例示することから、スロットル開口度指令値ＴＡ＊が同一の値であっても、操作信号ＭＳ１が互いに異なる信号となりうるものである。また、たとえば周知のノッキングコントロール（ＫＣＳ）等がなされる場合、点火時期は、基準点火時期を遅角量ａｏｐにて遅角させた値がＫＣＳにてフィードバック補正された値とされる。ここで、基準点火時期は、ＣＰＵ７２により、クランク軸２８の回転速度ＮＥおよび充填効率ηに応じて可変設定される。なお、回転速度ＮＥは、クランク角センサ８４の出力信号Ｓｃｒに基づきＣＰＵ７２によって算出される。また、充填効率ηは、回転速度ＮＥおよび吸入空気量Ｇａに基づきＣＰＵ７２によって算出される。
【００２９】
次にＣＰＵ７２は、内燃機関１０のトルクＴｒｑ、内燃機関１０に対するトルク指令値Ｔｒｑ＊、および加速度Ｇｘを取得する（Ｓ１６）。ここで、ＣＰＵ１１２は、トルクＴｒｑを、回転速度ＮＥ、充填効率ηおよび点火時期をトルク出力写像に入力することによって算出する。また、ＣＰＵ７２は、トルク指令値Ｔｒｑ＊を、アクセル操作量ＰＡに応じて設定する。
【００３０】
次にＣＰＵ７２は、過渡フラグＦが「１」であるか否かを判定する（Ｓ１８）。過渡フラグＦは、「１」である場合に過渡運転時であることを示し、「０」である場合に過渡運転時ではないことを示す。ＣＰＵ７２は、過渡フラグＦが「０」であると判定する場合（Ｓ１８：ＮＯ）、アクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡの絶対値が所定量ΔＰＡｔｈ以上であるか否かを判定する（Ｓ２０）。ここで、変化量ΔＰＡは、たとえば、Ｓ２０の処理の実行タイミングにおける最新のアクセル操作量ＰＡと、同タイミングに対して単位時間だけ前におけるアクセル操作量ＰＡとの差とすればよい。
【００３１】
ＣＰＵ７２は、所定量ΔＰＡｔｈ以上であると判定する場合（Ｓ２０：ＹＥＳ）、過渡フラグＦに「１」を代入する（Ｓ２２）。
これに対し、ＣＰＵ７２は、過渡フラグＦが「１」であると判定する場合（Ｓ１８：ＹＥＳ）、Ｓ２２の処理の実行後、所定期間が経過したか否かを判定する（Ｓ２４）。ここで、所定期間は、アクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡの絶対値が所定量ΔＰＡｔｈよりも小さい規定量以下となる状態が所定時間継続するまでの期間とする。ＣＰＵ７２は、所定期間が経過したと判定する場合（Ｓ２４：ＹＥＳ）、過渡フラグＦに「０」を代入する（Ｓ２６）。
【００３２】
ＣＰＵ７２は、Ｓ２２，Ｓ２６の処理が完了する場合や、Ｓ２０，Ｓ２４の処理において否定判定する場合には、Ｓ２８の処理に移行する。ＣＰＵ７２は、Ｓ２８の処理において、Ｓ１０の処理において取得した状態ｓと、Ｓ１２の処理において選択した行動ａと、Ｓ１６の処理において取得したトルクＴｒｑと、トルク指令値Ｔｒｑ＊および加速度Ｇｘ、過渡フラグＦの値と、を記憶装置７６に記憶させる。
【００３３】
なお、ＣＰＵ７２は、Ｓ２８の処理が完了する場合には、図２に示す一連の処理を一旦終了する。
図３に、本実施形態にかかる強化学習の処理手順を示す。図３（ａ）に示す処理は、図１に示すＲＯＭ７４に記憶されている学習用サブプログラム７４ｂをＣＰＵ７２が実行することにより実現される。また、図３（ｂ）に示す処理は、ＲＯＭ１１４に記憶されている学習用メインプログラム１１４ａをＣＰＵ１１２が実行することにより実現される。以下では、時系列に沿って、図３に示す処理を説明する。
【００３４】
図３（ａ）に示す一連の処理において、ＣＰＵ７２は、まず、トリップの終了時であるか否かを判定する（Ｓ３０）。ここで、トリップとは、車両の走行許可信号がオン状態である１回の期間のことである。本実施形態において、走行許可信号は、イグニッション信号に相当する。
【００３５】
ＣＰＵ７２は、トリップの終了時であると判定する場合（Ｓ３０：ＹＥＳ）、通信機７７を操作して、車両ＶＣ１の識別情報ＩＤと、走行距離Ｌｔと、位置データＰｇｐｓと、Ｓ２８の処理によって記憶したデータとを送信する（Ｓ３２）。
【００３６】
これに対し、図３（ｂ）に示すように、ＣＰＵ１１２は、Ｓ３２の処理によって送信されたデータを受信する（Ｓ４０）。そして、ＣＰＵ１１２は、受信したデータのうちの過渡フラグＦが一定である１つの期間、すなわち１つのエピソードを選択する（Ｓ４２）。各エピソードは、Ｓ２６の処理がなされてからＳ２２の処理がなされるまでの期間や、Ｓ２２の処理がなされてからＳ２６の処理がなされるまでの期間のことである。
【００３７】
次にＣＰＵ１１２は、選択したエピソード中のトルク指令値Ｔｒｑ＊、トルクＴｒｑおよび加速度Ｇｘの３つのサンプリング値の組からなる時系列データと、状態ｓおよび行動ａの時系列データと、を取得する（Ｓ４４）。図３には、カッコの中の数字が異なるものが、異なるサンプリングタイミングにおける変数の値であることを示す。たとえば、トルク指令値Ｔｒｑ＊（１）とトルク指令値Ｔｒｑ＊（２）とは、サンプリングタイミングが互いに異なるものである。また、選択したエピソードに属する行動ａの時系列データを、行動集合Ａｊとし、同エピソードに属する状態ｓの時系列データを、状態集合Ｓｊと定義する。
【００３８】
次にＣＰＵ１１２は、選択されたエピソードに属する任意のトルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値が規定量ΔＴｒｑ以下である旨の条件（ア）と、加速度Ｇｘが下限値ＧｘＬ以上であって上限値ＧｘＨ以下である旨の条件（イ）との論理積が真であるか否かを判定する（Ｓ４６）。
【００３９】
ここで、ＣＰＵ１１２は、規定量ΔＴｒｑを、エピソードの開始時におけるアクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡによって可変設定する。すなわち、ＣＰＵ１１２は、エピソードの開始時におけるアクセル操作量ＰＡの変化量ΔＰＡの絶対値が大きい場合には過渡時に関するエピソードであるとして、定常時に関するエピソードと比較して、規定量ΔＴｒｑを大きい値に設定する。
【００４０】
また、ＣＰＵ１１２は、下限値ＧｘＬを、エピソードの開始時におけるアクセル操作量ＰＡの変化量ΔＰＡによって可変設定する。すなわち、ＣＰＵ１１２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが正である場合には、定常時に関するエピソードの場合と比較して、下限値ＧｘＬを大きい値に設定する。また、ＣＰＵ１１２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが負である場合には、定常時に関するエピソードの場合と比較して、下限値ＧｘＬを小さい値に設定する。
【００４１】
また、ＣＰＵ１１２は、上限値ＧｘＨを、エピソードの開始時におけるアクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡによって可変設定する。すなわち、ＣＰＵ１１２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが正である場合には、定常時に関するエピソードの場合と比較して、上限値ＧｘＨを大きい値に設定する。また、ＣＰＵ１１２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが負である場合には、定常時に関するエピソードの場合と比較して、上限値ＧｘＨを小さい値に設定する。
【００４２】
ＣＰＵ１１２は、論理積が真であると判定する場合（Ｓ４６：ＹＥＳ）、報酬ｒに「１０」を代入する一方（Ｓ４８）、偽であると判定する場合（Ｓ４６：ＮＯ）、報酬ｒに「−１０」を代入する（Ｓ５０）。ＣＰＵ７２は、Ｓ４８，Ｓ５０の処理が完了する場合、車両ＶＣ１，ＶＣ２，…を分類した各グループ毎に関係規定データＤＲを更新すべく、Ｓ４０の処理によって受信したデータの送信元の車両が属するグループを特定する（Ｓ５２）。
【００４３】
図４に、本実施形態における車両の分類を例示する。本実施形態では、車両の位置する地域と走行距離Ｌｔとによってグループを特定する。たとえば、地域１に位置する車両と地域２に位置する車両とは、互いに別のグループに属する。ここで、地域による分類は、たとえば、地域１を北アメリカ、地域２を南アメリカ等とすればよい。地域による分類は、地域毎に、燃料性状や環境が異なることから、状態ｓにとって最適な行動ａが異なりうると考えられることに鑑みて設けた。さらに、同一の地域に属する場合であっても、走行距離Ｌｔが「０」よりも大きく「Ｌ１」以下の車両と、「Ｌ１」よりも大きく「Ｌ２」以下の車両とは、別のグループに属する。走行距離Ｌｔによる分類は、車両の消耗度合いに応じて、たとえばユーザの運転操作に対する車両の応答性が異なりうることなどに起因して、状態ｓにとって最適な行動ａが異なりうると考えられることに鑑みて設けた。
【００４４】
ＣＰＵ７２は、位置データＰｇｐｓによって地域を特定し、特定した地域と走行距離Ｌｔとによって、グループを特定する。そしてＣＰＵ７２は、特定したグループに共通の関係規定データＤＲを更新する。本実施形態では、εソフト方策オン型モンテカルロ法を用いる。
【００４５】
すなわち、ＣＰＵ１１２は、上記Ｓ４４の処理によって読み出した各状態と対応する行動との組によって定まる収益Ｒ（Ｓｊ，Ａｊ）に、それぞれ、報酬ｒを加算する（Ｓ５４）。ここで、「Ｒ（Ｓｊ，Ａｊ）」は、状態集合Ｓｊの要素の１つを状態とし行動集合Ａｊの要素の１つを行動とする収益Ｒを総括した記載である。次に、上記Ｓ４４の処理によって読み出した各状態と対応する行動との組によって定まる収益Ｒ（Ｓｊ，Ａｊ）のそれぞれについて、平均化して対応する行動価値関数Ｑ（Ｓｊ，Ａｊ）に代入する（Ｓ５６）。ここで、平均化は、Ｓ５４の処理がなされた回数に所定数を加算した値によって、Ｓ５４の処理によって算出された収益Ｒを除算する処理とすればよい。なお、収益Ｒの初期値は、対応する行動価値関数Ｑの初期値とすればよい。
【００４６】
次にＣＰＵ１１２は、上記Ｓ４４の処理によって読み出した状態について、それぞれ、対応する行動価値関数Ｑ（Ｓｊ，Ａ）のうち、最大値となるときのスロットル開口度指令値ＴＡ＊および遅角量ａｏｐの組である行動を、行動Ａｊ＊に代入する（Ｓ５８）。ここで、「Ａ」は、とりうる任意の行動を示す。なお、行動Ａｊ＊は、上記Ｓ４４の処理によって読み出した状態の種類に応じて各別の値となるものであるが、ここでは、表記を簡素化して、同一の記号にて記載している。
【００４７】
次に、ＣＰＵ１１２は、上記Ｓ４４の処理によって読み出した状態のそれぞれについて、対応する方策π（Ａｊ｜Ｓｊ）を更新する（Ｓ６０）。すなわち、行動の総数を、「｜Ａ｜」とすると、Ｓ５８によって選択された行動Ａｊ＊の選択確率を、「１−ε＋ε／｜Ａ｜」とする。また、行動Ａｊ＊以外の「｜Ａ｜−１」個の行動の選択確率を、それぞれ「ε／｜Ａ｜」とする。Ｓ６０の処理は、Ｓ５６の処理によって更新された行動価値関数Ｑに基づく処理であることから、これにより、状態ｓと行動ａとの関係を規定する関係規定データＤＲが、収益Ｒを増加させるように更新されることとなる。
【００４８】
次にＣＰＵ１１２は、Ｓ４０の処理によって受信した１トリップ分のデータに属する全てのエピソードについて、Ｓ４４〜Ｓ６０の処理を完了したか否かを判定する（Ｓ６２）。そしてＣＰＵ１１２は、未だ完了していないエピソードがあると判定する場合（Ｓ６２：ＮＯ）、Ｓ４２の処理に戻る。
【００４９】
これに対しＣＰＵ１１２は、全てのエピソードについてＳ４４〜Ｓ６０の処理を完了したと判定する場合（Ｓ６２：ＹＥＳ）、通信機１１７を操作して更新された関係規定データＤＲをＳ４０の処理によって受信されたデータの送信元に送信する（Ｓ６４）。なお、ＣＰＵ１１２は、Ｓ６４の処理を完了する場合、図３（ｂ）に示す一連の処理を一旦終了する。
【００５０】
これに対し、図３（ａ）に示すように、ＣＰＵ７２は、更新された関係規定データＤＲを受信し（Ｓ３４）、受信した関係規定データＤＲによって、Ｓ１２の処理に利用する関係規定データＤＲを書き換える（Ｓ３６）。なお、ＣＰＵ７２は、Ｓ３６の処理が完了する場合や、Ｓ３０の処理において否定判定する場合には、図３（ａ）に示す一連の処理を一旦終了する。
【００５１】
なお、車両ＶＣ１の出荷時に記憶装置７６に記憶される関係規定データＤＲは、たとえばテストベンチ等で車両の走行を模擬するなどしつつ、図２および図３に準じた処理によって強化学習がある程度なされた学習済みモデルとする。ただし、出荷前の学習においては、強化学習の対象とする行動価値関数Ｑの独立変数を、状態ｓおよび行動ａのとりうる値の全組み合わせのうちの一部が人の知見等によって削減されたものとする。すなわち、たとえばアクセル操作量ＰＡの時系列データのうち隣接する２つのサンプリング値の１つがアクセル操作量ＰＡの最小値となりもう１つが最大値となるようなことは、人によるアクセルペダル８６の操作からは生じえないとして、出荷前の学習に限っては行動価値関数Ｑが定義されていない。本実施形態では、人の知見等に基づく次元削減によって、出荷前の学習に限っては行動価値関数Ｑを定義する状態ｓの取りうる値を、１０の４乗個以下、より望ましくは１０の３乗個以下に制限する。
【００５２】
ここで、本実施形態の作用および効果について説明する。
ＣＰＵ７２は、ユーザによるアクセルペダル８６の操作に伴って、状態ｓとしてのアクセル操作量ＰＡの時系列データを取得し、方策πに従って、スロットル開口度指令値ＴＡ＊および遅角量ａｏｐからなる行動ａを設定する。ここでＣＰＵ７２は、基本的には、関係規定データＤＲに規定されている行動価値関数Ｑに基づき期待収益を最大とする行動ａを選択する。ただし、ＣＰＵ７２は、所定の確率εで、期待収益を最大化する行動ａ以外の行動を選択することによって、期待収益を最大化する行動ａの探索を行う。そして、ＣＰＵ７２は、状態ｓ、行動ａおよびトルクＴｒｑ、トルク指令値Ｔｒｑ＊および加速度Ｇｘをデータ解析センター１１０に送信する。
【００５３】
これにより、データ解析センター１１０では、ユーザによる車両ＶＣ１の運転に伴って、関係規定データＤＲを強化学習によって更新できる。したがって、アクセル操作量ＰＡに応じたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐを、熟練者による工数を過度に大きくすることなく車両ＶＣ１の走行において適切な値に設定することができる。特に、データ解析センター１１０は、複数の車両から送信されるデータに基づき１つの関係規定データＤＲを更新することから、１つの車両から送信されるデータに基づき１つの関係規定データＤＲを更新する場合と比較して、関係規定データＤＲの更新頻度を高めることができる。また、このことは、関係規定データＤＲの更新のための探索回数を短時間で大きくできることを意味する。
【００５４】
すなわち、各状態においてグリーディ行動以外の行動のそれぞれが選択される確率は、「ε／｜Ａ｜」である一方、各状態においてグリーディ行動以外の行動の評価が十分になされるまでには、その行動がある程度の回数選択される必要がある。これは、各状態ｓの出現回数を大きくする必要があることを意味する。ここで、１００万台の車両において特定の状態ｓが出現する合計の頻度は、１つの車両において特定の状態ｓが出現する頻度に対して、１００万倍程度となる。そのため、探索によって選択された行動の評価が十分となるうえで要求される回数だけ状態ｓが出現するまでに要する時間は、１００万台の車両からのデータを用いる場合には、１つの車両のみのデータを用いる場合に対して１００万分の１程度となる。したがって、様々なユーザが車両を運転する際に適切な行動ａを迅速に見出すことが可能となる。
【００５５】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）データ解析センター１１０において全ての車両のデータを用いて単一の関係規定データＤＲを更新する代わりに、グループ化された車両のデータ毎に、各別の関係規定データＤＲを更新した。これにより、たとえ車両の出荷時には、全車両に共通の関係規定データＤＲを実装した場合であっても、各グループにとってより適切なデータへと関係規定データを更新することが可能となる。
【００５６】
（２）出荷前には行動価値関数Ｑの独立変数の値の一部についてのみ強化学習による学習がなされた状態で、出荷後の車両ＶＣ１の運転に伴って全ての独立変数の値について行動価値関数Ｑを学習可能とした。これにより、複数の車両ＶＣ１，ＶＣ２，…から送信される膨大なデータに基づき、製品出荷前には学習が困難なほどに大きい次元数の独立変数を有した行動価値関数Ｑを強化学習によって学習できる。
【００５７】
（３）行動価値関数Ｑの独立変数にアクセル操作量ＰＡの時系列データを含めた。これにより、アクセル操作量ＰＡに関して単一のサンプリング値のみを独立変数とする場合と比較して、アクセル操作量ＰＡの様々な変化に対して行動ａの値をきめ細かく調整できる。
【００５８】
（４）行動価値関数Ｑの独立変数に、スロットル開口度指令値ＴＡ＊自体を含めた。これにより、たとえば、スロットル開口度指令値ＴＡ＊の挙動をモデル化したモデル式のパラメータ等をスロットル開口度に関する独立変数とする場合と比較して、強化学習による探索の自由度を高めることが容易である。
【００５９】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６０】
本実施形態では、グリーディ行動以外の行動がとられる確率εを、時間とともに漸減させてゼロとすることにより、車両の出荷後、ある程度時間が経過する場合には、グリーディ行動のみを選択するようにする。また、本実施形態では、走行距離Ｌｔによる分類を１段階のみで行い、走行距離Ｌｔがある程度大きくなるグループにおいては、一時的に再探索を実行させる。
【００６１】
図５に、本実施形態にかかる強化学習の処理手順を示す。図５（ａ）に示す処理は、図１に示すＲＯＭ７４に記憶されている学習用サブプログラム７４ｂをＣＰＵ７２が実行することにより実現される。また、図５（ｂ）に示す処理は、ＲＯＭ１１４に記憶されている学習用メインプログラム１１４ａをＣＰＵ１１２が実行することにより実現される。なお、以下では、図３に示した処理に対応する処理については、便宜上、同一のステップ番号を付与する。以下では、時系列に沿って、図５に示す処理を説明する。
【００６２】
図５（ｂ）に示すように、ＣＰＵ１１２は、Ｓ４０〜Ｓ６２の処理を実行する。次に、ＣＰＵ１１２は、走行距離Ｌｔが、消耗下限値ＬｔＬ以上であるか否かを判定する（Ｓ７０）。ここで、消耗下限値ＬｔＬは、走行距離Ｌｔによる分類の閾値を定める値である。また、消耗下限値ＬｔＬは、グリーディ行動以外の行動が選択される確率εがゼロとなっていると想定される値に設定されている。
【００６３】
ＣＰＵ１１２は、消耗下限値ＬｔＬ以上であると判定する場合（Ｓ７０：ＹＥＳ）、消耗下限値ＬｔＬ以上となった車両のグループにおける再探索が完了したか否かを判定する（Ｓ７２）。ここで再探索の完了とは、後述のＳ６０ａの処理によるグリーディ行動以外の行動が選択される確率εがゼロとなっていることを意味することとする。ＣＰＵ１１２は、再探索が未だ完了していないと判定する場合（Ｓ７２：ＮＯ）、グリーディ行動以外の１つの行動ａｉを、探索行動ａｅに代入する（Ｓ７４）。次にＣＰＵ１１２は、グリーディ行動以外の行動のラベル変数ｉを更新する（Ｓ７６）。そして、ＣＰＵ７２は、走行距離Ｌｔが消耗下限値ＬｔＬ以上のグループ用の関係規定データＤＲを更新する（Ｓ６０ａ）。ここでは、グリーディ行動が選択される確率を「１−ε」とし、探索行動ａｅが選択される確率を「ε」とし、それ以外の行動が選択される確率を「０」とする。
【００６４】
そしてＣＰＵ１１２は、Ｓ６０ａの処理が完了する場合や、Ｓ７０の処理において否定判定される場合、Ｓ７２の処理において肯定判定される場合には、関係規定データＤＲが更新されたか否かを判定する（Ｓ７８）。ここで、ＣＰＵ１１２は、Ｓ７２の処理によって肯定判定される場合であっても、Ｓ４０の処理によって受信したデータの送信元の車両に、走行距離Ｌｔが消耗下限値ＬｔＬ以上であるグループ用の関係規定データＤＲが送信されていない場合、更新されたデータがあると判定する。そして、ＣＰＵ７２は、更新されたデータがあると判定する場合（Ｓ７８：ＹＥＳ）、通信機１１７を操作して、関係規定データＤＲをＳ４０の処理によって受信されたデータの送信元の車両に送信する（Ｓ６４）。
【００６５】
なお、ＣＰＵ１１２は、Ｓ６４の処理を完了する場合や、Ｓ７８の処理において否定判定する場合には、図５（ｂ）に示す一連の処理を一旦終了する。
これに対し、図５（ａ）に示すように、ＣＰＵ７２は、更新されたデータがあるか否かを判定する（Ｓ８０）。そして、ＣＰＵ７２は、更新されたデータがあると判定する場合（Ｓ８０：ＹＥＳ）、Ｓ３４の処理に移行する。なお、ＣＰＵ７２は、Ｓ３６の処理が完了する場合や、Ｓ３０，Ｓ８０の処理において否定判定する場合には、図５（ａ）に示す一連の処理を一旦終了する。
【００６６】
ここで、本実施形態の作用および効果について説明する。
ＣＰＵ７２は、ユーザによるアクセルペダル８６の操作に伴って、アクセル操作量ＰＡの時系列データを取得し、方策πに従って、スロットル開口度指令値ＴＡ＊および遅角量ａｏｐからなる行動ａを設定する。ここでＣＰＵ７２は、基本的には、関係規定データＤＲに規定されている行動価値関数Ｑに基づき期待収益を最大とする行動ａを選択する。ただし、ＣＰＵ７２は、所定の確率εで、期待収益を最大化する行動ａ以外の行動を選択することによって、期待収益を最大化する行動ａの探索を行う。これにより、ユーザによる車両ＶＣ１の運転に伴って、関係規定データＤＲを強化学習によって更新できる。これにより、アクセル操作量ＰＡに応じたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐを、熟練者による工数を過度に大きくすることなく車両ＶＣ１の走行において適切な値に設定することができる。
【００６７】
ここで、確率εは、時間の経過とともに漸減してゼロとなることから、ある程度学習がなされる場合、実走行にとって適切な関係規定データＤＲとなったとして、グリーディ行動のみを選択させることができる。これにより、常に最適なスロットル開口度指令値ＴＡ＊および遅角量ａｏｐが設定されることとなる。
【００６８】
ただし、車両の走行距離Ｌｔが大きくなる場合、車両の消耗によって、関係規定データＤＲが最適なデータではなくなるおそれがある。たとえば、スロットルバルブ１４や吸気通路１２に堆積物が堆積する場合、吸気通路１２の流路断面積が小さくなることから、スロットル開口度ＴＡが同一であったとしても吸入空気量Ｇａが小さくなる。そのため、関係規定データＤＲによって規定される、アクセル操作量ＰＡの時系列データに応じて期待収益を最大化するスロットル開口度指令値ＴＡ＊は、スロットルバルブ１４に堆積物が堆積することに起因した吸気通路１２の流路断面積の縮小を補償する値となることが望ましい。
【００６９】
そこで本実施形態では、走行距離Ｌｔがある程度大きくなり、車両の消耗が進行していると考えられる車両について、再探索を実行させる。これにより、製品出荷後、いくつかの車両の走行距離Ｌｔが消耗下限値ＬｔＬ以上となることにより、消耗した車両にとって適切な関係規定データＤＲを強化学習によって学習することができる。
【００７０】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（４）再探索処理をする場合、ＣＰＵ１１２は、関係規定データＤＲを送信する都度、探索行動ａｅを変更した。これにより、図６に示すように、たとえば車両ＶＣ１においては、探索行動ａｅとして行動ａ１が採用され、車両ＶＣ２においては、探索行動として行動ａ２が選択され、車両ＶＣ３においては、探索行動ａｅとして行動ａ３が選択される。これにより、再探索を実行する車両がランダムに行動ａを選択する場合と比較して、グリーディ行動以外の行動を早期に所定回数ずつ試すことが可能となる。
【００７１】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１，６，７］電子機器は、スロットルバルブ１４や点火装置２６に対応する。第１実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応し、第２実行装置は、ＣＰＵ１１２およびＲＯＭ１１４に対応する。記憶装置は、記憶装置７６，１１６に対応する。取得処理は、Ｓ１０，Ｓ１６の処理に対応する。操作処理は、Ｓ１４の処理に対応する。報酬算出処理は、Ｓ４６〜Ｓ５０の処理に対応する。更新処理は、Ｓ５４〜Ｓ６０の処理に対応する。更新写像は、学習用メインプログラム１１４ａによって定められたＳ５４〜Ｓ６０の処理によって規定される写像に対応する。［２，３］特定処理は、Ｓ５２の処理に対応する。［４］消耗度合いは、走行距離Ｌｔによって定量化されている。［５］探索処理は、グリーディ行動をとらない場合のＳ１２，Ｓ１４の処理に対応する。指示処理は、Ｓ７４，Ｓ７６，Ｓ６０ａ，Ｓ６４の処理に対応する。
【００７２】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００７３】
・「消耗度合いを示す変数について」
上記実施形態では、車両の消耗度合いを示す変数として、走行距離Ｌｔを例示したがこれに限らない。たとえば、スロットルバルブ１４の開口度の１パーセント当たりの吸入空気量Ｇａの平均値であってもよい。また、たとえば下記「車両について」の欄に記載したように、車両の推力生成装置として回転電機を備える車両の場合、回転電機に電力を供給するバッテリの満充電電荷量であってもよい。
【００７４】
・「車両の分類について」
上記実施形態では、車両の消耗度合いと地域とに応じて複数の車両を複数のグループに振り分けたが、これに限らない。たとえば、車両の消耗度合いと地域との２つの要素に関しては、それらのうちの１つのみに応じて分類してもよい。
【００７５】
また、グループを特定する変数として、たとえばアクセル操作量ＰＡの最大値や平均値を用いてもよい。これにより、ユーザの運転嗜好に応じた分類が可能となる。
なお、車両の分類としては、所定の観点によって予め定義されるものに限らない。たとえば、複数の車両から入手した情報のクラスタリングによって、複数のグループを教師なし学習によって自動生成してもよい。
【００７６】
ちなみに、車両を分類すること自体、必須ではない。
・「指示処理について」
指示処理としては、Ｓ７４，Ｓ７６，Ｓ６０ａ，Ｓ６４の処理によって例示したものに限らない。たとえば、消耗度合いが所定以上の車両に対してのみ、アクセル操作量ＰＡに対してスロットル開口度指令値ＴＡ＊をより大きくする行動や、遅角量ａｏｐをより小さくする行動を優先的に実行するように指示する処理であってもよい。具体的には、たとえば、現状のグリーディ行動よりもスロットル開口度指令値ＴＡ＊を小さくする行動や、遅角量ａｏｐを大きくする行動を探索に含めないように方策πを更新して、更新後の関係規定データＤＲをデータ解析センター１１０から対象とする車両に送信すればよい。
【００７７】
また、たとえば現状のグリーディ行動以外の行動のなかに期待収益を顕著に大きくする行動が存在することが発見された場合に、発見された行動とそれに近い行動とを探索処理として実行するように指示する処理であってもよい。ここで、所定の状態において期待収益を顕著に大きくする行動は、たとえば所定期間における行動価値関数Ｑの増加量が所定値以上となる行動とすればよい。また、指示処理は、具体的には、発見された行動ａに対し、スロットル開口度指令値ＴＡ＊の値の差の絶対値が所定値以下且つ遅角量ａｏｐの差の絶対値が所定値以下の行動のみを探索に含めるように方策πを更新して、更新後の関係規定データＤＲをデータ解析センター１１０から各車両に送信する処理とすればよい。
【００７８】
・「行動変数について」
上記実施形態では、行動変数としてのスロットルバルブの開口度に関する変数として、スロットル開口度指令値ＴＡ＊を例示したが、これに限らない。たとえば、アクセル操作量ＰＡに対するスロットル開口度指令値ＴＡ＊の応答性を、無駄時間および２次遅れフィルタにて表現し、無駄時間と、２次遅れフィルタを規定する２つの変数との合計３つの変数を、スロットルバルブの開口度に関する変数としてもよい。ただし、その場合、状態変数は、アクセル操作量ＰＡの時系列データに代えて、アクセル操作量ＰＡの単位時間当たりの変化量とすることが望ましい。
【００７９】
上記実施形態では、行動変数としての点火時期に関する変数として、遅角量ａｏｐを例示したが、これに限らない。たとえば、ＫＣＳによる補正対象とされる点火時期自体であってもよい。
【００８０】
上記実施形態では、行動変数として、スロットルバルブの開口度に関する変数および点火時期に関する変数を例示したが、これに限らない。たとえば、スロットルバルブの開口度に関する変数および点火時期に関する変数に加えて、燃料噴射量を用いてもよい。また、それら３つに関しては、行動変数としてスロットルバルブの開口度に関する変数および燃料噴射量のみを採用したり、点火時期に関する変数および燃料噴射量のみを採用したりしてもよい。さらに、それら３つに関しては、行動変数としてそれらのうちの１つのみを採用してもよい。
【００８１】
また、「内燃機関について」の欄に記載したように、圧縮着火式の内燃機関の場合、スロットルバルブの開口度に関する変数に代えて噴射量に関する変数を用い、点火時期に関する変数に代えて噴射時期に関する変数を用いればよい。なお、噴射時期に関する変数に加えて、１燃焼サイクルにおける噴射回数に関する変数や、１燃焼サイクルにおける１つの気筒のための時系列的に隣接する２つの燃料噴射のうちの一方の終了タイミングと他方の開始タイミングとの間の時間間隔に関する変数を加えることが望ましい。
【００８２】
また、たとえば変速装置５０が有段変速装置の場合、クラッチの係合状態を油圧によって調整するためのソレノイドバルブの電流値等を行動変数としてもよい。
また、たとえば、下記「車両について」の欄に記載したように車両としてハイブリッド車や、電気自動車、燃料電池車を採用する場合、回転電機のトルクや出力を行動変数としてもよい。またたとえば、内燃機関のクランク軸の回転動力によって回転するコンプレッサを備えた車載空調装置を備える場合、コンプレッサの負荷トルクを行動変数に含めてもよい。また、電動式の車載空調装置を備える場合、空調装置の消費電力を行動変数に含めてもよい。
【００８３】
・「状態について」
上記実施形態では、アクセル操作量ＰＡの時系列データを、等間隔でサンプリングされた６個の値からなるデータとしたが、これに限らない。互いに異なるサンプリングタイミングにおける２個以上のサンプリング値からなるデータであればよく、この際、３個以上のサンプリング値からなるデータや、サンプリング間隔が等間隔であるデータであることがより望ましい。
【００８４】
アクセル操作量に関する状態変数としては、アクセル操作量ＰＡの時系列データに限らず、たとえば「行動変数について」の欄に記載したように、アクセル操作量ＰＡの単位時間当たりの変化量等であってもよい。
【００８５】
また、たとえば「行動変数について」の欄に記載したように、ソレノイドバルブの電流値を行動変数とする場合、状態に、変速装置の入力軸５２の回転速度や出力軸５４の回転速度、ソレノイドバルブによって調整される油圧を含めればよい。またたとえば「行動変数について」の欄に記載したように、回転電機のトルクや出力を行動変数とする場合、状態に、バッテリの充電率や温度を含めればよい。またたとえば「行動変数について」の欄に記載したように、コンプレッサの負荷トルクや空調装置の消費電力を行動に含める場合、状態に、車室内の温度を含めればよい。
【００８６】
・「テーブル形式のデータの次元削減について」
テーブル形式のデータの次元削減手法としては、上記実施形態において例示したものに限らない。たとえばアクセル操作量ＰＡが最大値となることはまれであることから、アクセル操作量ＰＡが規定量以上となる状態については行動価値関数Ｑを定義せず、アクセル操作量ＰＡが規定量以上となる場合のスロットル開口度指令値ＴＡ＊等は、別途適合してもよい。またたとえば、行動のとりうる値からスロットル開口度指令値ＴＡ＊が規定値以上となるものを除くなどして、次元削減をしてもよい。
【００８７】
なお、車両の出荷後において、出荷前よりも強化学習の対象とする行動価値関数Ｑの独立変数の取りうる値の範囲を拡大することも必須ではない。また、出荷前に強化学習をすること自体必須ではない。たとえば、同一の排気量の内燃機関であって、すでに状態に対する行動変数の適合がなされている車両の適合データを流用して行動価値関数Ｑの初期値を設定した後、車両を出荷し、出荷後に初めて強化学習を実行してもよい。
【００８８】
・「関係規定データについて」
上記実施形態では、行動価値関数Ｑを、テーブル形式の関数としたが、これに限らない。たとえば、関数近似器を用いてもよい。
【００８９】
たとえば、行動価値関数Ｑを用いる代わりに、方策πを行動ａをとる確率とし、方策π自体を報酬ｒに応じて更新してもよい。これは、たとえば方策πを、状態ｓおよび行動ａを独立変数とし、行動ａをとる確率を従属変数とする関数近似器を用いて実現できる。その場合、関数近似器を定めるパラメータを、報酬ｒに応じて更新すればよい。
【００９０】
・「操作処理について」
たとえば「関係規定データについて」の欄に記載したように、行動価値関数を関数近似器とする場合、上記実施形態におけるテーブル型式の関数の独立変数となる行動についての離散的な値の組の全てについて、状態ｓとともに行動価値関数Ｑに入力することによって、行動価値関数Ｑを最大化する行動ａを選択すればよい。
【００９１】
また、たとえば「関係規定データについて」の欄に記載したように、方策πを、状態ｓおよび行動ａを独立変数とし、行動ａをとる確率を従属変数とする関数近似器とする場合、方策πによって示される確率に基づき行動ａを選択すればよい。
【００９２】
・「更新写像について」
Ｓ５４〜Ｓ６０の処理においては、εソフト方策オン型モンテカルロ法によるものを例示したが、これに限らない。たとえば、方策オフ型モンテカルロ法によるものであってもよい。もっとも、モンテカルロ法にも限らず、たとえば、方策オフ型ＴＤ法を用いたり、またたとえばＳＡＲＳＡ法のように方策オン型ＴＤ法を用いたり、またたとえば、方策オン型の学習として適格度トレース法を用いたりしてもよい。
【００９３】
また、たとえば「関係規定データについて」の欄に記載したように、方策πを関数近似器を用いて表現し、これを報酬ｒに基づき直接更新する場合には、方策勾配法等を用いて更新写像を構成すればよい。
【００９４】
また、行動価値関数Ｑと方策πとのうちのいずれか一方のみを、報酬ｒによる直接の更新対象とするものに限らない。たとえば、アクター・クリティック法のように、行動価値関数Ｑおよび方策πをそれぞれ更新してもよい。また、アクター・クリティック法においては、これに限らず、たとえば行動価値関数Ｑに代えて価値関数Ｖを更新対象としてもよい。
【００９５】
・「報酬算出処理について」
図３の処理では、条件（ア）および条件（イ）の論理積が真であるか否かに応じて報酬を与えたが、これに限らない。たとえば、条件（ア）を満たすか否かに応じて報酬を与える処理と、条件（イ）を満たすか否かに応じて報酬を与える処理とを実行してもよい。また、たとえば、条件（ア）を満たすか否かに応じて報酬を与える処理と、条件（イ）を満たすか否かに応じて報酬を与える処理との２つの処理に関しては、それらのうちのいずれか１つの処理のみを実行してもよい。
【００９６】
また、たとえば条件（ア）を満たす場合に一律同じ報酬を与える代わりに、トルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値が小さい場合に大きい場合よりもより大きい報酬を与える処理としてもよい。またたとえば、条件（ア）を満たさない場合に一律同じ報酬を与える代わりに、トルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値が大きい場合に小さい場合よりもより小さい報酬を与える処理としてもよい。
【００９７】
また、たとえば条件（イ）を満たす場合に一律同じ報酬を与える代わりに、加速度Ｇｘの大きさに応じて報酬の大きさを可変とする処理としてもよい。またたとえば、条件（イ）を満たさない場合に一律同じ報酬を与える代わりに、加速度Ｇｘの大きさに応じて報酬の大きさを可変とする処理としてもよい。
【００９８】
上記実施形態では、報酬ｒを、ドライバビリティに関する基準を満たすか否かに応じて与えたが、ドライバビリティに関する基準としては、上述したものに限らず、たとえば騒音や振動強度が基準を満たすか否かに応じて設定してもよい。もっともこれに限らず、たとえば上記加速度が基準を満たすか否かと、トルクＴｒｑの追従性が基準を満たすか否かと、騒音が基準を満たすか否かと、振動強度が基準を満たすか否かとの４つのうちの任意の１つ以上であってよい。
【００９９】
報酬算出処理としては、報酬ｒを、ドライバビリティに関する基準を満たすか否かに応じて与えるものにも限らない。たとえば、燃料消費率が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理であってもよい。またたとえば、排気特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理であってもよい。なお、ドライバビリティに関する基準を満たす場合に満たさない場合よりも大きい報酬を与える処理と、燃料消費率が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理と、排気特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理との３つの処理のうちの２つまたは３つを含んでもよい。
【０１００】
また、たとえば「行動変数について」の欄に記載したように、変速装置５０のソレノイドバルブの電流値を行動変数とする場合、たとえば報酬算出処理に以下の（ａ）〜（ｃ）の３つの処理のうちの少なくとも１つの処理を含めればよい。
【０１０１】
（ａ）変速装置による変速比の切り替えに要する時間が所定時間以内である場合に所定時間を超える場合よりも大きい報酬を与える処理である。
（ｂ）変速装置の入力軸５２の回転速度の変化速度の絶対値が入力側所定値以下である場合に入力側所定値を超える場合よりも大きい報酬を与える処理である。
【０１０２】
（ｃ）変速装置の出力軸５４の回転速度の変化速度の絶対値が出力側所定値以下である場合に出力側所定値を超える場合よりも大きい報酬を与える処理である。
また、たとえば「行動変数について」の欄に記載したように、回転電機のトルクや出力を行動変数とする場合、バッテリの充電率が所定範囲内にある場合にない場合よりも大きい報酬を与える処理や、バッテリの温度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理を含めてもよい。また、たとえば「行動変数について」の欄に記載したように、コンプレッサの負荷トルクや空調装置の消費電力を行動変数に含める場合、車室内の温度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理を加えてもよい。
【０１０３】
・「車両用制御システムについて」
車両用制御システムとしては、制御装置７０およびデータ解析センター１１０によって構成されるものに限らない。たとえば、制御装置７０、携帯端末、およびデータ解析センター１１０によって構成してもよい。これは、携帯端末がＳ１２の処理を実行するなどして実現できる。
【０１０４】
・「実行装置について」
実行装置としては、ＣＰＵ７２（１１２）とＲＯＭ７４（１１４）とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばＡＳＩＣ等の専用のハードウェア回路を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０１０５】
・「記憶装置について」
上記実施形態では、関係規定データＤＲが記憶される記憶装置と、学習用サブプログラム７４ｂや制御プログラム７４ａが記憶される記憶装置（ＲＯＭ７４）とを別の記憶装置としたが、これに限らない。また、関係規定データＤＲが記憶される記憶装置と、学習用メインプログラム１１４ａが記憶される記憶装置（ＲＯＭ１１４）とを別の記憶装置としたが、これに限らない。
【０１０６】
・「内燃機関について」
内燃機関としては、燃料噴射弁として吸気通路１２に燃料を噴射するポート噴射弁を備えるものに限らず、燃焼室２４に燃料を直接噴射する筒内噴射弁を備えるものであってもよく、またたとえば、ポート噴射弁および筒内噴射弁の双方を備えるものであってもよい。
【０１０７】
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
・「車両について」
車両としては、推力生成装置が内燃機関のみである車両に限らず、たとえば内燃機関と回転電機とを備えるいわゆるハイブリッド車両であってもよい。またたとえば、推力生成装置として、内燃機関を備えることなく、回転電機を備えるいわゆる電気自動車や燃料電池車あってもよい。
【符号の説明】
【０１０８】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…燃料噴射弁、１８…吸気バルブ、２０…シリンダ、２２…ピストン、２４…燃焼室、２６…点火装置、２８…クランク軸、３０…排気バルブ、３２…排気通路、３４…触媒、４０…トルクコンバータ、４２…ロックアップクラッチ、５０…変速装置、５２…入力軸、５４…出力軸、６０…駆動輪、７０…制御装置、７２…ＣＰＵ、７４…ＲＯＭ、７４ａ…制御プログラム、７４ｂ…学習用サブプログラム、７６…記憶装置、７７…通信機、７８…周辺回路、７９…ローカルネットワーク、８０…エアフローメータ、８２…スロットルセンサ、８４…クランク角センサ、８６…アクセルペダル、８８…アクセルセンサ、９０…加速度センサ、１００…ネットワーク、１１０…データ解析センター、１１２…ＣＰＵ、１１４…ＲＯＭ、１１４ａ…学習用メインプログラム、１１６…記憶装置、１１７…通信機、１１８…周辺回路、１１９…ローカルネットワーク。
【要約】
【課題】車両の状態と行動変数との関係の設定に際して、熟練者に要求される工数を削減できるようにした車両用制御システムを提供する。
【解決手段】ＣＰＵ７２は、状態としてのアクセル操作量ＰＡの時系列データに基づき、関係規定データＤＲを用いて行動としてのスロットル開口度指令値および点火時期の遅角量を設定し、それらに応じてスロットルバルブや点火装置を操作し、その際のトルク、トルク指令値および加速度を取得する。ＣＰＵ７２は、状態、行動、トルク、トルク指令値および加速度をデータ解析センター１１０に送信する。データ解析センター１１０では、複数の車両ＶＣ１，ＶＣ２，…から送信されたデータに基づき、トルクや加速度が基準を満たすか否かに応じて報酬を与えることによって関係規定データＤＲを更新する。
【選択図】図１【図１】
0006744598.tif 000002
【図２】
0006744598.tif 000003
【図３】
0006744598.tif 000004
【図４】
0006744598.tif 000005
【図５】
0006744598.tif 000006
【図６】
0006744598.tif 000007