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