(57)【特許請求の範囲】
【請求項１】
内燃機関の状態を含んだ該内燃機関を備える車両の状態と前記内燃機関の複数の操作部のそれぞれの操作量との関係を規定するデータである関係規定データが記憶装置に記憶された状態において、
センサの検出値に基づく前記内燃機関の状態を含んだ前記車両の状態を取得する取得処理と、
前記関係規定データと前記取得処理によって取得された前記車両の状態とによって定まる前記操作量に基づき前記操作部を操作する操作処理と、
前記取得処理によって取得された前記車両の状態に基づき、燃料消費率、排気特性、およびドライバビリティのうちの少なくとも２つについて、基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記車両の状態、複数の前記操作部のそれぞれの操作に用いられた操作量、および該複数の操作部の操作に対応する前記報酬を入力とし、更新された前記関係規定データを出力する予め定められた更新写像に、前記取得処理によって取得された前記車両の状態、複数の前記操作部のそれぞれの操作に用いられた操作量、および該複数の操作部の操作に対応する前記報酬を入力することによって、前記関係規定データを更新する更新処理と、
を実行装置に実行させ、
前記燃料消費率の基準は、該燃料消費率が所定比率以下である旨の基準であり、
前記排気特性の基準は、窒素酸化物の排出量が所定量以下である旨、未燃燃料の排出量が所定量以下である旨、粒子状物質の排出量が所定量以下である旨、および前記内燃機関の排気通路に設けられた触媒の温度が下限温度以上であって且つ上限温度以下である旨の少なくとも１つからなる基準であり、
前記ドライバビリティの基準は、前後加速度の所定期間あたりの変化量がドライバビリティを良好とする所定範囲内である旨、前後加速度がドライバビリティを良好とする所定範囲内である旨、および音圧が所定値以下である旨の少なくとも１つからなる基準であり、
前記更新写像は、前記関係規定データに従って前記操作部が操作される場合に将来与えられることが期待される前記報酬である期待収益を増加させるように更新された前記関係規定データを出力する車両の制御に用いるデータの生成方法。
【請求項２】
前記報酬算出処理は、前記排気特性が所定の特性である場合に所定の特性から外れる場合よりも大きい報酬を与えるものであり、
前記排気特性が所定の特性であるか否かは、窒素酸化物の排出量が所定量以下であるか否か、未燃燃料の排出量が所定量以下であるか否か、粒子状物質の排出量が所定量以下であるか否か、および前記内燃機関の排気通路に設けられた触媒の温度が、下限温度以上であって且つ上限温度以下であるか否かの４つのうちの少なくとも１つを含む請求項１記載の車両の制御に用いるデータの生成方法。
【請求項３】
前記報酬算出処理は、前記車両の前後加速度がドライバビリティを良好とする所定範囲内にある場合にない場合よりも大きい報酬を与える処理、該前後加速度の変化速度がドライバビリティを良好とする所定範囲内にある場合にない場合よりも大きい報酬を与える処理、および前記内燃機関の発生する音の音圧が所定値以下である場合にない場合よりも大きい報酬を与える処理の３つの処理のうちの少なくとも１つの処理を、前記ドライバビリティの観点によって定量化された報酬を与える処理として含む請求項１または２項に記載の車両の制御に用いるデータの生成方法。
【請求項４】
前記更新処理によって更新された前記関係規定データに基づき、前記車両の状態と前記期待収益を最大化する複数の前記操作量とを１対１に対応付けることによって前記車両の状態を入力とし前記期待収益を最大化する複数の前記操作量を出力する制御用写像データを生成する処理を前記実行装置に実行させる請求項１〜３のいずれか１項に記載の車両の制御に用いるデータの生成方法。
【請求項５】
請求項１〜３のいずれか１項に記載の車両の制御に用いるデータの生成方法における前記記憶装置および前記実行装置を備える車両用制御装置。
【請求項６】
前記取得処理は、前記内燃機関の出力およびトルクの２つのうちの少なくとも１つの要求値および算出値を取得する処理を含み、
前記報酬算出処理は、前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む請求項５記載の車両用制御装置。
【請求項７】
前記車両は、前記内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置を備え、
前記関係規定データによって規定される関係には、前記変速装置の状態と前記変速装置の操作量との関係が含まれ、
前記取得処理は、前記変速装置の状態を取得する処理を含み、
前記報酬算出処理は、前記変速装置による変速比の切り替えに要する時間が所定時間以内である場合に前記所定時間を超える場合よりも大きい報酬を与える処理、前記変速装置の入力軸の回転速度の変化速度の絶対値が入力側所定値以下である場合に前記入力側所定値を超える場合よりも大きい報酬を与える処理、前記変速装置の出力軸の回転速度の変化速度の絶対値が出力側所定値以下である場合に前記出力側所定値を超える場合よりも大きい報酬を与える処理、および前記変速装置のソレノイドバルブによって調整される油圧が前記切り替え時に適切な油圧である旨の所定の条件を満たす場合に満たさない場合よりも大きい報酬を与える処理、の４つの処理のうちの少なくとも１つの処理を含み、
前記更新処理は、前記取得処理によって取得された前記車両の状態、複数の前記操作部のそれぞれの操作に用いられた操作量および前記変速装置の操作に用いられた操作量、および該複数の操作部および前記変速装置の操作に対応する前記報酬を、更新された前記関係規定データを出力する予め定められた更新写像への入力とし、前記関係規定データを更新する処理である請求項５または６記載の車両用制御装置。
【請求項８】
前記車両は、駆動輪に動力を付与する回転電機を備え、
前記関係規定データによって規定される関係には、前記回転電機に電力を供給する蓄電装置の状態と前記回転電機の制御量との関係が含まれ、
前記操作処理は、前記回転電機の駆動回路を操作する処理を含み、
前記取得処理は、前記蓄電装置の状態を取得する処理を含み、
前記報酬算出処理は、前記蓄電装置の状態が所定範囲内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を含み、
前記蓄電装置の状態が所定範囲内にある場合は、前記蓄電装置の充電率が下限値以上であって上限値以下であることと前記蓄電装置の温度が上限温度以下であることとの２つのうちの少なくとも１つの場合であり、
前記更新処理は、前記取得処理によって取得された前記車両の状態、複数の前記操作部のそれぞれの操作に用いられた操作量および前記回転電機の制御量、および該複数の操作部の操作および前記回転電機の制御に対応する前記報酬を、更新された前記関係規定データを出力する予め定められた更新写像への入力とし、前記関係規定データを更新する処理である請求項５〜７のいずれか１項に記載の車両用制御装置。
【請求項９】
前記取得処理は、前記車両の出力および駆動トルクの２つのうちの少なくとも１つの要求値および算出値を取得する処理を含み、
前記報酬算出処理は、前記車両の出力および前記駆動トルクの２つのうちの前記少なくとも１つについての前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む請求項８記載の車両用制御装置。
【請求項１０】
前記関係規定データは、前記車両の状態と、前記期待収益と、前記操作量との関係を規定するデータを含み、
前記実行装置は、前記取得処理によって取得された前記車両の状態と前記関係規定データとに基づき、前記期待収益が大きくなる操作量を小さくなる操作量よりも優先して選択する選択処理を実行し、
前記操作処理は、前記選択処理によって選択された前記操作量に基づき前記操作部を操作する処理を含む請求項５または６記載の車両用制御装置。
【請求項１１】
前記関係規定データは、前記車両の状態を入力とし、前記操作量の選択確率を出力とする関数近似器を規定するためのデータであり、
前記更新写像は、前記関数近似器を規定するためのパラメータの更新量を出力する写像を含み、
前記操作処理は、前記取得処理によって取得された前記車両の状態を前記関数近似器の入力として前記選択確率に従って選択された前記操作量に基づき前記操作部を操作する処理を含む請求項５または６記載の車両用制御装置。
【請求項１２】
請求項５〜１１のいずれか１項に記載の車両用制御装置における前記実行装置および前記記憶装置を備え、
前記実行装置は、前記車両に搭載される第１実行装置と、前記車両に備えられていない第２実行装置と、を含み、
前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、
前記第２実行装置は、少なくとも前記更新処理を実行する車両用制御システム。
【請求項１３】
前記第１実行装置は、前記取得処理によって取得された検出値に関するデータを送信する車両側送信処理と、前記第２実行装置によって送信された前記操作量を受信する車両側受信処理と、を実行し、
前記第２実行装置は、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記外部側受信処理によって受信した前記データと前記関係規定データとに基づき前記操作量を算出する操作量算出処理と、前記操作量算出処理によって算出した前記操作量を送信する外部側送信処理と、を実行する請求項１２記載の車両用制御システム。
【請求項１４】
請求項１２または１３記載の車両用制御システムにおける前記第１実行装置を備える車載装置。
【請求項１５】
請求項１２または１３記載の車両用制御システムにおける前記第２実行装置を備える車両用学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の制御に用いるデータの生成方法、車両用制御装置、車両用制御システム、車載装置および車両用学習装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、アクセルペダルの操作量をフィルタ処理した値に基づき、車両に搭載される内燃機関の操作部としてのスロットルバルブを操作する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記フィルタは、アクセルペダルの操作量に応じて車両に搭載される内燃機関のスロットルバルブの操作量を適切な操作量に設定するものである必要があることから、その適合には熟練者が多くの工数をかける必要が生じる。このように、従来は、車両内の状態に応じた内燃機関等の駆動系の操作量等の適合には、熟練者が多くの工数をかけていた。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．内燃機関の状態を含んだ該内燃機関を備える車両の状態と前記内燃機関の操作部の操作量との関係を規定するデータである関係規定データが記憶装置に記憶された状態において、前記操作部を操作する操作処理と、前記内燃機関の状態を含んだ前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づき、燃料消費率、排気特性、およびドライバビリティの少なくとも１つの観点からなる報酬を算出する報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記操作部の操作に用いられた操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記操作部が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
【０００６】
上記方法では、操作部の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、車両の状態と内燃機関の操作部の操作量との関係を設定することができる。したがって、車両の状態と内燃機関の操作部の操作量との関係の設定に際して、熟練者に要求される工数を低減できる。
【０００７】
２．前記報酬算出処理は、前記排気特性が所定の特性である場合に所定の特性から外れる場合よりも大きい報酬を与えるものであり、前記排気特性が所定の特性であるか否かは、窒素酸化物の排出量が所定範囲内にあるか否か、未燃燃料の排出量が所定範囲内にあるか否か、粒子状物質の排出量が所定範囲内にあるか否か、および前記内燃機関の排気通路に設けられた触媒の温度が所定範囲内にあるか否かの４つのうちの少なくとも１つを含む上記１記載の車両用制御データの生成方法である。
【０００８】
上記方法では、排気特性を所定の特性とする上で適切な関係規定データを強化学習によって学習できる。
３．前記報酬算出処理は、前記車両の加速度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理、該加速度の変化速度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理、および前記内燃機関の発生する音が所定範囲内にある場合にない場合よりも大きい報酬を与える処理の３つの処理のうちの少なくとも１つの処理を、前記ドライバビリティの観点によって定量化された報酬を与える処理として含む上記１または２記載の車両用制御データの生成方法である。
【０００９】
上記方法では、ドライバビリティの要求を満たすうえで適切な関係規定データを強化学習によって学習できる。
４．前記更新処理によって更新された前記関係規定データに基づき、前記車両の状態と前記期待収益を最大化する前記操作量とを１対１に対応付けることによって前記車両の状態を入力とし前記期待収益を最大化する前記操作量を出力する制御用写像データを生成する処理を前記実行装置に実行させる上記１〜３のいずれか１つに記載の車両用制御データの生成方法である。
【００１０】
上記方法では、強化学習によって学習された関係規定データに基づき、制御用写像データを生成する。そのため、その制御用写像データを制御装置に実装することにより、車両の状態に基づき、期待収益を最大化する操作量を簡易に設定することが可能となる。
【００１１】
５．上記１〜３のいずれか１つに記載の前記記憶装置および前記実行装置を備え、前記操作処理は、前記関係規定データと前記車両の状態とによって定まる前記操作量に基づき前記操作部を操作する処理を含む車両用制御装置である。
【００１２】
上記構成では、車両用制御装置が、車両に搭載された内燃機関の操作部の操作に伴って、関係規定データを学習できる。
６．前記取得処理は、前記内燃機関の出力およびトルクの２つのうちの少なくとも１つの要求値および算出値を取得する処理を含み、前記報酬算出処理は、前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記５記載の車両用制御装置である。
【００１３】
上記構成では、内燃機関のトルクや出力を要求値に近づけるとの条件の下、燃料消費率、排気特性、およびドライバビリティの少なくとも１つを狙いとするものに制御するうえで適切な関係規定データを学習できる。
【００１４】
７．前記車両は、前記内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置を備え、前記関係規定データによって規定される関係には、前記変速装置の状態と前記変速装置の操作量との関係が含まれ、前記取得処理は、前記変速装置の状態を検出するセンサの検出値を取得する処理を含み、前記報酬算出処理は、前記変速装置による変速比の切り替えに要する時間が所定時間以内である場合に前記所定時間を超える場合よりも大きい報酬を与える処理、前記変速装置の入力軸の回転速度の変化速度の絶対値が入力側所定値以下である場合に前記入力側所定値を超える場合よりも大きい報酬を与える処理、前記変速装置の出力軸の回転速度の変化速度の絶対値が出力側所定値以下である場合に前記出力側所定値を超える場合よりも大きい報酬を与える処理、および前記変速装置のソレノイドバルブによって調整される油圧が所定の条件を満たす場合に満たさない場合よりも大きい報酬を与える処理、の４つの処理のうちの少なくとも１つの処理を含み、前記更新処理は、前記取得処理によって取得された前記変速装置の状態に関する前記検出値を前記更新写像への入力とすることによって、前記関係規定データによって規定された前記変速装置の状態と前記変速装置の操作量との関係を更新する処理を含む上記５または６記載の車両用制御装置である。
【００１５】
上記構成では、変速装置の状態に基づき変速装置の操作量を定める上で適切な関係規定データを学習できる。
８．前記車両は、駆動輪に動力を付与する回転電機を備え、前記関係規定データによって規定される関係には、前記回転電機に電力を供給する蓄電装置の状態と前記回転電機の制御量との関係が含まれ、前記操作処理は、前記回転電機の駆動回路を操作する処理を含み、前記取得処理は、前記蓄電装置の状態を取得する処理を含み、前記報酬算出処理は、前記蓄電装置の状態が所定範囲内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を含み、前記更新処理は、前記取得処理によって取得された前記蓄電装置の状態と、前記回転電機の制御量とを前記更新写像への入力として、前記関係規定データによって規定される前記蓄電装置の状態と前記回転電機の制御量との関係を更新する処理を含む上記５〜７のいずれか１つに記載の車両用制御装置である。
【００１６】
上記構成では、蓄電装置の状態に基づき回転電機の制御量を定める上で適切な関係規定データを学習できる。
９．前記取得処理は、前記車両の出力および駆動トルクの２つのうちの少なくとも１つの要求値および算出値を取得する処理を含み、前記報酬算出処理は、前記車両の出力および前記駆動トルクの２つのうちの前記少なくとも１つについての前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記８記載の車両用制御装置である。
【００１７】
上記構成では、車両の出力や駆動トルクを要求値に近づけるとの条件の下、燃料消費率、排気特性、およびドライバビリティの少なくとも１つを狙いとするものに制御するうえで適切な関係規定データを学習できる。
【００１８】
１０．前記関係規定データは、前記車両の状態と、前記期待収益と、前記操作量との関係を規定するデータを含み、前記実行装置は、前記取得処理によって取得された前記検出値と前記関係規定データとに基づき、前記期待収益が大きくなる操作量を小さくなる操作量よりも優先して選択する選択処理を実行し、前記操作処理は、前記選択処理によって選択された前記操作量に基づき前記操作部を操作する処理を含む上記５〜９のいずれか１つに記載の車両用制御装置である。
【００１９】
上記構成では、選択処理によって、期待収益が大きくなる操作量が優先的に選択されることから、操作処理によって期待収益が大きくなる操作を優先して実行することができる。
【００２０】
１１．前記関係規定データは、前記車両の状態を入力とし、前記操作量の選択確率を出力とする関数近似器を規定するデータであり、前記更新写像は、前記関数近似器を規定するパラメータの更新量を出力する写像を含む上記５〜１０のいずれか１つに記載の車両用制御装置である。
【００２１】
上記構成では、方策についての関数近似器を用いることにより、車両の状態と操作量との関係を直接的に規定できる。
１２．上記５〜１１のいずれか１つに記載の前記実行装置および前記記憶装置を備え、前記実行装置は、前記車両に搭載される第１実行装置と、車載装置とは別の第２実行装置と、を含み、前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、前記第２実行装置は、少なくとも前記更新処理を実行する車両用制御システムである。
【００２２】
上記構成では、第２実行装置が更新処理を実行することにより、更新処理をも第１実行装置が実行する場合と比較して、第１実行装置の演算負荷を軽減できる。
なお、第２実行装置が車載装置とは別の装置であることは、第２実行装置が車載装置ではないことを意味する。
【００２３】
１３．前記第１実行装置は、前記取得処理によって取得された検出値に関するデータを送信する車両側送信処理と、前記第２実行装置によって送信された前記操作量を受信する車両側受信処理と、を実行し、前記第２実行装置は、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記外部側受信処理によって受信した前記データと前記関係規定データとに基づき前記操作量を算出する操作量算出処理と、前記操作量算出処理によって算出した前記操作量を送信する外部側送信処理と、を実行する上記１２記載の車両用制御システムである。
【００２４】
上記構成では、操作量算出処理を第２実行装置によって実行することにより、操作量算出処理をも第１実行装置が実行する場合と比較して、第１実行装置の演算負荷を軽減できる。
【００２５】
１４．上記１２または１３記載の前記第１実行装置を備える車両用制御装置である。
１５．上記１２または１３記載の前記第２実行装置を備える車両用学習装置である。
１６．車両に搭載された内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量との関係を規定する関係規定データが記憶装置に記憶された状態で、前記変速装置を操作する操作処理と、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づき、前記変速装置の操作に伴う前記車両のドライバビリティに基づく報酬を算出する報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記変速装置の状態、前記変速装置の操作に用いられた前記操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記変速装置が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
【００２６】
上記構成では、操作部の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、変速装置の状態と変速装置の操作量との関係を設定することができる。したがって、変速装置の状態と変速装置の操作量との関係の設定に際して、熟練者に要求される工数を低減できる。
【００２７】
１７．推力生成装置として内燃機関および回転電機を備えた車両に適用され、前記車両の状態と、前記内燃機関の操作量および前記回転電機の制御量との関係を規定する関係規定データが記憶装置に記憶されて状態で、前記内燃機関の操作部および前記回転電機の駆動回路を操作する操作処理と、前記車両の出力および前記車両の駆動トルクの２つのうちの少なくとも１つの要求値および算出値を取得する取得処理と、前記取得処理によって取得された前記要求値および前記算出値に基づき、前記算出値と前記要求値との差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える報酬算出処理と、前記車両の状態、前記操作処理の操作に対応する前記操作部の操作量および前記回転電機の制御量、ならびに該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記操作部および前記駆動回路が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
【００２８】
上記構成では、操作部の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、車両の状態と内燃機関の操作部の操作量および回転電機の制御量との関係を設定することができる。したがって、車両の状態と内燃機関の操作部の操作量および回転電機の制御量との関係の設定に際して、熟練者に要求される工数を低減できる。
【００２９】
１８．前記報酬算出処理は、前記車両におけるエネルギ消費率が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記１７記載の車両用制御データの生成方法である。
【００３０】
上記構成では、車両の出力や駆動トルクを要求値に近づけつつも、車両におけるエネルギ消費率が小さくなるように、関係規定データを学習できる。
１９．前記報酬算出処理は、前記回転電機に電力を供給する蓄電装置の充電率が所定比率範囲内にある場合に前記所定比率範囲から外れる場合よりも大きい報酬を与える処理を含む上記１７または１８記載の車両用制御データの生成方法である。
【００３１】
蓄電装置の充電率は所定比率範囲とすることが望ましい。そこで、上記構成では、報酬算出処理によって、蓄電装置の充電率が所定比率範囲内にある場合に所定比率範囲から外れる場合よりも大きい報酬を与えることにより、蓄電装置の充電率を所定比率範囲とするうえで適切な関係規定データを学習できる。
【００３２】
２０．前記報酬算出処理は、前記回転電機に電力を供給する蓄電装置の温度が所定温度範囲内にある場合に前記所定温度範囲から外れる場合よりも大きい報酬を与える処理を含む上記１７〜１９のいずれか１つに記載の車両用制御データの生成方法である。
【００３３】
蓄電装置の温度は、所定温度範囲とすることが望ましい。そこで上記構成では、報酬算出処理によって、蓄電装置の温度が所定温度範囲内にある場合に所定温度範囲から外れる場合よりも大きい報酬を与えることにより、蓄電装置の温度を所定温度範囲とするうえで適切な関係規定データを学習できる。
【００３４】
２１．実行装置と、記憶装置とを備え、前記記憶装置には、内燃機関が搭載される車両の状態と、前記内燃機関の操作部の操作量と、前記内燃機関の燃料消費率、前記内燃機関の排気特性、および前記内燃機関が搭載される車両のドライバビリティの少なくとも１つの観点からなる報酬についての期待収益と、の関係を規定する関係規定データが記憶されており、前記実行装置は、前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態と前記関係規定データとに基づき、前記期待収益を最大化する前記操作量を選択する選択処理と、前記選択処理によって選択された前記操作量に基づき前記操作部を操作する操作処理と、を実行する車両用制御装置である。
【００３５】
上記関係規定データは、車両の状態と、操作部の操作量と、期待収益との関係を規定するデータであることから、強化学習によって学習可能である。したがって、上記車両用制御装置は、操作部の操作量の適合に際して、熟練者に要求される工数を低減できる。
【００３６】
２２．実行装置と、記憶装置とを備え、前記記憶装置には、車両に搭載される内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量と、前記車両のドライバビリティに基づく報酬についての期待収益と、の関係を規定する関係規定データが記憶されており、前記実行装置は、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値と前記関係規定データとに基づき、前記期待収益を最大化する前記操作量を選択する選択処理と、前記選択処理によって選択された前記操作量に基づき前記変速装置を操作する操作処理と、を実行する車両用制御装置である。
【００３７】
上記関係規定データは、変速装置の状態と、変速装置の操作量と、期待収益との関係を規定するデータであることから、強化学習によって学習可能である。したがって、上記車両用制御装置は、変速装置の操作量の適合に際して、熟練者に要求される工数を低減できる。
【００３８】
２３．実行装置と、記憶装置とを備え、前記記憶装置には、内燃機関の状態を含んで且つ前記内燃機関を搭載した車両の状態と、前記内燃機関の操作部の操作量との関係を規定する関係規定データが記憶されており、前記実行装置は、前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値と前記関係規定データとに基づく前記操作部の操作量によって前記操作部を操作する操作処理と、を実行するものであり、前記関係規定データは、前記車両の所定の状態に関する時系列データと前記操作量との関係を規定する車両用制御装置である。
【００３９】
上述したように、内燃機関等の駆動系の操作量の適合には熟練者が多くの工数をかけていたことから、操作量を設定するための入力となる状態については、次元数が大きくなることを避けるインセンティブが働いていた。しかし、所定の状態について１つのサンプリング値のみに基づき操作量を設定するよりも、時系列的に前後する複数の状態のサンプリング値の時系列データに基づき操作量を設定する方が、操作量をより適切に設定できる可能性がある。そこで上記構成では、所定の状態に関する時系列データに基づく操作量によって操作部を操作することにより、狙いとする制御をより適切に実行することが可能となる。
【００４０】
２４．前記時系列データは、前記内燃機関の動作点を規定する変数である動作点変数の時系列データを含む上記２３記載の車両用制御装置である。
【図面の簡単な説明】
【００４１】
【図１】第１の実施形態にかかる制御装置および車両の駆動系を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図３】同実施形態にかかるマップデータを生成するシステムを示す図。
【図４】同実施形態にかかる学習処理の手順を示す流れ図。
【図５】同実施形態にかかる学習処理の一部の詳細を示す流れ図。
【図６】同実施形態にかかるマップデータの生成処理の手順を示す流れ図。
【図７】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図８】第２の実施形態にかかる制御装置および車両の駆動系を示す図。
【図９】同実施形態にかかる制御装置が実行する処理を示すブロック図。
【図１０】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１１】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１２】第３の実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１３】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１４】第４の実施形態にかかる制御装置および車両の駆動系を示す図。
【図１５】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１６】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図１７】第５の実施形態にかかるシステムの構成を示す図。
【図１８】（ａ）および（ｂ）は、同実施形態にかかるシステムが実行する処理の手順を示す流れ図。
【図１９】第６の実施形態にかかるシステムの構成を示す図。
【図２０】（ａ）および（ｂ）は、同実施形態にかかるシステムが実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【００４２】
＜第１の実施形態＞
以下、車両用制御データの生成方法にかかる第１の実施形態について図面を参照しつつ説明する。
【００４３】
図１に、本実施形態にかかる制御装置および駆動系を示す。
図１に示すように、内燃機関１０の吸気通路１２から吸入された空気は、過給機１４を介して吸気通路１２の下流側へと流入する。吸気通路１２のうちの過給機１４の下流には、スロットルバルブ１６が設けられており、吸気通路１２のうちスロットルバルブ１６の下流には、ポート噴射弁１８が設けられている。吸気通路１２に吸入された空気やポート噴射弁１８から噴射された燃料は、吸気バルブ２０の開弁に伴って、シリンダ２２およびピストン２４によって区画される燃焼室２６に流入する。燃焼室２６には、筒内噴射弁２８によって燃料が噴射される。燃焼室２６において燃料と空気との混合気は、点火装置３０の火花放電によって、燃焼に供される。燃焼によって生じたエネルギは、ピストン２４を介してクランク軸３２の回転エネルギに変換される。
【００４４】
燃焼に供された混合気は、排気バルブ３４の開弁に伴って、排気として排気通路３６に排出される。排気通路３６のうちの過給機１４の下流には、酸素吸蔵能力を有する三元触媒（触媒３８）が設けられている。また、排気通路３６は、過給機１４を迂回する迂回通路４８を備えており、迂回通路４８には、その流路断面積を調整するウェストゲートバルブ（ＷＧＶ５０）が設けられている。
【００４５】
クランク軸３２の回転動力は、タイミングチェーン４０を介して、吸気側カム軸４２および排気側カム軸４４に伝達される。なお、本実施形態では、吸気側カム軸４２には、可変バルブタイミング装置４６を介してタイミングチェーン４０の動力が伝達される。可変バルブタイミング装置４６は、クランク軸３２と吸気側カム軸４２との回転位相差を調整することによって、吸気バルブ２０の開弁タイミングを調整するアクチュエータである。
【００４６】
また、吸気通路１２は、ＥＧＲ通路５２を介して排気通路３６に接続されている。ＥＧＲ通路５２には、その流路断面積を調整するＥＧＲバルブ５４が設けられている。
ポート噴射弁１８には、燃料タンク６０に貯蔵された燃料が、機関駆動式ポンプ６２によって汲み上げられて供給される。また、筒内噴射弁２８には、燃料タンク６０に貯蔵された燃料が、機関駆動式ポンプ６２によって汲み上げられた後、電子制御式の高圧燃料ポンプ６４によって加圧されて供給される。燃料タンク６０で生じた燃料蒸気は、キャニスタ６６に捕集される。キャニスタ６６は、パージ通路６７を介して吸気通路１２に接続されている。パージ通路６７には、その上流側であるキャニスタ６６側の流体を下流側である吸気通路１２側に吐出させるパージポンプ６８が設けられている。
【００４７】
クランク軸３２には、ロックアップクラッチ７２を備えたトルクコンバータ７０を介して変速装置８０の入力軸８２が機械的に連結可能とされている。変速装置８０は、入力軸８２の回転速度と出力軸８４の回転速度との比である変速比を可変とする。すなわち、変速装置８０は、ソレノイドバルブ８０ａ，８０ｂ，…を備えており、ソレノイドバルブ８０ａ，８０ｂ，…によって調整される油圧に応じて、クラッチの締結、解除が切り替えられることによって、互いに異なる変速比を実現可能となっている。なお、出力軸８４は、駆動輪８８に機械的に連結されている。
【００４８】
制御装置９０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ１６や、ポート噴射弁１８、筒内噴射弁２８、点火装置３０、可変バルブタイミング装置４６、ＷＧＶ４８、ＥＧＲバルブ５４、高圧燃料ポンプ６４、パージポンプ６８等の内燃機関１０の操作部を操作する。また、制御装置９０は、ロックアップクラッチ７２の係合状態や、変速装置８０の変速比を制御量とし、ロックアップクラッチ７２や、ソレノイドバルブ８０ａ，８０ｂ，…を操作する。なお、図１には、スロットルバルブ１６、ポート噴射弁１８、筒内噴射弁２８、点火装置３０、可変バルブタイミング装置４６、ＷＧＶ５０、ＥＧＲバルブ５４、高圧燃料ポンプ６４、パージポンプ６８、およびロックアップクラッチ７２のそれぞれの操作信号ＭＳ１〜ＭＳ１０を記載している。また、図１に示す操作信号ＭＳ１１ａ，ＭＳ１１ｂ，…は、それぞれ、ソレノイドバルブ８０ａ，８０ｂ，…の操作信号である。
【００４９】
制御装置９０は、制御量の制御に際し、エアフローメータ１００によって検出される吸入空気量Ｇａや、吸気温センサ１０２によって検出される吸気温Ｔａ、過給圧センサ１０４によって検出される吸気通路１２のうちの過給機１４の下流の圧力（過給圧Ｐａ）を参照する。また制御装置９０は、スロットルセンサ１０６によって検出されるスロットルバルブ１６の開口度（スロットル開口度Ｔｏｒ）や、クランク角センサ１０８の出力信号Ｓｃｒを参照する。また、制御装置９０は、カム角センサ１１２の出力信号Ｓｃａや、水温センサ１１４によって検出される内燃機関１０の冷却水の温度（水温ＴＨＷ）を参照する。また制御装置９０は、触媒３８の上流側に設けられた上流側空燃比センサ１１６の検出値である上流側検出値Ａｆｕ、触媒３８の下流側に設けられた下流側空燃比センサ１１８の検出値である下流側検出値Ａｆｄを参照する。また、制御装置９０は、入力側速度センサ１２０によって検出される変速装置８０の入力軸８２の回転速度（入力回転速度ωｉｎ）や、出力側速度センサ１２２によって検出される変速装置８０の出力軸８４の回転速度（出力回転速度ωｏｕｔ）を参照する。また、制御装置９０は、ソレノイドバルブ８０ａによって調整され油圧センサ１２４ａによって検出される油圧Ｐｏｉｌａや、ソレノイドバルブ８０ｂによって調整され油圧センサ１２４ｂによって検出される油圧Ｐｏｉｌｂ等を参照する。また、制御装置９０は、油温センサ１２６によって検出される内燃機関１０の潤滑油の温度（油温Ｔｏｉｌ）や、車速センサ１３０によって検出される車両ＶＣ１の走行速度（車速ＳＰＤ）、アクセルセンサ１３２によって検出されるアクセルペダルの操作量（アクセル操作量ＡＣＣＰ）を参照する。
【００５０】
制御装置９０は、ＣＰＵ９２、ＲＯＭ９４、電気的に書き換え可能な不揮発性メモリである記憶装置９６、および周辺回路９８を備え、それらがローカルネットワーク９９によって通信可能とされたものである。なお、周辺回路９８は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００５１】
制御装置９０は、ＲＯＭ９４に記憶されたプログラムをＣＰＵ９２が実行することによって、上記制御量の制御を実行する。
図２に、制御装置９０が実行する処理の手順を示す。図２に示す処理は、ＲＯＭ９４に記憶された制御プログラム９４ｂをＣＰＵ９２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を記載する。
【００５２】
図２に示す一連の処理において、ＣＰＵ９２は、まず回転速度ＮＥ、充填効率η、過給圧Ｐａ、吸気温Ｔａ、水温ＴＨＷ，油温Ｔｏｉｌ、下流側検出値Ａｆｄ、上流側検出値Ａｆｕ、アクセル操作量ＡＣＣＰ、および車速ＳＰＤを取得する（Ｓ１０）。ここで、回転速度ＮＥは、クランク角センサ１０８の出力信号Ｓｃｒに基づきＣＰＵ９２によって算出される。また、充填効率ηは、回転速度ＮＥおよび吸入空気量Ｇａに基づきＣＰＵ９２によって算出される。なお、充填効率ηは、燃焼室２６内に充填される空気量を定めるパラメータである。
【００５３】
そして、ＣＰＵ９２は、Ｓ１０の処理によって取得した値を入力とし、Ｓ１２〜Ｓ２８の処理によって、内燃機関１０の各種操作部の操作量を設定する。なお、ここで操作量とは、実際の操作量に限らず、たとえば操作量となるように開ループ制御する場合や、操作量となるようにフィードバック制御する場合には、その指令値を操作量とみなすこともある。
【００５４】
詳しくは、ＣＰＵ９２は、Ｓ１２の処理によって、スロットルバルブ１６の開口度の指令値（スロットル開口度指令値Ｔｏｒ＊）を設定し、Ｓ１４の処理によって噴射が要求される燃料量（要求噴射量Ｑｆ）を設定する。また、ＣＰＵ９２は、Ｓ１６の処理によってクランク軸３２と吸気側カム軸４２との回転位相差（吸気位相差ＤＩＮ）の指令値である吸気位相差指令値ＤＩＮ＊を設定し、Ｓ１８の処理によって点火時期ａｉｇを設定し、Ｓ２０の処理によって要求噴射量Ｑｆのうちポート噴射弁１８から噴射される燃料量の比率である噴き分け率Ｋｐを設定する。また、ＣＰＵ９２は、Ｓ２２の処理によって、ＷＧＶ５０の開口度であるＷＧＶ開口度指令値Ｗｇｖｏｒを設定し、Ｓ２４の処理によって筒内噴射弁２８による燃料噴射の噴射圧の指令値（燃圧指令値Ｐｆ＊）を設定する。また、ＣＰＵ９２は、Ｓ２６の処理によって、ＥＧＲバルブ５４の開口度の指令値であるＥＧＲ開口度指令値Ｅｇｒｖｏｒを設定し、Ｓ２８の処理によって、パージポンプ６８の操作量（パージ操作量Ｐｇ）を設定する。
【００５５】
詳しくは、ＣＰＵ９２は、図１に示すマップデータ９６ｂを用いて、Ｓ１２〜Ｓ２８の処理を実行する。マップデータ９６ｂは、上記９個の操作量のそれぞれを出力変数とし、Ｓ１０の処理によって取得される値に対応する変数を入力変数とする、９個のマップデータを含む。ＣＰＵ９２は、Ｓ１０の処理によって取得した値を入力とし、上記９個の操作量のそれぞれを対応するマップデータを用いてマップ演算する。
【００５６】
なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００５７】
そして、ＣＰＵ９２は、Ｓ１２〜Ｓ２８の処理によって設定した操作量に基づき各操作部を操作すべく、各操作部に、それぞれ操作信号ＭＳ１〜ＭＳ９を出力する（Ｓ３０）。ここで、操作信号ＭＳ１〜ＭＳ９は、Ｓ１２〜Ｓ２８の処理によって設定された操作量によって一義的に定まるものばかりではない。たとえば本実施形態では、スロットル開口度Ｔｏｒをスロットル開口度指令値Ｔｏｒ＊にフィードバック制御するため、スロットルバルブ１６の操作信号ＭＳ１は、スロットル開口度指令値Ｔｏｒ＊が同一であっても、様々な値となりうる。
【００５８】
なお、ＣＰＵ９２は、Ｓ３０の処理が完了する場合、図２に示す処理を一旦終了する。
上記マップデータ９６ｂは、強化学習を利用して生成されたものである。以下、これについて詳述する。
【００５９】
図３に、マップデータ９６ｂを生成するシステムを示す。
図３に示すように、本実施形態では、内燃機関１０のクランク軸３２にトルクコンバータ７０および変速装置８０を介してダイナモメータ１４０を機械的に連結する。そして内燃機関１０を稼働させた際の様々な状態変数がセンサ群１４２によって検出され、検出結果が、マップデータ９６ｂを生成するコンピュータである生成装置１５０に入力される。なお、センサ群１４２には、図１に示した車両ＶＣ１が搭載するセンサのみならず、排気通路３６に排出される排気中の窒素濃度を検出する窒素濃度センサや、排気中の未燃燃料濃度を検出する未燃燃料濃度センサ、排気中の粒子状物質（ＰＭ）の量を検出するＰＭセンサが含まれる。また、センサ群１４２には、触媒３８の温度（触媒温度Ｔｃａｔ）を検出する触媒温度センサや、内燃機関１０の周辺の騒音を検知するマイク等が含まれる。
【００６０】
生成装置１５０は、ＣＰＵ１５２、ＲＯＭ１５４、電気的に書き換え可能な不揮発性メモリ（記憶装置１５６）、周辺回路１５８を備えており、それらがローカルネットワーク１５９によって通信可能とされたものである。
【００６１】
図４に、生成装置１５０が実行する処理の手順を示す。図４に示す処理は、ＲＯＭ１５４に記憶された学習プログラム１５４ａをＣＰＵ１５２が実行することにより実現される。
【００６２】
図４に示す一連の処理において、ＣＰＵ１５２は、まず、図３に示した記憶装置１５６に記憶されている関係規定データ１５６ａによって規定される行動価値関数Ｑ（ｓ，ａ）を初期化する（Ｓ４０）。ここで、行動価値関数Ｑは、状態ｓと行動ａとを独立変数とし、期待収益を出力変数とする関数である。本実施形態では、状態ｓを、Ｓ１０の処理によって取得する値に関する１０個の変数とする。また、行動ａを、Ｓ１２〜Ｓ２８の処理によって設定される９個の操作量とする。すなわち、本実施形態では、状態ｓが１０次元ベクトルであり、行動ａが９次元ベクトルであるが、便宜上、小文字の「ｓ」，「ａ」を用いている。また、本実施形態にかかる行動価値関数Ｑ（ｓ，ａ）は、テーブル形式の関数とする。ただし、本実施形態では、行動価値関数Ｑ（ｓ，ａ）の独立変数の組み合わせの数を削減すべく、状態ｓおよび行動ａの各変数の値を離散化した各値の組の一部のみによって行動価値関数Ｑ（ｓ，ａ）を定義する。
【００６３】
詳しくは、まず、内燃機関１０と同様の操作部を備え、従来手法ですでに操作部の操作量が適合されている内燃機関を稼働させることにより、その各状態ｓにおける行動ａを特定する。そして、実際に検出された状態ｓの一部をマップデータ９６ｂが規定する入力変数の値として選択し、それら状態のそれぞれについての行動ａを抽出する。なお、状態に対して複数の行動ａが抽出される場合、それらのうち実測された頻度が大きい方等を採用すればよい。これにより、状態ｓおよび行動ａの複数の組である代表点が設定される。ただし、ここでの状態ｓや行動ａの成分は、それぞれ、最小値以上最大値以下の領域を複数に分割した際の分割された領域のいずれに属するかを定義するものとする。これは、従来手法ですでに操作部の操作量が適合されている内燃機関と、本実施形態にかかる内燃機関１０との排気量の相違を補償するための設定である。
【００６４】
こうした状態において、ＣＰＵ１５２は、行動価値関数Ｑ（ｓ，ａ）の独立変数の取りうる範囲を、代表点と、代表点に対して行動ａの各変数の値をプラス方向およびマイナス方向に一単位だけずらした値とする。たとえば、ＥＧＲ開口度指令値Ｅｇｒｖｏｒの取りうる値が「０〜１０」の１０段階であったとしても、所定の状態ｓ０におけるＥＧＲ開口度指令値Ｅｇｒｖｏｒの実測値が「５」である場合、行動価値関数Ｑ（ｓ０，ａ）の独立変数のうちのＥＧＲ開口度指令値Ｅｇｒｖｏｒは、「４，５，６」のみが取りうる値とされる。すなわち、状態ｓ０であってＥＧＲ開口度指令値Ｅｇｒｖｏｒが「１」であるものには、行動価値関数Ｑ（ｓ０，ａ）が定義されていない。
【００６５】
次にＣＰＵ１５２は、最新の状態ｓｔを取得する（Ｓ４２）。ここで、アクセル操作量ＡＣＣＰは、生成装置１５０によって生成されるものであり、実際のアクセルペダルの操作量ではない。すなわち、図３においては、車両の状態を模擬すべく、アクセル操作量ＡＣＣＰを車両の状態に関する変数として疑似的に生成している。また、車速ＳＰＤは、回転速度ＮＥと変速装置８０の変速比とに基づき、内燃機関１０および変速装置８０が車両に搭載されていた場合に想定される値であり、生成装置１５０によって算出される。
【００６６】
次に、ＣＰＵ１５２は、関係規定データ１５６ａに規定された方策πｔに従って、行動ａｔを選択する（Ｓ４４）。ここで、行動ａｔは、状態ｓｔに対して選択された行動ａであることを意味する。また、方策πｔは、状態ｓｔにおいて、行動価値関数Ｑ（ｓｔ，ａ）を最大化する行動ａ（グリーディな行動）を選択する確率を最大としつつも、それ以外の行動ａの選択確率をも「０」としない。ここで、グリーディな行動がとられないことにより、最適な行動を探るための探索が可能となる。これは、εグリーディ行動選択手法や、ソフトマックス行動選択手法によって実現できる。
【００６７】
次にＣＰＵ１５２は、行動ａｔに基づき操作部を操作する（Ｓ４６）。ちなみに、行動ａｔは、上述したように、上記最小値以上最大値以下の領域が複数に分割された複数の領域のうちのいずれか１つの領域を指定するものであるが、操作部の操作に際しては、行動ａｔが指定する領域の中央値に対応する値が採用される。なお、ここでは、行動ａｔを直接の操作量とする代わりに、前回の操作量と行動ａｔから定まる操作量との指数移動平均処理値を今回の操作量としてもよい。そして、ＣＰＵ１５２は、最新の状態ｓｔ＋１を取得する（Ｓ４８）。次に、ＣＰＵ１５２は、行動ａｔによる報酬ｒｔを算出する（Ｓ５０）。
【００６８】
図５に、Ｓ５０の処理の詳細を示す。
図５に示す一連の処理において、ＣＰＵ１５２は、まず、センサ群１４２の検出値に基づき、内燃機関１０の状態を含む車両の模擬的な状態を取得する（Ｓ６０）。詳しくは、上流側検出値Ａｆｕ、下流側検出値Ａｆｄ、窒素濃度センサの検出値に基づく排気中のＮＯｘ量Ｑｎｏｘ、未燃燃料濃度センサの検出値に基づく排気中の未燃燃料量Ｑｃｈ、ＰＭセンサの検出値に基づく排気中のＰＭ量Ｑｐｍ、触媒温度センサによって検出される触媒温度Ｔｃａｔを取得する。また、ＣＰＵ１５２は、要求噴射量Ｑｆ（１），Ｑｆ（２），…や車両の前後加速度Ｇｘ（１），Ｇｘ（２），…を取得する。ここで、カッコの中の数字が異なるものは、互いに異なるサンプリングタイミングであることを示す。すなわち、要求噴射量Ｑｆ（１），Ｑｆ（２），…は、要求噴射量Ｑｆの時系列データであり、前後加速度Ｇｘ（１），Ｇｘ（２），…は、前後加速度Ｇｘの時系列データである。時系列データは、図５の処理の前回の実行タイミングから今回の実行タイミングまでの期間におけるサンプリング値とする。ここで、前後加速度Ｇｘは、ダイナモメータ１４０の負荷トルク等に基づきＣＰＵ１５２によって算出される、仮に内燃機関１０等が車両に搭載されていた場合に車両に生じると想定される前後加速度である。また、ＣＰＵ１５２は、マイクによって検知された音圧ＳＰや、ダイナモメータ１４０が生成する負荷トルクと変速装置８０の変速比とから把握される内燃機関１０のトルク（機関トルクＴｒｑｅｇ）およびその要求値（機関トルク要求値Ｔｒｑｅｇ＊）を取得する。ただし、機関トルクＴｒｑｅｇおよび機関トルク要求値Ｔｒｑｅｇ＊に代えて、機関トルクＴｒｑｅｇおよび回転速度ＮＥの積である機関出力Ｐｅｇおよびその要求値（機関出力要求値Ｐｅｇ＊）を取得してもよい。ここで、機関トルク要求値Ｔｒｑｅｇ＊は、アクセル操作量ＡＣＣＰに応じて設定される。
【００６９】
次にＣＰＵ１５２は、Ｓ６２〜Ｓ６６の処理によって、排気特性の観点に基づく報酬を算出する。すなわち、ＣＰＵ１５２は、まず、以下の条件（ア）〜条件（カ）の論理積が真であるか否かを判定する（Ｓ６２）。この処理は、排気特性が所定の特性であるか否か判定する処理である。
【００７０】
条件（ア）：上流側検出値Ａｆｕが、リッチ側上限値ＡｆｕＲ以上であって且つリーン側上限値ＡｆｕＬ以下である旨の条件である。ここで、リッチ側上限値ＡｆｕＲは、理論空燃比よりもリッチ側の値とされており、リーン側上限値ＡｆｕＬは、理論空燃比よりもリーン側の値とされている。
【００７１】
条件（イ）：下流側検出値Ａｆｄが、リッチ側上限値ＡｆｄＲ以上であって且つリーン側上限値ＡｆｄＬ以下である旨の条件である。ここで、リッチ側上限値ＡｆｄＲは、理論空燃比よりもリッチ側の値とされており、リーン側上限値ＡｆｄＬは、理論空燃比よりもリーン側の値とされている。
【００７２】
条件（ウ）：ＮＯｘ量Ｑｎｏｘが所定量Ｑｎｏｘｔｈ以下である旨の条件である。
条件（エ）：未燃燃料量Ｑｃｈが所定量Ｑｃｈｔｈ以下である旨の条件である。
条件（オ）：ＰＭ量Ｑｐｍが所定量Ｑｐｍｔｈ以下である旨の条件である。
【００７３】
条件（カ）：触媒温度Ｔｃａｔが下限温度ＴｃａｔＬ以上であって且つ上限温度ＴｃａｔＨ以下である旨の条件である。
ＣＰＵ１５２は、条件（ア）〜条件（カ）の論理積が真であると判定する場合（Ｓ６２：ＹＥＳ）、排気特性が狙いとする所定の特性にあるとして、報酬ｒｔに、「１０」を加算する（Ｓ６４）。これに対し、ＣＰＵ１５２は、上記論理和が偽であると判定する場合、報酬ｒｔに「−１０」を加算する（Ｓ６６）。これは、負の報酬を与えることに対応する。換言すれば、ペナルティを課すことに対応する。ちなみに、図５に示す一連の処理が周期的に開始される都度、報酬ｒｔの初期値はゼロとされる。
【００７４】
ＣＰＵ１５２は、Ｓ６４，６６の処理が完了する場合、Ｓ６８，Ｓ７０の処理によって、燃料消費率の観点による報酬を算出する。すなわち、ＣＰＵ１５２は、Ｓ６０の処理によって取得した要求噴射量Ｑｆ（１），Ｑｆ（２），…の積算値ＩｎＱｆが所定値ＩｎＱｆｔｈ以下であるか否かを判定する（Ｓ６８）。そして、ＣＰＵ１５２は、所定値ＩｎＱｆｔｈ以下であると判定する場合（Ｓ６８：ＹＥＳ）、報酬ｒｔに、正の所定量Δを加算する（Ｓ７０）。ここで、所定量Δは、積算値ＩｎＱｆが小さい場合に大きい場合よりも大きい値とする。
【００７５】
ＣＰＵ１５２は、Ｓ７０の処理を完了する場合や、Ｓ６８の処理において否定判定する場合には、Ｓ７２〜Ｓ７６の処理によって、ドライバビリティの観点による報酬を算出する。すなわち、ＣＰＵ１５２は、まず、以下の条件（サ）〜条件（ス）の論理積が真であるか否かを判定する（Ｓ７２）。
【００７６】
条件（サ）：前後加速度Ｇｘの所定期間あたりの変化量ΔＧｘが、下限変化量ΔＧｘｔｈＬ以上であって且つ上限変化量ΔＧｘｔｈＨ以下である旨の条件である。
条件（シ）：前後加速度Ｇｘが下限加速度ＧｘＬ以上であって且つ上限加速度ＧｘＨ以下である旨の条件である。なお、下限加速度ＧｘＬや上限加速度ＧｘＨは、アクセル操作量ＡＣＣＰに応じて可変設定される。
【００７７】
条件（ス）：音圧ＳＰが所定値ＳＰｔｈ以下である旨の条件である。
ＣＰＵ１５２は、条件（サ）〜条件（ス）の論理積が真であると判定する場合（Ｓ７２：ＹＥＳ）、ドライバビリティーが所定の基準を満たすとして、報酬ｒｔに「５」を加算する（Ｓ７４）。これに対し、ＣＰＵ１５２は、上記論理積が偽であると判定する場合（Ｓ７２：ＮＯ）、報酬に「−５」を加算する（Ｓ７６）。
【００７８】
ＣＰＵ１５２は、Ｓ７４，Ｓ７６の処理が完了する場合、機関トルクＴｒｑｅｇと機関トルク要求値Ｔｒｑｅｇ＊との差の絶対値が所定量ΔＴｒｑｅｇ以下であるか否かを判定する（Ｓ７８）。なお、Ｓ６０の処理において機関出力Ｐｅｇを取得している場合には、Ｓ７８の処理においては、機関トルクＴｒｑｅｇと機関トルク要求値Ｔｒｑｅｇ＊との差の絶対値に代えて、機関出力Ｐｅｇと機関出力要求値Ｐｅｇ＊との差の絶対値が所定量ΔＰｅｇ以下であるか否かを判定する。
【００７９】
そしてＣＰＵ１５２は、Ｓ７８の処理において肯定判定する場合、報酬ｒｔに「１０」を加算する一方（Ｓ８０）、否定判定する場合、報酬ｒｔに「−１０」を加算する（Ｓ８２）。
【００８０】
なお、ＣＰＵ１５２は、Ｓ８０，Ｓ８２の処理を完了する場合、図４のＳ５０の処理を完了する。
次に、ＣＰＵ１５２は、行動価値関数Ｑ（ｓ，ａ）のうち状態ｓｔ、行動ａｔの場合の行動価値関数Ｑ（ｓｔ，ａｔ）の値を更新する更新量を算出すべく、誤差δｔを算出する（Ｓ５２）。本実施形態では、方策オフ型ＴＤ法を例示する。すなわち、割引率γを用いて、誤差δｔを、行動価値関数Ｑ（ｓｔ＋１，Ａ）のうちの最大値に割引率γを乗算した値および報酬ｒｔの和から行動価値関数Ｑ（ｓｔ，ａｔ）を減算した値とする。なお、「Ａ」は、行動ａの集合を意味する。次に、ＣＰＵ１５２は、誤差δｔに学習率αを乗算した値を行動価値関数Ｑ（ｓｔ，ａｔ）に加算することによって、行動価値関数Ｑ（ｓｔ，ａｔ）を更新する（Ｓ５４）。すなわち、関係規定データ１５６ａによって規定されている行動価値関数Ｑ（ｓ，ａ）のうち、独立変数が状態ｓｔおよび行動ａｔとなるものの値を、「α・δｔ」だけ変化させる。なお、Ｓ５２，Ｓ５４の処理は、学習プログラム１５４ａのうち、報酬ｒｔ、状態ｓｔ、行動ａｔを入力とし、更新された行動価値関数Ｑを出力する写像である更新写像を用いて、行動価値関数Ｑを更新する実行指令の実行によって実現される。この更新写像により、関係規定データ１５６ａに規定された関係である、Ｓ１０の処理によって取得される値とＳ４４の処理に従って選択される操作量との関係が、期待収益を増加させるように更新されたものとなる。これは、行動価値関数Ｑ（ｓｔ，ａｔ）が更新されることによって、行動価値関数Ｑ（ｓｔ，ａｔ）が実際の期待収益をより高精度に表現する値に更新されるためである。
【００８１】
次にＣＰＵ１５２は、各独立変数について行動価値関数Ｑの値が収束したか否かを判定する（Ｓ５６）。そして、ＣＰＵ１５２は、収束していないと判定する場合（Ｓ５６：ＮＯ）、Ｓ４８の処理によって取得した状態ｓｔ＋１が状態ｓｔとなるようにｔを更新し（Ｓ５８）、Ｓ４４の処理に戻る。これに対し、ＣＰＵ１５２は、収束したと判定する場合（Ｓ５６：ＹＥＳ）、図４に示す一連の処理を一旦終了する。
【００８２】
図６に、生成装置１５０が実行する処理のうち、特に図４の処理によって学習された行動価値関数Ｑに基づき、マップデータ９６ｂを生成する処理の手順を示す。図６に示す処理は、ＲＯＭ１５４に記憶された学習プログラム１５４ａを、ＣＰＵ１５２が実行することにより実現される。
【００８３】
図６に示す一連の処理において、ＣＰＵ１５２は、まず、状態ｓを１つ選択する（Ｓ９０）。次に、ＣＰＵ１５２は、状態ｓに対応する行動価値関数Ｑ（ｓ，Ａ）のうち、行動価値関数Ｑの値を最大とする行動ａを選択する（Ｓ９２）。すなわち、ここでは、グリーディ方策によって行動ａを選択する。次に、ＣＰＵ１５２は、状態ｓと行動ａとの組を記憶装置１５６に記憶させる（Ｓ９４）。
【００８４】
次にＣＰＵ１５２は、マップデータ９６ｂの入力変数の値とするもの全てがＳ９０の処理によって選択されたか否かを判定する（Ｓ９６）。そして、ＣＰＵ１５２は、選択されていないものがあると判定する場合（Ｓ９６：ＮＯ）、Ｓ９０の処理に戻る。これに対し、ＣＰＵ１５２は、全てが選択されたと判定する場合（Ｓ９６：ＹＥＳ）、Ｓ９４の処理によって記憶されたデータに基づき、マップデータ９６ｂを生成する（Ｓ９８）。ここでは、マップデータ９６ｂの入力変数の値が状態ｓであるものに対応する出力変数の値を、対応する行動ａとする。
【００８５】
なお、ＣＰＵ１５２は、Ｓ９８の処理が完了する場合、図６に示す一連の処理を一旦終了する。
図７に、図１に示す制御装置９０が実行する処理のうち、変速装置８０の操作に関する処理の手順を示す。図７に示す処理は、ＲＯＭ９４に記憶されている制御プログラム９４ｂおよび学習プログラム９４ａをＣＰＵ９２が実行することにより実現される。なお、図７においては、変速装置８０が実現可能なすべての変速比の切り替えを示すのではなく、一例として、一対の変速比である第１の変速比から第２の変速比に切り替える場合の処理を示す。ここでは、第１の変速比とするためには、油圧Ｐｏｉｌａを高くして第１のクラッチを締結状態として且つ油圧Ｐｏｉｌｂを低くして第２のクラッチを解放状態とするものとする。また第２の変速比とするためには、油圧Ｐｏｉｌａを低くして第１のクラッチを解放状態として且つ油圧Ｐｏｉｌｂを高くして第２のクラッチを締結状態とするものとする。
【００８６】
図７に示す一連の処理において、ＣＰＵ９２は、まず、第１の変速比から第２の変速比への変速要求があるか否かを判定する（Ｓ１１０）。そしてＣＰＵ９２は、変速要求があると判定する場合（Ｓ１１０：ＹＥＳ）、入力回転速度ωｉｎ（ｎ）、出力回転速度ωｏｕｔ（ｎ）、および油圧Ｐｏｉｌａ（ｎ），Ｐｏｉｌｂ（ｎ）を取得する（Ｓ１１２）。なお、「（ｎ）」の変数ｎは、Ｓ１１２の処理がなされるタイミングに対するラベル変数である。この処理は、状態を取得する処理である。すなわち、図７の処理においては、状態は、入力回転速度ωｉｎ、出力回転速度ωｏｕｔ、および油圧Ｐｏｉｌａ，Ｐｏｉｌｂの４次元ベクトルによって表現される。
【００８７】
次に、ＣＰＵ９２は、図１の記憶装置９６に記憶された関係規定データ９６ａによって規定される方策πに従って、行動としての、ソレノイドバルブ８０ａの電流指令値（ソレノイド電流指令値ｉａ＊）と、ソレノイドバルブ８０ｂの電流指令値（ソレノイド電流指令値ｉｂ＊）と、を選択する（Ｓ１１４）。そして、ＣＰＵ１５２は、ソレノイドバルブ８０ａに流れる電流をソレノイド電流指令値ｉａ＊に制御して且つ、ソレノイドバルブ８０ｂに流れる電流をソレノイド電流指令値ｉｂ＊に制御すべく、操作信号ＭＳ１２，ＭＳ１３を出力する（Ｓ１１６）。
【００８８】
そして、ＣＰＵ９２は、変速が完了したか否かを判定する（Ｓ１１８）。ＣＰＵ９２は、変速が完了していないと判定する場合（Ｓ１１８：ＮＯ）、Ｓ１１２の処理によるサンプリング値を、「ｎ−１」に更新し（Ｓ１１９）、Ｓ１１２の処理に戻る。これにより、ＣＰＵ１５２は、新たに入力回転速度ωｉｎ、出力回転速度ωｏｕｔ、および油圧Ｐｏｉｌａ，Ｐｏｉｌｂを取得することとなる。
【００８９】
これに対しＣＰＵ９２は、変速が完了したと判定する場合（Ｓ１１８：ＹＥＳ）、以下の条件（タ）〜条件（ツ）の論理積が真であるか否かを判定する（Ｓ１２０）。
条件（タ）：第１の変速比から第２の変速比への切り替えに要した時間である変速時間Ｔｓｆｔが所定時間ＴｓｆｔＨ以下である旨の条件である。ここで、所定時間ＴｓｆｔＨは、変速に要する時間として許容上限値以下に設定されている。
【００９０】
条件（チ）：入力回転速度ωｉｎの所定期間あたりの変化量Δωｉｎの絶対値が入力側所定値ΔωｉｎＨ以下である旨の条件である。ここで、入力側所定値ΔωｉｎＨは、変速に伴ってユーザに違和感を与えることがない上限値に基づき設定されている。
【００９１】
条件（ツ）：出力回転速度ωｏｕｔの所定期間あたりの変化量Δωｏｕｔの絶対値が出力側所定値ΔωｏｕｔＨ以下である旨の条件である。ここで、出力側所定値ΔωｏｕｔＨは、変速に伴ってユーザに違和感を与えることがない上限値に基づき設定されている。
【００９２】
ＣＰＵ９２は、上記条件（タ）〜条件（ツ）の論理積が真であると判定する場合（Ｓ１２０：ＹＥＳ）、報酬ｒに「１」を加算する（Ｓ１２２）。これは、条件（タ）〜条件（ツ）の論理積が真である場合に正の報酬を与えることを意味する。
【００９３】
ＣＰＵ９２は、Ｓ１２２の処理が完了する場合や、Ｓ１２０の処理において否定判定する場合には、油圧Ｐｏｉｌａと油圧Ｐｏｉｌｂとの双方が閾値Ｐｔｈ以上となるサンプリング値の組（Ｐｏｉｌａ（ｉ），Ｐｏｉｌｂ（ｉ））があるか否かを判定する（Ｓ１２４）。ここで、閾値Ｐｔｈは、クラッチが締結状態となる下限値よりも小さい値に設定されている。ＣＰＵ９２は、上記の組があると判定する場合（Ｓ１２４：ＹＥＳ）、報酬ｒに負の報酬である「−１０」を加算する（Ｓ１２６）。すなわち、ここで対象とする変速においては、油圧Ｐｏｉｌａによって状態が定まる第１のクラッチと油圧Ｐｏｉｌｂによって状態が定まる第２のクラッチとの２つのクラッチのうちの一方が締結状態から解放状態に移行し、他方が解放状態から締結状態に移行する必要がある。そのため、油圧Ｐｏｉｌａと油圧Ｐｏｉｌｂの双方が同時に高くなることは好ましくない。
【００９４】
ＣＰＵ９２は、Ｓ１２６の処理が完了する場合や、Ｓ１２４の処理において否定判定する場合には、Ｓ１２８〜Ｓ１３６の処理において、図１に示した記憶装置９６に記憶されている関係規定データ９６ａを更新する。本実施形態では、εソフト方策オン型モンテカルロ法を用いる。
【００９５】
すなわち、ＣＰＵ９２は、まず、一度の変速処理の期間におけるＳ１１２の処理によって取得された状態である入力回転速度ωｉｎ、出力回転速度ωｏｕｔ、油圧Ｐｏｉｌａ，Ｐｏｉｌｂの組の時系列データと、各状態に対応する行動であるソレノイド電流指令値ｉａ＊，ｉｂ＊の組の時系列データとを読み出す（Ｓ１２８）。ここでは、Ｓ１２８の処理において読み出した状態を、状態集合Ｓｊと記載し、Ｓ１２８の処理において読み出した行動を、行動集合Ａｊと記載する。
【００９６】
次に、ＣＰＵ９２は、上記Ｓ１２８の処理によって読み出した各状態と対応する行動との組によって定まる収益Ｒ（Ｓｊ，Ａｊ）に、それぞれ、報酬ｒを加算する（Ｓ１３０）。ここで、収益Ｒの初期値は、対応する行動価値関数Ｑの初期値とすればよい。次に、上記Ｓ１２８の処理によって読み出した各状態と対応する行動との組によって定まる収益Ｒ（Ｓｊ，Ａｊ）のそれぞれについて、平均化して対応する行動価値関数Ｑ（Ｓｊ，Ａｊ）に代入する（Ｓ１３２）。ここで、平均化は、Ｓ１３０の処理がなされた回数に所定数を加算した数よって、Ｓ１３０の処理によって算出された収益Ｒを除算する処理とすればよい。
【００９７】
次にＣＰＵ９２は、上記Ｓ１２８の処理によって読み出した状態について、それぞれ、対応する行動価値関数Ｑ（Ｓｊ，ｉａ＊，ｉｂ＊）のうち、最大値となるときのソレノイド電流指令値ｉａ＊，ｉｂ＊を、ソレノイド電流指令値ｉａ０＊，ｉｂ０＊に代入する（Ｓ１３４）。なお、ソレノイド電流指令値ｉａ０＊，ｉｂ０＊は、上記Ｓ１２８の処理によって読み出した状態の種類に応じて各別の値となるものであるが、ここでは、表記を簡素化して、同一の記号にて記載している。
【００９８】
次に、ＣＰＵ９２は、上記Ｓ１２８の処理によって読み出した状態のそれぞれについて、対応する方策π（ｉａ＊，ｉｂ＊｜Ｓｊ）を更新する（Ｓ１３６）。すなわち、行動の総数を、「｜Ａ｜」とすると、Ｓ１３４によって選択された行動であるソレノイド電流指令値ｉａ０＊，ｉｂ０＊の選択確率を、「１−ε＋ε／｜Ａ｜」とする。また、ソレノイド電流指令値ｉａ０＊，ｉｂ０＊以外の「｜Ａ｜−１」個の行動の選択確率を、それぞれ「ε／｜Ａ｜」とする。
【００９９】
なお、ＣＰＵ９２は、Ｓ１３６の処理が完了する場合や、Ｓ１１０の処理において否定判定する場合には、図７に示す一連の処理を一旦終了する。図７において、Ｓ１１０〜Ｓ１１９の処理が、制御プログラム９４ｂの実行によって実現される処理であり、Ｓ１２０〜Ｓ１３６の処理が、学習プログラム９４ａの実行によって実現される処理である。
【０１００】
ちなみに、記憶装置９６に記憶する関係規定データ９６ａは、図３に示したシステムにおいて、あらかじめ図７と同様の処理によって学習がある程度なされたデータとする。図３に示したシステムによる強化学習においては、記憶装置９６への記憶後と比較して、「ε」を大きい値に設定したり、閾値Ｐｔｈを大きい値に設定したりしてもよい。なお、閾値Ｐｔｈを大きい値に設定する場合、Ｓ１２４の処理を、Ｓ１１８の処理よりも前に実行して、Ｓ１２４の処理において肯定判定する場合、学習を終了して大きな負の報酬を与えることが望ましい。
【０１０１】
ここで、本実施形態の作用および効果について説明する。
図３に示すシステムにおいて、ＣＰＵ１５２は、強化学習によって、行動価値関数Ｑを学習する。そして、行動価値関数Ｑの値が収束する場合、都度の状態において行動価値関数Ｑを最大化する行動を選択することによって、その状態において、燃料消費率、排気特性、およびドライバビリティの要求を満たすうえで適切な操作量が学習されたとする。そして、ＣＰＵ１５２は、マップデータ９６ｂの入力変数となる状態のそれぞれについて、行動価値関数Ｑを最大化する行動を選択し、状態と行動との組を記憶装置１５６に記憶する。次に、ＣＰＵ１５２は、記憶装置１５６に記憶された状態と行動との組に基づき、マップデータ９６ｂを生成する。これにより、状態に応じた適切な操作量を、熟練者による工数を過度に大きくすることなく設定することができる。
【０１０２】
特に、本実施形態では、状態として１０個の互いに異なる量を用いた。そのため、たとえば１０個の状態に対応する各操作量の値を熟練者が適合する場合には、次元数が大きいことに起因して適合工程が非常に煩雑なものとなる。これに対し、本実施形態では、強化学習を用いることにより、次元が大きい場合であっても、熟練者による工数の増加を抑制しつつも、操作量を設定することができる。
【０１０３】
以上説明した本実施形態によれば、さらに以下に記載する作用効果を奏する。
（１）制御装置９０が備える記憶装置９６に、内燃機関１０の操作部の操作量に関する行動価値関数Ｑ等ではなく、マップデータ９６ｂを記憶した。これにより、ＣＰＵ９２は、マップデータ９６ｂを用いたマップ演算に基づき、内燃機関１０の操作部の操作量を設定することから、行動価値関数Ｑのうち最大値となるものを選択する処理を実行する場合と比較して、演算負荷を軽減できる。
【０１０４】
（２）変速装置８０の変速比の切り替え操作を、強化学習によって学習した。これにより、熟練者による工数を過度の大きくすることなく、変速装置８０の状態に応じた操作量を設定することができる。
【０１０５】
（３）制御装置９０が備える記憶装置９６に、変速装置８０の操作量に関する行動価値関数Ｑ等を関係規定データ９６ａとして記憶し、変速比の切り替え操作が実行される都度、行動価値関数Ｑや方策πを更新した。これにより、制御装置９０によっては更新を行わない場合と比較して、学習頻度を増加させることができる。
【０１０６】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１０７】
図８に、本実施形態にかかる制御装置および駆動系を示す。なお、図８において、図１に示した処理に対応する処理については、便宜上、同一の符号を付している。
図８に示すように、本実施形態では、マップデータ９６ｂを備えない。代わりに、本実施形態にかかる関係規定データ９６ａには、内燃機関１０の状態と内燃機関１０の操作部の操作量との関係を規定するデータも含まれている。このデータは、図４の処理によって生成された行動価値関数Ｑ等を含む。
【０１０８】
また、記憶装置９６には、ＰＭ量出力写像データ９６ｃと、トルク出力写像データ９６ｄとが記憶されている。また、本実施形態において、制御装置９０は、駆動系の音を感知するマイク１３４によって検出された音圧ＳＰや、加速度センサ１３６によって検出される車両ＶＣ１の前後加速度Ｇｘを参照する。
【０１０９】
図９に、ＣＰＵ９２が、ＰＭ量出力写像データ９６ｃと、トルク出力写像データ９６ｄとを利用しつつ学習プログラム９４ａを実行することによって実現される処理を示す。
図９に示すＰＭ量出力処理Ｍ１０は、回転速度ＮＥ、充填効率η、点火時期ａｉｇ、噴射量増量値Ｑｆｉ、吸気温Ｔａおよび水温ＴＨＷを入力とし、ＰＭ量Ｑｐｍを出力する処理である。ここで、噴射量増量値Ｑｆｉは、燃焼室２６内において燃焼対象とされる混合気の空燃比を理論空燃比とするうえで必要な噴射量に対する実際の噴射量（要求噴射量Ｑｆ）の過剰分である。ただし、噴射量増量値Ｑｆｉは、負の値をとりえ、その場合、混合気の空燃比を理論空燃比とするうえで必要な噴射量に対する実際の噴射量の不足量を示す。上記ＰＭ量出力写像データ９６ｃは、回転速度ＮＥ、充填効率η、点火時期ａｉｇ、噴射量増量値Ｑｆｉ、吸気温Ｔａおよび水温ＴＨＷを入力とし、ＰＭ量Ｑｐｍを出力するニューラルネットワーク等の学習済みモデルに関するデータである。したがって、ＰＭ量出力処理Ｍ１０は、回転速度ＮＥ、充填効率η、点火時期ａｉｇ、噴射量増量値Ｑｆｉ、吸気温Ｔａおよび水温ＴＨＷを学習済みモデルへの入力としてＰＭ量Ｑｐｍを算出する処理である。なお、上記ＰＭ量出力写像データ９６ｃは、たとえば図５の処理を実行する際、Ｓ６０の処理によって取得されるＰＭ量Ｑｐｍを教師データとして学習されたものとすればよい。
【０１１０】
一方、トルク出力処理Ｍ１２は、回転速度ＮＥ，充填効率η、点火時期ａｉｇ、要求噴射量Ｑｆ、および吸気位相差ＤＩＮを入力とし、機関トルクＴｒｑｅｇを算出する処理である。上記トルク出力写像データ９６ｄは、回転速度ＮＥ，充填効率η、点火時期ａｉｇ、要求噴射量Ｑｆ、および吸気位相差ＤＩＮを入力とし、機関トルクＴｒｑｅｇを出力するニューラルネットワーク等の学習済みモデルに関するデータである。したがって、トルク出力処理Ｍ１２は、回転速度ＮＥ，充填効率η、点火時期ａｉｇ、要求噴射量Ｑｆ、および吸気位相差ＤＩＮを学習済みモデルへの入力として機関トルクＴｒｑｅｇを算出する処理である。なお、上記トルク出力写像データ９６ｄは、たとえば図５の処理を実行する際、Ｓ６０の処理によって取得される機関トルクＴｒｑｅｇを教師データとして学習されたものとすればよい。
【０１１１】
図１０に、本実施形態における制御装置９０による内燃機関１０の操作部の操作に関する処理の手順を示す。図１０に示す処理は、ＲＯＭ９４に記憶された制御プログラム９４ｂおよび学習プログラム９４ａを、ＣＰＵ９２がたとえば内燃機関１０の起動要求が生じることを条件に実行することにより実現される。なお、図１０において、図４に示した処理に対応する処理については、便宜上、同一のステップ番号を付している。
【０１１２】
図１０に示す一連の処理において、ＣＰＵ９２は、まず図４に示したＳ４２〜Ｓ４８の処理と同様の処理を実行した後、報酬ｒｔを算出する（Ｓ５０ａ）。
図１１に、Ｓ５０ａの処理の詳細を示す。なお、図１１において、図５に示した処理に対応する処理については、便宜上同一のステップ番号を付与する。
【０１１３】
図１１に示す一連の処理において、ＣＰＵ９２は、まず、報酬ｒｔの算出に必要な変数の値を取得する（Ｓ６０ａ）。詳しくは、ＣＰＵ９２は、下流側検出値Ａｆｄ、ＰＭ量Ｑｐｍ、要求噴射量Ｑｆの時系列データ、前後加速度Ｇｘの時系列データ、音圧ＳＰ、機関トルクＴｒｑｅｇ（機関出力Ｐｅｇ）および機関トルク要求値Ｔｒｑｅｇ＊（機関出力要求値Ｐｅｇ＊）を取得する。なお、機関出力Ｐｅｇは、機関トルクＴｒｑｅｇに回転速度ＮＥを乗算して求めることができる。
【０１１４】
次にＣＰＵ９２は、上記条件（イ）および条件（オ）の論理積が真であるか否かを判定する（Ｓ６０ａ）。そしてＣＰＵ９２は、論理積が真であると判定する場合（Ｓ６０ａ：ＹＥＳ）、Ｓ６４の処理に移行する一方、論理積が偽であると判定する場合（Ｓ６０ｂ：ＮＯ）、Ｓ６６の処理に移行する。なお、ＣＰＵ９２は、Ｓ６４，Ｓ６６の処理を完了する場合、Ｓ６８〜Ｓ８２の処理を実行して、図１０のＳ５０ａの処理を完了する。
【０１１５】
図１０に戻り、ＣＰＵ９２は、Ｓ５０ａの処理を完了する場合、Ｓ５２〜Ｓ５４，Ｓ５８の処理を実行し、Ｓ４４の処理に戻る。ちなみに、Ｓ４２〜Ｓ４８の処理は、制御プログラム９４ｂに規定されている実行指令の実行によって実現され、Ｓ５０ａ，Ｓ５２〜Ｓ５４，Ｓ５８の処理は、学習プログラム９４ａに規定されている実行指令の実行によって実現される。
【０１１６】
なお、図１０の処理における方策πは、図３の処理における方策πと比較して、グリーディ行動の選択確率が高いものとしてもよい。
以上説明した本実施形態によれば、制御装置９０においても内燃機関１０の操作部の操作量に関する行動価値関数Ｑを更新することから、更新しない場合と比較して、学習頻度を高めることができる。
【０１１７】
＜第３の実施形態＞
以下、第３の実施形態について、第２の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１１８】
本実施形態では、行動価値関数を用いることなく、方策πを直接更新対象とする。詳しくは、本実施形態では、方策πを、行動を定める各操作量の取りうる確率を定める多変量ガウス分布とする。ここで、多変量ガウス分布の平均値μ（１）は、スロットル開口度指令値Ｔｏｒ＊の平均値を示し、平均値μ（２）は、要求噴射量Ｑｆの平均値を示し、平均値μ（３）は、吸気位相差指令値ＤＩＮ＊の平均値を示し、平均値μ（４）は、点火時期ａｉｇの平均値を示し、平均値μ（５）は、噴き分け率Ｋｐの平均値を示す。また、平均値μ（６）は、ＷＧＶ開口度指令値Ｗｇｖｏｒの平均値を示し、平均値μ（７）は、燃圧指令値Ｐｆ＊の平均値を示し、平均値μ（８）は、ＥＧＲ開口度指令値Ｅｇｒｖｏｒの平均値を示し、平均値μ（９）は、パージ操作量Ｐｇの平均値を示す。また、本実施形態では、多変量ガウス分布の共分散行列を対角行列とし、各平均値μ（ｉ）に対応する分散σ（ｉ）が各別の値となりうるものとする。
【０１１９】
図１２に、本実施形態にかかる内燃機関１０の操作部の操作に関する処理の手順を示す。図１２に示す処理は、ＲＯＭ９４に記憶された制御プログラム９４ｂをＣＰＵ９２がたとえば所定周期で繰り返し実行することにより実現される。なお、図１２において、図３に示した処理に対応する処理については、便宜上同一のステップ番号を付している。
【０１２０】
図１２に示す一連の処理において、ＣＰＵ９２は、まず、図３の処理と同様、Ｓ４２に処理を実行する。なお、図１２においては、状態を「ｓ」と記載しており、図３における「ｓｔ」とは異なるものの、これは表記上の問題に過ぎない。
【０１２１】
次にＣＰＵ９２は、方策πを設定するための関数近似器の入力変数ｘ（１）〜ｘ（１０）にＳ４２の処理によって取得した状態ｓを代入する（Ｓ１４０）。詳しくは、ＣＰＵ９２は、入力変数ｘ（１）に回転速度ＮＥを代入し、入力変数ｘ（２）に充填効率ηを代入し、入力変数ｘ（３）に過給圧Ｐａを代入し、入力変数ｘ（４）に吸気温Ｔａを代入し、入力変数ｘ（５）に水温ＴＨＷを代入する。またＣＰＵ９２は、入力変数ｘ（６）に油温Ｔｏｉｌを代入し、入力変数ｘ（７）に下流側検出値Ａｆｄを代入し、入力変数ｘ（８）に上流側検出値Ａｆｕを代入し、入力変数ｘ（９）にアクセル操作量ＡＣＣＰを代入し、入力変数ｘ（１０）に車速ＳＰＤを代入する。
【０１２２】
次に、ＣＰＵ９２は、「ｉ＝１〜９」のそれぞれについて、平均値μ（ｉ）および分散σ（ｉ）を算出する（Ｓ１４２）。本実施形態では、平均値μ（ｉ）を、中間層の層数が「ｐ−１」個であって且つ、各中間層の活性化関数ｈ１〜ｈｐ−１がハイパボリックタンジェントであり、出力層の活性化関数ｈｐがＲｅＬＵであるニューラルネットワークによって構成されている。ここで、ＲｅＬＵは、入力と「０」とのうちの小さくない方を出力する関数である。また、ｍ＝１，２，…，ｐ−１とすると、第ｍの中間層の各ノードの値は、係数ｗ（ｍ）によって規定される線形写像の出力を活性化関数ｈｍに入力することによって生成される。ここで、ｎ１，ｎ２，…，ｎｐ−１は、それぞれ、第１、第２、…、第ｐ−１中間層のノード数である。たとえば、第１の中間層の各ノードの値は、係数ｗ（１）ｊｉ（ｊ＝０〜ｎ１，ｉ＝０〜１０）によって規定される線形写像に上記入力変数ｘ（１）〜ｘ（１０）を入力した際の出力を活性化関数ｈ１に入力することによって生成される。ちなみに、ｗｍ（１）ｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義している。
【０１２３】
上記ニューラルネットワークは、活性化関数ｈｐの出力を係数ｗ（ｐ）ｉｑ（ｉ＝１〜９，ｑ＝０〜ｎｐ−１）によって規定される線形写像に入力した際の出力を平均値μ（ｉ）とする。
【０１２４】
また、本実施形態では、分散σ（ｉ）を、係数ｗＴｉｋ（ｉ＝１〜９，ｋ＝１〜１０）によって規定される線形写像によって入力変数ｘ（１）〜ｘ（１０）を線形変換した値のそれぞれを関数ｆに入力した際の関数ｆの値とする。本実施形態では、関数ｆとして、ＲｅＬＵを例示する。
【０１２５】
次にＣＰＵ９２は、Ｓ１４２の処理によって算出された平均値μ（ｉ）および分散σ（ｉ）にて定義される方策πに基づき、行動ａ＊を決定する（Ｓ１４４）。ここでは、平均値μ（ｉ）を選択する確率が最も高く、且つ、平均値μ（ｉ）を選択する確率は、分散σ（ｉ）が小さい場合に大きい場合よりも大きくなる。
【０１２６】
次に、ＣＰＵ９２は、Ｓ１４４の処理において選択した行動ａ＊に基づき、内燃機関１０の操作部を操作し（Ｓ１４６）、図１２に示す一連の処理を一旦終了する。
図１３に、制御装置９０による方策πの更新処理の手順を示す。図１３に示す処理は、ＲＯＭ９４に記憶された学習プログラム９４ａをＣＰＵ９２がたとえば所定周期で繰り返し実行することによって実現される。
【０１２７】
図１３に示す一連の処理において、ＣＰＵ９２は、まず、Ｓ５０ａの処理によって報酬ｒを算出する。次にＣＰＵ９２は、収益Ｒに報酬ｒを加算する（Ｓ１５２）。そして、ＣＰＵ９２は、変数ｔが所定時間Ｔ−１に達したか否かを判定する（Ｓ１５４）。ＣＰＵ９２は、所定時間Ｔ−１に達していないと判定する場合（Ｓ１５４：ＮＯ）、変数ｔをインクリメントする（Ｓ１５６）。
【０１２８】
これに対しＣＰＵ９２は、所定時間Ｔ−１に達すると判定する場合（Ｓ１５４：ＹＥＳ）、収益Ｒｉに、収益Ｒを代入した後、収益Ｒを初期化し、さらに、変数ｔを初期化する（Ｓ１５８）。次にＣＰＵ９２は、変数ｉが所定値Ｎに達したか否かを判定する（Ｓ１６０）。そして、ＣＰＵ９２は、所定値Ｎに達していないと判定する場合（Ｓ１６０：ＮＯ）、変数ｉをインクリメントする（Ｓ１６２）。
【０１２９】
これに対し、ＣＰＵ９２は、所定値Ｎに達すると判定する場合（Ｓ１６０：ＹＥＳ）、方策勾配法によって、方策πを規定する変数ｗ（１）〜ｗ（ｐ）や係数ｗＴを更新する（Ｓ１６４）。図１３には、方策πを規定する変数ｗ（１）〜ｗ（ｐ）や係数ｗＴを総括してパラメータθと記載している。
【０１３０】
ここで、変数ｔが０〜Ｔ−１となるまでにおける、状態ｓ、行動ａおよび報酬ｒの、Ｔ個の組を、トラジェクトリｈｔとし、確率ｐθ（ｈｔ）を、パラメータθによって規定される方策πに従ってトラジェクトリｈｔとなる確率ｐθ（ｈｔ）とする。ここでは、「ｐθ（ｈｔ）・Ｒｔ」のトラジェクトリｈｔによる積分値は、収益Ｒ（ｈｔ）の期待値（期待収益Ｊ）であり、これを最大化するように、パラメータθを更新する。これは、パラメータθの各成分の更新量を、同成分によって上記期待収益Ｊを偏微分した値に比例した量とすることにより実現できる。
【０１３１】
ここで、確率ｐθ（ｈｔ）は、状態ｓ０，ｓ１，…ｓＴ、行動ａ０，ａ１，…ａＴを用いると、
pθ(ht)
=p(s0)・p(s1|s0,a0)・π(a0|s0)・p(s2|s1,a1)・π(a1|s1)…p(sT|sT-1,aT-1)・π(aT-1|sT-1)
となる。ただし、初期確率ｐ（ｓ０）は、状態ｓ０となる確率であり、遷移確率ｐ（ｓｔ＋１｜ｓｔ，ａｔ）は、状態ｓｔ、行動ａｔのときに状態ｓｔから状態ｓｔ＋１に遷移する確率である。
【０１３２】
したがって、期待収益Ｊの偏微分は、下記の式（ｃ１）となる。
【０１３３】
【数１】
0006970156.tif 000002
ここで、確率ｐθ（ｈｔ）については、知ることができないことから、上記の式（ｃ１）における積分を、複数（ここでは、所定値Ｎ個）のトラジェクトリｈｔによる平均値に置き換える。
【０１３４】
これにより、期待収益Ｊのパラメータθの各成分による偏微分係数は、方策π（ａｔ｜ｈｔ（ｉ））の対数のパラメータθの該当する成分による偏微分係数の「ｔ＝０〜Ｔ−１」における和と収益Ｒｉとの積を、所定値Ｎ個の収益Ｒｉについて加算し、所定値Ｎで除算した値となる。
【０１３５】
ＣＰＵ９２は、パラメータθの各成分による期待収益Ｊの偏微分係数に学習率αを乗算した値を、パラメータθのうちの該当する成分の更新量とする。
なお、Ｓ１５２〜Ｓ１６４の処理は、ＲＯＭ９４に記憶された学習プログラム９４ａのうち、状態ｓ０，ｓ１，…、行動ａ０，ａ１，…、および報酬ｒを入力とし、更新されたパラメータθを出力する更新写像の実行指令が実行されることによって実現される。
【０１３６】
ＣＰＵ９２は、Ｓ１６４の処理が完了する場合、変数ｉおよび収益Ｒ１〜ＲＮを初期化する（Ｓ１６６）。
なお、ＣＰＵ９２は、Ｓ１５６，Ｓ１６２，Ｓ１６６の処理が完了する場合、図１３に示す一連の処理を一旦終了する。
【０１３７】
ちなみに、強化学習を最初に実行するに際して、平均値μ（ｉ）の初期値は、たとえば、次のようにして設定すればよい。すなわち、内燃機関１０と同一の排気量および同一の操作部を備える内燃機関であって、すでに制御仕様が決定されている内燃機関を稼働させた際の状態ｓおよび行動ａを訓練データとし、平均値μ（ｉ）と訓練データとの差の絶対値を低減するように、平均値μ（ｉ）に関するパラメータθを学習すればよい。また、分散σ（ｉ）については、たとえば、平均値μ（ｉ）に対してプラスマイナス１０パーセント程度ずれた値による探索が十分になされるように設定すればよい。
【０１３８】
このように、本実施形態では、関数近似器を用いることにより、状態や行動が連続変数であっても、これを容易に扱うことができる。
＜第４の実施形態＞
以下、第４の実施形態について、第３の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１３９】
上記第３の実施形態では、車両ＶＣ１として、内燃機関１０のみを車両ＶＣ１の推力生成装置とするものを例示したが、本実施形態では、推力生成装置として、内燃機関１０に加えてモータジェネレータを備えるシリーズ・パラレルハイブリッド車を例示する。
【０１４０】
図１４に、本実施形態にかかる制御装置および駆動系を示す。なお、図１４において、図８に示した部材に対応する部材については、便宜上、同一の符号を付している。
図示されるように、クランク軸３２は、動力分割機構としての遊星歯車機構１６０のキャリア（図中、「Ｃ」と記載）に機械的に連結されている。遊星歯車機構１６０のサンギア（図中、「Ｓ」と記載）には、第１モータジェネレータ１６２の回転軸が機械的に連結されており、遊星歯車機構１６０のリングギア（図中、「Ｒ」と記載）には、第２モータジェネレータ１６６の回転軸が機械的に連結されている。第１モータジェネレータ１６２の端子には、バッテリ１７０の直流電圧がインバータ１６４によって交流電圧に変換されて印加される。第２モータジェネレータ１６６の端子には、バッテリ１７０の直流電圧がインバータ１６８によって交流電圧に変換されて印加される。
【０１４１】
制御装置９０は、第１モータジェネレータ１６２や第２モータジェネレータ１６６を制御対象とし、その制御量（トルク等）を制御すべく、インバータ１６４，１６８を操作する。制御装置９０は、制御量の制御に際し、電流センサ１８０によって検出されるバッテリ１７０の充放電電流Ｉや、電圧センサ１８２によって検出されるバッテリ１７０の端子電圧Ｖｂ、温度センサ１８４によって検出されるバッテリ温度Ｔｂａｔｔを参照する。また、制御装置９０は、第１速度センサ１８６によって検出される第１モータジェネレータ１６２の回転軸の回転速度（第１ＭＧ速度ωｍｇ１）や、第２速度センサ１８８によって検出される第２モータジェネレータ１６６の回転軸の回転速度（第２ＭＧ速度ωｍｇ２）を参照する。
【０１４２】
図１５に、制御装置９０による内燃機関１０の操作部や、インバータ１６４，１６８の操作に関する処理の手順を示す。図１５に示す処理は、ＲＯＭ９４に記憶された制御プログラム９４ｂをＣＰＵ９２がたとえば所定周期で繰り返し実行することにより実現される。なお、図１５において、図１２に示した処理に対応する処理については、便宜上同一のステップ番号を付与している。
【０１４３】
図１５に示す一連の処理において、ＣＰＵ９２は、まず状態ｓを取得する（Ｓ４２ａ）。ここでは、Ｓ４２の処理において取得した変数の値に加えて、バッテリ１７０の充電率ＳＯＣや、バッテリ温度Ｔｂａｔｔ、第１ＭＧ速度ωｍｇ１、第２ＭＧ速度ωｍｇ２を取得する。なお、充電率ＳＯＣは、ＣＰＵ９２により、充放電電流Ｉが小さい時の端子電圧Ｖｂに応じて、開放端電圧と充電率ＳＯＣとの関係に基づき算出され、また、都度の充放電電流Ｉに応じて更新される。
【０１４４】
次にＣＰＵ９２は、平均値μ（ｉ）および分散σ（ｉ）を定めるための関数近似器の入力変数ｘに、Ｓ４２ａによって取得した値を代入する（Ｓ１４０ａ）。ここで、入力変数ｘ（１）〜ｘ（１０）については、Ｓ１４０の処理において代入したものと同様である。これに対し、ＣＰＵ９２は、入力変数ｘ（１１）に、充電率ＳＯＣを代入し、入力変数ｘ（１２）に、バッテリ温度Ｔｂａｔｔを代入し、入力変数ｘ（１３）に、第１ＭＧ速度ωｍｇ１を代入し、入力変数ｘ（１４）に、第２ＭＧ速度ωｍｇ２を代入する。
【０１４５】
そして、ＣＰＵ９２は、関数近似器に入力変数ｘ（１）〜ｘ（１４）を代入することによって、平均値μ（１）〜μ（１１）および分散σ（１）〜σ（１１）を算出する（Ｓ１４２ａ）。ここで、平均値μ（１０）は、第１モータジェネレータ１６２のトルクである第１ＭＧトルクＴｍｇ１の平均値であり、平均値μ（１１）は、第２モータジェネレータ１６６のトルクである第２ＭＧトルクＴｍｇ２の平均値である。本実施形態にかかる関数近似器は、入力変数ｘの次元数がＳ１４２の処理において用いたものとは異なることを除いて、Ｓ１４２の処理で用いたものと同様である。
【０１４６】
次にＣＰＵ９２は、方策πに基づき、内燃機関１０の操作部の９個の操作量と、第１ＭＧトルクＴｍｇ１、第２ＭＧトルクＴｍｇ２からなる行動ａ＊を決定する（Ｓ１４４ａ）。そして、ＣＰＵ９２は、行動ａ＊に基づき、内燃機関１０の操作部や、インバータ１６４，１６８を操作する（Ｓ１４６）。ここで、ＣＰＵ９２は、第１モータジェネレータ１６２のトルクが第１ＭＧトルクＴｍｇ１となるようにインバータ１６４を操作し、第２モータジェネレータ１６６のトルクが第２ＭＧトルクＴｍｇ２となるようにインバータ１６８を操作する。なお、ＣＰＵ９２は、Ｓ１４６の処理が完了する場合、図１５に示す一連の処理を一旦終了する。
【０１４７】
ＣＰＵ９２は、Ｓ１３の処理と同様の処理によって、パラメータθを更新する。ただし、ＣＰＵ９２は、報酬ｒの算出処理として、Ｓ５０ａの処理に代えて、図１６に示す処理を実行する。
【０１４８】
図１６に、本実施形態にかかる報酬ｒの算出処理の詳細を示す。なお、図１６において、図１１に示した処理に対応する処理については、便宜上、同一のステップ番号を付している。
【０１４９】
図１６に示す一連の処理において、ＣＰＵ９２は、まず、報酬ｒの算出に用いる変数の値を取得する（Ｓ６０ｂ）。ここで、ＣＰＵ９２は、Ｓ６０ａの処理によって取得した変数の値のうち機関トルク要求値Ｔｒｑｅｇ＊（機関出力要求値Ｐｅｇ＊）以外のものに加えて、さらに、車両ＶＣ１の出力要求値Ｐｔｏｔ＊（駆動トルク要求値Ｔｒｑ＊）や、出力Ｐｔｏｔ（駆動トルクＴｒｑ）、充電率ＳＯＣ、バッテリ温度Ｔｂａｔｔを取得する。ここで、出力Ｐｔｏｔは、内燃機関１０の出力と、第１モータジェネレータ１６２の出力と、第２モータジェネレータ１６６の出力との和である。ただし、遊星歯車機構１６０の性質から、それら３つの出力がいずれもゼロではない場合には、それら３つの出力には、互いに異なる符号を有するものが含まれる。また、たとえば、第１モータジェネレータ１６２の出力は、第１ＭＧトルクＴｍｇ１に第１ＭＧ速度ωｍｇ１を乗算することによって算出できる。一方、駆動トルクＴｒｑは、機関トルクＴｒｑｅｇや、第１ＭＧトルクＴｍｇ１、第２ＭＧトルクＴｍｇ２を、それぞれ駆動輪８８のトルクに換算することによって算出できる。
【０１５０】
そしてＣＰＵ９２は、Ｓ６２ａ，Ｓ６４〜Ｓ７６の処理を実行し、その後、車両ＶＣ１の出力Ｐｔｏｔと出力要求値Ｐｔｏｔ＊との差の絶対値が所定量ΔＰｔｏｔ以下であるか否かを判定する（Ｓ７８ａ）。なお、Ｓ６０ｂの処理において、駆動トルクＴｒｑおよび駆動トルク要求値Ｔｒｑ＊を取得する場合には、Ｓ７８ａの処理として、駆動トルクＴｒｑと駆動トルク要求値Ｔｒｑ＊との差の絶対値が所定量ΔＴｒｑ以下であるか否かを判定すればよい。
【０１５１】
ＣＰＵ９２は、Ｓ７８ａの処理において肯定判定する場合、Ｓ８０の処理に移行する一方、Ｓ７８ａの処理において否定判定する場合、Ｓ８２の処理に移行する。
ＣＰＵ９２は、Ｓ８０，Ｓ８２の処理が完了する場合、充電率ＳＯＣが下限値ＳＯＣＬ以上であって且つ上限値ＳＯＣＨ以下であるか否かを判定する（Ｓ１７０）。そして、ＣＰＵ９２は、充電率ＳＯＣが下限値ＳＯＣＬ未満であるか、上限値ＳＯＣＨを上回るかする場合（Ｓ１７２：ＮＯ）、マイナスの報酬を与えるべく、報酬ｒから所定量Δを減算する（Ｓ１７２）。ここで、ＣＰＵ９２は、充電率ＳＯＣが下限値ＳＯＣＬを下回る量が大きい場合に小さい場合よりも所定量Δを大きい値とする。また、ＣＰＵ９２は、充電率ＳＯＣが上限値ＳＯＣＨを上回る量が大きい場合に小さい場合よりも所定量Δを大きい値とする。
【０１５２】
ＣＰＵ９２は、Ｓ１７０の処理において肯定判定する場合や、Ｓ１７２の処理を完了する場合には、バッテリ温度Ｔｂａｔｔが上限温度ＴｂａｔｔＨ以下であるか否かを判定する（Ｓ１７４）。そしてＣＰＵ９２は、上限値ＴｂａｔｔＨを超えると判定する場合（Ｓ１７４：ＮＯ）、報酬ｒに「−１０」を加える（Ｓ１７６）。
【０１５３】
なお、ＣＰＵ９２は、Ｓ１７４の処理が完了する場合や、Ｓ１７６の処理が完了する場合には、図１６に示す一連の処理を一旦終了する。
＜第５の実施形態＞
以下、第５の実施形態について、第４の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１５４】
本実施形態では、パラメータθの更新を、車両ＶＣ１の外で実行する。
図１７に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図１７において、図１４に示した部材に対応する部材については、便宜上、同一の符号を付している。
【０１５５】
図１７に示す車両ＶＣ１内の制御装置９０におけるＲＯＭ９４は、制御プログラム９４ｂを記憶しているものの、学習プログラム９４ａを記憶していない。また、記憶装置９６は、関係規定データ９６ａを記憶しているものの、ＰＭ量出力写像データ９６ｃや、トルク出力写像データ９６ｄについては記憶していない。また、制御装置９０は、通信機９７を備えている。通信機９７は車両ＶＣ１の外部のネットワーク１９０を介してデータ解析センター２００と通信するための機器である。
【０１５６】
データ解析センター２００は、複数の車両ＶＣ１，ＶＣ２，…から送信されるデータを解析する。データ解析センター２００は、ＣＰＵ２０２、ＲＯＭ２０４、記憶装置２０６、周辺回路２０８および通信機２０７を備えており、それらがローカルネットワーク２０９によって通信可能とされるものである。ＲＯＭ２０４には、学習プログラム９４ａが記憶されており、記憶装置２０６には、ＰＭ量出力写像データ９６ｃや、トルク出力写像データ９６ｄが記憶されている。
【０１５７】
図１８に、本実施形態にかかる強化学習の処理手順を示す。図１８（ａ）に示す処理は、図１７に示すＲＯＭ９４に記憶された制御プログラム９４ｂをＣＰＵ９２が実行することにより実現される。また、図１８（ｂ）に示す処理は、ＲＯＭ２０４に記憶されている学習プログラム９４ａをＣＰＵ２０２が実行することにより実現される。なお、図１８において図１３および図１５に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、強化学習の時系列に沿って、図１８に示す処理を説明する。
【０１５８】
図１８（ａ）に示す一連の処理において、ＣＰＵ９２は、まず、状態を取得する（Ｓ４２ｂ）。ここで、本実施形態では、Ｓ４２ａの処理によって取得した変数の値と同様の変数の値を取得するものの、回転速度ＮＥおよび充填効率ηについては、時系列データを取得する。すなわち、回転速度ＮＥの時系列データとして、「ＮＥ（１），ＮＥ（２），…，ＮＥ（６）」の６個のサンプリング値からなる時系列データを取得し、充填効率ηの時系列データとして、「η（１），η（２），…，η（６）」の６個のサンプリング値からなる時系列データを取得する。
【０１５９】
次に、ＣＰＵ９２は、Ｓ４２ｂの処理によって取得した変数の値を、関数近似器の入力変数ｘに代入する（Ｓ１４０ｂ）。すなわち、ＣＰＵ９２は、「ｍ＝１〜６」として、入力変数ｘ（ｍ）に、回転速度ＮＥ（ｍ）を代入し、入力変数（６＋ｍ）に、充填効率η（ｍ）を代入する。また、ＣＰＵ９２は、入力変数ｘ（１３）に過給圧Ｐａを代入し、入力変数ｘ（１４）に吸気温Ｔａを代入し、入力変数ｘ（１５）に水温ＴＨＷを代入する。またＣＰＵ９２は、入力変数ｘ（１６）に油温Ｔｏｉｌを代入し、入力変数ｘ（１７）に下流側検出値Ａｆｄを代入し、入力変数ｘ（１８）に上流側検出値Ａｆｕを代入し、入力変数ｘ（１９）にアクセル操作量ＡＣＣＰを代入し、入力変数ｘ（２０）に車速ＳＰＤを代入する。また、ＣＰＵ９２は、入力変数ｘ（２１）に、充電率ＳＯＣを代入し、入力変数ｘ（２２）に、バッテリ温度Ｔｂａｔｔを代入し、入力変数ｘ（２３）に、第１ＭＧ速度ωｍｇ１を代入し、入力変数ｘ（２４）に、第２ＭＧ速度ωｍｇ２を代入する。
【０１６０】
そして、ＣＰＵ９２は、平均値μ（１）〜μ（１１）および分散σ（１）〜σ（１１）を表現する関数近似器に、Ｓ１４０ｂの処理によって取得した入力変数ｘ（１）〜ｘ（２４）を代入することによって、平均値μ（１）〜μ（１１）および分散σ（１）〜σ（１１）を算出する（Ｓ１４２ｂ）。本実施形態にかかる関数近似器は、入力変数ｘの次元数がＳ１４２ａの処理において用いたものとは異なることを除いて、Ｓ１４２の処理で用いたものと同様である。
【０１６１】
次にＣＰＵ９２は、方策πに基づき行動ａ＊を決定し（Ｓ１４４ｂ）、Ｓ１４６の処理を実行し、通信機９７を操作して、データ解析センター２００に、状態ｓ、行動ａ＊、および報酬ｒの算出に必要なデータを送信する（Ｓ１８０ａ）。ここで、報酬ｒの算出に必要なデータには、ＰＭ量Ｑｐｍを算出するための変数の値としての点火時期ａｉｇの時系列データや、要求噴射量Ｑｆの時系列データ、機関トルクＴｒｑｅｇを算出するための変数の値としての吸気位相差ＤＩＮが含まれる。また、報酬ｒの算出に必要なデータには、前後加速度Ｇｘの時系列データや、音圧ＳＰが含まれる。なお、図９に示した処理における入力変数のうちその他のものについては、状態ｓの値を用いる。
【０１６２】
これに対し、図１８（ｂ）に示すように、ＣＰＵ２０２は、送信されたデータを受信する（Ｓ１９０）。そして、ＣＰＵ２０２は、受信したデータに基づき図１６の処理によって報酬を算出し（Ｓ５０ｂ）、Ｓ１５２〜Ｓ１６６の処理を実行する。次に、ＣＰＵ２０２は、後述のＳ１９４の処理が実行されてからのＳ１６４の処理による更新回数または図１８（ｂ）の処理が最初になされてからのＳ１６４の処理による更新回数が所定回数以上であるか否かを判定する（Ｓ１９２）。そしてＣＰＵ２０２は、所定回数以上であると判定する場合（Ｓ１９２：ＹＥＳ）、通信機２０７を操作して、更新したパラメータθを送信する（Ｓ１９４）。なお、ＣＰＵ２０２は、Ｓ１５６，１６２，Ｓ１９４の処理が完了する場合や、Ｓ１９２の処理において否定判定する場合には、図１８（ｂ）の処理を一旦終了する。ちなみに、車両ＶＣ１，ＶＣ２，…等を出荷する際には、車両ＶＣ１，ＶＣ２，…内の記憶装置９６が記憶するパラメータθを、記憶装置２０６に記憶しておく。
【０１６３】
これに対し、図１８（ａ）に示すように、ＣＰＵ９２は、パラメータθの更新データがあるか否かを判定し（Ｓ１８２）、あると判定する場合（Ｓ１８２：ＹＥＳ）、パラメータθに関する更新データを受信する（Ｓ１８４）。そしてＣＰＵ９２は、受信したパラメータθによって、関係規定データ９６ａを更新する（Ｓ１８６）。なお、ＣＰＵ９２は、Ｓ１８６の処理が完了する場合や、Ｓ１８２の処理において否定判定する場合には、図１８（ａ）に示す一連の処理を一旦終了する。
【０１６４】
このように、本実施形態によれば、パラメータθの更新をデータ解析センター２００にて行うことにより、制御装置９０の演算負荷を軽減できる。
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
【０１６５】
（４）データ解析センター２００において、複数の車両ＶＣ１，ＶＣ２，…からのデータに基づきパラメータθを更新した。これにより、パラメータθの更新頻度を高めることができる。
【０１６６】
（５）方策πの入力変数ｘに、内燃機関１０の動作点を規定する変数である動作点変数としての回転速度ＮＥおよび充填効率ηについての時系列データを含めた。従来、内燃機関１０の状態と内燃機関１０の操作部の操作量との関係を適合する際、内燃機関１０の状態の次元数が多くなるほど、熟練者の工数が指数関数的に増加することに鑑み、内燃機関１０の状態は、各種状態量毎に単一のサンプリング値が用いられていた。しかし、これは適合工数に鑑みたものに過ぎず、燃料消費率や、排気特性、ドライバビリティを最適化するうえで適切な設定とは限らない。これに対し、本実施形態では、時系列データを用いることにより、操作部の操作量の設定に関し、従来の適合によっては得られない解を得ることが可能となる。
【０１６７】
＜第６の実施形態＞
以下、第６の実施形態について、第５の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１６８】
本実施形態では、パラメータθの更新を、車両ＶＣ１の外部で実行することに加えて、行動ａ＊を車両ＶＣ１の外部で求める。
図１９に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図１９において、図１７に示した部材に対応する部材については、便宜上、同一の符号を付している。
【０１６９】
図１９に示すように、車両ＶＣ１において、ＲＯＭ９４には、制御サブプログラム９４ｃが記憶されている。また、記憶装置９６には、関係規定データ９６ａは記憶されていない。一方、データ解析センター２００のＲＯＭ２０４には、学習プログラム９４ａに加えて、制御メインプログラム２０４ａが記憶されている。また、記憶装置２０６には、関係規定データ９６ａが記憶されている。
【０１７０】
図２０に、本実施形態にかかる強化学習の処理手順を示す。図２０（ａ）に示す処理は、図１９に示すＲＯＭ９４に記憶された制御サブプログラム９４ｃをＣＰＵ９２が実行することにより実現される。また、図２０（ｂ）に示す処理は、ＲＯＭ２０４に記憶されている制御メインプログラム２０４ａおよび学習プログラム９４ａをＣＰＵ２０２が実行することにより実現される。なお、図２０において図１８に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、強化学習の時系列に沿って、図２０に示す処理を説明する。
【０１７１】
図２０（ａ）に示す一連の処理において、ＣＰＵ９２は、Ｓ４２ｂの処理を完了すると、通信機９７を操作してＳ４２ｂの処理によって取得した状態ｓを送信する（Ｓ２００）。
【０１７２】
これに対し、図２０（ｂ）に示すように、ＣＰＵ２０２は、状態ｓを受信する（Ｓ２１０）。そしてＣＰＵ２０２は、Ｓ１４０ｂ，Ｓ１４２ｂ，Ｓ１４４ｂの処理を実行し、通信機２０７を操作してＳ１４４ｂの処理によって決定された行動ａ＊をＳ２１０の処理によって受信したデータの送信元に送信する（Ｓ２１２）。
【０１７３】
これに対し、図２０（ａ）に示すように、ＣＰＵ９２は、行動ａ＊を受信する（Ｓ２０２）。そして、ＣＰＵ９２は、受信した行動ａ＊に基づきＳ１４６の処理を実行する。そして、ＣＰＵ９２は、通信機９７を操作して報酬ｒの算出に必要なデータを送信する（Ｓ１８０ｂ）。なお、ＣＰＵ９２は、Ｓ１８０ｂの処理を完了する場合、図２０（ａ）に示す一連の処理を一旦終了する。
【０１７４】
これに対し、図２０（ｂ）に示すように、ＣＰＵ２０２は、送信されたデータを受信し（Ｓ２１４）、Ｓ５０ｂ，Ｓ１５２〜Ｓ１６６の処理を実行し、図２０（ｂ）に示す一連の処理を一旦終了する。
【０１７５】
このように、本実施形態によれば、行動ａ＊を決定する処理をデータ解析センター２００において実行することにより、車両ＶＣ１側の演算負荷を軽減できる。
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。
【０１７６】
［１］実行装置と記憶装置とは、図１、図８および図１４の場合、それぞれ、ＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。また、実行装置と記憶装置とは、図３の場合、それぞれ、ＣＰＵ１５２およびＲＯＭ１５４と記憶装置１５６とに対応する。また、実行装置と記憶装置とは、図１７および図１９の場合、それぞれ、ＣＰＵ９２，２０２およびＲＯＭ９４，２０４と記憶装置９６，２０６とに対応する。更新写像は、図１の学習プログラム９４ａや図３の学習プログラム１５４ａによって規定されるＳ５２，Ｓ５４の処理で用いられる写像、またはＳ１３２〜Ｓ１３６の処理で用いられる写像に対応する。また、更新写像は、図８や図１４の学習プログラム９４ａによって規定されるＳ５２，Ｓ５４の処理で用いられる写像や、Ｓ１３２〜Ｓ１３６の処理で用いられる写像、Ｓ１６４の処理で用いられる写像に対応する。また、更新写像は、図１７や図１９の学習プログラム９４ａによって規定されるＳ１６４の処理に用いられる写像に対応する。操作処理は、Ｓ４６の処理や、Ｓ１１６の処理、Ｓ１４６の処理に対応する。取得処理は、Ｓ４２，Ｓ６０の処理や、Ｓ１１２の処理、Ｓ４２，Ｓ６０ａの処理、Ｓ４２ａ，Ｓ６０ｂの処理、Ｓ４２ｂ，Ｓ６０ｂの処理に対応する。報酬算出処理は、Ｓ５０の処理や、Ｓ１２０〜Ｓ１２６の処理、Ｓ５０ａの処理、図１６の処理に対応する。更新処理は、Ｓ５２，Ｓ５４の処理や、Ｓ１２８〜Ｓ１３６の処理、Ｓ１６４の処理に対応する。
【０１７７】
［２］Ｓ６２〜Ｓ６６の処理や、Ｓ６２ａ，Ｓ６４，Ｓ６６の処理に対応する。
［３］Ｓ７２〜Ｓ７６の処理に対応する。
［４］図６の処理に対応し、特に、実行装置と記憶装置とは、それぞれ、ＣＰＵ１５２およびＲＯＭ１５４と記憶装置１５６とに対応する。なお、制御用写像データは、マップデータ９６ｂに対応する。
【０１７８】
［５］実行装置と記憶装置とは、それぞれ、ＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。
［６］取得処理は、Ｓ６０ａの処理に対応し、報酬算出処理は、Ｓ７８〜Ｓ８２の処理に対応する。
【０１７９】
［７］関係規定データは、図１および図８の関係規定データ９６ａに対応する。変速装置の状態は、入力回転速度ωｉｎ、出力回転速度ωｏｕｔ、油圧Ｐｏｉｌａ、油圧Ｐｏｉｌｂに対応する。操作量は、ソレノイド電流指令値ｉａ＊，ｉｂ＊に対応する。
【０１８０】
［８］蓄電装置は、バッテリ１７０に対応し、蓄電装置の状態は、バッテリ温度Ｔｂａｔｔおよび充電率ＳＯＣに対応する。
［９］取得処理は、Ｓ６０ｂの処理に対応する。報酬算出処理は、Ｓ７８ａ，Ｓ８０，Ｓ８２の処理に対応する。
【０１８１】
［１０］選択処理は、Ｓ４４の処理に対応する。
［１１］関数近似器は、平均値μ（ｉ）や分散σ（ｉ）を出力する関数近似器に対応する。
【０１８２】
［１２］第１実行装置は、ＣＰＵ９２およびＲＯＭ９４に対応し、第２実行装置は、ＣＰＵ２０２およびＲＯＭ２０４に対応する。
［１３］車両側送信処理は、Ｓ２００の処理に対応し、車両側受信処理は、Ｓ２０２の処理に対応する。外部側受信処理は、Ｓ２１０の処理に対応し、操作量算出処理は、図２０のＳ１４０ｂ，１４２ｂ，Ｓ１４４ｂの処理に対応し、外部側送信処理は、Ｓ２１２の処理に対応する。
【０１８３】
［１４］車両用制御装置は、図１７および図１９の制御装置９０に対応する。
［１５］車両用学習装置は、データ解析センター２００に対応する。
［１６］実行装置と記憶装置とは、それぞれ、図１および図８におけるＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。操作処理は、Ｓ１１６の処理に対応する。取得処理は、Ｓ１１２の処理に対応し、報酬算出処理は、Ｓ１２０〜Ｓ１２６の処理に対応する。更新処理は、Ｓ１２８〜Ｓ１３６の処理に対応する。
【０１８４】
［１７］実行装置と記憶装置とは、図１４の場合、それぞれ、ＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。また、実行装置と記憶装置とは、図１７および図１９の場合、それぞれ、ＣＰＵ９２，２０２およびＲＯＭ９４，２０４と記憶装置９６，２０６とに対応する。操作処理は、Ｓ１４６の処理に対応する。取得処理は、Ｓ４２ａの処理や、Ｓ４２ｂの処理に対応する。報酬算出処理は、図１６の処理に対応する。
【０１８５】
［１８］Ｓ６８，Ｓ７０の処理に対応する。
［１９］Ｓ１７０，Ｓ１７２の処理に対応する。蓄電装置は、バッテリ１７０に対応する。
【０１８６】
［２０］Ｓ１７４，Ｓ１７６の処理に対応する。蓄電装置は、バッテリ１７０に対応する。
［２１］実行装置と記憶装置とは、それぞれ、図８のＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。取得処理は、図１０のＳ４２の処理に対応する。選択処理は、図１０のＳ４４の処理に対応する。すなわち、Ｓ４４の処理においては、毎回必ずグリーディー行動が選択されるわけではないが、探索を行わない場合にはグリーディー行動を選択している。操作処理は、図１０のＳ４６の処理に対応する。
【０１８７】
［２２］実行装置と記憶装置とは、それぞれ、図１および図８のＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。取得処理は、Ｓ１１２の処理に対応する。選択処理は、Ｓ１１４の処理に対応する。すなわち、Ｓ１１４の処理においては、毎回必ずグリーディー行動が選択されるわけではないが、探索を行わない場合にはグリーディー行動を選択する。操作処理は、Ｓ１１６の処理に対応する。
【０１８８】
［２３，２４］実行装置と記憶装置とは、それぞれ、図１７のＣＰＵ９２およびＲＯＭ９４と記憶装置９６とに対応する。取得処理は、Ｓ４２ｂの処理に対応する。操作処理は、Ｓ１４６の処理に対応する。所定の状態は、回転速度ＮＥおよび充填効率ηに対応する。
【０１８９】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【０１９０】
・「関係規定データについて」
１．行動価値関数Ｑについて
上記実施形態では、行動価値関数Ｑを、テーブル形式の関数としたが、これに限らない。たとえば、関数近似器を用いてもよい。
【０１９１】
２．操作量を指示する方策について
上記実施形態では、方策勾配法等によって更新される方策として、多変量ガウス分布を用い、その共分散行列を、行動の次元毎に分散が独立に設定可能な対角行列としたが、これに限らない。たとえば、行動の各次元の分散を共通の値としてもよい。またたとえば、共分散行列が対角行列であることも必須ではない。また、共分散行列の成分を定める関数近似器を線形写像と線形写像の出力を入力とする関数ｆとによって構成することも必須ではない。たとえばニューラルネットワークによって構成してもよい。さらに、多変量ガウス分布の平均を定める関数近似器を、ニューラルネットワークとすることも必須ではない。たとえば、入力変数を入力とする複数の基底関数の線形結合であってもよい。なお、平均値μ（ｉ）や分散σ（ｉ）等の関数近似器の初期値の設定手法としては、内燃機関１０と同一排気量且つ同一の操作部を備えた適合済みの内燃機関の制御を利用するものに限らない。
【０１９２】
３．状態について
たとえば、触媒３８にＰＭを捕集するフィルタを備え、そのフィルタに堆積されたＰＭ量（ＰＭ堆積量）を状態に含めてもよい。これにより、ＰＭ堆積量が多くなる場合にフィルタの再生処理を実行する行動に対して高い報酬を付与することにより、ＰＭ堆積量が過度に多くならない制御を強化学習によって学習することが容易となる。なお、ＰＭ堆積量は、たとえば内燃機関１０の運転状態等に基づき推定すればよい。
【０１９３】
またたとえば、触媒３８の硫黄被毒量を状態に含めてもよい。これにより、硫黄被毒量が多くなる場合に触媒３８の再生処理を実行する行動に対して高い報酬を付与することにより、硫黄被毒量が過度に多くならない制御を強化学習によって学習することが容易となる。なお、硫黄被毒量は、たとえば要求噴射量Ｑｆ等に基づき推定すればよい。
【０１９４】
操作部の操作量をフィードバック制御する場合、同フィードバック制御における制御量を状態に加えてもよい。すなわち、たとえば上記実施形態では、スロットル開口度指令値Ｔｏｒ＊が行動に含まれているが、スロットル開口度Ｔｏｒがスロットル開口度指令値Ｔｏｒ＊にフィードバック制御されることから、状態としてスロットルバルブ１６の開口度（スロットルＴｏｒ）を含めてもよい。これにより、制御量の指令値への制御の仕方を強化学習による学習対象とすることができる。
【０１９５】
たとえば車両ＶＣ１が自動操舵を行うものである場合、状態に、車両の推力生成装置に対する出力を示す変数である出力変数として、機関トルク要求値Ｔｒｑｅｇ＊や機関出力要求値Ｐｅｇ＊、出力要求値Ｐｔｏｔ＊、駆動トルク要求値Ｔｒｑ＊を含めることが望ましい。もっとも、上記実施形態において、出力変数として、アクセル操作量ＡＣＣＰに代えて、機関トルク要求値Ｔｒｑｅｇ＊や機関出力要求値Ｐｅｇ＊、出力要求値Ｐｔｏｔ＊、駆動トルク要求値Ｔｒｑ＊を状態に含めてもよい。
【０１９６】
３−１．時系列データで表現される状態について
図１８および図２０の処理では、回転速度ＮＥおよび充填効率ηについて、時系列的に前後する６個のデータを状態に含めたが、時系列データを構成するサンプリング数としては、６個に限らず、２個以上であればよく、また３個以上であってもよい。この際、時系列データを構成する回転速度ＮＥのサンプリング数と時系列データを構成する充填効率ηのサンプリング数とが等しいことも必須ではない。
【０１９７】
図１８および図２０の処理では、回転速度ＮＥの時系列データと、充填効率ηの時系列データとを用いたが、それら２つの時系列データに関しては、それらの１つのみの時系列データを用いてもよい。
【０１９８】
強化学習における状態とする時系列データとしては、内燃機関１０の動作点を示す変数である動作点変数に限らない。たとえばアクセル操作量ＡＣＣＰ等であってもよく、またたとえば吸気位相差ＤＩＮ等であってもよく、またたとえば第１ＭＧ速度ωｍｇ１や第２ＭＧ速度ωｍｇ２等であってもよい。なお、時系列データとしては、関数近似器によって表現された方策πの入力とするものに限らず、たとえば関数近似器によって表現された行動価値関数Ｑの入力としてもよい。
【０１９９】
４．行動について
行動としては、上記実施形態において例示したものに限らない。たとえば、噴射時期や、１燃焼サイクルにおける噴射回数、１燃焼サイクルの点火回数を行動としての操作量としてもよい。また、たとえば、キャニスタ６６に捕集されている燃料蒸気を吸気通路１２に流出させるタイミングであってもよい。またたとえば、内燃機関１０がタンブルコントロールバルブを備えている場合には、その操作量を行動としてもよい。またたとえば、内燃機関１０がスワールコントロールバルブを備えている場合には、その操作量を行動としてもよい。また、たとえば制御装置９０が内燃機関１０のアイドリングストップ制御を実行する場合、アイドリングストップのタイミングを行動としてもよい。また、内燃機関１０の吸気通路１２に過給機１４を迂回する通路と、その通路の流路断面積を調整するエアバイパスバルブとを備える場合、エアバイパスバルブの開口度を操作量としてもよい。また、内燃機関１０が、吸気通路を変更する構造を有する場合、その操作量を行動としてもよい。また、内燃機関１０が各気筒に一対の吸気バルブ２０を備え、そのうちの一方を選択的に閉弁状態に保つことができる場合には、選択的に閉弁状態とするか否かを行動としてもよい。その場合、操作部は、吸気バルブ２０となる。また、たとえば制御装置９０が特定の気筒における混合気の燃焼制御を停止する制御を実行する場合、その制御の実行の有無を行動としてもよい。その場合、対応する操作部は、ポート噴射弁１８や、筒内噴射弁２８、点火装置３０となる。また、内燃機関１０が圧縮比を可変とするものである場合、圧縮比の操作を行動としてもよい。また、内燃機関の冷却水の循環経路の流路断面積を調整する流量制御弁の開口度を行動としてもよい。
【０２００】
なお、行動が多次元であることは必須ではない。たとえば、既存の内燃機関に所定の操作部を新たに追加する場合、その操作部の操作量と状態との関係のみ、強化学習によって学習してもよい。この場合、状態に他の操作部の操作量を含めてもよい。
【０２０１】
また、変速装置８０の油圧を行動としての操作量としてもよい。また、変速装置８０の制御量（変速比）を行動としてもよい。
なお、行動としては、内燃機関１０の操作部の操作量や、変速装置８０の操作量や制御量、第１モータジェネレータ１６２や第２モータジェネレータ１６６の制御量に限らない。たとえば、トルクコンバータ７０のロックアップクラッチ７２の締結の有無であってもよい。またたとえば、スロットル開口度Ｔｏｒをスロットル開口度指令値Ｔｏｒ＊にフィードバック制御するゲインを加えてもよい。
【０２０２】
・「更新写像について」
１．行動価値関数Ｑの更新について
１−１．内燃機関１０の操作量を行動とする行動価値関数Ｑの更新について
Ｓ５２，Ｓ５４の処理においては、方策オフ型ＴＤ法を例示したが、これに限らない。たとえばＳＡＲＳＡ法のように方策オン型ＴＤ法としてもよい。また、方策オン型の学習として適格度トレース法を用いてもよい。
【０２０３】
もっとも、これに限らず、たとえばモンテカルロ法によるものとしてもよい。
１−２．変速装置８０の操作量を行動とする行動価値関数Ｑの更新について
図７においては、変速装置８０に関する行動価値関数Ｑの更新写像として、εソフト方策オン型モンテカルロ法によるものを例示したが、これに限らない。たとえば、方策オフ型モンテカルロ法によるものであってもよい。もっとも、モンテカルロ法にも限らず、たとえばＳ５２，Ｓ５４の処理のように方策オフ型ＴＤ法を用いたり、またたとえばＳＡＲＳＡ法のように方策オン型ＴＤ法を用いたり、またたとえば、方策オン型の学習として適格度トレース法を用いたりしてもよい。
【０２０４】
１−３．そのほか
行動価値関数Ｑとして、内燃機関１０の操作量を行動とするものと変速装置８０の操作量を行動とするものとを各別の価値関数とすることは必須ではない。また、内燃機関１０の操作量を行動とするものや、変速装置８０の操作量を行動とするものに限らず、たとえば第１モータジェネレータ１６２や第２モータジェネレータ１６６の制御量を行動とするものであってもよい。また、たとえば、内燃機関１０の操作量、第１モータジェネレータ１６２および第２モータジェネレータ１６６の制御量を行動とするそれらに共通の行動価値関数Ｑを用いてもよい。またたとえば、内燃機関１０の操作量および変速装置８０の制御量を行動とするそれらに共通の行動価値関数Ｑを用いてもよい。またたとえば、内燃機関１０の操作量、ならびに変速装置８０の操作量および制御量を行動とするそれらに共通の行動価値関数Ｑを用いてもよい。
【０２０５】
なお、「関係規定データについて」の「１．行動価値関数について」の欄に記載したように、行動価値関数Ｑの関数近似器を用いる場合には、更新写像は、たとえば、行動価値関数Ｑを規定するパラメータによる行動価値関数Ｑの偏微分に基づき同パラメータの更新量を出力する写像を含めて構成すればよい。
【０２０６】
２．方策を規定する関数近似器のパラメータの更新について
Ｓ１６４の処理においては、収益Ｒｉを、時間Ｔの間の単純平均としたが、これに限らない。たとえば、所定の割引率γによって過去の報酬ｒほど大きく割引された値を用いた和としてもよい。これは、指数移動平均処理に相当する。
【０２０７】
Ｓ１６４の処理において、収益Ｒｉに代えて、収益Ｒｉから、パラメータθに依存しない適宜のベースライン関数を引いたものとしてもよい。具体的には、ベースライン関数は、たとえば、期待収益Ｊのパラメータによる偏微分の分散を最小化する関数とすることが望ましい。
【０２０８】
関数近似器によって近似される方策によって指定される行動としては、内燃機関１０の操作量や、第１モータジェネレータ１６２および第２モータジェネレータ１６６の制御量に限らない。たとえば変速装置８０の操作量や制御量であってもよい。具体的には、変速装置８０の操作量のみを指定する方策であってもよく、またたとえば、内燃機関１０の操作量および変速装置８０の操作量を指定する方策であってもよく、またたとえば、内燃機関１０の操作量、変速装置８０の操作量および制御量を指定する方策であってもよい。またたとえば、下記「車両について」の欄に記載したパラレルハイブリッド車が変速装置を備える場合、モータジェネレータの制御量と変速装置の操作量とを指定する方策や、モータジェネレータの制御量と変速装置の制御量とを指定する方策、モータジェネレータの制御量と変速装置の操作量および制御量を指定する方策であってもよい。またたとえば、内燃機関の操作部の操作量とモータジェネレータの制御量と変速装置の操作量とを指定する方策や、内燃機関の操作部の操作量とモータジェネレータの制御量と変速装置の制御量とを指定する方策、内燃機関の操作部の操作量とモータジェネレータの制御量と変速装置の操作量および制御量を指定する方策であってもよい。
【０２０９】
３．そのほか
図４、図７および図１０においては、行動価値関数Ｑを用いる場合、方策πについては、行動価値関数Ｑの更新の結果として更新される例を示したが、これに限らない。たとえば、アクター・クリティック法のように、行動価値関数Ｑおよび方策πをそれぞれ更新してもよい。また、アクター・クリティック法においては、これに限らず、たとえば行動価値関数Ｑに代えて価値関数Ｖを更新対象としてもよい。
【０２１０】
なお、学習率αは、固定値に限らず、学習の進行度合いに応じてあらかじめ定められた規則に応じて変更してもよい。また、方策πを定める「ε」についても、固定値に限らず、学習の進行度合いに応じてあらかじめ定められた規則に応じて変更してもよい。
【０２１１】
・「報酬算出処理について」
１．燃料消費率に関する報酬について
上記実施形態では、積算値ＩｎＱｆを入力とし、その大小に応じて報酬を算出したが、これに限らない。たとえば、排気通路３６への二酸化炭素の排出量が小さい場合に大きい場合よりも大きい報酬を与えてもよい。またたとえば、積算値ＩｎＱｆや二酸化炭素の排出量が同一であっても、吸入空気量Ｇａが大きい場合には小さい場合よりも大きい報酬を与えるようにしてもよい。
【０２１２】
２．排気特性に関する報酬について
２−１．出荷前の学習について
Ｓ６２〜Ｓ６６の処理においては、上記条件（ア）〜条件（カ）の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件（ア）〜条件（カ）のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
【０２１３】
Ｓ６２〜Ｓ６６の処理において、条件（ア）〜条件（カ）を全て用いることも必須ではない。たとえば、条件（ア）〜条件（カ）の６個の条件に関しては、それらのうちの１個から５個のみに基づき報酬を与えてもよい。
【０２１４】
２−２．出荷後の学習について
Ｓ６２ａ，Ｓ６４，Ｓ６６の処理においては、条件（イ）および条件（オ）の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件（イ）および条件（オ）のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
【０２１５】
Ｓ６２ａ，Ｓ６４，Ｓ６６の処理において、条件（イ）および条件（オ）の双方を用いることも必須ではない。
また、条件（イ）および条件（オ）の２つのうちの少なくとも１つのみを用いることも必須ではない。たとえば、上記条件（ア）、条件（ウ）、条件（エ）、および条件（カ）の４つの条件のうちのいくつかに基づき報酬を算出してもよい。ここで、条件（ウ）や条件（エ）に基づき報酬を算出する場合、車両ＶＣ１に専用のセンサを備えるか、または、ＮＯｘ量Ｑｎｏｘや、未燃燃料量Ｑｃｈを出力する写像を搭載すればよい。なお、写像については、たとえば、ＰＭ量出力写像データ９６ｃの要領で出荷前の学習時に学習して生成すればよい。
【０２１６】
２−３．そのほか
排気特性に関する報酬としては、上記のものに限らない。たとえば、排気温Ｔｅｘを報酬に含めてもよい。この場合、たとえば、「関係規定データについて」の「３．状態について」の欄に記載したように、状態にＰＭ堆積量や硫黄被毒量を含める場合、それらの量が多いときに、排気温が触媒３８の再生が可能な温度である場合に、大きい報酬を与えればよい。
【０２１７】
また、たとえば、触媒３８の温度が所定範囲内にある場合に、所定範囲から外れる場合よりも大きい報酬を与えてもよい。ここで、所定範囲は、たとえば、排気の浄化率が高くなる温度範囲とすればよい。もっとも、「関係規定データについて」の「３．状態について」の欄に記載したように、状態にＰＭ堆積量や硫黄被毒量を含める場合、それらの量が多いときに、排気温が触媒３８の再生が可能な温度である場合に、大きい報酬を与えてもよい。
【０２１８】
また、たとえば強化学習によらずに回転速度ＮＥおよび充填効率η等を入力変数としＥＧＲ開口度指令値Ｅｇｒｖｏｒを出力変数とするマップデータを適合する場合、ＥＧＲ開口度指令値Ｅｇｒｖｏｒの設定において想定した過給圧と過給圧Ｐａとの差の絶対値が所定値以下の場合に、所定値を超える場合よりも大きい報酬を与えてもよい。これは、過給圧Ｐａが想定した値からずれる場合、ＥＧＲ量の制御が想定からずれることに鑑みたものである。また、過給圧に代えて、過給機１４の実際のタービン回転速度とＥＧＲ開口度指令値Ｅｇｒｖｏｒの設定において想定したタービン回転速度との差を用いてもよい。
【０２１９】
３．ドライバビリティに関する報酬について
Ｓ７２〜Ｓ７６の処理においては、上記条件（サ）〜条件（ス）の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件（サ）〜条件（ス）のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
【０２２０】
Ｓ７２〜Ｓ７６の処理において、条件（サ）〜条件（ス）を全て用いることも必須ではない。たとえば、条件（サ）〜条件（ス）の３個の条件に関しては、それらのうちの１個または２個のみに基づき報酬を与えてもよい。
【０２２１】
ドライバビリティに関する報酬としては、上記に限らない。たとえば、クランク軸３２や、出力軸８４等の駆動系の各種回転軸の回転変動量の大きさが所定値以下である場合に所定値を超える場合よりも大きい報酬を与えてもよい。
【０２２２】
ここで回転変動量は、車両の振動が所定範囲にある場合にない場合よりも大きい報酬を与える処理ともなりうる。すなわち、ドライバビリティに関する報酬を与える処理は、次の３つの少なくとも１つであってよい。すなわち、加速度や加速度の変化速度等の車両の挙動が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理と、騒音が所定範囲内にある場合にない場合よりも大きい報酬を与える処理と、車両の振動が所定範囲内にある場合にない場合よりも大きい報酬を与える処理との３つである。
【０２２３】
４．内燃機関全般
水温ＴＨＷが所定温度範囲内である場合に、所定温度範囲から外れる場合よりも大きい報酬を与えてもよい。また、油温Ｔｏｉｌが所定温度範囲内である場合に、所定温度範囲から外れる場合よりも大きい報酬を与えてもよい。
【０２２４】
燃料消費率に関する報酬、排気特性に関する報酬、ドライバビリティに関する報酬、および機関トルク要求値Ｔｒｑｅｇ＊（機関出力要求値Ｐｅｇ＊）に関する報酬を全て与えるものに限らない。たとえばそれら４つの報酬については、そのうちの１つのみを与えたり、２つのみを与えたり、３つのみを与えたりしてもよい。
【０２２５】
なお、機関トルク要求値Ｔｒｑｅｇ＊（機関出力要求値Ｐｅｇ＊）に関する報酬を与えない場合には、たとえばアクセル操作量ＡＣＣＰに基づき、強化学習によらずにスロットル開口度指令値Ｔｏｒ＊を設定すればよい。
【０２２６】
ちなみに、燃料消費率に関する報酬を与える場合には、要求噴射量Ｑｆ、点火時期ａｉｇ、噴き分け率Ｋｐ、１燃焼サイクル当たりの噴射回数、吸気位相差指令値ＤＩＮ＊、ＷＧＶ開口度指令値Ｗｇｖｏｒ、ＥＧＲ開口度指令値Ｅｇｒｖｏｒのうちの少なくとも１つを行動に含めることが望ましい。
【０２２７】
また、排気特性に関する報酬を与える場合には、次に例示するもののうちの少なくとも１つを行動に含めることが望ましい。すなわち、要求噴射量Ｑｆ、点火時期ａｉｇ、噴き分け率Ｋｐ、１燃焼サイクル当たりの噴射回数、吸気位相差指令値ＤＩＮ＊、ＷＧＶ開口度指令値Ｗｇｖｏｒ、ＥＧＲ開口度指令値Ｅｇｒｖｏｒ、燃圧指令値Ｐｆ＊、パージ操作量Ｐｇ、１燃焼サイクル当たりの点火回数のうちの少なくとも１つを含めることが望ましい。もっとも、それらに限らず、上記「関係規定データについて」の「４．行動について」の欄に記載した、キャニスタ６６に捕集されている燃料蒸気を吸気通路１２に流出させるタイミングや、タンブルコントロールバルブの操作量、スワールコントロールバルブの操作量、アイドリングストップのタイミングのうちの少なくとも１つを含めてもよい。またたとえば、エアバイパスバルブの開口度や、内燃機関１０が吸気通路を変更する構造を有する場合のその操作量、内燃機関１０が各気筒に一対の吸気バルブ２０を備えて且つそのうちの一方を選択的に閉弁状態に保つことができる場合の選択的に閉弁状態とするか否かを行動に含めてもよい。またたとえば、特定の気筒における混合気の燃焼制御を停止する制御を実行する場合、その制御の実行の有無や、内燃機関１０が圧縮比を可変とするものである場合の圧縮比の操作を行動に含めてもよい。また、たとえば流量制御弁の開口度を行動に含めてもよい。
【０２２８】
また、ドライバビリティに関する報酬を与える場合には、スロットル開口度指令値Ｔｏｒ＊と、ＷＧＶ開口度指令値Ｗｇｖｏｒと、油圧Ｐｏｉｌａ，Ｐｏｉｌｂ，…との少なくとも１つを行動に含めることが望ましい。
【０２２９】
５．変速装置の操作に伴う報酬について
Ｓ１２０，Ｓ１２２の処理においては、上記条件（タ）〜条件（ツ）の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件（タ）〜条件（ツ）のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
【０２３０】
Ｓ１２０，Ｓ１２２の処理において、条件（タ）〜条件（ツ）を全て用いることも必須ではない。たとえば、条件（タ）〜条件（ツ）の３個の条件に関しては、それらのうちの１個または２個のみに基づき報酬を与えてもよい。
【０２３１】
なお、上記条件（チ）および条件（ツ）に基づく報酬については、変速がなされている期間において逐次与えるようにしてもよい。
なお、変速装置の操作に伴う報酬としては、上述のようにドライバビリティの観点に基づく報酬に限らない。たとえば、「関係規定データについて」の「４．行動について」の欄に記載したように、行動に変速装置８０の制御量を含める場合などには、燃料消費率に関する報酬を用いてもよい。
【０２３２】
６．ハイブリッド車両に関する報酬について
上記実施形態では、バッテリ温度Ｔｂａｔｔが所定範囲以内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を実行する際、所定範囲の下限値を定めなかったが、これに限らない。
【０２３３】
充電率ＳＯＣに応じた報酬とバッテリ温度Ｔｂａｔｔに応じた報酬との双方を用いるものに限らない。たとえば、それら２つの報酬に関しては、そのうちの１つのみを用いてもよい。
【０２３４】
もっとも、充電率ＳＯＣに応じた報酬とバッテリ温度Ｔｂａｔｔに応じた報酬との双方とも用いなくてもよい。たとえば、出力要求値Ｐｔｏｔ＊と出力Ｐｔｏｔとの差の絶対値が小さい場合に大きい場合よりも大きい報酬を与えたり、駆動トルク要求値Ｔｒｑ＊と駆動トルクＴｒｑとの差の絶対値が小さい場合に大きい場合よりも大きい報酬を与えたりするのみであってもよい。その場合、出力要求値Ｔｏｔ＊や駆動トルク要求値Ｔｒｑ＊を実現するうえでの、内燃機関１０と第１モータジェネレータ１６２、第２モータジェネレータ１６６との動力配分を強化学習によって学習できる。
【０２３５】
７．そのほかの報酬について
たとえば、「関係規定データについて」の「４．行動について」の欄に記載したように、ロックアップクラッチ７２の締結の有無が行動の場合、音圧が所定値以下である場合に所定値を超える場合よりも大きい報酬を与えてもよい。
【０２３６】
８．報酬の算出タイミングについて
図４や図１０の処理では、行動ａｔに基づく操作がなされてから直ちに報酬ｒｔを算出した。この場合、行動ａｔの結果が上流側検出値Ａｆｕや下流側検出値Ａｆｄに反映されるまでには時間がかかることから、定常状態において行動ａｔに基づく操作後直ちに取得される上流側検出値Ａｆｕ等を行動ａｔに伴うものであるとみなせることを利用していることとなる。しかしこのような手法に限らず、たとえば、選択された行動ａｔに基づく操作と、行動価値関数Ｑの更新とのタイミングをずらすことによって、行動ａｔに伴って報酬ｒｔの算出に用いる上流側検出値Ａｆｕ等を、行動ａｔに基づく操作のタイミングに対してずらしたタイミングでサンプリングされたものとしてもよい。
【０２３７】
もっともこれに代えて、報酬を逐次与える代わりに、モンテカルロ法を用いることによってこうした問題に対処してもよい。
・「選択処理について」
図１０のＳ４４の処理において、必ずグリーディー行動を選択することとし、Ｓ５０ａ〜Ｓ５４，Ｓ５８の処理を削除し、Ｓ４２〜Ｓ４６の処理を繰り返すようにしてもよい。なお、行動価値関数を関数近似器によって表現する場合、Ｓ４４の処理は、行動ａの各成分による偏微分等に基づき最大値を探索する処理とすればよい。もっとも、これに代えて、行動ａについては、離散的な値のみ定義し、Ｓ４２の処理によって取得された状態が入力された関数近似器に行動の候補を入力し、関数近似器の出力値が最大となる行動を選択してもよい。この場合、選択に先立って、関数近似器の出力値を予めソフトマックス関数によって規格化してもよい。
【０２３８】
・「車両用制御データの生成方法について」
図４のＳ４４の処理では、行動価値関数Ｑに基づき行動を決定する処理を例示したが、これに限らず、車両の出荷前における車両用制御データの生成工程等においては、とりうるすべての行動を等確率で選択してもよい。
【０２３９】
・「制御用写像データについて」
図２の処理では、全ての操作量の入力変数が同一であったがこれに限らない。たとえば、操作量の設定にとって相関が低い状態を削除してもよい。これは、たとえば、関数近似器を用いて強化学習を実行する際、Ｌ１正則化項を用いることなどによって、パラメータθを更新することによって、好適に実現できる。
【０２４０】
車両の状態と期待収益を最大化する内燃機関１０の操作部の操作量とを１対１に対応付けることによって車両の状態を入力とし期待収益を最大化する操作量を出力する制御用写像データとしては、マップデータ９６ｂに限らない。たとえば、図４の処理において行動価値関数Ｑを更新する代わりに、方策勾配法にて方策πのパラメータθを更新することとし、学習後の平均値μ（１），μ（２），…を定める関数近似器自体を、制御用写像データとして制御装置９０に実装してもよい。これにより、ＣＰＵ９２は、状態ｓを関数近似器への入力として平均値μ（１），μ（２），…を求め、これを各操作量として操作信号ＭＳ１，ＭＳ２，…を操作すればよい。
【０２４１】
なお、制御用写像データとしては、車両の状態を入力とし内燃機関１０の操作部の操作量を出力とする写像を規定するデータに限らず、たとえば車両の状態を入力とし変速装置８０の操作量や制御量を出力とする写像を規定するデータであってもよい。またたとえば、車両の状態を入力とし第１モータジェネレータ１６２および第２モータジェネレータ１６６の制御量を出力とする写像を規定するデータであってもよい。
【０２４２】
・「制御用写像データの生成方法について」
図４の処理において、Ｓ５６の処理において肯定判定される場合、各状態ｓとグリーディ行動ａとの組を代表点と定義して、行動価値関数の独立変数の定義域における行動を、代表点および代表点から一単位だけずれた値に再定義し、Ｓ４２〜Ｓ５６の処理を繰り返してもよい。もっとも、代表点および代表点から一単位だけずれた値を定義域とすること自体、必須ではない。
【０２４３】
図６に例示した処理では、状態ｓに応じてテーブル形式の関数としての行動価値関数Ｑの値が最大となる行動ａを選択し、状態ｓおよび行動ａの組に基づき、マップデータを生成したが、これに限らない。たとえば、関数近似器によって表現された行動価値関数Ｑを用いてもよい。もっとも、行動価値関数Ｑを用いるものにも限らない。たとえば図４の処理において行動価値関数Ｑを更新する代わりに、方策勾配法にて方策πのパラメータθを更新することとし、図６の処理においては、状態ｓに応じて定まる平均値μを行動としてもよい。
【０２４４】
・「車両用制御システムについて」
図２０に示した例では、報酬を、データ解析センター２００にて算出したが、これに限らず、制御装置９０側で算出し、データ解析センター２００に送信してもよい。
【０２４５】
図１８および図２０に示した例では、方策勾配法を用いたが、これに限らない。たとえば、テーブル形式の行動価値関数Ｑや、関数近似器によって表現された行動価値関数Ｑを用いてもよい。
【０２４６】
・「実行装置について」
実行装置としては、ＣＰＵ９２（１５２，２０２）とＲＯＭ９４（１５４，２０４）とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０２４７】
・「記憶装置について」
上記実施形態では、関係規定データ９６ａ，１５６ａが記憶される記憶装置と、学習プログラム９４ａ，１５４ａや制御プログラム９４ｂ、制御サブプログラム９４ｃ、制御メインプログラム２０４ａが記憶される記憶装置（ＲＯＭ９４，１５４，２０４）とを別の記憶装置としたが、これに限らない。また、たとえば、上記実施形態において、学習プログラム９４ａ，１５４ａに学習率αのデータを含めず、学習プログラム９４ａ，１５４ａ自体はＲＯＭ９４，１５４，２０４に記憶するものの、学習率αについては、記憶装置９６，１５６，２０６に記憶してもよい。
【０２４８】
・「内燃機関について」
内燃機関としては、ポート噴射弁１８および筒内噴射弁２８の双方を備えるものに限らず、それら２種類の燃料噴射弁のうちのいずれか１種類のみを備えるものであってもよい。内燃機関１０が過給機１４を備えていることは必須ではない。またたとえば、ＥＧＲ通路５２やＥＧＲバルブ５４を備えなくてもよい。なお、過給機１４を備えない場合、キャニスタ６６から吸気通路１２への燃料蒸気の流量を調整する調整装置として、パージポンプ６８に代えてパージバルブを用いてもよい。その場合、行動にパージバルブの開口度等を用いてもよい。
【０２４９】
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
・「ハイブリッド車両について」
ハイブリッド車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばシリーズハイブリッド車や、パラレルハイブリッド車であってもよい。
【０２５０】
・「そのほか」
回転電機の駆動回路としては、インバータに限らず、たとえば回転電機が直流回転電機である場合、Ｈブリッジ回路を用いてもよい。蓄電装置としては、バッテリ１７０に限らず、たとえば、キャパシタであってもよい。
【符号の説明】
【０２５１】
１０…内燃機関、１２…吸気通路、１４…過給機、１６…スロットルバルブ、１８…ポート噴射弁、２０…吸気バルブ、２２…シリンダ、２４…ピストン、２６…燃焼室、２８…筒内噴射弁、３０…点火装置、３２…クランク軸、３４…排気バルブ、３６…排気通路、３８…触媒、４０…タイミングチェーン、４２…吸気側カム軸、４４…排気側カム軸、４６…可変バルブタイミング装置、４８…迂回通路、５０…ＷＧＶ、５２…ＥＧＲ通路、５４…ＥＧＲバルブ、６０…燃料タンク、６２…機関駆動式ポンプ、６４…高圧燃料ポンプ、６６…キャニスタ、６７…パージ通路、６８…パージポンプ、７０…トルクコンバータ、７２…ロックアップクラッチ、７９…ローカルネットワーク、８０…変速装置、８０ａ…ソレノイドバルブ、８０ｂ…ソレノイドバルブ、８２…入力軸、８４…出力軸、８８…駆動輪、９０…制御装置、９２…ＣＰＵ、９４…ＲＯＭ，９４ａ…学習プログラム、９４ｂ…制御プログラム、９４ｃ…制御サブプログラム、９６…記憶装置、９６ａ…関係規定データ、９６ｂ…マップデータ、９６ｃ…ＰＭ量出力写像データ、９６ｄ…トルク出力写像データ、９７…通信機、９８…周辺回路、１００…エアフローメータ、１０２…吸気温センサ、１０４…過給圧センサ、１０６…スロットルセンサ、１０８…クランク角センサ、１１２…カム角センサ、１１４…水温センサ、１１６…上流側空燃比センサ、１１８…下流側空燃比センサ、１２０…入力側速度センサ、１２２…出力側速度センサ、１２４ａ，１２４ｂ…油圧センサ、１２６…油温センサ、１３０…車速センサ、１３２…アクセルセンサ、１３４…マイク、１４０…ダイナモメータ、１４２…センサ群、１５０…生成装置、１５２…ＣＰＵ、１５４…ＲＯＭ、１５４ａ…学習プログラム、１５６…記憶装置、１５６ａ…関係規定データ、１５８…周辺回路、１５９…ローカルネットワーク、１６０…遊星歯車機構、１６２…第１モータジェネレータ、１６４…インバータ、１６６…第２モータジェネレータ、１６８…インバータ、１７０…バッテリ、１８０…電流センサ、１８２…電圧センサ、１８４…温度センサ、１８６…第１速度センサ、１８８…第２速度センサ、１９０…ネットワーク、２００…データ解析センター、２０２…ＣＰＵ、２０４…ＲＯＭ、２０４ａ…制御メインプログラム、２０６…記憶装置、２０７…通信機、２０８…周辺回路、２０９…ローカルネットワーク。
【図１】
0006970156.tif 000003
【図２】
0006970156.tif 000004
【図３】
0006970156.tif 000005
【図４】
0006970156.tif 000006
【図５】
0006970156.tif 000007
【図６】
0006970156.tif 000008
【図７】
0006970156.tif 000009
【図８】
0006970156.tif 000010
【図９】
0006970156.tif 000011
【図１０】
0006970156.tif 000012
【図１１】
0006970156.tif 000013
【図１２】
0006970156.tif 000014
【図１３】
0006970156.tif 000015
【図１４】
0006970156.tif 000016
【図１５】
0006970156.tif 000017
【図１６】
0006970156.tif 000018
【図１７】
0006970156.tif 000019
【図１８】
0006970156.tif 000020
【図１９】
0006970156.tif 000021
【図２０】
0006970156.tif 000022