(57)【要約】【課題】より適切なアドバイスをドライバに与える。【解決手段】診断部１は、ドライバがある車両を運転している間の、当該ある車両の挙動とドライバの操作の少なくとも一方を示す車両情報５に基づいて、ドライバの運転について診断を下す。判定部２は、当該ある車両を含む互いに異なる１台以上の車両を、ドライバが今までに運転してきた履歴に関する履歴情報７に基づいて、当該ある車両をドライバが運転しだす前のドライバの運転経験が診断に与える影響の度合いを判定する。記憶部３は、複数のアドバイスを記憶する。各アドバイスは、診断の結果と影響の度合いの組み合わせに対応づけられている。決定部４は、診断部１により下された診断の結果と、判定部２により判定された影響の度合いとの組み合わせに対応づけられて記憶部３に記憶されているアドバイスを、ドライバに対して提示することに決定する。【選択図】図１
2014238676.tif 000002
【特許請求の範囲】
【請求項１】
ドライバがある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報に基づいて、前記ドライバの運転について診断を下す診断手段と、
前記ある車両を含む互いに異なる１台以上の車両を、前記ドライバが今までに運転してきた履歴に関する履歴情報に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定する判定手段と、
各々が、診断の結果と影響の度合いの組み合わせに対応づけられている複数のアドバイスを記憶する記憶手段と、
前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いとの組み合わせに対応づけられて前記記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する決定手段
を備えることを特徴とする運転診断装置。
【請求項２】
前記判定手段は、前記ドライバが前記ある車両に適応している度合いに影響を与える時間的要因を表す値を、前記履歴情報から抽出または計算し、前記値を用いて、前記影響の度合いを判定する
ことを特徴とする請求項１に記載の運転診断装置。
【請求項３】
前記履歴情報は、前記ある車両の仕様を示す第１の車両仕様情報と、前記１台以上の車両のうち前記ある車両とは別の車両の仕様を示す第２の車両仕様情報とを少なくとも含み、
前記判定手段は、前記第１の車両仕様情報が示す前記仕様と前記第２の車両仕様情報が示す前記仕様との差の大きさに対して前記影響の度合いの大きさが単調増加するように、前記影響の度合いを判定する
ことを特徴とする請求項１または２に記載の運転診断装置。
【請求項４】
前記履歴情報は、前記１台以上の車両の台数を示す台数情報を少なくとも含み、
前記台数情報が示す前記台数が１の場合、前記判定手段は前記影響の度合いをゼロと判定し、
前記台数情報が示す前記台数が１より大きい場合、前記判定手段は、前記台数情報が示す前記台数に対して前記影響の度合いの大きさが単調減少するように、前記影響の度合いを判定する
ことを特徴とする請求項１から３のいずれか１項に記載の運転診断装置。
【請求項５】
前記記憶手段において、前記複数のアドバイスの各々は、前記診断の結果と、前記影響の度合いと、過去の診断の結果との組み合わせに対応づけられて記憶されており、
前記履歴情報は、前記ある車両とは別の車両をかつて前記ドライバが運転したときに下された過去の診断の結果を含み、
前記決定手段は、前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いと、前記履歴情報に含まれる前記過去の診断の結果との組み合わせに対応づけられて前記記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する
ことを特徴とする請求項１から４のいずれか１項に記載の運転診断装置。
【請求項６】
ある車両に搭載される車載装置と、ネットワークを介して前記車載装置との間で情報を送受信する管理装置とを有する運転診断システムであって、
前記車載装置は、
ドライバが前記ある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報を前記ある車両から取得する取得手段と、
前記ネットワークを介して前記管理装置との間で通信を行う第１の送受信手段
を備え、
前記管理装置は、
前記ネットワークを介して前記車載装置との間で通信を行う第２の送受信手段と、
前記ある車両以外の車両をかつて前記ドライバが運転した履歴に関する第１の履歴情報を記憶する履歴記憶手段
を備え、
前記車両情報に基づいて、前記ドライバの運転について診断を下す診断手段を、前記車載装置または前記管理装置が備え、
前記第１の履歴情報と、前記ある車両を前記ドライバが今までに運転してきた履歴に関する第２の履歴情報のうち少なくとも一方に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定する判定手段を、前記車載装置または前記管理装置が備え、
各々が、診断の結果と影響の度合いの組み合わせに対応づけられている複数のアドバイスを記憶するアドバイス記憶手段を、前記車載装置または前記管理装置が備え、
前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いとの組み合わせに対応づけられて前記アドバイス記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する決定手段を、前記車載装置または前記管理装置が備える
ことを特徴とする運転診断システム。
【請求項７】
コンピュータが、
ドライバがある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報に基づいて、前記ドライバの運転について診断を下し、
前記ある車両を含む互いに異なる１台以上の車両を、前記ドライバが今までに運転してきた履歴に関する履歴情報に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定し、
各々が、診断の結果と影響の度合いの組み合わせに対応づけられて記憶装置に記憶されている複数のアドバイスのうち、下した前記診断の結果と判定した前記影響の度合いとの組み合わせに対応づけられているアドバイスを、前記ドライバに対して提示することに決定する
ことを特徴とする運転診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の運転を診断する技術に関する。
【背景技術】
【０００２】
車両の運転を支援するための様々な技術（例えば、車両の運転を診断するための技術）が研究されている。
【０００３】
例えば、車両の危険挙動を効率的に検出して運転者の操作傾向を運転者毎に解析することができるような運行管理システムが提案されている。当該運行管理システムは、センサ部とレコーダ部と挙動解析装置を有する。
【０００４】
センサ部は、車両の挙動を時系列に検出する。レコーダ部は、センサ部で検出した挙動をメモリカードに記録する。挙動解析装置は、車両の挙動を危険挙動と判定するための条件パターンを設定する。より具体的には、レコーダ部は、車両の挙動を危険挙動と認識するための条件パターンと、センサ部で実際に検出した挙動とを比較する。そして、レコーダ部は、条件パターンに適合する挙動に関わる情報のみを、危険挙動別にメモリカードに記録し、記録した情報を挙動解析装置で統計的に解析できるようにする。
【０００５】
また、複数の車両を運転するユーザに適切なアドバイスを提供することを目的として、次のようなアドバイス提供システムが提案されている。当該アドバイス提供システムは、運転車両情報取得手段とアドバイス提供制御手段を有する。運転車両情報取得手段は、ユーザが運転する車両に関する情報を取得する。アドバイス提供制御手段は、以下の情報同士の比較に基づき、ユーザにアドバイスを提供するための制御を行う。
【０００６】
・ユーザが現に運転する車両について、運転車両情報取得手段により取得された情報。
・過去に、ユーザが、現に運転する車両とは異なる車両を運転した際に、運転車両情報取得手段により取得された情報。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１８５６７６号公報
【特許文献２】特開２００９−２３５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ドライバがある車両を運転しているときのドライバの運転の仕方は、当該ある車両をドライバが今まで運転してきた経験や、他の車両をドライバが過去に運転した経験の影響を受けている可能性がある。よって、ドライバの運転の履歴が考慮されずに、単に現在の運転の仕方に基づいてドライバに対してアドバイスが与えられると、アドバイスがドライバにとって不適切であるおそれがある。
【０００９】
本発明は、１つの側面では、より適切なアドバイスをドライバに与えることを目的とする。
【課題を解決するための手段】
【００１０】
一態様による運転診断装置は、診断手段と判定手段と記憶手段と決定手段を有する。
前記診断手段は、ドライバがある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報に基づいて、前記ドライバの運転について診断を下す。前記判定手段は、前記ある車両を含む互いに異なる１台以上の車両を、前記ドライバが今までに運転してきた履歴に関する履歴情報に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定する。
【００１１】
前記記憶手段は、各々が、診断の結果と影響の度合いの組み合わせに対応づけられている複数のアドバイスを記憶する。前記決定手段は、前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いとの組み合わせに対応づけられて前記記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する。
【発明の効果】
【００１２】
より適切なアドバイスがドライバに与えられる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態について説明する図である。
【図２】運転診断装置のブロック構成図である。
【図３】ハードウェア構成図である。
【図４】車両情報記憶部に記憶される運転記録テーブルと車両テーブルの例を示す図である。
【図５】履歴記憶部に記憶される車両テーブル、運転履歴テーブル、および統計テーブルの例を示す図である。
【図６】アドバイス記憶部に記憶されるアドバイステーブルの例を示す図である。
【図７】運転診断装置が実行する処理のフローチャートである。
【図８】運転診断処理のフローチャートである。
【図９】第２実施形態によるアドバイス決定処理のフローチャートである。
【図１０】係数テーブルの例を示す図である。
【図１１】第７実施形態でのアドバイステーブルの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施形態について、図面を参照しながら詳細に説明する。説明は以下の順序で行う。
【００１５】
まず、図１を参照して第１実施形態について説明する。次に、図２〜３を参照して、第２実施形態で使われる装置の構成について説明する。その後、図４〜６を参照して、第２実施形態で使われる各種データの例を説明し、図７〜９を参照して、第２実施形態で行われるいくつかの処理について説明する。その後、他の種々の実施形態についても説明する。
【００１６】
図１は、第１実施形態について説明する図である。図１には、診断部１、判定部２、記憶部３、および決定部４が示されている。
【００１７】
例えば、車両に搭載される車載装置が、診断部１、判定部２、記憶部３、および決定部４を有していてもよい。このように診断部１、判定部２、記憶部３、および決定部４を有する車載装置は、運転診断装置の一例である。運転診断装置は、汎用的なコンピュータにより実現されてもよい。
【００１８】
逆に、車載装置との間でネットワークを介して情報を送受信する他の装置（以下、説明の便宜上「管理装置」ともいう）が、診断部１、判定部２、記憶部３、および決定部４を有していてもよい。ある観点によれば、このように診断部１、判定部２、記憶部３、および決定部４を有する管理装置は、車載装置と管理装置を含む運転診断システムのコンポーネントである。
【００１９】
また、診断部１、判定部２、記憶部３、および決定部４は、運転診断システム内で車載装置と管理装置に分散していてもよい。例えば、車載装置が診断部１を有していてもよく、管理装置が判定部２と記憶部３と決定部４を有していてもよい。
【００２０】
いずれにせよ、診断部１は、車両情報５に基づいて、ドライバの運転について診断を下す。車両情報５は、以下の２つのうちの少なくとも一方を示す。
【００２１】
・ドライバがある車両（具体的には、上記車載装置が搭載された車両）を運転している間の、当該ある車両の挙動（behavior）。
・ドライバが当該ある車両を運転している間の、ドライバの操作。
【００２２】
診断部１は、１つ以上の診断項目のそれぞれについて診断を下す。例えば、診断部１は、以下のような種々の診断項目について、それぞれ診断を下してもよい。
【００２３】
・ドライバのハンドルの切り方についての診断。例えば、ドライバのハンドル操作に応じて、車両が曲がりすぎているか、車両が適切に曲がっているか、それとも車両が不十分にしか曲がっていないのか、という診断。
・車両が直進走行中のときの左右方向（つまり、車両の進行方向に対して路面上で垂直な方向）における、車両の位置についての診断。例えば、車両が車線の右側に寄り過ぎているのか、車線の中央付近に適切に位置しているのか、それとも車線の左側に寄り過ぎているのか、という診断。
・ドライバのアクセルペダルおよび／またはブレーキペダルの操作についての診断。例えば、どの程度滑らかに当該車両が加速および／または減速されたか、という診断。
【００２４】
診断部１は、ある１つの時点における車両情報５に基づいて、ドライバの運転について診断を下してもよい。診断部１は、いくつかの時点それぞれの車両情報５を用いて、診断を下してもよい。診断に使われる車両情報５の種類は、診断項目に応じて異なり得る。
【００２５】
ドライバが運転中のある車両に関する車両情報５は、例えば、以下に例示するような情報を１種類以上含んでいてもよい。
【００２６】
・当該ある車両の位置を示す緯度と経度のペア。
・当該ある車両の進行方向の速度。
・当該ある車両の進行方向の加速度。
・当該ある車両のヨーレート。
・当該ある車両のピッチ角、ロール角、およびヨー角のうちの少なくとも１つ。
・当該ある車両のエンジン出力。
・当該ある車両の各タイヤの切れ角。
【００２７】
また、車両情報５は、当該ある車両の挙動を示す上記のような情報だけでなく、ドライバが行う操作に関する情報を含んでいてもよい。例えば、車両情報５は、以下に例示するような情報を１種類以上含んでいてもよい。
【００２８】
・当該ある車両のハンドルの切り角。
・当該ある車両のアクセルペダルの踏み量。
・当該ある車両のブレーキペダルの踏み量。
【００２９】
以下では、診断部１が下した診断の結果を「診断結果」という。診断部１は各診断項目について診断結果６を出力する。各診断結果６は、順序尺度（ordinal scale）で表されてもよく、間隔尺度（interval scale）で表されてもよく、比例尺度（ratio scale）で表されてもよい。診断項目に応じて、診断結果６は、離散値で表されてもよいし、連続値で表されてもよい。
【００３０】
診断結果６に応じた適切なアドバイスをドライバに与えることは、ドライバの運転を支援するうえで有益である。しかし、単純に診断結果６のみに基づくアドバイスは、ときには、ドライバにとって不適切であるおそれがある。理由は以下のとおりである。
【００３１】
ある車両をドライバが運転しているときのドライバの運転の仕方には、当該ある車両をドライバが運転しだす前のドライバの運転経験が影響している可能性がある。よって、診断結果６も、ドライバの運転経験の影響を受けている可能性がある。例えば、当該ある車両以外の１台以上の車両をかつてドライバが運転した経験が、診断結果６に影響している可能性もある。
【００３２】
また、影響の度合いは、様々な要因によって異なり得る。具体的には、ドライバが今までの経験から正の影響を受ける可能性もあるし、ドライバが負の影響を受ける可能性もある。また、影響の度合いの大きさ（magnitude）も、様々な要因によって異なり得る。なお、影響の度合いが数値的に表される場合、影響の度合いの大きさとは、影響の度合いの絶対値のことである。
【００３３】
ドライバが他の１台以上の車両をかつて運転した経験が、ドライバの現在の運転に対して顕著な正または負の影響を及ぼす可能性もあり得る。逆に、過去の運転経験からの影響（換言すれば過去の運転経験に起因するバイアス）が、ゼロである（またはゼロに近い）可能性もあり得る。
【００３４】
ドライバの現在の運転が過去の運転経験から受ける影響の度合いに応じて、現在の運転に対する評価である診断結果６も、過去の運転経験から影響を受ける。よって、例えばある診断項目に関して、ある２人のドライバに対する診断結果６が仮に同じであったとしても、２人のドライバにとって適切なアドバイスは異なる可能性がある。
【００３５】
個々のドライバの運転経験と無関係な一律のアドバイスは、あるドライバにとっては、有益かつ適切かもしれない。しかし、個々のドライバの運転経験と無関係な一律のアドバイスは、他のあるドライバにとっては、冗長で煩雑であるかもしれず、さらに別のドライバにとっては、間違っている可能性すらある。
【００３６】
よって、第１実施形態では、ドライバに対してより適切なアドバイスを提示することができるようにするため、判定部２、記憶部３、および決定部４が設けられる。
【００３７】
具体的には、判定部２が、過去の運転経験（つまり、ドライバが現在運転中の上記ある車両を、ドライバが運転しだす前の、ドライバの運転経験）が診断に与える影響の度合いを判定する。より具体的には、判定部２は、過去の運転経験が診断に与える影響の度合いを、履歴情報７に基づいて判定する。履歴情報７は、ドライバが現在運転中の上記ある車両を含む、互いに異なる１台以上の車両を、ドライバが今までに運転してきた履歴に関する情報である。
【００３８】
以下では、判定部２が判定した影響の度合いを単に「影響度」ともいう。判定部２は、各診断項目について影響度８を判定し、出力する。
【００３９】
判定部２が判定する影響度８は、「過去の運転経験」が診断に与える影響の度合いであるのに対し、判定部２が判定に用いる履歴情報７は、「ドライバが現在運転中の上記ある車両を含む、互いに異なる１台以上の車両」に関する情報であることに注意されたい。つまり、場合によっては、判定部２は、履歴情報７のうち、ドライバが過去に他の車両を運転した履歴を示す履歴情報７を使わずに、ドライバが現在運転中の上記ある車両についての履歴情報７から、影響度８を判定してもよい。
【００４０】
例えば、ドライバが現在運転中の車両を既に十分に長い期間にわたって運転している場合、判定部２は「過去に他の車両をドライバが運転した経験が、診断に与える影響の度合いは、ゼロである（またはゼロに近い）」と判定してもよい。このような判定においては、「過去にドライバが他の車両を運転したことがあるか否か」を示す履歴情報７は、必ずしも必要ではない。
【００４１】
また、仮にドライバが過去に他の車両を１台以上運転したことがあるとしても、上記のような判定においては、ドライバが過去に１台以上の他の車両を運転した履歴に関する詳細な履歴情報７も、必ずしも必要ではない。つまり、上記のような判定においては、「ドライバが現在運転中の上記ある車両を、ドライバがいつから（あるいは、どれくらい長い期間にわたって）運転してきたか」という履歴を示す履歴情報７だけでも十分である。
【００４２】
なお、影響度８は、順序尺度で表されてもよく、間隔尺度で表されてもよく、比例尺度で表されてもよい。影響度８は離散値でもよいし連続値でもよい。また、影響度８の範囲は、実施形態に応じて適宜定義されてよい。影響度８の範囲は、診断項目ごとに違っていてもよい。どの診断項目でも影響度８の範囲が共通となるように、正規化が行われてもよい。しかし、図６に関して後述するとおり、正規化は必ずしも必要ではない。
【００４３】
ドライバにとって適切なアドバイスは、診断結果６に応じて異なるだけでなく、上記のとおり、影響度８によっても異なり得る。そこで、記憶部３には、各診断項目について複数のアドバイスが記憶される。具体的には、ある診断項目についての各アドバイスは、診断結果と影響度の組み合わせに対応づけられて、記憶部３に記憶される。
【００４４】
なお、診断結果と影響度の組み合わせは、具体的には、以下のような様々なやり方で表され得る。
【００４５】
・診断結果を示す１つの値と、影響度を示す１つの値との組み合わせ。
・診断結果を示す１つの値と、影響度を示す値の集合（例えば値の範囲）との組み合わせ。
・診断結果を示す値の集合（例えば値の範囲）と、影響度を示す１つの値との組み合わせ。
・診断結果を示す値の集合（例えば値の範囲）と、影響度を示す値の集合（例えば値の範囲）との組み合わせ（例えば、後述の図６と11を参照）。
【００４６】
図１には、診断結果と影響度とアドバイスの列を有するテーブルが記憶部３の中に図示されている。しかし、テーブル形式以外のデータ形式が利用されてもよい。
【００４７】
どのようなデータ形式が採用されるにせよ、上記のとおり、記憶部３には、診断結果と影響度の組み合わせに応じた複数のアドバイスが記憶される。そこで、決定部４は、診断結果６（つまり診断部１により下された診断の結果）と、影響度８（つまり判定部２により判定された影響の度合い）との組み合わせに対応づけられて記憶部３に記憶されているアドバイスを、ドライバに対して提示することに決定する。
【００４８】
以上のような判定部２、記憶部３、および決定部４によれば、診断結果６だけでなく影響度８にも応じて、個々のドライバにとって適切なアドバイスが選ばれる。よって、第１実施形態には、「ドライバに、より適切なアドバイスを与えることができる」という効果がある。したがって、第１実施形態によれば、ドライバをより適切に支援することが可能となる。
【００４９】
例えば、ある診断項目の診断結果６は、１点から１０点までの１０段階で表されてもよく、１０点が最高の評価であってもよい。例えば、仮に診断結果６が７点であったとすると、以下のように様々な場合があり得る。
【００５０】
例えば、「ドライバは、今までの他の１台以上の車両の運転経験から、顕著な正の影響を受けている」と推定される場合があり得る。この場合、「強い正の影響を受けてさえ、このドライバの現在の運転はせいぜい７点にしか至らない」と推定される。よって、この場合、ドライバ自身の基礎的な運転能力がそれほど高くないおそれがある。よって、この場合、「初心者向けの易しいアドバイスが有益だろう」と推定される。
【００５１】
逆に、「ドライバは、今までの他の１台以上の車両の運転経験から、顕著な負の影響を受けている」と推定される場合があり得る。この場合、「強い負の影響を受けてさえ、ドライバの現在の運転は７点を下回らずに済んでいる」と推定される。よって、この場合、「ドライバの適応能力や運転能力は比較的高い」と推定されるが、運転にはなお改善の余地がある。よって、この場合、「ある程度能力の高いドライバ向けの高度なアドバイスが有益だろう」と推定される。
【００５２】
あるいは、「影響の度合いは、ゼロであるか、またはゼロに近い」という場合があり得る。より具体的には、「ドライバは、今までの他の車両の運転経験から顕著な影響は受けていない」と推定される場合もあり得る。また、「ドライバは、他の車両を運転したことがないので、他の車両の運転経験による影響がそもそも存在しない」という場合もあり得る。いずれにしろ、「影響の度合いは、ゼロであるか、またはゼロに近い」という場合、「７点」という診断結果６は、ドライバの運転能力をほぼありのままに反映していると推定される。７点は悪い評価ではないが、運転にはなお改善の余地がある。よって、この場合、「一般的なアドバイスが有益だろう」と推定される。
【００５３】
もちろん、診断項目の種類に応じて、診断結果６の値の範囲は異なり得る。また、診断結果６の値が大きいほど評価が高い診断項目もあり得るし、診断結果６の値が小さいほど評価が高い診断項目もあり得る。診断結果６の値が基準値に近いほど評価が高いような診断項目もあり得る。
【００５４】
したがって、「過去の運転経験からの影響の度合いに応じて、どのようにアドバイスを変えるのが適切なのか」という具体的な方法は、診断項目の種類に応じて異なり得る。もちろん、適切なアドバイスは、診断結果６自体によっても異なり得る。記憶部３には、診断項目の種類ごとに、診断結果と影響度の組み合わせに応じた適切なアドバイスが予め記憶されている。よって、第１実施形態によれば、決定部４が記憶部３から適切なアドバイスを選ぶことができる。
【００５５】
なお、車載装置は、決定部４がドライバに対して提示することに決定したアドバイスを出力する出力部を、さらに含んでいてもよい。あるいは、車載装置は、外部の出力部と接続されていてもよい。出力部は、以下のいずれであってもよい。
【００５６】
・音声的にアドバイスを出力するスピーカ。
・文字および／または画像を用いて視覚的にアドバイスを出力するディスプレイ。
・スピーカとディスプレイの組み合わせ。
【００５７】
また、出力部がアドバイスを出力するタイミングを制御する制御部を、車載装置がさらに含んでいてもよい。例えば、制御部は、車両の停車中にアドバイスを出力するよう、タイミングを制御してもよい。実施形態によっては、制御部は、車両の走行中に出力部がアドバイスを出力することを許してもよい。しかし、制御部は、車両が右折または左折している最中にはアドバイスの出力を避けるよう、出力タイミングを制御することが好ましい。制御部は、以上のようなタイミングの制御を、車両情報５に基づいて行う。
【００５８】
ところで、履歴情報７は、上記のとおり、ドライバが現在運転中の上記ある車両を含む、互いに異なる１台以上の車両を、ドライバが今までに運転してきた履歴に関する情報である。以下に、履歴情報７のより具体的な内容を説明する。
【００５９】
履歴情報７は、例えば以下の２つの車両仕様情報を含んでいてもよい。
・ドライバが現在運転中の上記ある車両の仕様を示す第１の車両仕様情報。
・ドライバが今まで運転してきた上記１台以上の車両のうち、ドライバが現在運転中の上記ある車両とは別の車両の仕様を示す（つまりドライバが過去に運転した別の車両の仕様を示す）第２の車両仕様情報。
【００６０】
例えば、車両仕様情報は、車種、車幅、車高、車重、タイヤの直径、エンジン出力性能、ハンドリング性能、運転席が車両の右側と左側のどちらにあるか、などを表す値のうち少なくとも１つを含んでいてもよい。履歴情報７が上記のように第１と第２の車両仕様情報を含む場合、判定部２は、第１の車両仕様情報が示す仕様と第２の車両仕様情報が示す仕様との差の大きさ（magnitude）に対して、影響度８の大きさが単調増加するように、影響度８を判定してもよい。このような判定部２の動作は、「ドライバが過去に運転した車両とドライバが現在運転している車両の違いが大きいほど、ドライバの現在の運転は、過去の運転経験から正または負の大きな影響を受けやすい」という考察に基づく。
【００６１】
なお、本明細書では、「単調増加」という用語は、「単調非減少（monotonically non-decreasing）」を意味する。また、「単調減少」という用語は、「単調非増加（monotonically non-increasing）」を意味する。
【００６２】
例えば、車両仕様情報が車幅の値を含んでもよい。この場合、判定部２は、ドライバが現在運転中の車両の幅と、ドライバが過去に運転した車両の幅との差の絶対値に対して、影響度８の絶対値が単調増加するように、影響度８を判定してもよい。判定部２は、適宜の単調関数を使って影響度８を算出することで、上記のように影響度８を判定してもよい。
【００６３】
判定部２は、診断項目に応じた車両仕様情報を使って、診断項目ごとに影響度８を判定する。つまり、「どの種類の車両情報５が診断部１に使われ、どの種類の車両仕様情報が影響度８の判定に使われるのか」ということは、診断項目に応じて異なる。
【００６４】
また、「第１の車両仕様情報が示す仕様と第２の車両仕様情報が示す仕様との差が正のときに、影響度８が正なのか負なのか」ということを定める係数を用いて、判定部２が影響度８を判定してもよい。係数の具体例は、後述の式（１）、（３）および（４）に例示されている。
【００６５】
また、ドライバが現在運転中の上記ある車両に適応している度合いは、ある種の時間的要因の影響を受ける。このような時間的要因を直接的または間接的に表す値が、履歴情報７に含まれていてもよい。
【００６６】
この場合、判定部２は、上記時間的要因を表す値を、履歴情報７から抽出または計算することができる。判定部２は、抽出または計算した値を用いて、影響度８を判定してもよい。上記時間的要因は、例えば、以下のようなものが挙げられる。
【００６７】
・ドライバが現在運転中の車両を運転し始めてから経過した時間の長さ。
・ドライバが現在運転中の車両とは別の車両を過去に運転していた時間の長さ。
・ドライバが現在運転中の車両とは別の車両を過去に運転し終えてから経過した時間の長さ。
【００６８】
ドライバが現在運転中の上記ある車両にまだそれほど適応していない場合とは、換言すれば、「ドライバの過去の運転経験が診断結果６に与える正または負の影響が大きい」と見なせる場合である。逆に、ドライバが現在運転中の上記ある車両に既によく適応している場合とは、換言すれば、「ドライバの過去の運転経験が診断結果６に与える正または負の影響が小さい」と見なせる場合である。よって、判定部２は、上記時間的要因を表す値を用いて、影響度８（すなわちドライバの過去の運転経験が診断結果６に与える影響の度合い）を判定してもよい。
【００６９】
上記のような時間的要因に基づく判定部２の動作について、より具体的に説明すると、以下のとおりである。
【００７０】
例えば、ドライバが現在運転中の上記ある車両をドライバが運転し始めた時刻を示す開始時刻情報を、履歴情報７が含んでいてもよい。この場合、判定部２は、開始時刻情報が示す時刻から経過した時間の長さに対して、影響度８の大きさが単調減少するように、影響度８を判定する。このような判定部２の動作は、以下のような考察に基づく。
【００７１】
・ドライバが現在運転中の車両を運転し始めてから時間が経過するにつれて、ドライバは現在の車両に慣れる。
・ドライバが現在の車両に慣れれば慣れるほど、ドライバの現在の運転に対する、過去の別の車両の運転経験からの直接的な影響は、（影響が正であれ負であれ）弱まる。
【００７２】
また、ドライバが現在運転中の上記ある車両とは別の車両を、ドライバが過去に運転していた時間の長さを示す運転時間情報を、履歴情報７が含んでいてもよい。この場合、判定部２は、運転時間情報が示す時間の長さに対して、影響度８の大きさが単調増加するように、影響度８を判定してもよい。このような判定部２の動作は、「ドライバが過去に別の車両を運転した経験からの影響の大きさは、（影響が正であれ負であれ）過去の車両の運転時間が長いほど大きい」という考察に基づく。なお、運転時間情報は、上記別の車両をドライバが運転し始めた開始時刻を示す情報と、上記別の車両の運転をドライバが終了した終了時刻を示す情報を含んでいてもよい。
【００７３】
また、ドライバが現在運転中の上記ある車両とは別の車両を、ドライバがかつて運転し終えた時刻を示す終了時刻情報を、履歴情報７が含んでいてもよい。この場合、判定部２は、終了時刻情報が示す時刻から経過した時間の長さに対して、影響度８の大きさが単調減少するように、影響度８を判定する。このような判定部２の動作は、「過去の運転経験から受ける影響は、（影響が正であれ負であれ）時の経過とともに弱まる」という考察に基づく。
【００７４】
ところで、ドライバが今までに運転してきた互いに異なる１台以上の車両（ドライバが現在運転中の上記ある車両も含む）の台数を示す台数情報を、履歴情報７が含んでいてもよい。
【００７５】
台数情報が示す台数が１の場合、判定部２は影響度８をゼロと判定する。なぜなら、過去に別の車両を運転したことのないドライバにとっては、そもそも「過去の運転経験から受ける影響」は存在しないからである。逆に、台数情報が示す台数が１より大きい場合、判定部２は、台数情報が示す台数に対して影響度８の大きさが単調減少するように、影響度８を判定する。
【００７６】
以上のような判定部２の動作は、「ドライバがより多くの様々な車両の運転を経験するほど、ドライバの経験は豊かになり、ドライバの適応能力が上がるだろう」という考察に基づく。つまり、上記のような判定部２の動作は、「ドライバの適応能力が高まるほど、個々の車両の特性が直接的にドライバの運転に及ぼす影響は、（影響が正であれ負であれ）弱まる」という考察に基づく。なお、以上のような台数情報を使った判定の具体例については、後述の式（１３）も参照されたい。
【００７７】
以上の説明から明らかなように、台数情報が示す台数は、ドライバが現在運転中の上記ある車両に適応している度合いに影響を与える要因の一例である。
【００７８】
もちろん、履歴情報７は、以上例示したような種々の情報のうち２つ以上を含んでいてもよい。そして、判定部２は、履歴情報７に含まれる２種類以上の情報の組み合わせに応じて、影響度８を判定してもよい。
【００７９】
例えば、履歴情報７は、開始時刻情報と運転時間情報の双方を含んでいてもよい。この場合、判定部２は、開始時刻情報が示す時刻から経過した時間の長さに対して影響度８の大きさが単調減少するように、かつ、運転時間情報が示す時間の長さに対して影響度８の大きさが単調増加するように、影響度８を判定する。
【００８０】
ところで、図１では、記憶部３において、各アドバイスは、診断結果と影響度の組み合わせに対応づけられて記憶されている。しかし、より細かい粒度で複数のアドバイスが用意されていてもよい。具体的には、記憶部３において、個々のアドバイスが、診断結果と影響度と過去の診断結果との組み合わせに対応づけられて記憶されていてもよい。
【００８１】
この場合、現在ドライバが運転中の上記ある車両とは別の車両を、かつてドライバが運転したときに下された過去の診断の結果を、履歴情報７が含んでいてもよい。
【００８２】
例えば、診断部１と判定部２と記憶部３と決定部４を含む車載装置が、各車両に搭載されていてもよい。このような車載装置が各車両に搭載されている場合、過去の診断結果が利用可能である。例えば、ある車載装置の診断部１から出力される診断結果６が記憶媒体に書き込まれてもよく、その後、他の車載装置が、当該記憶媒体から診断結果６を「過去の診断結果」として読み出してもよい。
【００８３】
あるいは、上記のように診断部１は管理装置に含まれていてもよい。管理装置に含まれる診断部１は、複数の車両を運転中の複数のドライバに関して、並行して診断を下してもよい。管理装置に診断部１が含まれる場合も、過去の診断結果が利用可能である。
【００８４】
いずれにせよ、過去の診断結果が利用可能な場合、決定部４は、以下の３つの組み合わせに対応づけられて記憶部３に記憶されているアドバイスを、ドライバに対して提示することに決定する。
【００８５】
・現在の運転に関して診断部１により下された診断結果６。
・判定部２により判定された影響度８。
・履歴情報７に含まれる過去の診断結果。
【００８６】
ところで、履歴情報７は、可搬型のコンピュータ読み取り可能な記憶媒体（例えば半導体メモリカードなど）に蓄積されてもよい。あるいは、履歴情報７は、ネットワークに接続された情報記憶装置に蓄積されてもよい。情報記憶装置は、例えば、管理装置が備える不揮発性記憶装置（例えば、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid-State Drive））であってもよい。
【００８７】
例えば、車載装置は、具体的には診断部１と判定部２と記憶部３と決定部４を含む運転診断装置であってもよい。この場合、運転診断装置はさらに読み出し部と書き込み部を有してもよい。読み出し部は、履歴情報７（具体的には、ドライバが過去に運転した各車両についての履歴情報７）を記憶する記憶媒体から、履歴情報７を読み出す。書き込み部は、ドライバが現在運転中の上記ある車両の運転に関する履歴情報７を、上記記憶媒体に書き込む。
【００８８】
例えば、半導体メモリカード用のカードリーダ／ライタが、読み出し部および書き込み部として使われてもよい。なお、「リーダ／ライタ」は、「リーダおよびライタ」の意味である。また、記憶媒体としてＵＳＢ（Universal Serial Bus）メモリが使われる場合、ＵＳＢインタフェイスが、読み出し部および書き込み部として使われてもよい。ＵＳＢインタフェイスは、具体的には、ＵＳＢポート、ＵＳＢコントローラ、およびＵＳＢ規格のバスを含む。
【００８９】
あるいは、診断部１と判定部２と記憶部３と決定部４を含む運転診断装置は、受信部と送信部を有してもよい。受信部は、履歴情報７（具体的には、ドライバが過去に運転した各車両についての履歴情報７）を記憶する情報記憶装置から、ネットワークを介して、履歴情報７を受信する。送信部は、ドライバが現在運転中の上記ある車両の運転に関する履歴情報７を、ネットワークを介して情報記憶装置に送信する。
【００９０】
例えば、ＷＬＡＮ（Wireless Local Area Network）インタフェイスが、受信部および送信部として使われてもよい。あるいは、３ＧＰＰ（Third Generation Partnership Project）、ＬＴＥ（Long Term Evolution）、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）などの無線通信規格にしたがった無線通信回路が、受信部および送信部として使われてもよい。なお、「ＷｉＭＡＸ」は登録商標である。
【００９１】
ところで、上記のとおり、診断部１と判定部２と記憶部３と決定部４の各々は、車載装置と管理装置のいずれに含まれていてもよい。車載装置と管理装置の双方を含む運転診断システムにおいて、車載装置は、少なくとも以下の取得部と第１の送受信部を有することが好ましい。
【００９２】
・ドライバが現在運転中の上記ある車両から、車両情報５を取得する取得部。例えば、加速度センサなどのセンサから、車両情報５として使われる出力値を取得するＥＣＵ（Electronic Control Unit）、または、センサもしくはＥＣＵから車両情報５を取得する汎用コンピュータなど。
・ネットワークを介して管理装置との間で通信を行う第１の送受信部。例えば、ＷＬＡＮインタフェイス、または、適宜の無線通信規格にしたがった無線通信回路など。
【００９３】
また、車載装置と管理装置の双方を含む運転診断システムにおいて、管理装置は、少なくとも以下の第２の送受信部と履歴記憶部を有することが好ましい。
【００９４】
・ネットワークを介して車載装置との間で通信を行う第２の送受信部。例えば、有線ＬＡＮ（Local Area Network）インタフェイス、ＷＬＡＮインタフェイス、または、適宜の無線通信規格にしたがった無線通信回路など。
・ドライバが現在運転中の上記ある車両以外の車両を、かつてドライバが運転した履歴に関する履歴情報７を記憶する、履歴記憶部。例えば、ＨＤＤ、ＳＳＤ、またはその組み合わせ。
【００９５】
以上のような車載装置と管理装置の双方を含む運転診断システムにおいては、車載装置と管理装置がネットワークを介して通信しあうことが可能である。よって、診断部１は、車載装置と管理装置のどちらに含まれていてもよい。
【００９６】
また、ドライバが現在運転中の上記ある車両を、ドライバが今まで運転してきた履歴に関する履歴情報７は、車載装置により生成または取得されてもよい。一方、過去の運転履歴に関する履歴情報７は、上記のとおり履歴記憶部に記憶される。車載装置と管理装置は通信しあうことが可能なので、車載装置は双方の履歴情報７を認識することができるし、管理装置も双方の履歴情報７を認識することができる。
【００９７】
したがって、履歴情報７を使って判定を行う判定部２も、車載装置と管理装置のどちらに含まれていてもよい。判定部２は、ドライバが現在運転中の上記ある車両に関する履歴情報７と、過去の運転履歴に関する履歴情報７のうち、少なくとも一方を用いて、影響度８を判定する。
【００９８】
なお、ドライバが現在運転中の車両に関して車載装置が生成または取得した履歴情報７は、第１の送受信部からネットワークを介して管理装置に送信される。すると、管理装置が第２の送受信部により履歴情報７を受信し、受信した履歴情報７を、履歴記憶部に記憶している履歴情報７に追加する。こうして、履歴記憶部には、ドライバが運転した各車両についての履歴情報７が蓄積される。
【００９９】
また、記憶部３も、車載装置と管理装置のどちらに含まれていてもよい。同様に、決定部４も、車載装置と管理装置のどちらに含まれていてもよい。
【０１００】
以上のような車載装置と管理装置の双方を含む運転診断システムにおいて、例えば、診断部１と判定部２と記憶部３と決定部４がすべて車載装置に含まれていてもよい。この場合、履歴記憶部に記憶されている履歴情報７は、管理装置の第２の送受信部からネットワークを介して送信され、車載装置の第１の送受信部で受信され、判定部２に取得される。
【０１０１】
あるいは逆に、診断部１と判定部２と記憶部３と決定部４がすべて管理装置に含まれていてもよい。この場合、車載装置の取得部が取得した車両情報５は、車載装置の第１の送受信部からネットワークを介して送信され、管理装置の第２の送受信部で受信され、診断部１に取得される。そして、決定部４が提示することに決定したアドバイスは、第２の送受信部からネットワークを介して送信され、車載装置の第１の送受信部で受信される。この場合、車載装置は、アドバイスを出力する出力部を内蔵していてもよいし、出力部と接続されていてもよい。いずれにしろ、車載装置が受信したアドバイスは、出力部により出力される。その結果、ドライバはアドバイスを認識することができる。
【０１０２】
また、診断部１と判定部２と記憶部３と決定部４は、車載装置と管理装置に分散していてもよい。いずれにせよ、車載装置は出力部を内蔵しているか、または、出力部と接続される。よって、ドライバはアドバイスを認識することができる。そして、ドライバが認識するアドバイスは、診断結果６だけでなく影響度８にも基づいて決定部４により選ばれた適切なアドバイスであるから、ドライバにとって有益である。
【０１０３】
続いて、図２〜９を参照して第２実施形態について説明する。第２実施形態は、図１の診断部１、判定部２、記憶部３および決定部４が、車載装置である運転診断装置に含まれる場合に相当する。以下の説明においても、例えば「履歴情報７」のように、図１中の参照符号を用いることがある。
【０１０４】
図２は、第２実施形態の運転診断装置のブロック構成図である。
車両１００には、いくつかのＥＣＵが含まれる。便宜上、図２には２台のＥＣＵ１０１と１０２が例示されている。各ＥＣＵはＣＡＮ（Controller Area Network）１０３に接続される。実施形態によっては、ＣＡＮ以外の種類のネットワークが車両１００内において利用されてもよい。
【０１０５】
個々のＥＣＵは、センサ（例えば加速度センサなど）と直接接続されていてもよいし、ＣＡＮ１０３を介してセンサに接続されていてもよい。ＥＣＵにセンサが直接接続されている場合、ＥＣＵは、センサから読み取った値を、ＣＡＮ１０３を介して他のコンポーネント（例えば他のＥＣＵなど）に知らせてもよい。また、ＥＣＵは、ＣＡＮ１０３に接続されているセンサが出力した値を、ＣＡＮ１０３を介して読み取ってもよい。
【０１０６】
また、車両１００には、ディスプレイ１０４とスピーカ１０５の少なくとも一方が搭載される。ディスプレイ１０４は、文字および／または画像などを用いてアドバイスを視覚的に出力する出力部の例である。スピーカ１０５は、アドバイスを音声的に出力する出力部の例である。
【０１０７】
さらに、車両１００には運転診断装置１１０が搭載される。運転診断装置１１０は、車両情報取得部１１１、時計１１２、車両情報管理部１１３、車両情報記憶部１１４、診断部１１５、履歴管理部１１６、履歴記憶部１１７、判定部１１８、アドバイス決定部１１９、アドバイス記憶部１２０および出力制御部１２１を含む。
【０１０８】
なお、図１と図２の関係は次のとおりである。
診断部１１５が診断部１に対応し、判定部１１８が判定部２に対応し、アドバイス記憶部１２０が記憶部３に対応し、アドバイス決定部１１９が決定部４に対応する。
【０１０９】
図１の車両情報５は、図２では車両情報取得部１１１により取得され、車両情報管理部１１３により管理され、車両情報記憶部１１４に記憶される。そして、車両情報５は、診断部１１５と履歴管理部１１６に出力される。
【０１１０】
図１の診断結果６は、図２では診断部１１５から履歴管理部１１６とアドバイス決定部１１９の双方に出力される。
【０１１１】
図１の履歴情報７は、図２では履歴管理部１１６により管理され、履歴記憶部１１７に記憶される。また、過去の運転履歴に関する履歴情報７は、図２では外部装置１３０から取得される。そして、今回の車両１００の運転に関する履歴情報７は、将来の利用に備えるために、履歴管理部１１６によって外部装置１３０に出力される。
【０１１２】
図１の影響度８は、図２では判定部１１８からアドバイス決定部１１９に出力される。
以下、図２の運転診断装置１１０の詳細を説明する。
【０１１３】
図２に示すように、車両情報取得部１１１は、ＣＡＮ１０３に接続される。車両情報取得部１１１は、ＣＡＮ１０３を介して車両情報５を取得する。例えば、車両情報取得部１１１は、ＣＡＮ１０３に接続されたセンサから、ＣＡＮ１０３を介して車両情報５を取得してもよいし、いずれかのＥＣＵから、ＣＡＮ１０３を介して車両情報５を取得してもよい。
【０１１４】
実施形態によっては、車両情報取得部１１１が信号線によりセンサおよび／またはＥＣＵと接続されていてもよく、その場合、車両情報取得部１１１は、センサおよび／またはＥＣＵから信号線を介して車両情報５を取得することができる。また、ＣＡＮ１０３には、ＥＣＵだけでなく、カーナビゲーションシステムおよび／または車載カメラが接続されていてもよい。車両情報取得部１１１は、ＣＡＮ１０３を介して、カーナビゲーションシステムおよび／または車載カメラから車両情報５を取得してもよい。
【０１１５】
もちろん、運転診断装置１１０自体がカーナビゲーションシステムを兼ねていてもよい。例えば、運転診断装置１１０がＧＰＳ（Global Positioning System）センサを内蔵していてもよく、ＧＰＳセンサが車両情報取得部１１１に接続されていてもよい。
【０１１６】
車両情報取得部１１１が取得する車両情報５の例は、以下のとおりである。
・車両１００の挙動を示す情報（例えば、加速度、車速、舵角、エンジンの回転数、ブレーキの動作状態、ウィンカーの状態、車両１００のロール角・ピッチ角・ヨー角など）。
・ドライバの操作を示す情報（例えば、ハンドルの切り角、アクセルペダルの踏み量、ブレーキペダルの踏み量など）。
・車両１００に特有の属性を示す情報（例えば、車両１００を識別する車両識別子、車種、車幅、車重、エンジンの出力性能、ハンドリング性能、タイヤの直径、運転席が車両の右側と左側のどちらにあるか、など）。
・車載カメラが撮影した画像（車両１００にカメラが搭載されている場合。以下「カメラ画像」ともいう）。
・車両１００の位置を示す位置情報や地図情報など（車両１００にカーナビゲーションシステムが搭載されている場合）。
【０１１７】
車両情報取得部１１１は、取得した種々の車両情報５を車両情報管理部１１３に出力する。車両情報管理部１１３は、車両情報取得部１１１から車両情報５を取得すると、時計１１２から現在時刻を読み取る。そして、車両情報管理部１１３は、取得した車両情報５と、読み取った現在時刻を表す時刻情報とを互いに対応づけて、車両情報記憶部１１４に記憶する。車両情報記憶部１１４には、例えば後述の図４に示すような形式で車両情報５が記憶されていてもよい。
【０１１８】
また、車両情報管理部１１３は、診断部１１５から車両情報５を要求されると、車両情報５と、車両情報５に対応づけられた時刻情報とを、車両情報記憶部１１４から読み出す。そして、車両情報管理部１１３は、車両情報５と時刻情報を診断部１１５に出力する。同様に、車両情報管理部１１３は、履歴管理部１１６から車両情報５を要求されると、車両情報記憶部１１４から車両情報５を読み出し、車両情報５を履歴管理部１１６に出力する。
【０１１９】
診断部１１５は、車両情報５と、車両情報５に対応づけられた時刻情報とを使って、種々の診断項目に関して診断処理を実行する。診断部１１５は、車両情報管理部１１３を介して、車両情報５を時刻情報とともに車両情報記憶部１１４から取得し、取得した車両情報５と時刻情報に基づいて、診断処理を実行する。
【０１２０】
どのような種類の車両情報５が診断に用いられるのかは、診断項目に応じて異なっていてよい。また、「ある１つの時点で取得された車両情報５のみが診断に用いられるのか、それとも、ある長さを持った期間の間に得られた複数の車両情報５が診断に用いられるのか」ということも、診断項目に応じて異なっていてよい。
【０１２１】
さらに、診断項目ごとに、診断のトリガが異なっていてもよい。例えば、ある診断項目についての診断は、定期的に行われてもよい。一方、別の診断項目についての診断は、車両１００が特定の振る舞いをしたときに（例えば車両１００がカーブを曲がったときに）行われてもよい。
【０１２２】
例えば、ある診断項目は、ドライバのハンドル操作のスムーズさについての項目であってもよい。ハンドル操作のスムーズさを診断するために使われる車両情報５の例は、ハンドルの舵角（つまりハンドルの切り角）に関する情報、車両１００の位置を示す情報などである。
【０１２３】
診断部１１５は、例えば、ハンドル操作が開始されたときの車両１００の位置と、ハンドル操作が終了したときの車両１００の位置と、ハンドル操作にかかった時間に基づいて、診断を下してもよい。例えば、診断部１１５は、ドライバの実際の運転と理想的な運転との差を判定してもよく、判定した差に基づいて、ハンドル操作のスムーズさについて診断を下してもよい。
【０１２４】
また、別のある診断項目は、加減速のスムーズさについての項目であってもよい。加減速のスムーズさを診断するために使われる車両情報５の例は、加速度（主に車両１００の進行方向の加速度成分）である。急加速や急減速が少ないほど、診断部１１５は、より良い診断結果６を出力してもよい。
【０１２５】
また、さらに別のある診断項目は、車両１００が直進走行中の左右方向（つまり、車両１００の進行方向に対して路面上で垂直な方向）における車両１００の位置（以下「走行位置」ともいう）の適切さについての項目であってもよい。走行位置の適切さを診断するために使われる車両情報５の例は、例えば、車両１００の車幅、車両１００が走行している車線の幅についての情報を含む地図情報、車載カメラが撮影したカメラ画像、などである。
【０１２６】
例えば、診断部１１５は、車線間を区切る白線をカメラ画像から認識し、車両１００が走行中の車線上での、車両１００の左右方向の走行位置を推定してもよい。診断部１１５は、推定した走行位置から、走行位置の適切さを診断してもよい。具体的には、推定した走行位置が車線の中央に近いほど、診断部１１５は、より良い診断結果６を出力してもよい。
【０１２７】
診断部１１５は、各診断項目についての診断結果６を、診断項目を識別する識別子（以下「診断項目ＩＤ」ともいう）とともに、アドバイス決定部１１９に出力する。
【０１２８】
ところで、上記のとおり診断部１１５は、車両情報５とともに時刻情報も診断のために取得する。したがって、診断部１１５は、取得した時刻情報に基づいて、ドライバが車両１００を運転し始めてから経過した時間（以下「運転時間」ともいう）を認識することができる。診断部１１５は、各診断項目についての診断結果６を、運転時間を示す情報および診断項目ＩＤとともに、履歴管理部１１６に出力する。
【０１２９】
履歴管理部１１６は履歴情報７を管理する。具体的には、履歴管理部１１６は、ある種の履歴情報７を車両情報管理部１１３から取得してもよく、別のある種の履歴情報７を診断部１１５から取得してもよく、さらに別のある種の履歴情報７を外部装置１３０から取得してもよい。履歴管理部１１６は、取得した履歴情報７を履歴記憶部１１７に記憶する。履歴記憶部１１７には、例えば後述の図５に示すような形式で履歴情報７が記憶されていてもよい。
【０１３０】
外部装置１３０は、例えば後述の図３のサーバ２３０でもよいし、記憶媒体２４０でもよい。また、履歴管理部１１６は、ドライバが今後、別の車両を運転する場合（またはドライバが今後、車両１００を再び運転する場合）に備えて、履歴記憶部１１７内の履歴情報７の少なくとも一部を、外部装置１３０に出力する。
【０１３１】
具体的には、履歴情報７のうち、現在ドライバが運転中の車両１００の仕様を示す車両仕様情報（換言すれば車両１００に固有の属性を示す情報）を、履歴管理部１１６が車両情報管理部１１３から取得してもよい。車両１００の車両仕様情報は、予め車両情報記憶部１１４に記憶されていてもよい。あるいは、車両１００の車両仕様情報は、例えば、いずれかのＥＣＵから出力され、ＣＡＮ１０３を介して車両情報取得部１１１により取得され、車両情報記憶部１１４に記憶されてもよい。よって、履歴管理部１１６は、車両１００の車両仕様情報を、車両情報管理部１１３から取得することができる。
【０１３２】
また、履歴情報７のうち、ドライバが車両１００（つまりドライバが現在運転中の車両）を今まで運転してきた履歴に関する情報を、履歴管理部１１６が診断部１１５から取得してもよい。
【０１３３】
例えば、上記のとおり、診断部１１５は、車両１００の運転を開始してから経過した時間（すなわち運転時間）の長さを認識することができる。よって、履歴管理部１１６は、履歴情報７のうち運転時間を示す情報を、診断部１１５から取得することができる。また、ドライバが今後、別の車両を運転する場合（またはドライバが今後、車両１００を再び運転する場合）に備えて、履歴管理部１１６は、診断部１１５が出力した診断結果６を、将来使う可能性のある履歴情報７の一部として取得してもよい。より具体的には、履歴管理部１１６は、診断項目ＩＤとともに診断結果６を取得してもよい。
【０１３４】
さらに、履歴情報７のうち、ドライバが過去に他の車両（または車両１００）を運転したときに下された過去の診断の結果を、履歴管理部１１６が外部装置１３０から取得してもよい。同様に、履歴管理部１１６は、履歴情報７のうち、ドライバが過去に運転した他の車両の車両仕様情報も、外部装置１３０から取得することができる。
【０１３５】
また、履歴管理部１１６は、履歴情報７のうち、過去の運転履歴に関する時間的な情報も、外部装置１３０から取得することができる。過去の運転履歴に関する時間的な情報の例は、例えば、以下のとおりである。
【０１３６】
・ドライバが過去にある車両（車両１００以外の車両または車両１００自体）の運転を開始した日時。
・ドライバが過去に上記ある車両の運転を終了した日時。
・ドライバが過去に上記ある車両を運転していた運転時間の長さ。
【０１３７】
なお、ドライバは１台の車両を断続的に運転する可能性もあるので、「運転時間」の具体的な定義は様々であってよい。「運転時間」のいくつかの定義については、図５とともに後述する。
【０１３８】
さて、判定部１１８は、種々の履歴情報７のうちの少なくとも一部を用いて、ドライバの過去の運転経験が診断結果６に及ぼす影響の度合い（すなわち影響度８）を判定する。具体的には、判定部１１８は、診断項目に応じた適宜の履歴情報７を履歴記憶部１１７から読み出して、読み出した履歴情報７を用いて影響度８を判定する。
【０１３９】
より具体的には、第２実施形態では、診断部１１５が診断結果６を診断項目ＩＤとともにアドバイス決定部１１９に出力すると、アドバイス決定部１１９が判定部１１８に対して影響度８を判定するよう要求する。この要求の際、アドバイス決定部１１９は、判定部１１８に診断項目ＩＤを通知する。
【０１４０】
判定部１１８は、アドバイス決定部１１９からの要求に応じて、通知された診断項目ＩＤを持つ診断項目に関して、影響度８を判定する。そして、判定部１１８は、影響度８をアドバイス決定部１１９に通知する。
【０１４１】
ところで、アドバイス記憶部１２０は、図１の記憶部３に対応し、複数のアドバイスを記憶する。各アドバイスは、診断結果と影響度の組み合わせに対応づけられている。
【０１４２】
より具体的には、アドバイス記憶部１２０は、診断項目ごとに複数のアドバイスを記憶する。例えば、アドバイス記憶部１２０には、各診断項目について、後述の図６に示すようなアドバイステーブルが記憶されていてもよい。
【０１４３】
よって、アドバイス記憶部１２０を参照することで、アドバイス決定部１１９は、ドライバに提示するアドバイスを決定することができる。つまり、アドバイス決定部１１９は、診断部１１５から通知された診断項目ＩＤおよび診断結果６、ならびに、判定部１１８から通知された影響度８に基づき、アドバイス記憶部１２０内の複数のアドバイスの中から、ドライバに提示するためのアドバイスを選ぶ。アドバイス決定部１１９は、以上のようにしてドライバに対して提示することに決定したアドバイスを、出力制御部１２１に出力する。
【０１４４】
出力制御部１２１は、アドバイス決定部１１９からアドバイスを受け取ると、アドバイスの出力に関する制御を行う。例えば、出力制御部１２１は、アドバイスをドライバに提示するか否かを決定してもよい。出力制御部１２１は、アドバイスをドライバに提示するタイミングを決定してもよい。
【０１４５】
具体的には、出力制御部１２１は、車両情報管理部１１３を介して車両情報５を取得し、車両情報５から車両１００の状態を推定する。そして、出力制御部１２１は、車両１００の状態に応じて、アドバイスをドライバに提示するか否かということと、アドバイスをドライバに提示するタイミングの、少なくとも一方を決定する。
【０１４６】
例えば、車両１００が停止中または所定の速度未満の低速で直進走行中ならば、出力制御部１２１は、アドバイスをすぐに提示することに決めてもよい。逆に、車両１００が所定の速度以上の高速で走行中であるか、または、右折中もしくは左折中であるならば、出力制御部１２１は、アドバイスを提示しないことに決めてもよく、アドバイスの提示を延期することに決めてもよい。
【０１４７】
また、アドバイス記憶部１２０に記憶されているアドバイスのデータ形式によっては、出力制御部１２１は、アドバイス決定部１１９から通知されたアドバイスを、ディスプレイ１０４および／またはスピーカ１０５から出力可能なデータ形式に変換してもよい。アドバイス記憶部１２０内の各アドバイスのデータ形式は、実施形態に応じて任意である。
【０１４８】
例えば、各アドバイスは、文字列データ（つまりテキストデータ）、画像データ、音声データのいずれであってもよい。１つのアドバイスが、２つ以上のデータ形式で表現されて、各形式のデータがアドバイス記憶部１２０に記憶されていてもよい。逆に、例えば、アドバイス記憶部１２０内でアドバイスが文字列形式で表現されている場合に、出力制御部１２１が文字列データを画像データおよび／または音声データに変換してもよい。
【０１４９】
出力制御部１２１は、ディスプレイ１０４および／またはスピーカ１０５を制御して、ディスプレイ１０４および／またはスピーカ１０５にアドバイスを出力させる。
【０１５０】
さて、図３は、運転診断装置１１０を実現するコンピュータのハードウェア構成図である。図２の運転診断装置１１０は、以下のいずれのハードウェアによって実現されてもよいが、図３には、運転診断装置１１０がコンピュータ２００により実現される場合が例示されている。
【０１５１】
・プログラムを実行する汎用的なコンピュータ。
・ＡＳＩＣ（Application-Specific Integrated Circuit）などの専用ハードウェア回路。
・ＦＰＧＡ（Field Programmable Gate Array）のようなリコンフィギュラブル回路。
・それらの２つ以上の組み合わせ。
【０１５２】
コンピュータ２００は、ＣＰＵ（Central Processing Unit）２０１とＲＡＭ（Random Access Memory）２０２と不揮発性記憶装置２０３を含む。ＣＰＵ２０１はシングルコアまたはマルチコアのプロセッサである。コンピュータ２００は複数のプロセッサを有していてもよい。不揮発性記憶装置２０３は、例えば、ＨＤＤ、ＳＳＤ、またはその組み合わせである。不揮発性記憶装置２０３がＲＯＭ（Read Only Memory）を含んでいてもよい。ＣＰＵ２０１は、プログラムをＲＡＭ２０２にロードし、ＲＡＭ２０２をワークエリアとしても用いながら、プログラムを実行する。
【０１５３】
コンピュータ２００はさらに、以下のようないくつかのインタフェイス回路を有する。
・コンピュータ２００をＣＡＮ１０３に接続するためのＣＡＮインタフェイス２０４（具体的には、ＣＡＮプロトコルにしたがった通信回路）。
・コンピュータ２００をディスプレイ１０４に接続するためのディスプレイインタフェイス２０５（例えばディスプレイコントローラ）。
・コンピュータ２００をスピーカ１０５に接続するためのスピーカインタフェイス２０６（例えばスピーカコントローラ）。
・コンピュータ２００をネットワーク２２０に接続するためのＷＬＡＮインタフェイス２０７（具体的には、物理層とＭＡＣ（Media Access Control）副層の通信回路を含むようなインタフェイス回路）。
【０１５４】
ネットワーク２２０には、サーバ２３０も接続される。よって、コンピュータ２００は、ネットワーク２２０を介してサーバ２３０との間で情報を送受信することができる。ネットワーク２２０は、例えばインターネットであってもよい。ネットワーク２２０の種類によっては、ＷＬＡＮインタフェイス２０７の代わりに、３ＧＰＰ、ＬＴＥ、ＷｉＭＡＸなどの無線通信規格にしたがった無線通信回路が使われてもよい（ＷｉＭＡＸは登録商標）。
【０１５５】
なお、サーバ２３０は、第１実施形態に関して説明した管理装置の例である。サーバ２３０は、ＣＰＵと、ＲＡＭと、通信装置（例えば、有線ＬＡＮインタフェイス、ＷＬＡＮインタフェイスまたは他の種類の無線通信回路）と、記憶装置（例えば、ＨＤＤ、ＳＳＤ、または両者の組み合わせ）を有する。
【０１５６】
さらに、コンピュータ２００は、記憶媒体２４０用のリーダ／ライタ２０８を有する。
例えば、記憶媒体２４０は、ＳＤ（Secure Digital）カードなどの半導体メモリカードでもよい。この場合、リーダ／ライタ２０８はカードリーダ／ライタである。
【０１５７】
記憶媒体２４０はＵＳＢメモリであってもよい。この場合、リーダ／ライタ２０８は、ＵＳＢコントローラを含むＵＳＢインタフェイスである。
【０１５８】
記憶媒体２４０は、磁気ディスク、光磁気ディスク、または光ディスクなどのディスクであってもよい。この場合、リーダ／ライタ２０８はディスクドライブ装置である。光ディスクは、例えば、ＣＤ（Compact Disc）であってもよいし、ＤＶＤ（Digital Versatile Disc）であってもよい。
【０１５９】
コンピュータ２００内の各コンポーネントは、互いにバス２０９で接続される。
なお、ディスプレイ１０４とスピーカ１０５のいずれか一方が省略されてもよい。ディスプレイ１０４が省略される場合、ディスプレイインタフェイス２０５も省略されてよい。スピーカ１０５が省略される場合、スピーカインタフェイス２０６も省略されてよい。
【０１６０】
また、コンピュータ２００は、必ずしもＷＬＡＮインタフェイス２０７（または他の種類の無線通信回路）とリーダ／ライタ２０８の双方を備えている必要はない。具体的には、外部装置１３０がサーバ２３０である場合、リーダ／ライタ２０８は省略されてもよい。逆に、外部装置１３０が記憶媒体２４０である場合、ＷＬＡＮインタフェイス２０７（または他の種類の無線通信回路）は省略されてもよい。
【０１６１】
図２と図３の関係は、以下のとおりである。
車両情報取得部１１１は、ＣＡＮ１０３からデータを取り込むためのＣＡＮインタフェイス２０４と、プログラムを実行するＣＰＵ２０１により実現される。また、ＣＰＵ２０１はクロックジェネレータにより生成されるクロック信号により動作するので、時計１１２もＣＰＵ２０１により実現される。車両情報管理部１１３も、プログラムを実行するＣＰＵ２０１により実現される。車両情報記憶部１１４は、不揮発性記憶装置２０３により実現されてもよく、ＲＡＭ２０２により実現されてもよく、ＲＡＭ２０２と不揮発性記憶装置２０３の組み合わせにより実現されてもよい。
【０１６２】
診断部１１５も、プログラムを実行するＣＰＵ２０１により実現される。
履歴管理部１１６は、ネットワーク２２０を介してサーバ２３０と通信するためのＷＬＡＮインタフェイス２０７と、プログラムを実行するＣＰＵ２０１により実現されてもよい。あるいは、履歴管理部１１６は、記憶媒体２４０にデータを読み書きするためのリーダ／ライタ２０８と、プログラムを実行するＣＰＵ２０１により実現されてもよい。場合によっては、ＷＬＡＮインタフェイス２０７とリーダ／ライタ２０８とＣＰＵ２０１により、履歴管理部１１６が実現されてもよい。
【０１６３】
履歴記憶部１１７は、ＲＡＭ２０２により実現されてもよく、ＲＡＭ２０２と不揮発性記憶装置２０３の組み合わせにより実現されてもよく、不揮発性記憶装置２０３により実現されてもよい。
【０１６４】
判定部１１８は、プログラムを実行するＣＰＵ２０１により実現される。アドバイス決定部１１９も、プログラムを実行するＣＰＵ２０１により実現される。
【０１６５】
アドバイス記憶部１２０は、不揮発性記憶装置２０３により実現される。出力制御部１２１は、ＣＰＵ２０１とディスプレイインタフェイス２０５の組み合わせにより実現されてもよく、ＣＰＵ２０１とスピーカインタフェイス２０６の組み合わせにより実現されてもよい。場合によっては、ＣＰＵ２０１とディスプレイインタフェイス２０５とスピーカインタフェイス２０６の組み合わせにより、出力制御部１２１が実現されてもよい。
【０１６６】
ところで、ＣＰＵ２０１が実行するプログラムは、不揮発性記憶装置２０３にプレインストールされていてもよいし、ネットワーク２２０からダウンロードされて不揮発性記憶装置２０３にインストールされてもよい。また、プログラムが記憶媒体２４０に記憶されて提供され、リーダ／ライタ２０８を介して読み取られ、不揮発性記憶装置２０３にインストールされてもよい。
【０１６７】
ＲＡＭ２０２、不揮発性記憶装置２０３、および記憶媒体２４０は、いずれもコンピュータ読み取り可能で有形の（tangible）記憶媒体の例である。ＲＡＭ２０２、不揮発性記憶装置２０３、および記憶媒体２４０は、いずれも、信号搬送波のような一時的な（transitory）媒体ではない。
【０１６８】
続いて、図４〜６を参照して、第２実施形態で使われる各種データの例を説明する。図４は、車両情報記憶部１１４に記憶される運転記録テーブルと車両テーブルの例を示す図である。
【０１６９】
図４の運転記録テーブル３０１は、日時を示す時刻情報と、その時刻情報に対応づけられた車両情報５とを保持するテーブルである。具体的には、図４の運転記録テーブル３０１の各エントリは、日時、緯度、経度、移動距離、速度、加速度、ヨーレートのフィールドを含む。もちろん、車両１００に搭載される各種センサ等の種類によっては、運転記録テーブル３０１のうちの１つ以上のフィールドが省略されてもよいし、他のフィールドが追加されてもよい。
【０１７０】
図４には、運転記録テーブル３０１の２つのエントリが例示されている。これら２つのエントリは以下のことを示す。
【０１７１】
２０１３年５月２０日１２時１０分丁度に、車両情報取得部１１１がＣＡＮ１０３を介して車両情報５を取得した。このとき、車両１００が北緯３５．５８０１５４度かつ東経１３９．６４２４５３度の位置にあることが検出された。また、このとき、車両１００の速度が０ｋｍ／ｈであること、車両１００の加速度が０．０１Ｇであること、車両１００のヨーレートが０．０°／ｓｅｃであることが検出された。しかし、このとき、移動距離は検出されなかった。
【０１７２】
２０１３年５月２０日１２時１５分３０秒に、車両情報取得部１１１がＣＡＮ１０３を介して車両情報５を取得した。このとき、車両１００が北緯３５．５８１９２５度かつ東経１３９．６４２５６６度の位置にあることが検出された。また、「前回、車両情報取得部１１１が車両情報５を取得してから、車両１００が０．５ｍ移動した」ということも、このとき検出された。さらに、このとき、車両１００の速度が１０ｋｍ／ｈであること、車両１００の加速度が−０．０２Ｇであること、車両１００のヨーレートが０．０°／ｓｅｃであることも検出された。
【０１７３】
さて、図４の車両テーブル３０２も車両情報５の一例である。より具体的には、車両テーブル３０２は、車両情報５のうち、ドライバが現在運転中の車両１００の仕様を示す車両仕様情報の一例である。車両テーブル３０２は、以下のフィールドを含む。
【０１７４】
・車両１００を識別する車両識別子（図４では値が「ＩＤ」と表記されている）。
・車両１００の全幅（図４では値が「ＣＷ」と表記されている）。
・車両１００の車重（図４では値が「Ｗｅｉｇｈｔ」と表記されている）。
・車両１００のエンジン出力性能（図４では値が「Ｐｐｅｒｆｏｒｍ」と表記されている）。
・車両１００のハンドリング性能（図４では値が「Ｈｐｅｒｆｏｒｍ」と表記されている）。
【０１７５】
もちろん、実施形態によっては、車両テーブル３０２のうちの１つ以上のフィールドが省略されてもよいし、他のフィールドが追加されてもよい。車両テーブル３０２内の各フィールドの値は、運転診断装置１１０が車両１００に搭載されるときに、予め設定されてもよい。あるいは、車両テーブル３０２内の各フィールドの値は、ＣＡＮ１０３を介して、例えばいずれかのＥＣＵから、車両情報取得部１１１により取得されてもよい。
【０１７６】
さて、図５は、履歴記憶部１１７に記憶される車両テーブル、運転履歴テーブル、および統計テーブルの例を示す図である。第２実施形態では、履歴情報７が、具体的には３種類のテーブルのデータにより表される。つまり、履歴情報７は、車両テーブル３０３−１〜３０３−Ｐのデータと、運転履歴テーブル３０４−１〜３０４−Ｑのデータと、統計テーブル３０５のデータを含む（１≦Ｐ≦Ｑ）。
【０１７７】
各車両テーブル３０３−ｉ（１≦ｉ≦Ｐ）は、ドライバが運転したことのある各車両の種々の属性値を記憶するためのテーブルである。車両の属性には様々な種類があるが、図５の例では、各車両テーブル３０３−ｉは、以下のフィールドを含む。
【０１７８】
・車両を識別する車両識別子（図５では値が「ＩＤ」と表記されている）。
・車両識別子により識別される車両の全幅（図５では値が「ＣＷ」と表記されている）。
・車両識別子により識別される車両の重量（図５では値が「Ｗｅｉｇｈｔ」と表記されている）。
・車両識別子により識別される車両のエンジン出力性能（図５では値が「Ｐｐｅｒｆｏｒｍ」と表記されている）。
・車両識別子により識別される車両のハンドリング性能（図５では値が「Ｈｐｅｒｆｏｒｍ」と表記されている）。
【０１７９】
なお、エンジン出力性能は、具体的には、パワー・トゥ・ウェイト・レシオ（power-to-weight ratio）により表されてもよい。パワー・トゥ・ウェイト・レシオは、例えば［ｐｓ／ｋｇ］単位で示されてもよい。あるいは、エンジン出力性能は、最大出力により表されてもよい。最大出力は、例えば馬力（ｐｓ）単位で示されてもよい。また、ハンドリング性能は、例えば、ハンドルの切り角（すなわちドライバがハンドルを回した角度）に対する、タイヤの切れ角（すなわちドライバのハンドル操作に応じたタイヤのヨー角の変化量）の比により表されてもよい。
【０１８０】
ところで、「Ｐ」は、ドライバが今までに運転したことのある車両（ドライバが現在運転中の車両１００を含む）の台数を、重複なしに数えた値である。よって、１≦Ｐである。また、「Ｑ」は、ドライバが今までに運転した車両の延べ台数（すなわち、ある車両識別子を持つ車両を複数回ドライバが運転した場合には、重複して数えられる値）である。よって、Ｐ≦Ｑである。
【０１８１】
例えば、複数の車両を複数人のドライバたちに貸し出すカーシェアリングサービス（またはレンタカーサービス）を、あるドライバが利用しているとする。そして、貸し出し対象の各車両には、図２の運転診断装置１１０が搭載されているとする。ドライバが、例えば以下のようにサービスを４回利用した場合、Ｐ＝３でありＱ＝４である。
【０１８２】
・最初にサービスを利用するときには、ドライバは、車両識別子が２番の車両を借りる。
・２回目にサービスを利用するときには、ドライバは、車両識別子が７番の車両を借りる。
・３回目にサービスを利用するときには、ドライバは、車両識別子が８番の車両を借りる。
・４回目にサービスを利用するときには、ドライバは、車両識別子が２番の車両を借りる。
【０１８３】
もちろん、各実施形態は、ドライバがカーシェアリングサービス（またはレンタカーサービス）を利用する場合に適用可能なだけでなく、ドライバが車両を所有する場合にも適用可能である。例えば、あるドライバは次々に自分の乗用車を買い替えるかもしれず、したがって、以前所有していた車両を運転した経験が、新たに購入した車両の運転に対して影響を与える可能性がある。よって、各実施形態は、ドライバがカーシェアリングサービス（またはレンタカーサービス）を利用する場合だけでなく、ドライバが車両を所有する場合にも、ドライバに対してより適切なアドバイスを提供するうえで有益である。
【０１８４】
車両テーブル３０３−１〜３０３−Ｐのうちの１つは、車両１００に関する車両仕様情報を示すテーブルであり、したがって、図４の車両テーブル３０２に等しい。
【０１８５】
さて、各運転履歴テーブル３０４−ｉ（１≦ｉ≦Ｑ）は、ドライバがｉ番目にどの車両を運転したのかを示すとともに、ｉ番目の運転に関する時間的情報と、ｉ番目の運転に対する診断結果とを示す。具体的には、図５の例では、各運転履歴テーブル３０４−ｉは、以下のフィールドを含む。なお、以下では説明の便宜上、ドライバがｉ番目に運転した車両を「ｉ番目の車両」ともいう。
【０１８６】
・運転履歴テーブル３０４−ｉを識別する運転履歴番号（図５では値が「Ｎｕｍ」と表記されている）。
・ｉ番目の車両を識別する車両識別子（この車両識別子は、車両テーブル３０３−１〜３０３−Ｐのいずれかの車両識別子に等しいので、図５では値が「ＩＤ」と表記されている）。
・ドライバがｉ番目の車両を運転していた運転時間（図５では値が「ＴｉｍｅＰｅｒｉｏｄ」と表記されている）。
・ドライバがｉ番目の車両の運転を開始した運転開始日時（図５では値が「ＳｔａｒｔＴｉｍｅ」と表記されている）。
・ドライバがｉ番目の車両を運転していたときのハンドル操作に関して下された診断の結果（図５では値が「ＤｉａｇＲｅｓ（１）」と表記されている）。
・ドライバがｉ番目の車両を運転していたときの走行位置に関して下された診断の結果（図５では値が「ＤｉａｇＲｅｓ（２）」と表記されている）。
・ドライバがｉ番目の車両を運転していたときの急加速に関して下された診断の結果（図５では値が「ＤｉａｇＲｅｓ（３）」と表記されている）。
【０１８７】
なお、運転時間は、ドライバがｉ番目の車両の運転を開始した時刻から、ドライバがｉ番目の車両の運転を終了した時刻までの時間の長さであってもよい。または、ドライバがｉ番目の車両を断続的に運転する場合には、ドライバがｉ番目の車両を連続して運転していたいくつかの期間のうち、最も長い期間の長さが、運転時間として運転履歴テーブル３０４−ｉに記憶されてもよい。最長の期間の長さのかわりに、上記のいくつかの期間の長さの和もしくは平均値などが運転時間として使われてもよい。
【０１８８】
例えば、ドライバがｉ番目の車両を５０分運転し、１０分休憩し、その後、２０分運転したとする。この場合、実施形態に応じて、運転時間の定義は以下のいずれであってもよい。
【０１８９】
・８０（＝５０＋１０＋２０）分。すなわち、運転開始時刻から運転終了時刻までの時間の長さ。
・５０分。すなわち、ドライバが連続して車両を運転した期間のうち、最長の期間の長さ。
・７０（＝５０＋２０）分。すなわち、ドライバが連続して車両を運転した２つの期間の長さの和。
・３５（＝（５０＋２０）／２）分。すなわち、ドライバが連続して車両を運転した２つの期間の長さの平均値。
【０１９０】
また、図５では上記のとおり、３つの診断項目に関する過去の診断結果が運転履歴テーブル３０４−ｉに含まれる。しかし、必ずしも履歴情報（例えば運転履歴テーブル３０４−ｉ）が過去の診断結果を含む必要はない。また、どの診断項目についての過去の診断結果を運転履歴テーブル３０４−ｉに含め、どの診断項目についての過去の診断結果を運転履歴テーブル３０４−ｉに含めないか、ということも、実施形態に応じて適宜定めてよい。
【０１９１】
また、ドライバがｉ番目の車両を運転している間に、ある診断項目について２回以上診断が下されることもあり得る。
【０１９２】
例えば、ドライバがｉ番目の車両を運転していたときに、ハンドル操作に関して２５回診断が下されたとする。この場合、運転履歴テーブル３０４−ｉには、２５個の診断結果６を代表する値が記憶されることが好ましい。
【０１９３】
例えば、２５個の診断結果６の最頻値、平均値、または中央値が使われてもよい。あるいは、最高の診断結果６と最低の診断結果６を除く２３個の診断結果６の平均値が使われてもよい。場合によっては、最高または最低の診断結果６によって２５個の診断結果６が代表されてもよい。
【０１９４】
以上例示したように、ある診断項目について複数回診断が下された場合は、実施形態に応じて予め決められたポリシに基づいて、複数の診断結果６を代表する値が、選択または計算され、運転履歴テーブル３０４−ｉに記憶される。
【０１９５】
さて、統計テーブル３０５は、ドライバが今までに何回車両を乗り換えたかを示す。以下では、統計テーブル３０５に示される乗り換え回数を「Ｃｎｔ」とも表記する。第２実施形態では、乗り換え回数Ｃｎｔは、（Ｑ−１）に等しい。
【０１９６】
統計テーブル３０５の乗り換え回数は、ドライバの運転履歴を簡単に要約する履歴情報７の一種である。一方、各運転履歴テーブル３０４−ｉは、ドライバが今までに運転した各車両の運転履歴についての詳細な履歴情報７の例である。また、各車両テーブル３０３−ｉは、履歴情報７のうち、車両の仕様を示す車両仕様情報の例である。
【０１９７】
さて、図６は、アドバイス記憶部１２０に記憶されるアドバイステーブルの例を示す図である。具体的には、図６には、ｊ番目の診断項目に関するアドバイステーブル３０６−ｊが例示されている。
【０１９８】
例えば、ｊ番目の診断項目についての診断結果６は、１から１０までの整数で表されるものとする。図６では、ｊ番目の診断項目についての診断結果６が「Ｒｅｓ（ｊ）」と表記されている。
【０１９９】
また、ｊ番目の診断項目についての影響度８（つまり、ｊ番目の診断項目の診断結果６に過去の運転経験が与える影響の度合い）は、ある範囲内の実数で表されるものとする。図６では、ｊ番目の診断項目についての影響度８が「Ｉｎｆ（ｊ）」と表記されている。
【０２００】
アドバイステーブル３０６−ｊは、具体的には、２１個のアドバイスＡｄｖ（ｊ，１，１）〜Ａｄｖ（ｊ，３，７）を含む。各アドバイスは、診断結果Ｒｅｓ（ｊ）と影響度Ｉｎｆ（ｊ）の組み合わせに対応づけられている。もちろん、アドバイスの個数は、実施形態に応じて任意である。
【０２０１】
図１の記憶部３に関して説明したとおり、診断結果６と影響度８の組み合わせは、具体的には、診断結果６を示す値の集合（例えば値の範囲）と、影響度８を示す値の集合（例えば値の範囲）との組み合わせにより表されてもよい。
【０２０２】
図６の例では、診断結果Ｒｅｓ（ｊ）の値の範囲として、以下の３つの範囲が使われる。
【０２０３】
・１≦Ｒｅｓ（ｊ）≦３
・４≦Ｒｅｓ（ｊ）≦７
・８≦Ｒｅｓ（ｊ）≦１０
【０２０４】
診断結果６の値をいくつの範囲に分類するかは、診断項目に応じて任意に決められてよい。また、範囲同士の境界の値も、診断項目に応じて任意に決められてよい。
【０２０５】
また、図６の例では、影響度Ｉｎｆ（ｊ）の値の範囲として、以下の７つの範囲が使われる。
【０２０６】
・Ｉｎｆ（ｊ）≦−ｎ（ｊ）
・−ｎ（ｊ）＜Ｉｎｆ（ｊ）≦−ｍ（ｊ）
・−ｍ（ｊ）＜Ｉｎｆ（ｊ）＜０
・Ｉｎｆ（ｊ）＝０
・０＜Ｉｎｆ（ｊ）＜ｍ（ｊ）
・ｍ（ｊ）≦Ｉｎｆ（ｊ）＜ｎ（ｊ）
・ｎ（ｊ）≦Ｉｎｆ（ｊ）
【０２０７】
影響度８の値をいくつの範囲に分類するかは、診断項目に応じて任意に決められてよい。また、範囲同士の境界の値も、診断項目に応じて任意に決められてよい。なお、図６に示すｎ（ｊ）とｍ（ｊ）は、ｊ番目の診断項目に関して予め決められた正の閾値であり、ｍ（ｊ）＜ｎ（ｊ）を満たす。
【０２０８】
影響度Ｉｎｆ（ｊ）の算出に使われる式に応じて、影響度Ｉｎｆ（ｊ）に上限、下限、またはその双方がある場合もあり得るし、影響度Ｉｎｆ（ｊ）に上限も下限もない場合もあり得る。
【０２０９】
また、診断項目ごとに、影響度Ｉｎｆ（ｊ）の取り得る値の範囲が異なっていてもよい。つまり、どの診断項目でも影響度Ｉｎｆ（ｊ）の取り得る値の範囲が同じになるようにするための正規化は、必要ではない。なぜなら、診断項目ごとに、別々のアドバイステーブルが設けられるからである。影響度Ｉｎｆ（ｊ）の取り得る値の範囲に応じて、ｊ番目の診断項目用のアドバイステーブル３０６−ｊにおいて、例えばｍ（ｊ）やｎ（ｊ）のような閾値が適宜定められればよい。
【０２１０】
例えば、ｊ番目の診断項目についての影響度８の範囲が−１以上１以下である場合、ｍ（ｊ）が１／３であってもよく、ｎ（ｊ）が２／３であってもよい。もちろん、閾値ｍ（ｊ）とｎ（ｊ）の値は、１／３と２／３以外の他の値であってもよい。閾値ｍ（ｊ）とｎ（ｊ）の値は、任意に決められてよい。
【０２１１】
また、上記の例では、−ｎ（ｊ）とｎ（ｊ）という対称的な閾値が使われており、−ｍ（ｊ）とｍ（ｊ）という対称的な閾値が使われている。しかし、必ずしも正と負の対称的な閾値が使われなくてもよい。
【０２１２】
なお、図６では、診断結果６の３つの範囲のいずれに対しても、影響度８の上記の７つの範囲が組み合わされている。しかし、実施形態によっては、診断結果６の範囲ごとに、組み合わされる影響度８の範囲の定義（例えば、範囲の個数や、範囲同士の境界の値）が異なっていてもよい。
【０２１３】
アドバイステーブル３０６−ｊについての理解の助けとするために、以下に、より具体的な例をいくつか説明する。
【０２１４】
例えば、ｊ番目の診断項目が、ハンドルの切り方についての項目である場合について説明する。説明の便宜上、診断結果Ｒｅｓ（ｊ）の値が小さいほど、車両１００のカーブの仕方が急であることを示すものとする。例えば、１≦Ｒｅｓ（ｊ）≦３のとき、車両１００は曲がり過ぎであり、４≦Ｒｅｓ（ｊ）≦７のとき車両１００のカーブの仕方は適正であり、８≦Ｒｅｓ（ｊ）≦１０のとき、車両１００は十分に曲がっていない。
【０２１５】
また、判定部１１８は、ドライバが現在運転中の車両１００のハンドル性能の方が、ドライバが過去に運転した他の車両のハンドル性能よりもシャープなときに、影響度Ｉｎｆ（ｊ）が正となるように、影響度Ｉｎｆ（ｊ）を算出してもよい。換言すれば、判定部１１８は、ドライバが過去に運転した他の車両のハンドル性能の方が、ドライバが現在運転中の車両１００のハンドル性能よりもシャープなときに、影響度Ｉｎｆ（ｊ）が負となるように、影響度Ｉｎｆ（ｊ）を算出してもよい。
【０２１６】
図６によれば、アドバイスＡｄｖ（ｊ，１，１）は、１≦Ｒｅｓ（ｊ）≦３を満たす診断結果Ｒｅｓ（ｊ）と、Ｉｎｆ（ｊ）≦−ｎ（ｊ）を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。アドバイスＡｄｖ（ｊ，１，１）は、例えば、以下のようなアドバイスであってもよい。
【０２１７】
「ハンドルの切り始めで、あなたはハンドルを切りすぎています。以前あなたが運転していた車両より、本車両は、ハンドル操作に対する反応がかなり鈍いので、あなたは、おそらくその鈍さを補うために、過剰にハンドルを操作しているのだと思われます。余裕をもって早めのハンドル操作を心がけましょう。」
【０２１８】
また、図６によれば、アドバイスＡｄｖ（ｊ，１，４）は、１≦Ｒｅｓ（ｊ）≦３を満たす診断結果Ｒｅｓ（ｊ）と、Ｉｎｆ（ｊ）＝０を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。アドバイスＡｄｖ（ｊ，１，４）は、例えば、以下のようなアドバイスであってもよい。
【０２１９】
「ハンドルの切り始めで、あなたはハンドルを切りすぎています。ゆるやかなハンドル操作を心がけましょう。」
【０２２０】
また、図６によれば、アドバイスＡｄｖ（ｊ，１，７）は、１≦Ｒｅｓ（ｊ）≦３を満たす診断結果Ｒｅｓ（ｊ）と、ｎ（ｊ）≦Ｉｎｆ（ｊ）を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。アドバイスＡｄｖ（ｊ，１，７）は、例えば、以下のようなアドバイスであってもよい。
【０２２１】
「ハンドルの切り始めで、あなたはハンドルを切りすぎています。以前あなたが運転していた車両より、本車両は、ハンドル操作に対する反応がかなり敏感なため、あなたの予想以上に車両が曲がってしまいます。以前よりゆるやかなハンドル操作を心がけましょう。」
【０２２２】
以上の例示から分かるように、例えば、診断結果Ｒｅｓ（ｊ）の値が２であった場合、「２」という診断結果だけに基づく一律のアドバイスが提示されるのでなく、影響度Ｉｎｆ（ｊ）に応じたアドバイスが提示される。すなわち、ドライバ個人の運転履歴を考慮した適切なアドバイスが提示される。よって、運転診断装置１１０は、ドライバの運転を適切に支援することができる。
【０２２３】
別の例として、ｊ番目の診断項目が、車両１００の走行位置についての項目である場合について説明する。説明の便宜上、診断結果Ｒｅｓ（ｊ）の値が小さいほど、車両１００は車線の左端に近いところを走行しているものとする。例えば、１≦Ｒｅｓ（ｊ）≦３のとき、車両１００は車線の左側に寄っており、４≦Ｒｅｓ（ｊ）≦７のとき車両１００は車線の中央付近を適切に走行しており、８≦Ｒｅｓ（ｊ）≦１０のとき、車両１００は車線の右側に寄っている。
【０２２４】
また、判定部１１８は、ドライバが現在運転中の車両１００の車幅の方が、ドライバが過去に運転した他の車両の車幅よりも広いときに、影響度Ｉｎｆ（ｊ）が正となるように、影響度Ｉｎｆ（ｊ）を算出してもよい。換言すれば、判定部１１８は、ドライバが過去に運転した他の車両の車幅の方が、ドライバが現在運転中の車両１００の車幅よりも広いときに、影響度Ｉｎｆ（ｊ）が負となるように、影響度Ｉｎｆ（ｊ）を算出してもよい。
【０２２５】
例えば、運転診断装置１１０が搭載される車両１００において運転席が右側にあり、かつ、ドライバが過去に運転した他の車両の車幅よりも、現在ドライバが運転している車両１００の車幅が狭い場合があり得る。この場合、影響度Ｉｎｆ（ｊ）は負である。また、ドライバが、車線内でのドライバ自身の位置を、過去と同様の位置に保とうとする可能性があり、その結果、車両１００が車線の右側に寄ってしまう可能性がある。
【０２２６】
実際に車両１００が車線の右側に寄ってしまうと、診断結果Ｒｅｓ（ｊ）が８≦Ｒｅｓ（ｊ）≦１０を満たす。例えば、図６によれば、アドバイスＡｄｖ（ｊ，３，１）は、８≦Ｒｅｓ（ｊ）≦１０を満たす診断結果Ｒｅｓ（ｊ）と、Ｉｎｆ（ｊ）≦−ｎ（ｊ）を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。よって、アドバイスＡｄｖ（ｊ，３，１）は、例えば、以下のようなアドバイスであってもよい。
【０２２７】
「直進時に、あなたは右に車両を寄せて走行しています。以前あなたが運転していた車両と比べて、本車両はかなり横幅が狭いので、本車両で走行する際には、車線の右側のラインと車両との間の幅を、以前よりも空けるように心がけてください。」
【０２２８】
一方、車両１００において運転席が右側にあり、かつ、ドライバが過去に運転した他の車両の車幅よりも、車両１００の車幅が狭い場合に、上記の例とは逆に、車両１００が車線の左側に寄ってしまう可能性もあり得る。例えば、ドライバが、車線の左側のラインと車両１００の左側面との間の距離を、過去と同様の距離に保とうと意識している場合などに、車両１００が車線の左側に寄ってしまう可能性がある。
【０２２９】
実際に車両１００が車線の左側に寄ってしまうと、診断結果Ｒｅｓ（ｊ）が１≦Ｒｅｓ（ｊ）≦３を満たす。例えば、図６によれば、アドバイスＡｄｖ（ｊ，１，１）は、１≦Ｒｅｓ（ｊ）≦３を満たす診断結果Ｒｅｓ（ｊ）と、Ｉｎｆ（ｊ）≦−ｎ（ｊ）を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。アドバイスＡｄｖ（ｊ，１，１）は、例えば、以下のようなアドバイスであってもよい。
【０２３０】
「直進時に、あなたは左に車両を寄せて走行しています。以前あなたが運転していた車両と比べて、本車両はかなり横幅が狭いので、本車両で走行する際には、車線内中央を走行するために、左側のラインと車両との間の幅を空けることを意識し、慎重に走行してください。」
【０２３１】
なお、アドバイステーブル３０６−ｊの内容は、車両１００の仕様（例えば、運転席が右側にあるか左側にあるか、など）に応じて決められていてもよい。
【０２３２】
さらに別の例として、ｊ番目の診断項目が、アクセル操作についての項目である場合について説明する。説明の便宜上、診断結果Ｒｅｓ（ｊ）の値が小さいほど、加速が急激であるものとする。例えば、１≦Ｒｅｓ（ｊ）≦３のとき、加速の仕方が急激すぎ、４≦Ｒｅｓ（ｊ）≦７のとき加速の仕方は適正であり、８≦Ｒｅｓ（ｊ）≦１０のとき、加速の仕方が緩やかすぎる。
【０２３３】
また、判定部１１８は、ドライバが現在運転中の車両１００の加速性能の方が、ドライバが過去に運転した他の車両の加速性能よりも高いときに、影響度Ｉｎｆ（ｊ）が正となるように、影響度Ｉｎｆ（ｊ）を算出してもよい。換言すれば、判定部１１８は、ドライバが過去に運転した他の車両の加速性能の方が、ドライバが現在運転中の車両１００の加速性能よりも高いときに、影響度Ｉｎｆ（ｊ）が負となるように、影響度Ｉｎｆ（ｊ）を算出してもよい。
【０２３４】
例えば、図６によれば、アドバイスＡｄｖ（ｊ，１，１）は、１≦Ｒｅｓ（ｊ）≦３を満たす診断結果Ｒｅｓ（ｊ）と、Ｉｎｆ（ｊ）≦−ｎ（ｊ）を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。アドバイスＡｄｖ（ｊ，１，１）は、例えば、以下のようなアドバイスであってもよい。
【０２３５】
「あなたは本車両を急加速させています。以前あなたが運転していた車両と比べて、本車両は加速性能が劣るので、あなたは、おそらく加速性能の低さを補おうとして、大分アクセルペダルを踏み込みすぎているものと思われます。本車両の特性をあなたが理解するのに大分時間がかかるかもしれませんが、今のあなたの運転の仕方だと、燃費も悪くなります。スムーズな加速を意識した運転を心がけましょう。」
【０２３６】
また、図６によれば、アドバイスＡｄｖ（ｊ，１，７）は、１≦Ｒｅｓ（ｊ）≦３を満たす診断結果Ｒｅｓ（ｊ）と、ｎ（ｊ）≦Ｉｎｆ（ｊ）を満たす影響度Ｉｎｆ（ｊ）に対応づけられている。アドバイスＡｄｖ（ｊ，１，７）は、例えば、以下のようなアドバイスであってもよい。
【０２３７】
「あなたは本車両を急加速させています。以前あなたが運転していた車両と比べて、本車両は加速性能が優れています。あなたは、おそらく過去の車両と同様の感覚でアクセルペダルを踏み込んでいるため、急加速になっているものと思われます。本車両の特性に慣れるのに大分時間がかかるかもしれませんが、今のあなたの運転の仕方だと、燃費も悪くなります。緩やかなアクセル操作を意識した運転を心がけましょう。」
【０２３８】
続いて、図７〜９を参照して、第２実施形態で行われる処理について説明する。図７は、運転診断装置１１０が実行する処理のフローチャートである。
【０２３９】
車両１００が起動されると、運転診断装置１１０が図７の処理を開始する。具体的には、ドライバがイグニッションキーを鍵穴に差し込んでキーを所定の位置まで回転させると、運転診断装置１１０にスイッチが入って運転診断装置１１０が起動する。そして、運転診断装置１１０が図７の処理を開始する。
【０２４０】
図７の処理は、以下の４種類の処理を含む。第１の処理は、運転診断装置１１０が稼働している間、車両情報５の取得と記憶のために繰り返し実行される、ステップＳ１０１〜Ｓ１０４の処理である。第１の処理と並行して、第２〜第４の処理が実行される。第２の処理は、ステップＳ１０５〜Ｓ１０６の初期化処理である。第３の処理は、運転診断装置１１０が稼働している間、診断とアドバイスの提示のために繰り返し実行される、ステップＳ１０７〜Ｓ１１５の処理である。第４の処理は、運転診断装置１１０のスイッチがオフにされるときに実行される、ステップＳ１１６の後処理である。以下、具体的にステップＳ１０１〜Ｓ１１６について説明する。
【０２４１】
運転診断装置１１０が起動すると、ステップＳ１０１で車両情報取得部１１１は、各種の車両情報５（例えば、緯度、経度、移動距離、速度、加速度、ヨーレートなど）を取得する。上記のとおり、車両情報取得部１１１は、ＣＡＮ１０３を介して車両情報５を取得してもよいし、車両情報取得部１１１に信号線で接続されたセンサまたはＥＣＵから車両情報５を取得してもよい。車両情報取得部１１１は、取得した車両情報５を車両情報管理部１１３に出力する。
【０２４２】
すると、ステップＳ１０２で車両情報管理部１１３は、時刻と対応づけて車両情報５を車両情報記憶部１１４に記憶する。具体的には、車両情報管理部１１３は、時計１１２を参照して現在時刻を読み取る。そして、車両情報管理部１１３は、現在時刻と、車両情報取得部１１１から得た車両情報５とを対応づけるエントリを、運転記録テーブル３０１に追加する。
【０２４３】
次に、ステップＳ１０３で車両情報取得部１１１は、「運転診断装置１１０が稼働中かどうか」を判定する。例えば、運転診断装置１１０のスイッチを切るための割り込み信号が検出されていれば、車両情報取得部１１１は「運転診断装置１１０は稼働中ではない」と判定する。逆に、割り込み信号が検出されていなければ、車両情報取得部１１１は「運転診断装置１１０は稼働中である」と判定する。
【０２４４】
運転診断装置１１０が稼働中でないと判定されると、上記第１の処理（つまりステップＳ１０１〜Ｓ１０４の処理）は終了する。逆に、運転診断装置１１０が稼働中の場合、次に、ステップＳ１０４で車両情報取得部１１１は、所定時間の経過を待つ。ステップＳ１０４での所定時間は、車両情報取得部１１１が車両情報５を取得する間隔である。所定時間は実施形態に応じて適宜決められていてよい。所定時間が経過すると、車両情報取得部１１１は再度ステップＳ１０１を実行する。
【０２４５】
一方、上記のとおり、ステップＳ１０１〜Ｓ１０４と並行して、ステップＳ１０５〜Ｓ１１６が実行される。具体的には、運転診断装置１１０が起動すると、ステップＳ１０５で履歴管理部１１６は、過去の運転に関する履歴情報７を外部装置１３０から取得し、取得した履歴情報７を履歴記憶部１１７に記憶する。
【０２４６】
例えば、外部装置１３０が記憶媒体２４０である場合、履歴管理部１１６は、記憶媒体２４０から以下のデータを読み取り、読み取ったデータを履歴記憶部１１７に記憶する。
【０２４７】
・ドライバが今までに運転したことのある各車両についての車両テーブルのデータ。
・ドライバの過去の運転履歴に関する運転履歴テーブルのデータ。
【０２４８】
また、履歴管理部１１６は、記憶媒体２４０に記憶されている運転履歴テーブルの数を数え、その数えた値を、乗り換え回数Ｃｎｔとして統計テーブル３０５に書き込む。
【０２４９】
なお、もしドライバが、過去に他の車両も車両１００自体も運転したことがなければ、記憶媒体２４０には車両テーブルも運転履歴テーブルも記憶されていない。この場合、履歴管理部１１６は、統計テーブル３０５に、乗り換え回数Ｃｎｔとして０という値を書き込む。
【０２５０】
あるいは、外部装置１３０はサーバ２３０であってもよい。この場合、履歴管理部１１６は、ネットワーク２２０を介してサーバ２３０にアクセスする。その際、履歴管理部１１６は、これから車両１００を運転しようとするドライバを識別する識別子（以下「ドライバＩＤ」という）をサーバ２３０に通知する。
【０２５１】
例えば、ドライバは、ドライバＩＤを記憶したカードキーまたは記憶媒体を携帯してもよい。ドライバＩＤを記憶する記憶媒体は、外部装置１３０として使われる記憶媒体２４０であってもよいし、他の記憶媒体であってもよい。運転診断装置１１０が起動したら、履歴記憶部１１７は、カードキーまたは記憶媒体からドライバＩＤを読み取り、ドライバＩＤをサーバ２３０に通知する。
【０２５２】
サーバ２３０は、複数のドライバについての履歴情報７（具体的には運転履歴テーブル）を記憶していてもよい。また、サーバ２３０は、複数の車両それぞれについての車両テーブルを記憶しているものとする。
【０２５３】
サーバ２３０は、履歴管理部１１６から通知されたドライバＩＤに対応づけられた運転履歴テーブルを検索する。
【０２５４】
もし、ドライバが、サーバ２３０に車両テーブルが登録されているどの車両も過去に運転したことがなければ、当該ドライバの運転履歴テーブルも存在しない。この場合、サーバ２３０は、運転履歴テーブルが存在しないことを履歴管理部１１６に通知する。すると、履歴管理部１１６は、統計テーブル３０５に、乗り換え回数Ｃｎｔとして０という値を書き込む。
【０２５５】
逆に、ドライバが、サーバ２３０に車両テーブルが登録されている少なくとも１台の車両を過去に運転したことがあれば、通知されたドライバＩＤに対応づけられた１つ以上の運転履歴テーブルが、上記検索の結果として見つかる。この場合、サーバ２３０は、見つかった各運転履歴テーブルの車両識別子により識別される車両テーブルを検索する。検索の結果、１つ以上の車両テーブルが見つかる。サーバ２３０は、見つかった各運転履歴テーブルのデータと、見つかった各車両テーブルのデータを、ネットワーク２２０を介して履歴管理部１１６に送信する。
【０２５６】
すると、履歴管理部１１６は、サーバ２３０からデータを受信した各運転履歴テーブルと各車両テーブルを、履歴管理部１１６に記憶する。また、履歴管理部１１６は、サーバ２３０からデータを受信した運転履歴テーブルの数を数え、その数えた値を、乗り換え回数Ｃｎｔとして統計テーブル３０５に書き込む。
【０２５７】
以上のとおり、外部装置１３０が記憶媒体２４０であれサーバ２３０であれ、ステップＳ１０５では、過去の運転履歴に関する履歴情報７が履歴管理部１１６に記憶される。なお、ドライバの過去の運転履歴には、以下の第１〜第４の場合があり得る。それぞれの場合におけるステップＳ１０５の実行の結果は、以下に説明するとおりである。
【０２５８】
第１の場合は、「ドライバは、運転診断装置１１０を搭載したどの車両も今までに運転したことがない」という場合である。第１の場合は、図５においてＰ＝Ｑ＝１の場合に相当する（なお、図５は、後述のステップＳ１０６の実行後の履歴記憶部１１７の状態を示すものとする）。
【０２５９】
第１の場合、ステップＳ１０５ではまだ車両テーブルは記憶されない。また、第１の場合、ステップＳ１０５ではまだ運転履歴テーブルも記憶されない。よって、第１の場合、統計テーブル３０５には、乗り換え回数Ｃｎｔとして０という値が記憶される。
【０２６０】
第２の場合は、「ドライバは、過去にＤ１回、車両１００を運転したことがあるが、運転診断装置１１０を搭載した他の車両は今まで運転したことがない（Ｄ１≧１）」という場合である。第２の場合は、図５においてＰ＝１かつＱ＝Ｄ１＋１の場合に相当する。
【０２６１】
第２の場合、ステップＳ１０５では、車両１００の仕様を示す車両テーブル３０３−１が記憶される。また、第２の場合、ステップＳ１０５では、ドライバが過去に車両１００を運転した履歴に関する運転履歴テーブル３０４−１〜３０４−（Ｑ−１）が記憶される。よって、第２の場合、統計テーブル３０５には、乗り換え回数Ｃｎｔとして（Ｑ−１）という値が記憶される。
【０２６２】
第３の場合は、「ドライバは、過去に車両１００自体を運転したことはないが、運転診断装置１１０を搭載した他の１台以上の車両を今までに合計でＤ２回、運転したことがある（Ｄ２≧１）」という場合である。第３の場合は、図５においてＰ＞１かつＱ＝Ｄ２＋１の場合に相当する。
【０２６３】
第３の場合、ステップＳ１０５では、ドライバが過去に運転したことのある（Ｐ−１）台の車両に関する車両テーブル３０３−１〜３０３−（Ｐ−１）が記憶される。なお、第３の場合、車両１００自体に関する車両テーブル３０３−Ｐは、後述のステップＳ１０６で記憶される。また、第３の場合、ステップＳ１０５では、ドライバが過去に他の（Ｐ−１）台の車両を合計で（Ｑ−１）回運転した履歴に関する運転履歴テーブル３０４−１〜３０４−（Ｑ−１）が記憶される。よって、第３の場合、統計テーブル３０５には、乗り換え回数Ｃｎｔとして（Ｑ−１）という値が記憶される。
【０２６４】
第４の場合は、「ドライバは、過去にＤ１回、車両１００自体を運転したことがあり、かつ、運転診断装置１１０を搭載した他の１台以上の車両を今までに合計でＤ２回、運転したことがある（Ｄ１≧１かつＤ２≧１）」という場合である。第４の場合は、図５においてＰ＞１かつＱ＝Ｄ１＋Ｄ２＋１の場合に相当する。
【０２６５】
第４の場合、ステップＳ１０５では、ドライバが過去に運転したことのあるＰ台の車両に関する車両テーブル３０３−１〜３０３−Ｐが記憶される。第４の場合、車両テーブル３０３−１〜３０３−Ｐのうちの１つは、車両１００の仕様を示すものである。また、第４の場合、ステップＳ１０５では、ドライバの過去の運転履歴に関する運転履歴テーブル３０４−１〜３０４−（Ｑ−１）が記憶される。よって、第４の場合、統計テーブル３０５には、乗り換え回数Ｃｎｔとして（Ｑ−１）という値が記憶される。
【０２６６】
さて、以上説明したステップＳ１０５に続いて、ステップＳ１０６では、ドライバが現在運転中の車両１００に特有の情報（すなわち車両１００の車両仕様情報）を履歴管理部１１６が取得する。具体的には、履歴管理部１１６は、車両情報管理部１１３に対して車両テーブル３０２のデータを転送するよう要求する。車両情報管理部１１３は、車両情報記憶部１１４から車両テーブル３０２のデータを読み出し、データを履歴管理部１１６に出力する。
【０２６７】
なお、第２実施形態では、車両テーブル３０２が予め車両情報記憶部１１４に記憶されているものとする。例えば、運転診断装置１１０が車両１００に搭載されるときに、車両テーブル３０２の各フィールドの値が設定されてもよい。よって、車両情報管理部１１３は、ステップＳ１０６での履歴管理部１１６からの要求に応じて、車両テーブル３０２のデータを読み出すことができる。
【０２６８】
実施形態によっては、車両情報取得部１１１が、１回目にステップＳ１０１を実行するときに、車両テーブル３０２の各フィールドに相当する車両情報５もＣＡＮ１０３を介して取得することにしてもよい。車両情報管理部１１３は、１回目にステップＳ１０２を実行するときに、車両情報取得部１１１から出力される車両情報５に基づいて運転記録テーブル３０１にエントリを追加するだけでなく、車両テーブル３０２の各フィールドに値を設定してもよい。
【０２６９】
いずれにせよ、ステップＳ１０６では、履歴管理部１１６が車両情報管理部１１３を介して車両テーブル３０２のデータを取得する。
【０２７０】
履歴管理部１１６は、車両情報管理部１１３を介して取得したデータに含まれる車両識別子と等しい車両識別子を持つ車両テーブルが履歴記憶部１１７に既に存在するか否かを判定する。
【０２７１】
上記の第１の場合または第３の場合には、車両情報管理部１１３を介して取得したデータに含まれる車両識別子と等しい車両識別子を持つ車両テーブルは、履歴記憶部１１７に存在しない。そこで、履歴管理部１１６は、車両情報管理部１１３を介して取得したデータを、車両テーブル３０３−Ｐとして履歴記憶部１１７に記憶する。第１の場合はＰ＝１であり、第３の場合はＰ＞１である。
【０２７２】
逆に、上記の第２の場合または第４の場合には、車両情報管理部１１３を介して取得したデータに含まれる車両識別子と等しい車両識別子を持つ車両テーブルが、履歴記憶部１１７に既に存在する。よって、履歴管理部１１６は、履歴記憶部１１７に車両テーブルを追加する必要はない。
【０２７３】
また、ステップＳ１０６で履歴管理部１１６は、今回の運転に関する運転履歴テーブル３０４−Ｑを履歴記憶部１１７に追加し、運転履歴テーブル３０４−Ｑを初期化する。
【０２７４】
例えば、各ｉについて、運転履歴テーブル３０４−ｉの運転履歴番号として、整数ｉが使われてもよい。この場合、履歴管理部１１６は、運転履歴テーブル３０４−Ｑの運転履歴番号のフィールドに、Ｑという値を設定する。
【０２７５】
また、履歴管理部１１６は、運転履歴テーブル３０４−Ｑの車両識別子のフィールドに、車両１００の車両識別子（つまり履歴管理部１１６が車両情報管理部１１３を介して取得したデータに含まれる車両識別子）を設定する。運転時間のフィールドおよび過去の診断結果のフィールドは、無効な値または空に初期化される。
【０２７６】
運転開始日時のフィールドには現在時刻が設定される。例えば、車両情報管理部１１３は、上記のように車両テーブル３０２のデータを履歴管理部１１６に出力する際に、時計１１２から現在時刻を読み取り、現在時刻を履歴管理部１１６に通知してもよい。あるいは、履歴管理部１１６自体が時計１１２から現在時刻を読み取ってもよい。いずれにせよ、運転開始日時のフィールドは、現在時刻の値に初期化される。
【０２７７】
なお、実施形態によっては、ステップＳ１０６がステップＳ１０５の前に実行されてもよい。ステップＳ１０５〜Ｓ１０６の初期化が済むと、次に、ステップＳ１０７が実行される。
【０２７８】
具体的には、ステップＳ１０７で診断部１１５が、「運転診断装置１１０が稼働中かどうか」を判定する。診断部１１５は、例えばステップＳ１０３での車両情報取得部１１１による判定と同様に、割り込み信号に基づいてステップＳ１０７の判定を行ってもよい。
【０２７９】
運転診断装置１１０が稼働中でないと判定した場合、診断部１１５はステップＳ１１６の後処理を行うよう、履歴管理部１１６に要求する。
【０２８０】
逆に、運転診断装置１１０が稼働中であると判定した場合、診断部１１５は、ステップＳ１０８で、インデックス変数ｊを１に初期化する。そして、ステップＳ１０９で診断部１１５は、ｊ＞Ｎか否かを判定する。ここで、Ｎは診断項目の個数である（Ｎ≧１）。
【０２８１】
ｊ＞Ｎの場合、診断部１１５は再度ステップＳ１０７の判定を行う。逆に、ｊ≦Ｎの場合、診断部１１５は、次に、ステップＳ１１０で、ｊ番目の診断項目についての運転診断処理を行う。以下では説明の便宜上、ｊ番目の診断項目の診断項目ＩＤを「Ｉｔｍ（ｊ）」と表記し、ｊ番目の診断項目について診断部１１５が下した診断の結果を「Ｒｅｓ（ｊ）」と表記する。ステップＳ１１０の運転診断処理の詳細は、図８とともに後述する。
【０２８２】
次に、ステップＳ１１１で診断部１１５は、ステップＳ１１０の運転診断処理が成功したか否かを判定する。詳しくは図８とともに後述するとおり、運転診断処理が実行されるタイミングと、車両１００の挙動と、診断項目の組み合わせによっては、診断結果６が得られない場合があり得る。診断部１１５は、診断結果６が得られた場合は「運転診断処理が成功した」と判定し、診断結果６が得られなかった場合は「運転診断処理が失敗した」と判定する。
【０２８３】
運転診断処理が成功した場合、診断部１１５は、ｊ番目の診断項目の診断項目ＩＤ（Ｉｔｍ（ｊ））と、得られた診断結果Ｒｅｓ（ｊ）をアドバイス決定部１１９に通知する。すると、アドバイス決定部１１９がステップＳ１１２のアドバイス決定処理を開始する。アドバイス決定処理の詳細は図９とともに後述する。
【０２８４】
逆に、運転診断処理が失敗した場合、診断部１１５は、ステップＳ１１１の次にステップＳ１１５を実行する。
【０２８５】
さて、ステップＳ１１２のアドバイス決定処理において、アドバイス決定部１１９は、あるアドバイスをドライバに提示することに決定し、当該あるアドバイスを出力制御部１２１に出力する。
【０２８６】
出力制御部１２１は、アドバイス決定部１１９からアドバイスを受け取ると、ステップＳ１１３で、「ドライバに対してアドバイスを提示することが可能か否か」を判定する。図２に関して説明したとおり、出力制御部１２１は、車両情報管理部１１３を介して車両情報５を取得し、車両情報５から車両１００の状態を推定する。出力制御部１２１は、推定した状態に基づいて、「ドライバに対してアドバイスを提示することが可能か否か」を判定する。例えば、車両１００が停止中または低速で直進中の場合に、出力制御部１２１は「ドライバに対してアドバイスを提示することが可能」と判定してもよい。
【０２８７】
出力制御部１２１は、「ドライバに対してアドバイスを提示することが可能」と判定した場合、続いて、ステップＳ１１４で、アドバイスをドライバに提示するための制御を行う。この制御の詳細は、図２に関して説明したとおりである。出力制御部１２１の制御にしたがって、ステップＳ１１４では、ディスプレイ１０４および／またはスピーカ１０５がアドバイスを出力する。そして、処理はステップＳ１１５に移行する。
【０２８８】
逆に、出力制御部１２１がステップＳ１１３で「今は、ドライバに対してアドバイスを提示することが可能な状態ではない」と判定した場合、ステップＳ１１４は省略され、処理はステップＳ１１５へと移行する。
【０２８９】
ステップＳ１１５で診断部１１５は、インデックス変数ｊを１だけインクリメントする。そして、診断部１１５は再度ステップＳ１０９の判定を行う。以上のようにして、運転診断装置１１０が稼働している間は、Ｎ個の診断項目それぞれについての運転診断処理および後続の処理が、繰り返し実行される。
【０２９０】
一方、「運転診断装置１１０が稼働中でない」とステップＳ１０７で判定されると、ステップＳ１１６の後処理が実行される。具体的には、ステップＳ１１６で履歴管理部１１６は、履歴記憶部１１７内の履歴情報７の少なくとも一部を外部装置１３０に出力する。ステップＳ１０５に関して説明した第１〜第４の場合のそれぞれについて、ステップＳ１１６で出力される履歴情報７の具体例を以下に説明する。
【０２９１】
第１または第３の場合、履歴管理部１１６は、車両１００に関する車両テーブル３０３−Ｐを外部装置１３０に出力する。第２または第４の場合、外部装置１３０には車両１００に関する車両テーブルが既に記憶されている。よって、第２または第４の場合、履歴管理部１１６は、車両テーブル３０３−Ｐを外部装置１３０に出力する必要はない。
【０２９２】
また、第１〜第４のいずれの場合においても、履歴管理部１１６は、今回の車両１００の運転に関する運転履歴テーブル３０４−Ｑを外部装置１３０に出力する。なお、運転履歴テーブル３０４−Ｑ内のいくつかのフィールドは、上記のとおりステップＳ１０６で初期化された後、例えば、ステップＳ１１０で更新されてもよい。あるいは、運転履歴テーブル３０４−Ｑを外部装置１３０に出力する前に、ステップＳ１１６で履歴管理部１１６が、運転履歴テーブル３０４−Ｑ内のいくつかのフィールドを更新してもよい。運転履歴テーブル３０４−Ｑ内のフィールドの更新については、図８のステップＳ２０６とともに後述する。
【０２９３】
ステップＳ１１６で外部装置１３０への履歴情報７の出力が済むと、運転診断装置１１０は図７の処理を終える。
【０２９４】
さて、図８は、図７のステップＳ１１０の運転診断処理のフローチャートである。診断部１１５は、診断項目に応じた適宜の車両情報５を用いて、診断項目に応じたアルゴリズムにしたがって、診断を下す。図８のフローチャートは、Ｉｔｍ（ｊ）という診断項目ＩＤを持つｊ番目の診断項目について診断部１１５が運転診断処理を実行する場合を示す。
【０２９５】
ステップＳ２０１で診断部１１５は、ｊ番目の診断項目の診断用に使う車両情報５を提供するよう、車両情報管理部１１３に要求する。
【０２９６】
例えば、ｊ番目の診断項目の診断が、直近の１０秒間のヨーレートとハンドル切り角に基づく診断である場合、診断部１１５は、車両情報５のうち、直近の１０秒間のヨーレートとハンドル切り角のデータを提供するよう、車両情報管理部１１３に要求する。すると、車両情報管理部１１３は、運転記録テーブル３０１のエントリのうち直近の１０秒間の期間内に含まれる各エントリから、日時とヨーレートとハンドル切り角の各フィールドのデータを抽出し、抽出したデータを診断部１１５に返す。
【０２９７】
診断項目に応じて、何種類の（そして、どの種類の）車両情報５を診断部１１５が診断に使うかは異なる。よって、車両情報管理部１１３は、診断部１１５から指定されたフィールドおよび「日時」フィールドのデータを、運転記録テーブル３０１から抽出する。
【０２９８】
また、診断項目に応じて、いつ取得された車両情報５を診断部１１５が診断に使うかは異なる。例えば、ある診断項目の診断には、運転記録テーブル３０１の最新のエントリ内のデータのみが使われるかもしれない。一方、別の診断項目の診断には、上記の例のように、ある長さの期間に含まれるいくつかのエントリのデータが使われるかもしれない。
【０２９９】
診断部１１５は、車両情報管理部１１３からデータを受け取ると、次に、ステップＳ２０２の判定を行う。具体的には、診断部１１５は、「ｊ番目の診断項目の診断用の車両情報５が得られたか否か」を判定する。より詳細には、診断部１１５は、「ｊ番目の診断項目の診断を実行するための前提条件を満たすような車両情報５が得られたか否か」を判定する。
【０３００】
例えば、ｊ番目の診断項目が、車両１００がほぼ直進していると見なせる場合における、車両１００の車線内での走行位置に関する診断であるとする。また、この走行位置に関する診断は、具体的には、直近の５秒間のデータ（具体的にはカメラ画像を含むデータ）に基づいて行われるとする。
【０３０１】
この場合、診断部１１５はステップＳ２０１で、例えば、直近の５秒間のカメラ画像とヨーレートのデータを提供するよう、車両情報管理部１１３に要求してもよい。そして、診断部１１５は、例えば、車両情報管理部１１３から返されるヨーレートのデータから、「直近の５秒間では車両１００が直進していると見なせるか否か」をステップＳ２０２で判定してもよい。
【０３０２】
車両１００が直進していると見なせない場合は、診断部１１５は、「ｊ番目の診断項目の診断を実行するための前提条件を満たすような車両情報５（つまり車両１００が直進しているときに撮影されたカメラ画像）は得られなかった」と判定してもよい。
【０３０３】
また、車載カメラが画像を撮影する間隔によっては、直近の５秒間の間には車載カメラが画像を撮影していない可能性もあり得る。直近の５秒間の間に撮影されたカメラ画像が存在しない場合も、診断部１１５は、「ｊ番目の診断項目の診断を実行するための前提条件を満たすような車両情報５は得られなかった」と判定してもよい。
【０３０４】
もちろん、以上の説明は例示に過ぎない。ステップＳ２０２で診断部１１５は、診断項目に応じた適宜の方法により判定を下す。診断部１１５は、「ｊ番目の診断項目の診断を実行するための前提条件を満たすような車両情報５が得られなかった」と判定した場合、「診断失敗」と判定し、図８の運転診断処理を終了する。
【０３０５】
逆に、「ｊ番目の診断項目の診断を実行するための前提条件を満たすような車両情報５が得られた」と判定した場合、診断部１１５は、次にステップＳ２０３の処理を実行する。具体的には、診断部１１５は、ステップＳ２０１で得られた車両情報５を使って、ｊ番目の診断項目の診断を実行する。
【０３０６】
そして、ステップＳ２０４で診断部１１５は、診断項目ＩＤ（つまりＩｔｍ（ｊ））と、ステップＳ２０３で得られた診断結果６（つまりＲｅｓ（ｊ））を、アドバイス決定部１１９に通知する。
【０３０７】
また、ステップＳ２０５で診断部１１５は、運転時間を計算する。診断部１１５は、例えば以下のようにして運転時間を計算してもよい。
【０３０８】
診断部１１５は、最初に図８の処理を実行する際、履歴管理部１１６に対して運転開始日時を問い合わせてもよい。問い合わせに応じて、履歴管理部１１６は、今回の車両１００の運転に関する運転履歴テーブル３０４−Ｑから運転開始日時を読み取り、運転開始日時を診断部１１５に通知する。診断部１１５は、通知された運転開始日時を、ＲＡＭ２０２上にローカルに記憶する。
【０３０９】
または、診断部１１５は、最初に図８の処理を実行するときに、ステップＳ２０１で、診断用の車両情報５だけでなく、運転診断装置１１０の起動後に最初に車両情報５が取得された時刻を示す時刻情報も転送するよう、車両情報管理部１１３に要求してもよい。そして、診断部１１５は、車両情報管理部１１３から受け取った時刻情報を、ＲＡＭ２０２上にローカルに記憶してもよい。当該時刻情報が示す時刻は、ほぼ、運転開始日時であると見なせる。
【０３１０】
ところで、上記のとおり、診断部１１５は、図８の運転診断処理を実行するたびに、ステップＳ２０１で、車両情報５を時刻情報とともに車両情報管理部１１３から受け取る。具体的には、診断部１１５は、運転記録テーブル３０１の１つ以上のエントリのデータを車両情報管理部１１３から受け取る。つまり、診断部１１５は、１つ以上の日時のそれぞれを示す時刻情報をステップＳ２０１で受け取る。ステップＳ２０５で診断部１１５は、受け取った時刻情報が示す上記１つ以上の日時の中で最新の日時から、ローカルに記憶した運転開始日時を引くことで、運転時間を計算することができる。
【０３１１】
ところで、図５に関して説明したとおり、運転時間の定義は様々であってよい。上記のような運転時間の計算法は、運転時間が運転開始時刻から運転終了時刻までと定義されている場合の計算法の例である。運転時間の定義に応じて、診断部１１５は適宜の時刻情報を車両情報管理部１１３から取得し、時刻情報を適宜ローカルに記憶して利用することで、運転時間を計算することができる。
なお、ステップＳ２０４とＳ２０５の実行順序は逆でもよい。
【０３１２】
最後に、ステップＳ２０６で診断部１１５は、診断項目ＩＤ（つまりＩｔｍ（ｊ））と、ステップＳ２０３で得られた診断結果６（つまりＲｅｓ（ｊ））と、ステップＳ２０５で計算した運転時間を履歴管理部１１６に通知する。そして、診断部１１５は図８の運転診断処理を終了する。なお、この場合、診断部１１５は、「診断成功」と判定する。
【０３１３】
ところで、履歴管理部１１６は、ステップＳ２０６で診断項目ＩＤと診断結果６と運転時間を通知されると、今回の車両１００の運転に関する運転履歴テーブル３０４−Ｑを適宜更新する。具体的には、履歴管理部１１６は、運転履歴テーブル３０４−Ｑの運転時間フィールドを、通知された運転時間の値で上書きする。
【０３１４】
また、図５に関して説明したように、運転履歴テーブル３０４−Ｑに「過去の診断結果」として記憶される診断結果６は、複数回の診断それぞれの結果を代表する一種の統計値（statistic）である。
【０３１５】
例えば、最大値が統計値として使われる場合、履歴管理部１１６は、運転履歴テーブル３０４−Ｑに現在記憶されている値と、診断部１１５からステップＳ２０６で通知された値を比較する。そして、通知された値の方が運転履歴テーブル３０４−Ｑに現在記憶されている値より大きければ、履歴管理部１１６は、運転履歴テーブル３０４−Ｑに記憶されている値を通知された値で上書きしてもよい。最小値が統計値として使われる場合も、履歴管理部１１６は、類似の方法で、運転履歴テーブル３０４−Ｑに記憶されている値と診断部１１５から通知された値の比較に基づいて、適宜、運転履歴テーブル３０４−Ｑを更新する。
【０３１６】
あるいは、履歴管理部１１６は、統計値の計算に使うためのデータをＲＡＭ２０２にローカルに保持してもよい。ステップＳ２０６で診断結果６が通知されるたびに、履歴管理部１１６は、ローカルなデータを更新してもよい。
【０３１７】
例えば、最頻値が統計値として使われる場合、履歴管理部１１６は、診断結果６の値ごとに、その値が得られた回数を数えるカウンタ値を、ローカルに保持してもよい。そして、ステップＳ２０６で診断部１１５から診断結果６が通知されるたびに、履歴管理部１１６は、通知された値に対応するカウンタ値をインクリメントしてもよい。
【０３１８】
この場合、履歴管理部１１６は、図７のステップＳ１１６で、上記カウンタ値に基づいて診断結果の最頻値を求めて、最頻値を運転履歴テーブル３０４−Ｑに書き込んでもよい。こうして運転履歴テーブル３０４−Ｑの更新が済んでから、履歴管理部１１６は、ステップＳ１１６での出力処理を行ってもよい。
【０３１９】
なお、最頻値だけでなく、平均値などの他の種類の統計値が使われる場合も、履歴管理部１１６は、適宜のローカルなデータを使うことで、運転履歴テーブル３０４−Ｑに「過去の診断結果」として記憶する値を計算することができる。
【０３２０】
さて、図９は、図７のステップＳ１１２のアドバイス決定処理のフローチャートである。詳しくは後述するとおり、アドバイス決定処理の詳細は実施形態に応じて様々であってよい。
【０３２１】
ステップＳ１１２は、上記のとおり、「診断が成功した」とステップＳ１１１で判定されたときに実行される。そして、図８から分かるように、診断が成功した場合には、ステップＳ２０４で診断項目ＩＤと診断結果６が既にアドバイス決定部１１９に通知されている。よって、アドバイス決定部１１９は、通知された診断項目ＩＤと診断結果６に基づいて、ステップＳ１１２に相当する図９のアドバイス決定処理を開始する。
【０３２２】
図９のフローチャートは、Ｉｔｍ（ｊ）という診断項目ＩＤとＲｅｓ（ｊ）という診断結果を診断部１１５がアドバイス決定部１１９に通知した場合を示している。図９の処理の概要は、以下のとおりである。
【０３２３】
まず、ステップＳ３０１で、アドバイス決定部１１９が、判定部１１８に、診断部１１５から通知された診断項目ＩＤ（すなわちＩｔｍ（ｊ））を通知する。
【０３２４】
すると、ステップＳ３０２〜Ｓ３０９で判定部１１８は、Ｉｔｍ（ｊ）という診断項目ＩＤを持つ診断項目についての所定のアルゴリズムにしたがって、影響度８を判定する。判定部１１８は、判定した影響度８をアドバイス決定部１１９に通知する。以下では、ｊ番目の診断項目に対応して判定された影響度８を、「Ｉｎｆ（ｊ）」とも表記する。
【０３２５】
そして、最後にステップＳ３１０でアドバイス決定部１１９は、以下の２つの組み合わせに対応づけられているアドバイスを、アドバイス記憶部１２０内のアドバイステーブル３０６−ｊから読み出す。
【０３２６】
・診断部１１５から通知された診断結果６（すなわちＲｅｓ（ｊ））。
・判定部１１８から通知された影響度８（すなわちＩｎｆ（ｊ））。
【０３２７】
例えば、図６に示したアドバイステーブル３０６−ｊが使われる場合において、Ｒｅｓ（ｊ）＝６、Ｉｎｆ（ｊ）＝０．２５、ｍ（ｊ）＝１／３であるとする。この場合、Ｒｅｓ（ｊ）とＩｎｆ（ｊ）の組み合わせに対応づけられているアドバイスは、Ａｄｖ（ｊ，２，５）である。よって、この場合、ステップＳ３１０でアドバイス決定部１１９は、アドバイスＡｄｖ（ｊ，２，５）を読み出す。すなわち、アドバイス決定部１１９は、アドバイスＡｄｖ（ｊ，２，５）をユーザに提示することに決める。
【０３２８】
ステップＳ３１０でアドバイス決定部１１９はさらに、読み出したアドバイスを出力制御部１２１に出力する。そして、図９の処理は終了し、続いて、図７のステップＳ１１３が実行される。
【０３２９】
以上のとおり概要を説明したアドバイス決定処理における、ステップＳ３０２〜Ｓ３０９での影響度８の判定は、実施形態に応じて、適宜、別の判定処理に置き換えられてよい。後述の第３〜第６実施形態では、ステップＳ３０２〜Ｓ３０９の少なくとも一部が別の判定処理に置き換えられる。
【０３３０】
以下、第２実施形態におけるステップＳ３０２〜Ｓ３０９の詳細について説明する。
ステップＳ３０２で判定部１１８は、統計テーブル３０５を参照して、乗り換え回数Ｃｎｔの値を得る。
【０３３１】
そして、ステップＳ３０３で判定部１１８は、乗り換え回数Ｃｎｔが０であるか否かを判断する。
【０３３２】
乗り換え回数Ｃｎｔが０のとき、ドライバの過去の運転履歴は記憶されていない。よって、乗り換え回数Ｃｎｔが０のとき、ドライバが過去の運転経験から受ける影響はないものと見なせる。したがって、乗り換え回数Ｃｎｔが０のとき、判定部１１８は、次に、ステップＳ３０４で、「影響度Ｉｎｆ（ｊ）が０である」とアドバイス決定部１１９に通知する。ステップＳ３０４の後は、上述のステップＳ３１０が実行される。
【０３３３】
逆に、乗り換え回数Ｃｎｔが０より大きいとき、ドライバが過去の運転経験から受ける影響の度合いを評価するために、判定部１１８は、ステップＳ３０５以降の処理を実行する。
【０３３４】
ステップＳ３０５で判定部１１８は、ドライバが現在運転中の車両１００の車両ＩＤを、履歴記憶部１１７から読み取る。具体的には、運転履歴テーブル３０４−Ｑが今回の車両１００の運転に対応するので、判定部１１８は、運転履歴テーブル３０４−Ｑの車両識別子のフィールドの値を読み取る。
【０３３５】
また、ステップＳ３０６で判定部１１８は、ドライバが直近の過去に運転した車両の車両ＩＤを履歴記憶部１１７から読み取る。なお、ステップＳ３０５とＳ３０６の実行順序は、逆であってもよい。
【０３３６】
例えば、運転履歴テーブル３０４−１〜３０４−Ｑにおいて、運転履歴番号は、順に増大するシーケンス番号であってもよい。この場合、運転履歴テーブル３０４−１〜３０４−Ｑの運転履歴番号の中で、運転履歴テーブル３０４−Ｑの運転履歴番号が最大である。ステップＳ３０６で判定部１１８は、運転履歴テーブル３０４−１〜３０４−Ｑのうち、運転履歴テーブル３０４−Ｑの運転履歴番号の次に大きな運転履歴番号を持つ運転履歴テーブル（具体的には運転履歴テーブル３０４−（Ｑ−１））から、車両ＩＤを読み取る。
【０３３７】
そして、ステップＳ３０７で判定部１１８は、ステップＳ３０５とＳ３０６で読み取った２つの車両ＩＤが互いに等しいか否かを判定する。
【０３３８】
２つの車両ＩＤが互いに等しいとき、判定部１１８は、次に前述のステップＳ３０４を実行する。なぜなら、２つの車両ＩＤが互いに等しい場合とは、以下のような場合だからである。
【０３３９】
・ドライバは、かつて車両１００を運転した。
・ドライバは、その後、他の車両を運転することなく、今回、再び車両１００を運転している。
・よって、ドライバが他の車両の運転経験から受ける影響は、ゼロと見なせる。
【０３４０】
逆に、２つの車両ＩＤが互いに異なるとき、判定部１１８は、次にステップＳ３０８で、乗り換え回数Ｃｎｔが所定の閾値（以下「ＣｎｔＭａｘ」と表記する）以上か否かを判定する。
【０３４１】
乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ以上のとき、判定部１１８は、次に前述のステップＳ３０４を実行する。なぜなら、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ以上の場合とは、以下のような場合だからである。
【０３４２】
・ドライバには豊富な運転経験がある。
・よって、ドライバは、既に適応能力（つまり、個々の車両の特性に短時間で適応して、車両に応じた適切な運転を行う能力）を発達させているものと推定される。
・つまり、ドライバは、車両１００の前に運転していた他の個々の車両の特性から、直接的な影響はほとんど受けないものと見なせる。
【０３４３】
例えば、カーシェアリングサービスで貸し出される各車両に運転診断装置１１０が搭載される場合では、ドライバは、ある１台の車両を２回以上借りることもあり得るが、ドライバがいつも同じ車両だけを借りるとは限らない。よって、「乗り換え回数Ｃｎｔが多ければ、ドライバが運転したことのある車両の数も多い」という傾向が見られるであろう。このような傾向がある場合、「乗り換え回数Ｃｎｔが多ければ、ドライバの適応能力も高い」と期待される。よって、第２実施形態の判定部１１８は、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ以上のときにステップＳ３０４で影響度Ｉｎｆ（ｊ）を０と判定する。
【０３４４】
逆に、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ未満のとき、ドライバの適応能力はまだそれほど高くない可能性がある。よって、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ未満のときは、ドライバが過去に運転していた他の車両の運転経験から受ける影響を考慮に入れてドライバにアドバイスを提示することが望ましい。
【０３４５】
そこで、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ未満のとき、判定部１１８は、ステップＳ３０９で、診断項目ＩＤ（つまりＩｔｍ（ｊ））に応じた所定の方法で影響度８（つまりＩｎｆ（ｊ））を算出する。そして、判定部１１８は、算出した影響度Ｉｎｆ（ｊ）をアドバイス決定部１１９に通知する。
【０３４６】
例えば、ある整数「ｈｎｄｌ」が１≦ｈｎｄｌ≦Ｎを満たすものとし、Ｎ個の診断項目のうちのｈｎｄｌ番目の診断項目は、ハンドル操作に関する項目であるとする。例えば、ｊ＝ｈｎｄｌの場合、判定部１１８は、ステップＳ３０９で式（１）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｈｎｄｌ））を算出してもよい。
Inf(hndl)=(curHperform - prevHperform)×CoefHndl×Temp    (1)
【０３４７】
式（１）中の「ｃｕｒＨｐｅｒｆｏｒｍ」は、ドライバが現在運転中の車両１００のハンドリング性能を示す。判定部１１８は、ステップＳ３０５で読み取った車両ＩＤを持つ車両テーブルの、ハンドリング性能フィールドの値を、変数ｃｕｒＨｐｅｒｆｏｒｍに代入する。
【０３４８】
式（１）中の「ｐｒｅｖＨｐｅｒｆｏｒｍ」は、ドライバが直近の過去に運転した他の車両のハンドリング性能を示す。判定部１１８は、ステップＳ３０６で読み取った車両ＩＤを持つ車両テーブルの、ハンドリング性能フィールドの値を、変数ｐｒｅｖＨｐｅｒｆｏｒｍに代入する。
【０３４９】
式（１）中の「ＣｏｅｆＨｎｄｌ」は係数である。係数ＣｏｅｆＨｎｄｌは、第２実施形態では定数である。
【０３５０】
「係数ＣｏｅｆＨｎｄｌが正か負か」は、「ドライバが現在運転中の車両の方が、ドライバが直近の過去に運転した車両よりもハンドリング性能が高いとき、ハンドル操作に関する診断結果６が過去の運転履歴から受ける影響が正か負か」に応じて決められる。「影響が正か負か」とは、換言すれば、「診断結果６の値が運転履歴の影響で増加するか減少するか」ということである。
【０３５１】
係数ＣｏｅｆＨｎｄｌが正か負かを決めるために、予備実験が行われてもよい。例えば、ハンドリング性能に差がある２台の車両をテストドライバが運転してもよい。あるいは、実際の車両の代わりにドライビング・シミュレータが使われてもよい。
【０３５２】
しかし、係数ＣｏｅｆＨｎｄｌの絶対値は、任意に決められてよい。なぜなら、診断項目ごとに別々のアドバイステーブルが設けられているからである。また、影響度Ｉｎｆ（ｈｎｄｌ）は、アドバイス決定部１１９がｈｎｄｌ番目の診断項目用のアドバイステーブルを参照するときに使われるだけで、他の診断項目用のアドバイステーブルをアドバイス決定部１１９が参照するときには使われないからである。係数ＣｏｅｆＨｎｄｌの、任意に決められた絶対値に応じて、アドバイステーブル内で影響度の範囲同士を区切る閾値（図６のｍ（ｊ）など）が決められてもよい。
【０３５３】
実施形態によっては、係数ＣｏｅｆＨｎｄｌ自体が、ある関数により表されていてもよい。また、他の変数の値に応じて、いくつかの候補値の中から判定部１１８が係数ＣｏｅｆＨｎｄｌの値を選んでもよい（詳しくは図１０とともに後述する）。
【０３５４】
ところで、「ドライバが、現在運転中の車両１００にどれほど適応しているか」という度合いには、いくつかの要因が影響を与える。それらの要因の一例は、上記のハンドリング性能のような、車両の仕様である。また、それらの要因の中には、時間的要因もある。
【０３５５】
時間的要因の例は、運転開始時刻や運転時間などである。ある観点から見れば、乗り換え回数Ｃｎｔも時間的要因の一種である。なぜなら、乗り換え回数Ｃｎｔは、運転履歴の１種の要約であり、時間の経過とともに変化（具体的には増加）するからである。
【０３５６】
時間的要因に応じて、ドライバが現在運転中の車両１００に適応している度合いは異なる。そして、ドライバが現在運転中の車両１００によく適応しているほど、影響度８は０に近づく。つまり、時間的要因に応じて影響度８の大きさは変わる。式（１）中の「Ｔｅｍｐ」の乗算は、時間的要因に依存して影響度８の大きさが変わることを示している。
【０３５７】
第２実施形態では、変数Ｔｅｍｐは、乗り換え回数Ｃｎｔの関数である。後述の他の実施形態では、変数Ｔｅｍｐは、乗り換え回数Ｃｎｔ以外の、他のパラメタの関数である。
【０３５８】
例えば、変数Ｔｅｍｐは、式（２）のように定義されていてもよい。
【数１】
2014238676.tif 000003
【０３５９】
式（２）中の「ＣｏｅｆＣｎｔ」は、任意の正の係数である。係数ＣｏｅｆＣｎｔは、第２実施形態では定数であるが、係数ＣｏｅｆＣｎｔ自体が、ある関数により表されていてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、係数ＣｏｅｆＣｎｔの値が選ばれてもよい（詳しくは図１０とともに後述する）。
【０３６０】
式（２）の定義における、Ｃｎｔ＝０の場合は、図９のステップＳ３０３からステップＳ３０４に進むルートに対応する。また、式（２）の定義における、ＣｎｔＭａｘ≦Ｃｎｔの場合は、図９のステップＳ３０８からステップＳ３０４に進むルートに対応する。
【０３６１】
式（１）と（２）により算出される影響度Ｉｎｆ（ｈｎｄｌ）の大きさは、ハンドリング性能の差（つまり仕様の差）の大きさに対して単調増加する。また、乗り換え回数Ｃｎｔが正のとき、式（１）と（２）により算出される影響度Ｉｎｆ（ｈｎｄｌ）の大きさは、乗り換え回数Ｃｎｔに対して単調減少する。もちろん、以下の３つの条件を満たすような他の関数を用いて、判定部１１８が影響度Ｉｎｆ（ｈｎｄｌ）を算出してもよい。
【０３６２】
・ハンドリング性能の差の大きさに対して、影響度Ｉｎｆ（ｈｎｄｌ）の大きさが単調増加する。
・乗り換え回数Ｃｎｔが０ならば、影響度Ｉｎｆ（ｈｎｄｌ）が０である。
・乗り換え回数Ｃｎｔが正ならば、乗り換え回数Ｃｎｔに対して、影響度Ｉｎｆ（ｈｎｄｌ）の大きさが単調減少する。
【０３６３】
続いて、ステップＳ３０９での診断項目に応じた影響度Ｉｎｆ（ｊ）の算出方法について、さらに別の２つの例を説明する。
【０３６４】
例えば、ある整数「ｐｏｓ」が１≦ｐｏｓ≦Ｎを満たすものとし、Ｎ個の診断項目のうちのｐｏｓ番目の診断項目は、車線内での走行位置に関する項目であるとする。例えば、ｊ＝ｐｏｓの場合、判定部１１８は、ステップＳ３０９で式（３）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｐｏｓ））を算出してもよい。
Inf(pos)=(curCW - prevCW)×CoefPos×Temp    (3)
【０３６５】
式（３）中の「ｃｕｒＣＷ」は、ドライバが現在運転中の車両１００の全幅を示す。判定部１１８は、ステップＳ３０５で読み取った車両ＩＤを持つ車両テーブルの、全幅のフィールドの値を、変数ｃｕｒＣＷに代入する。
【０３６６】
式（３）中の「ｐｒｅｖＣＷ」は、ドライバが直近の過去に運転した他の車両の全幅を示す。判定部１１８は、ステップＳ３０６で読み取った車両ＩＤを持つ車両テーブルの、全幅のフィールドの値を、変数ｐｒｅｖＣＷに代入する。
【０３６７】
式（３）中の「ＣｏｅｆＰｏｓ」は係数である。係数ＣｏｅｆＰｏｓは、第２実施形態では定数である。
【０３６８】
「係数ＣｏｅｆＰｏｓが正か負か」は、「ドライバが現在運転中の車両の方が、ドライバが直近の過去に運転した車両よりも幅が広いとき、走行位置に関する診断結果６が過去の運転履歴から受ける影響が正か負か」に応じて決められる。係数ＣｏｅｆＰｏｓが正か負かを決めるために、予備実験が行われてもよい。しかし、係数ＣｏｅｆＰｏｓの絶対値は、任意に決められてよい。
【０３６９】
実施形態によっては、係数ＣｏｅｆＰｏｓ自体が、ある関数により表されていてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、判定部１１８が係数ＣｏｅｆＰｏｓの値を選んでもよい。
【０３７０】
式（３）中の「Ｔｅｍｐ」は、式（１）中の「Ｔｅｍｐ」と同様である。なお、車幅の差の大きさに対して、影響度Ｉｎｆ（ｐｏｓ）の大きさが単調増加するように影響度Ｉｎｆ（ｐｏｓ）を定義する他の関数が、式（３）の代わりに使われてもよい。
【０３７１】
さて、例えば、ある整数「ａｃｃ」が１≦ａｃｃ≦Ｎを満たすものとし、Ｎ個の診断項目のうちのａｃｃ番目の診断項目は、加速に関する項目であるとする。例えば、ｊ＝ａｃｃの場合、判定部１１８は、ステップＳ３０９で式（４）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ａｃｃ））を算出してもよい。
Inf(acc)=(curWeight/curPperform - prevWeight/prevPperform)
×CoefAcc×Temp    (4)
【０３７２】
式（４）中の「ｃｕｒＷｅｉｇｈｔ」は、ドライバが現在運転中の車両１００の重量を示す。判定部１１８は、ステップＳ３０５で読み取った車両ＩＤを持つ車両テーブルの、車重のフィールドの値を、変数ｃｕｒｃｕｒＷｅｉｇｈｔに代入する。
【０３７３】
式（４）中の「ｃｕｒＰｐｅｒｆｏｒｍ」は、ドライバが現在運転中の車両１００のエンジン出力性能を示す。判定部１１８は、ステップＳ３０５で読み取った車両ＩＤを持つ車両テーブルの、エンジン出力性能のフィールドの値を、変数ｃｕｒＰｐｅｒｆｏｒｍに代入する。
【０３７４】
式（４）中の「ｐｒｅｖＷｅｉｇｈｔ」は、ドライバが直近の過去に運転した他の車両の重量を示す。判定部１１８は、ステップＳ３０６で読み取った車両ＩＤを持つ車両テーブルの、車重のフィールドの値を、変数ｐｒｅｖＷｅｉｇｈｔに代入する。
【０３７５】
式（４）中の「ｐｒｅｖＰｐｅｒｆｏｒｍ」は、ドライバが直近の過去に運転した他の車両のエンジン出力性能を示す。判定部１１８は、ステップＳ３０６で読み取った車両ＩＤを持つ車両テーブルの、エンジン出力性能のフィールドの値を、変数ｐｒｅｖＰｐｅｒｆｏｒｍに代入する。
【０３７６】
式（４）中の「ＣｏｅｆＡｃｃ」は係数である。係数ＣｏｅｆＡｃｃは、第２実施形態では定数である。実施形態によっては、係数ＣｏｅｆＡｃｃ自体が、ある関数により表されていてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、判定部１１８が係数ＣｏｅｆＡｃｃの値を選んでもよい。
【０３７７】
式（４）中の「Ｔｅｍｐ」は、式（１）中の「Ｔｅｍｐ」と同様である。
例えば、エンジン出力性能が最大出力により表されていてもよい。この場合、式（４）は、ウェイト・トゥ・パワー・レシオ（weight-to-power ratio）の差の大きさに対して、影響度Ｉｎｆ（ａｃｃ）の大きさが単調増加することを示す。この場合、「係数ＣｏｅｆＡｃｃ」が正か負か」は、「ドライバが現在運転中の車両の方が、ドライバが直近の過去に運転した車両よりもウェイト・トゥ・パワー・レシオが高いとき、加速に関する診断結果６が過去の運転履歴から受ける影響が正か負か」に応じて決められる。係数ＣｏｅｆＡｃｃが正か負かを決めるために、予備実験が行われてもよい。しかし、係数ＣｏｅｆＡｃｃの絶対値は、任意に決められてよい。もちろん、ウェイト・トゥ・パワー・レシオの差の大きさに対して、影響度Ｉｎｆ（ａｃｃ）の大きさが単調増加するように影響度Ｉｎｆ（ａｃｃ）を定義する他の式が、式（４）の代わりに使われてもよい。
【０３７８】
以上、式（１）〜（４）を参照して例示したように、図９のステップＳ３０９では、診断項目に応じた方法で、判定部１１８が影響度８を判定する。
【０３７９】
続いて、第３実施形態について説明する。第３実施形態では、判定部１１８が式（２）の代わりに式（５）を使って影響度８を算出する。具体的には、第３実施形態では、図９のアドバイス決定処理のステップＳ３０８が以下に述べるように変形される。その他の点では、第３実施形態は第２実施形態と同様である。
【数２】
2014238676.tif 000004
【０３８０】
式（５）中の「ｃＴｉｍｅ」は、ドライバが現在運転中の車両１００の運転を開始してから経過した運転時間を示す。式（５）中の「ｃＴｉｍｅＭａｘ」は、運転時間ｃＴｉｍｅに関して予め決められた正の閾値である。閾値ｃＴｉｍｅＭａｘは、例えば、診断結果６の経時変化を観察するような予備実験に基づいて決められてもよい。閾値ｃＴｉｍｅＭａｘは、「ドライバがある１台の車両の運転を開始してからどの程度長い時間が経過したら、ドライバが過去に運転していた他の車両の運転経験の影響が、無視して構わない程度にまで低下するのか」ということを示す。
【０３８１】
式（５）中の「ＣｏｅｆＣｕｒＴｉｍｅ」は、任意の正の係数である。係数ＣｏｅｆＣｕｒＴｉｍｅは、第３実施形態では定数である。実施形態によっては、係数ＣｏｅｆＣｕｒＴｉｍｅ自体が、ある関数により表されてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、判定部１１８が係数ＣｏｅｆＣｕｒＴｉｍｅの値を選んでもよい。
【０３８２】
式（１）と（５）により算出される影響度Ｉｎｆ（ｈｎｄｌ）の大きさは、ハンドリング性能の差の大きさに対して単調増加し、かつ、運転時間ｃＴｉｍｅの長さに対して単調減少する。また、式（３）と（５）により算出される影響度Ｉｎｆ（ｐｏｓ）の大きさは、車幅の差の大きさに対して単調増加し、かつ、運転時間ｃＴｉｍｅの長さに対して単調減少する。そして、式（４）と（５）により算出される影響度Ｉｎｆ（ａｃｃ）の大きさは、例えば、ウェイト・トゥ・パワー・レシオの差の大きさに対して単調増加し、かつ、運転時間ｃＴｉｍｅの長さに対して単調減少する。判定部１１８は、運転時間ｃＴｉｍｅの長さに対して「Ｔｅｍｐ」の大きさが単調減少するように「Ｔｅｍｐ」を定義する他の式を、式（５）の代わりに用いてもよい。
【０３８３】
さて、上記のとおり、第３実施形態では、第２実施形態の図９のアドバイス決定処理のステップＳ３０８が変形される。具体的には、第３実施形態で判定部１１８は、ステップＳ３０８の判定の代わりに以下の処理を行う。
【０３８４】
判定部１１８は、運転履歴テーブル３０４−Ｑ（つまり、今回の車両１００の運転についての運転履歴テーブル）から、運転時間のフィールドの値を読み取る。こうして読み取られた値が、式（５）の運転時間ｃＴｉｍｅとして使われる。
【０３８５】
次に、判定部１１８は、運転時間ｃＴｉｍｅが閾値ｃＴｉｍｅＭａｘ以上であるか否かを判定する。
【０３８６】
運転時間ｃＴｉｍｅが閾値ｃＴｉｍｅＭａｘ以上の場合、式（５）によればＴｅｍｐ＝０であり、したがって、影響度Ｉｎｆ（ｊ）も０である。よって、運転時間ｃＴｉｍｅが閾値ｃＴｉｍｅＭａｘ以上の場合、判定部１１８はステップＳ３０４を実行する。すなわち、運転時間ｃＴｉｍｅが閾値ｃＴｉｍｅＭａｘ以上の場合、判定部１１８は「影響度Ｉｎｆ（ｊ）が０である」とアドバイス決定部１１９に通知する。
【０３８７】
逆に、運転時間ｃＴｉｍｅが閾値ｃＴｉｍｅＭａｘ未満の場合、判定部１１８は、ステップＳ３０９を実行する。ただし、第３実施形態のステップＳ３０９では、上記のとおり、判定部１１８は、時間的要因に関わる値「Ｔｅｍｐ」の算出に、式（２）ではなく式（５）を用いる。
【０３８８】
例えば、ｊ＝ｈｎｄｌの場合、判定部１１８は、ステップＳ３０９で式（１）と（５）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｈｎｄｌ））を算出してもよい。また、ｊ＝ｐｏｓの場合、判定部１１８は、ステップＳ３０９で式（３）と（５）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｐｏｓ））を算出してもよい。あるいは、ｊ＝ａｃｃの場合、判定部１１８は、ステップＳ３０９で式（４）と（５）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ａｃｃ））を算出してもよい。
【０３８９】
続いて、第４実施形態について説明する。第４実施形態では、判定部１１８が式（２）の代わりに式（６）を使って影響度８を算出する。具体的には、第４実施形態では、図９のアドバイス決定処理のステップＳ３０８が以下に述べるように変形される。その他の点では、第４実施形態は第２実施形態と同様である。
【数３】
2014238676.tif 000005
【０３９０】
式（６）中の「Ｉｎｔｖ」は、ドライバが他の車両の運転を終了してから、車両１００の運転を開始するまでの間隔である。式（６）中の「ＩｎｔｖＭａｘ」は、間隔Ｉｎｔｖに関して予め決められた正の閾値である。閾値ＩｎｔｖＭａｘは、例えば、予備実験に基づいて決められてもよい。閾値ＩｎｔｖＭａｘは、「ドライバがある車両の運転を終了してからどの程度長い時間が経過したら、当該ある車両の運転経験の影響が、無視して構わない程度にまで低下するのか」ということを示す。つまり、閾値ＩｎｔｖＭａｘは、「ドライバがある車両の運転を終了してからどの程度長い時間が経過したら、当該ある車両の特性に応じた運転感覚をドライバが忘れてしまうのか」ということを示す。
【０３９１】
式（６）中の「ＣｏｅｆＩｎｔｖ」は係数である。係数ＣｏｅｆＩｎｔｖは、第４実施形態では定数である。実施形態によっては、係数ＣｏｅｆＩｎｔｖ自体が、ある関数により表されてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、判定部１１８が係数ＣｏｅｆＩｎｔｖの値を選んでもよい。
【０３９２】
式（１）と（６）により算出される影響度Ｉｎｆ（ｈｎｄｌ）の大きさは、ハンドリング性能の差の大きさに対して単調増加し、かつ、間隔Ｉｎｔｖの長さに対して単調減少する。また、式（３）と（６）により算出される影響度Ｉｎｆ（ｐｏｓ）の大きさは、車幅の差の大きさに対して単調増加し、かつ、間隔Ｉｎｔｖの長さに対して単調減少する。そして、式（４）と（６）により算出される影響度Ｉｎｆ（ａｃｃ）の大きさは、例えば、ウェイト・トゥ・パワー・レシオの差の大きさに対して単調増加し、かつ、間隔Ｉｎｔｖに対して単調減少する。判定部１１８は、間隔Ｉｎｔｖの長さに対して「Ｔｅｍｐ」の大きさが単調減少するように「Ｔｅｍｐ」を定義する他の式を、式（６）の代わりに用いてもよい。
【０３９３】
さて、上記のとおり、第４実施形態では、第２実施形態の図９のアドバイス決定処理のステップＳ３０８が変形される。具体的には、第４実施形態で判定部１１８は、ステップＳ３０８の判定の代わりに以下の処理を行う。
【０３９４】
判定部１１８は、運転履歴テーブル３０４−１〜３０４−Ｑのうち、運転履歴テーブル３０４−Ｑの運転履歴番号の次に大きな運転履歴番号を持つ運転履歴テーブルから、運転開始日時と運転時間を読み取る。そして、判定部１１８は運転開始日時に運転時間を足すことにより、ドライバが車両１００の１台前に運転していた他の車両の運転を終了した運転終了日時を算出する。
【０３９５】
また、判定部１１８は、運転履歴テーブル３０４−Ｑ（すなわちドライバが現在運転中の車両１００に関する運転履歴テーブル）から、運転開始日時を読み取る。判定部１１８は、こうして読み取った車両１００の運転開始日時から、上記のように算出した運転終了日時を引くことで、式（６）中の間隔Ｉｎｔｖを算出する。
【０３９６】
そして、判定部１１８は、間隔Ｉｎｔｖと閾値ＩｎｔｖＭａｘを比較する。間隔Ｉｎｔｖが閾値ＩｎｔｖＭａｘ以上の場合、判定部１１８は、ステップＳ３０４を実行する。つまり、間隔Ｉｎｔｖが閾値ＩｎｔｖＭａｘ以上の場合、判定部１１８は、「影響度Ｉｎｆ（ｊ）が０である」とアドバイス決定部１１９に通知する。
【０３９７】
逆に、間隔Ｉｎｔｖが閾値ＩｎｔｖＭａｘ未満の場合、判定部１１８はステップＳ３０９を実行する。ただし、第４実施形態のステップＳ３０９では、上記のように、判定部１１８は、時間的要因に関わる値「Ｔｅｍｐ」の算出に、式（２）ではなく式（６）を用いる。
【０３９８】
例えば、ｊ＝ｈｎｄｌの場合、判定部１１８は、ステップＳ３０９で式（１）と（６）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｈｎｄｌ））を算出してもよい。また、ｊ＝ｐｏｓの場合、判定部１１８は、ステップＳ３０９で式（３）と（６）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｐｏｓ））を算出してもよい。あるいは、ｊ＝ａｃｃの場合、判定部１１８は、ステップＳ３０９で式（４）と（６）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ａｃｃ））を算出してもよい。
【０３９９】
なお、第４実施形態は、間隔Ｉｎｔｖの定義に関して変形されてもよい。具体的には、間隔Ｉｎｔｖは、ドライバが他の車両の運転を終了してから経過した時間であってもよい。
【０４００】
このように第４実施形態が変形される場合、判定部１１８は、運転履歴テーブル３０４−Ｑ（すなわちドライバが現在運転中の車両１００に関する運転履歴テーブル）から、運転開始日時だけでなく、運転時間も読み取る。そして、判定部１１８は、車両１００の運転開始日時に車両１００の運転時間を足す。
【０４０１】
なお、このような加算により得られる時刻は、ほぼ現在時刻に等しい。よって、判定部１１８は、以上のような加算を行う代わりに、時計１１２から現在時刻を読み取ってもよい。
【０４０２】
判定部１１８は、加算により得られた時刻（または時計１１２から読み取った時刻）から、ドライバが車両１００の１台前に運転していた他の車両の運転を終了した運転終了日時を引く。この減算により、判定部１１８は間隔Ｉｎｔｖを算出することができる。
【０４０３】
続いて、第５実施形態について説明する。第５実施形態では、判定部１１８が式（２）の代わりに式（７）を使って影響度８を算出する。具体的には、第５実施形態では、図９のアドバイス決定処理のステップＳ３０８が以下に述べるように変形される。その他の点では、第５実施形態は第２実施形態と同様である。
【数４】
2014238676.tif 000006
【０４０４】
式（７）中の「ｐＴｉｍｅ」は、ドライバが直近の過去に他の車両を運転した際の運転時間を示す。式（７）中の「ｐＴｉｍｅＭａｘ」は、運転時間ｐＴｉｍｅに関して予め決められた正の閾値である。閾値ｐＴｉｍｅＭａｘは、例えば、診断結果６の経時変化を観察するような予備実験に基づいて決められてもよい。閾値ｐＴｉｍｅＭａｘは、「ドライバが未経験のある車両を運転しだしてから、当該ある車両の特性に応じてドライバの運転感覚が変化しだすまでに、一般的にはどのくらいの時間がかかると推定されるか」ということを示す。
【０４０５】
ドライバがある車両を運転する場合、運転時間が長くなるほど、ドライバは当該ある車両に適応し、ドライバの運転感覚が当該ある車両の特性から影響を受ける程度も増す。しかし、短時間の運転では、ドライバの運転感覚はそれほど変化しない。よって、短時間の運転からドライバが受ける影響は無視してもかまわない。閾値ｐＴｉｍｅＭａｘは、ドライバの運転感覚が受ける影響を無視してかまわない程度の、短い運転時間を表す。
【０４０６】
式（７）中の「ＣｏｅｆＰｒｅｖＴｉｍｅ」は、正の係数である。係数ＣｏｅｆＰｒｅｖＴｉｍｅは、第５実施形態では定数である。実施形態によっては、係数ＣｏｅｆＰｒｅｖＴｉｍｅ自体が、ある関数により表されてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、判定部１１８が係数ＣｏｅｆＰｒｅｖＴｉｍｅの値を選んでもよい。
【０４０７】
式（１）と（７）により算出される影響度Ｉｎｆ（ｈｎｄｌ）の大きさは、ハンドリング性能の差の大きさに対して単調増加し、かつ、運転時間ｐＴｉｍｅの長さに対しても単調増加する。また、式（３）と（７）により算出される影響度Ｉｎｆ（ｐｏｓ）の大きさは、車幅の差の大きさに対して単調増加し、かつ、運転時間ｐＴｉｍｅの長さに対しても単調増加する。そして、式（４）と（７）により算出される影響度Ｉｎｆ（ａｃｃ）の大きさは、例えば、ウェイト・トゥ・パワー・レシオの差の大きさに対して単調増加し、かつ、運転時間ｐＴｉｍｅの長さに対しても単調増加する。判定部１１８は、運転時間ｐＴｉｍｅの長さに対して「Ｔｅｍｐ」の大きさが単調増加するように「Ｔｅｍｐ」を定義する他の式を、式（７）の代わりに用いてもよい。
【０４０８】
さて、上記のとおり、第５実施形態では、第２実施形態の図９のアドバイス決定処理のステップＳ３０８が変形される。具体的には、第５実施形態で判定部１１８は、ステップＳ３０８の判定の代わりに以下の処理を行う。
【０４０９】
判定部１１８は、運転履歴テーブル３０４−１〜３０４−Ｑのうち、運転履歴テーブル３０４−Ｑの運転履歴番号の次に大きな運転履歴番号を持つ運転履歴テーブルから、運転時間を読み取る。こうして読み取られた運転時間が、式（７）の運転時間ｐＴｉｍｅとして使われる。
【０４１０】
次に、判定部１１８は、運転時間ｐＴｉｍｅが閾値ｐＴｉｍｅＭａｘ以下であるか否かを判定する。
【０４１１】
運転時間ｐＴｉｍｅが閾値ｐＴｉｍｅＭａｘ以下の場合、式（７）によればＴｅｍｐ＝０であり、したがって、影響度Ｉｎｆ（ｊ）も０である。よって、運転時間ｐＴｉｍｅが閾値ｐＴｉｍｅＭａｘ以下の場合、判定部１１８はステップＳ３０４を実行する。すなわち、運転時間ｐＴｉｍｅが閾値ｐＴｉｍｅＭａｘ以下の場合、判定部１１８は「影響度Ｉｎｆ（ｊ）が０である」とアドバイス決定部１１９に通知する。
【０４１２】
逆に、運転時間ｐＴｉｍｅが閾値ｐＴｉｍｅＭａｘより大きい場合、判定部１１８は、ステップＳ３０９を実行する。ただし、第５実施形態のステップＳ３０９では、上記のとおり、判定部１１８は、時間的要因に関わる値「Ｔｅｍｐ」の算出に、式（２）ではなく式（７）を用いる。
【０４１３】
例えば、ｊ＝ｈｎｄｌの場合、判定部１１８は、ステップＳ３０９で式（１）と（７）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｈｎｄｌ））を算出してもよい。また、ｊ＝ｐｏｓの場合、判定部１１８は、ステップＳ３０９で式（３）と（７）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｐｏｓ））を算出してもよい。あるいは、ｊ＝ａｃｃの場合、判定部１１８は、ステップＳ３０９で式（４）と（７）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ａｃｃ））を算出してもよい。
【０４１４】
続いて、第６実施形態について説明する。第６実施形態では、判定部１１８が式（２）の代わりに式（８）を使って影響度８を算出する。具体的には、第６実施形態では、図９のアドバイス決定処理のステップＳ３０８が以下に述べるように変形される。その他の点では、第６実施形態は第２実施形態と同様である。
【数５】
2014238676.tif 000007
【０４１５】
式（８）中の「ＬｇＴｉｍｅ」は、ドライバが過去に運転した車両１００以外の全車両の運転時間の中で最長の運転時間でもよい。または、「ＬｇＴｉｍｅ」は、ドライバが過去に運転した車両のうち、直近のＬ台以内の全車両の運転時間の中で最長の運転時間でもよい（ただしＬは２以上の定数）。
【０４１６】
式（８）中の「ＬｇＴｉｍｅＭａｘ」は、運転時間ＬｇＴｉｍｅに関して予め決められた正の閾値である。閾値ＬｇＴｉｍｅは、例えば、診断結果６の経時変化を観察するような予備実験に基づいて決められてもよい。閾値ＬｇＴｉｍｅＭａｘは、「ドライバが未経験のある車両を運転しだしてから、当該ある車両の特性に適応した運転感覚がドライバに定着するまでに、一般的にはどれほどの時間がかかると推定されるか」ということを示す。
【０４１７】
ドライバがある車両を運転する場合、運転時間が長くなるほど、ドライバは当該ある車両に適応し、ドライバの運転感覚が当該ある車両の特性に影響を受ける程度も増す。そして、かなりの長時間にわたってある車両を運転したドライバには、当該ある車両の特性に適応した運転感覚が、ある程度強固に定着するものと想定される。そして、定着した運転感覚は、その後ドライバが他の車両を運転しても、あまりすぐには変化しないと想定される。閾値ＬｇＴｉｍｅＭａｘは、以上のように、ある車両の特性に適応した運転感覚がドライバに定着してしまうほどの、長い運転時間を表す。
【０４１８】
式（８）中の「ＣｏｅｆＬｇＴｉｍｅ」は、正の係数である。係数ＣｏｅｆＬｇＴｉｍｅは、第６実施形態では定数である。実施形態によっては、係数ＣｏｅｆＬｇＴｉｍｅ自体が、ある関数により表されてもよい。また、他の変数の値に応じて、いくつかの候補値の中から、判定部１１８が係数ＣｏｅｆＬｇＴｉｍｅの値を選んでもよい。例えば、係数ＣｏｅｆＬｇＴｉｍｅは、ドライバが過去に運転時間ＬｇＴｉｍｅに渡って運転した車両を運転し終えてから経過した時間の長さに対して単調減少するように定義された、正の可変の係数であってもよい。
【０４１９】
式（１）と（８）により算出される影響度Ｉｎｆ（ｈｎｄｌ）の大きさは、ハンドリング性能の差の大きさに対して単調増加し、かつ、運転時間ＬｇＴｉｍｅの長さに対しても単調増加する。また、式（３）と（８）により算出される影響度Ｉｎｆ（ｐｏｓ）の大きさは、車幅の差の大きさに対して単調増加し、かつ、運転時間ＬｇＴｉｍｅの長さに対しても単調増加する。そして、式（４）と（８）により算出される影響度Ｉｎｆ（ａｃｃ）の大きさは、例えば、ウェイト・トゥ・パワー・レシオの差の大きさに対して単調増加し、かつ、運転時間ＬｇＴｉｍｅの長さに対しても単調増加する。判定部１１８は、運転時間ＬｇＴｉｍｅの長さに対して「Ｔｅｍｐ」の大きさが単調増加するように「Ｔｅｍｐ」を定義する他の式を、式（８）の代わりに用いてもよい。
【０４２０】
さて、上記のとおり、第６実施形態では、第２実施形態の図９のアドバイス決定処理のステップＳ３０８が変形される。具体的には、第６実施形態で判定部１１８は、ステップＳ３０８の判定の代わりに以下の処理を行う。
【０４２１】
判定部１１８は、運転履歴テーブル３０４−１〜３０４−（Ｑ−１）の運転時間のうちの最大値を読み取る。あるいは、判定部１１８は、運転履歴テーブル３０４−１〜３０４−（Ｑ−１）のうち、運転履歴番号が大きい方から最大でＬ枚の運転履歴テーブルの中での、運転時間の最大値を読み取る。こうして読み取られた運転時間が、式（８）の運転時間ＬｇＴｉｍｅとして使われる。
【０４２２】
次に、判定部１１８は、運転時間ＬｇＴｉｍｅが閾値ＬｇＴｉｍｅＭａｘ以下であるか否かを判定する。
【０４２３】
運転時間ＬｇＴｉｍｅが閾値ＬｇＴｉｍｅＭａｘ以下の場合、式（８）によればＴｅｍｐ＝０であり、したがって、影響度Ｉｎｆ（ｊ）も０である。よって、運転時間ＬｇＴｉｍｅが閾値ＬｇＴｉｍｅＭａｘ以下の場合、判定部１１８はステップＳ３０４を実行する。すなわち、運転時間ＬｇＴｉｍｅが閾値ＬｇＴｉｍｅＭａｘ以下の場合、判定部１１８は「影響度Ｉｎｆ（ｊ）が０である」とアドバイス決定部１１９に通知する。
【０４２４】
逆に、運転時間ＬｇＴｉｍｅが閾値ＬｇＴｉｍｅＭａｘより大きい場合、判定部１１８は、ステップＳ３０９を実行する。ただし、第６実施形態のステップＳ３０９では、上記のとおり、判定部１１８は、時間的要因に関わる値「Ｔｅｍｐ」の算出に、式（２）ではなく式（８）を用いる。
【０４２５】
例えば、ｊ＝ｈｎｄｌの場合、判定部１１８は、ステップＳ３０９で式（１）と（８）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｈｎｄｌ））を算出してもよい。また、ｊ＝ｐｏｓの場合、判定部１１８は、ステップＳ３０９で式（３）と（８）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ｐｏｓ））を算出してもよい。あるいは、ｊ＝ａｃｃの場合、判定部１１８は、ステップＳ３０９で式（４）と（８）にしたがって影響度Ｉｎｆ（ｊ）（＝Ｉｎｆ（ａｃｃ））を算出してもよい。
【０４２６】
ところで、上記のとおり、種々の係数は、定数であってもよいし、関数により表されてもよい。また、係数の複数の候補値が、例えば、図１０に例示するような係数テーブルに記憶されてもよい。判定部１１８は、パラメタの値の組み合わせ（例えば、ハンドリング性能と乗り換え回数の組み合わせ）に応じて、係数テーブルから適宜の係数値を読み出し、その読み出した係数値を使って影響度８を算出してもよい。
【０４２７】
図１０には、具体的には、式（１）中の係数ＣｏｅｆＨｎｄｌのための係数テーブル４０１と、式（２）中の係数ＣｏｅｆＣｎｔのための係数テーブル４０２が例示されている。係数テーブル４０１や４０２は、判定部１１８からアクセス可能な記憶装置（例えばＲＡＭ２０２または不揮発性記憶装置２０３）に記憶される。
【０４２８】
係数テーブル４０１は、係数ＣｏｅｆＨｎｄｌの値の候補を（Ｈ×Ｃ）個、マトリクス形式で保持するテーブルである。説明の便宜上、ハンドリング性能を示す値として想定される最小値と最大値を、それぞれ「ＨｐｅｒｆｏｒｍＭｉｎ」と「ＨｐｅｒｆｏｒｍＭａｘ」とする。
【０４２９】
係数テーブル４０１では、ハンドリング性能の差（ｃｕｒＨｐｅｒｆｏｒｍ−ｐｒｅｖＨｐｅｒｆｏｒｍ）として、Ｈ個の値がサンプリングされている（１＜Ｈ）。Ｈ個の値の最小値は（ＨｐｅｒｆｏｒｍＭｉｎ−ＨｐｅｒｆｏｒｍＭａｘ）という負の値であり、Ｈ個の値の最大値は（ＨｐｅｒｆｏｒｍＭａｘ−ＨｐｅｒｆｏｒｍＭｉｎ）という正の値である。
【０４３０】
また、係数テーブル４０１では、乗り換え回数Ｃｎｔとして、ＣｎｔＦｅｗからＣｎｔＭａｎｙまでのＣ個の値がサンプリングされている（１＜Ｃ）。例えば、ＣｎｔＦｅｗ＝０かつＣｎｔＭａｎｙ＝６の場合、Ｃ＝７でもよいし、１＜Ｃ＜７でもよい。
【０４３１】
係数テーブル４０１では、ハンドリング性能の差と乗り換え回数の（Ｈ×Ｃ）通りの組み合わせの各々に対して、係数ＣｏｅｆＨｎｄｌの候補値ｃＨｎｄｌ（ｃ，ｈ）が記憶されている（１≦ｃ≦Ｃかつ１≦ｈ≦Ｈ）。
【０４３２】
係数テーブル４０２は、係数ＣｏｅｆＣｎｔの値の候補を（Ｈ×Ｃ）個、マトリクス形式で保持するテーブルである。係数テーブル４０２でも、係数テーブル４０１と同様に、ハンドリング性能の差と乗り換え回数の（Ｈ×Ｃ）通りの組み合わせの各々に対して、係数ＣｏｅｆＣｎｔの値の候補値ｃＣｎｔ（ｃ，ｈ）が記憶されている（１≦ｃ≦Ｃかつ１≦ｈ≦Ｈ）。
【０４３３】
例えば、第２実施形態ではアドバイス決定処理が図９のフローチャートにしたがって行われるが、第２実施形態が、係数テーブル４０１と４０２を使うように変形されてもよい。この場合、判定部１１８は、以下の２つの値の組み合わせに対応する候補値ｃＨｎｄｌ（ｃ，ｈ）を、係数ＣｏｅｆＨｎｄｌの値としてステップＳ３０９で係数テーブル４０１から読み取ってもよい。同様に、判定部１１８は、以下の２つの値の組み合わせに対応する候補値ｃＣｎｔ（ｃ，ｈ）を、係数ＣｏｅｆＣｎｔの値としてステップＳ３０９で係数テーブル４０２から読み取ってもよい。
【０４３４】
・ステップＳ３０５で読み取った車両ＩＤを有する車両テーブルに記憶されているハンドリング性能の値ｃｕｒＨｐｅｒｆｏｒｍと、ステップＳ３０６で読み取った車両ＩＤを有する車両テーブルに記憶されているハンドリング性能の値ｐｒｅｖＨｐｅｒｆｏｒｍの差。
・ステップＳ３０２で読み取った乗り換え回数Ｃｎｔ。
【０４３５】
そして、判定部１１８は、読み取った値ｃＨｎｄｌ（ｃ，ｈ）とｃＣｎｔ（ｃ，ｈ）を用いて、式（１）と（２）にしたがって、ステップＳ３０９で影響度Ｉｎｆ（ｊ）を算出してもよい。なお、判定部１１８は、係数テーブル４０１中の２つ以上の候補値を使った補間（例えば線形補間）により、係数ＣｏｅｆＨｎｄｌの値を定めてもよい。同様に、判定部１１８は、係数テーブル４０２中の２つ以上の候補値を使った補間（例えば線形補間）により、係数ＣｏｅｆＣｎｔの値を定めてもよい。
【０４３６】
なお、係数ＣｏｅｆＨｎｄｌとＣｏｅｆＣｎｔ以外の係数についても、類似の係数テーブルが使われてもよい。つまり、２台の車両間の仕様の差と、時間的要因を示す値との複数の組み合わせの各々に対して、候補値を保持するような係数テーブルが、他の係数についても使われてもよい。
【０４３７】
また、あるパラメタ（例えばＣｎｔ）の値に対する影響度８の変化の仕方を調整するために、係数自体が、当該パラメタを引数とする適宜の関数により定義されていてもよい。同様に、２つ以上のパラメタから計算される値（例えば（ｃｕｒＨｐｅｒｆｏｒｍ−ｐｒｅｖＨｐｅｒｆｏｒｍ））に対する影響度８の変化の仕方を調整するために、係数自体が、当該値を引数とする適宜の関数により定義されていてもよい。例えば、パラメタ（または２つ以上のパラメタから計算される値）に対して、影響度８が線形に変化するように調整するために、適宜の関数が選ばれてもよい。
【０４３８】
ところで、式（１）と（３）と（４）は、変数Ｔｅｍｐの乗算を含むが、実施形態によっては、乗算の代わりに加算が行われてもよい。例えば、式（９）が使われてもよい。
【数６】
2014238676.tif 000008
【０４３９】
なお、式（９）中の「Ｔｅｍｐ」は、式（２）、（５）〜（８）のいずれにより算出されるものであってもよい。ただし、式（９）中の「Ｔｅｍｐ」の定義のために使われる場合、式（２）、（５）〜（８）中の各係数の値は、正とは限らず、負であってもよい。
【０４４０】
式（９）における加算は、「以下の２つの事柄が独立に評価される」ということを示す。
【０４４１】
・車両間の仕様の差が診断結果６に与える影響が正か負か、ということ。
・時間的要因が診断結果６に与える影響が正か負か、ということ。
【０４４２】
よって、式（９）が使われる実施形態においては、時間的要因が診断結果６に与える影響が負ならば、式（２）、（５）〜（８）中の各係数の値は負である。
【０４４３】
また、式（９）における「Ｄｉｆｆ（ｊ）」は、ｊ番目の診断項目の診断結果６に影響を与える仕様を示す値の車両間での差に、係数を掛けることで得られる値である。以下に「Ｄｉｆｆ（ｊ）」の３つの例を挙げる。
Diff(hndl)=(curHperform - prevHperform)×CoefHndl    (10)
Diff(pos)=(curCW - prevCW)×CoefPos    (11)
Diff(acc)=(curWeight/curPperform - 
prevWeight/prevPperform)×CoefAcc    (12)
【０４４４】
式（１０）〜（１２）の右辺に現れる各記号の意味は、式（１）、（３）、および（４）と同様である。
【０４４５】
式（９）〜（１２）が使われる実施形態では、車両間の仕様の差から影響度８への寄与の大きさと、時間的要因から影響度８への寄与の大きさに応じて、係数の絶対値が適宜決められることが好ましい。
【０４４６】
例えば、ある診断項目に関する影響度８にとっては、車両間の仕様の差が支配的で、時間的要因による影響度８の変動が小さいかもしれない。この場合、「Ｄｉｆｆ（ｊ）」の算出に使う係数の絶対値の方を、「Ｔｅｍｐ」の算出に使う係数の絶対値より大きく定めることが好ましい。
【０４４７】
逆に、別のある診断項目に関する影響度８にとっては、時間的要因が支配的かもしれない。この場合、「Ｄｉｆｆ（ｊ）」の算出に使う係数の絶対値の方を、「Ｔｅｍｐ」の算出に使う係数の絶対値より小さく定めることが好ましい。
【０４４８】
なお、上記のとおり、アドバイステーブル３０６−ｊは診断項目ごとに設けられる。よって、影響度８が取り得る値の範囲を、診断項目間で正規化する必要はない。よって、各係数の絶対値は任意に決められてもよい。
【０４４９】
続いて、第７実施形態について説明する。第７実施形態では、アドバイステーブルの形式が変形される。図１１は、第７実施形態でのアドバイステーブルの例を示す図である。第２〜第６実施形態のいずれも、図１１に例示するような、過去の診断結果のフィールドを含むアドバイステーブルを使うように変形されてよい。以下では説明の便宜上、第７実施形態について、第２実施形態が変形された実施形態として説明する。
【０４５０】
図６と１１を比較すると分かるように、図１１のアドバイステーブル３０７−ｊには、過去の診断結果のフィールドが追加されている。つまり、アドバイステーブル３０７−ｊでは、各アドバイスが以下の３つの値の組み合わせに対応づけられている。
【０４５１】
・ｊ番目の診断項目についての今回の診断結果Ｒｅｓ（ｊ）。
・ｊ番目の診断項目についての影響度Ｉｎｆ（ｊ）。
・ｊ番目の診断項目についての過去の診断結果（以下「Ｐｒｅｖ（ｊ）」と表記する）。
【０４５２】
なお、今回の診断結果Ｒｅｓ（ｊ）と、影響度Ｉｎｆ（ｊ）と、過去の診断結果Ｐｒｅｖ（ｊ）との組み合わせは、具体的には、以下のような値の集合の組み合わせにより表されてもよい。
【０４５３】
・今回の診断結果Ｒｅｓ（ｊ）を示す値の集合（例えば値の範囲）。
・影響度Ｉｎｆ（ｊ）を示す値の集合（例えば値の範囲）。
・過去の診断結果Ｐｒｅｖ（ｊ）を示す値の集合（例えば値の範囲）。
【０４５４】
また、現在および過去の診断結果６の値をそれぞれいくつの範囲に分類するかは、診断項目に応じて任意に決められてよい。同様に、影響度８の値をいくつの範囲に分類するかは、診断項目に応じて任意に決められてよい。また、範囲同士の境界の値も、診断項目に応じて任意に決められてよい。
【０４５５】
現在運転中の車両１００の１台前にドライバが運転していた他の車両（以下では「以前の車両」ともいう）に関して、「以前の車両」に搭載されている運転診断装置１１０の診断部１１５が下した診断の結果が、「過去の診断結果」として使われてもよい。なお、「以前の車両」の運転に関して、診断部１１５が２回以上診断を下した場合は、２個以上の診断結果６を代表する統計値が、「過去の診断結果」として使われる。
【０４５６】
診断項目ごとの診断方法に応じて、診断結果６を代表するのにふさわしい統計値の種類は異なり得る。例えば、平均値、最頻値、最大値、または最小値などの統計値のうち、診断項目に応じてふさわしい種類の統計値が使われることが好ましい。なお、図５の運転履歴テーブルの中に例示されている、３個の診断項目それぞれについての過去の診断結果のフィールドには、例えば以上のような適宜の統計値が記憶されている。統計値は、具体的には、図８のステップＳ２０６に関して既に説明したとおり、履歴管理部１１６により算出される。
【０４５７】
以上のように定義される「過去の診断結果」がアドバイステーブル３０７−ｊで使われる場合、車両１００に搭載されている運転診断装置１１０の判定部１１８は、影響度Ｉｎｆ（ｊ）だけでなく過去の診断結果Ｐｒｅｖ（ｊ）も、アドバイス決定部１１９に通知する。具体的には、判定部１１８は以下のように動作する。
【０４５８】
判定部１１８は、ステップＳ３０３で乗り換え回数Ｃｎｔが０回であると判定した場合には、ステップＳ３０４で、「影響度Ｉｎｆ（ｊ）が０であり、かつ、過去の診断結果Ｐｒｅｖ（ｊ）が未定義である」とアドバイス決定部１１９に通知する。
【０４５９】
逆に、乗り換え回数Ｃｎｔが１回以上の場合は、判定部１１８は、例えばステップＳ３０６で、運転履歴テーブル３０４−（Ｑ−１）から、車両ＩＤだけでなく、ｊ番目の診断項目に関する過去の診断結果を読み取る。そして、判定部１１８は、ステップＳ３０４またはＳ３０９で、影響度Ｉｎｆ（ｊ）をアドバイス決定部１１９に通知する際に、一緒に過去の診断結果もアドバイス決定部１１９に通知する。
【０４６０】
すると、ステップＳ３１０でアドバイス決定部１１９は、以下の３つの値の組み合わせに対応づけられているアドバイスを、アドバイステーブル３０７−ｊから読み出す。
【０４６１】
・図８のステップＳ２０４で診断部１１５から通知された、今回の診断結果Ｒｅｓ（ｊ）。
・図９のステップＳ３０４またはＳ３０９で判定部１１８から通知された、影響度Ｉｎｆ（ｊ）。
・図９のステップＳ３０４またはＳ３０９で判定部１１８から通知された、過去の診断結果Ｐｒｅｖ（ｊ）。
【０４６２】
ステップＳ３１０でアドバイス決定部１１９はさらに、読み出したアドバイスを出力制御部１２１に出力する。
【０４６３】
ところで、説明の簡単化のため、図７のステップＳ１０５に関する上記の説明では省略したが、ステップＳ１０５において履歴管理部１１６は、過去の運転履歴に関する運転履歴テーブルの取得に失敗する可能性もある。例えば、状況によっては、車両１００とサーバ２３０の間の通信が失敗する可能性がある。また、まれに、記憶媒体２４０上の一部または全部のデータが、何らかの理由により読み取り不能になってしまう可能性もある。
【０４６４】
よって、たとえ実際にはドライバが過去に他の車両を１台以上運転したことがあるとしても、履歴管理部１１６が外部装置１３０（具体的にはサーバ２３０または記憶媒体２４０）から、過去の運転履歴に関する運転履歴テーブルを成功裡に取得できるとは限らない。また、たとえ過去の運転履歴に関する運転履歴テーブルが履歴管理部１１６により取得されたとしても、取得された運転履歴テーブルの中の過去の診断結果のデータが、何らかの理由により無効である（例えば、壊れている、または、空である）可能性もある。
【０４６５】
よって、図１１のような形式のアドバイステーブルが使われる場合、過去の診断結果が未定義の場合についても、アドバイスが定められていてもよい。
【０４６６】
履歴管理部１１６は、例えば、ステップＳ１０５でサーバ２３０との間の通信に失敗した場合には、サーバ２３０との間の通信を再度試みてもよい。しかし、履歴管理部１１６が１回または複数回のリトライの結果として通信に成功する前に、ステップＳ１１０の運転診断処理とステップＳ１１２のアドバイス決定処理が行われる可能性もある。つまり、たとえ１回以上のリトライが行われたとしても、必ずしも、アドバイス決定処理において過去の診断結果のデータが利用可能であるとは限らない。
【０４６７】
なお、「過去の診断結果」の上記定義によれば、例えば以下のような場合に、過去の診断結果が未定義である。
【０４６８】
・ドライバは、運転診断装置１１０の搭載された他の車両を過去に運転したことがない。そのため、履歴記憶部１１７には過去の診断結果のデータが存在せず、乗り換え回数Ｃｎｔは０回に設定されている。
・ドライバは過去に他の車両を１台以上運転したことがある。つまり、実際の乗り換え回数は１回以上である。しかし、ステップＳ１０５で履歴管理部１１６が、何らかの理由（例えば、サーバ２３０との間の通信が不能であるなどの理由）により、過去の運転履歴に関する運転履歴テーブルの取得に失敗した。そのため、履歴記憶部１１７には過去の診断結果のデータが存在せず、乗り換え回数Ｃｎｔは０回に設定されている。
・ステップＳ１０５で１つ以上の運転履歴テーブルが取得され、乗り換え回数Ｃｎｔが正の値に設定された。しかし、何らかの理由により、取得された運転履歴テーブル中の過去の診断結果のデータが、無効である。
【０４６９】
上記３つの場合のうち、３番目の場合はまれである。よって、「過去の診断結果が未定義である」という可能性は、１番目と２番目の場合のように乗り換え回数Ｃｎｔが０回の場合についてのみ、考慮されてもよい。具体的には以下のとおりである。
【０４７０】
図９のフローチャートによれば、乗り換え回数Ｃｎｔが０回の場合には、影響度Ｉｎｆ（ｊ）が０である。よって、図１１のアドバイステーブル３０７−ｊでは、「未定義」という過去の診断結果は、影響度Ｉｎｆ（ｊ）が０の場合とだけ、組み合わせられている。つまり、サーバ２３０と運転診断装置１１０との間が通信不能な場合などには、実質的には現時点の診断結果のみに基づく一般的なアドバイス（すなわち、過去の診断結果が未定義である場合のアドバイス）が、ドライバに対して提示されてもよい。
【０４７１】
実施形態によっては、「未定義」という過去の診断結果が、影響度Ｉｎｆ（ｊ）が０以外の場合とも組み合わせられていてもよい。例えば、上記の３番目の場合が考慮に入れられる場合、乗り換え回数Ｃｎｔが１回以上と設定されているので、影響度Ｉｎｆ（ｊ）として０以外の値が得られる可能性がある（図９を参照）。よって、アドバイステーブルにおいて、各診断結果Ｒｅｓ（ｊ）と影響度Ｉｎｆ（ｊ）の各範囲との各組み合わせに対して、過去の診断結果が未定義の場合に対応するアドバイスが定義されていてもよい。
【０４７２】
また、第７実施形態は以下のように変形されてもよい。例えば、ドライバが過去に運転した車両のうち、直近のＬ台以内の各車両に関して下された診断結果６を代表する適宜の統計値が、アドバイステーブル３０７−ｊにおける「過去の診断結果」として使われてもよい（１＜Ｌ）。最大でＬ個の診断結果６を代表する統計値の種類（例えば、平均値、最頻値、最大値、最小値など）は、診断項目に応じて予め決められる。
【０４７３】
例えば、Ｌ＝３の場合、判定部１１８は、具体的には以下のようにして過去の診断結果をアドバイス決定部１１９に通知してもよい。
【０４７４】
乗り換え回数Ｃｎｔが３回以上の場合、ドライバが過去に運転した車両のうち、直近の３台の各車両についての診断結果６を、判定部１１８が運転履歴テーブル３０４−（Ｑ−３）〜３０４−（Ｑ−１）から読み出す。そして、判定部１１８は、読み出した３つの値から統計値を算出し、算出した値を「過去の診断結果」としてアドバイス決定部１１９に通知する。
【０４７５】
乗り換え回数Ｃｎｔが２回の場合、ドライバが過去に運転した２台の車両それぞれについての診断結果６を、判定部１１８が運転履歴テーブル３０４−（Ｑ−２）〜３０４−（Ｑ−１）から（つまり運転履歴テーブル３０４−１〜３０４−２から）読み出す。そして、判定部１１８は、読み出した２つの値から統計値を算出し、算出した値を「過去の診断結果」としてアドバイス決定部１１９に通知する。
【０４７６】
乗り換え回数Ｃｎｔが１回の場合、ドライバが過去に運転した１台の車両についての診断結果６を、判定部１１８が運転履歴テーブル３０４−（Ｑ−１）から（つまり運転履歴テーブル３０４−１から）読み出す。そして、判定部１１８は、読み出した値を「過去の診断結果」としてアドバイス決定部１１９に通知する。
【０４７７】
乗り換え回数Ｃｎｔが０回の場合、判定部１１８は、「過去の診断結果が未定義である」とアドバイス決定部１１９に通知する。
【０４７８】
アドバイス決定部１１９は、１＜Ｌの場合にも、単に判定部１１８からの通知にしたがってアドバイステーブル３０７−ｊをルックアップするだけである。つまり、アドバイス決定部１１９は、以下の３つの値の組み合わせに対応づけられているアドバイスを、アドバイステーブル３０７−ｊから読み出す。
【０４７９】
・診断部１１５から通知された今回の診断結果Ｒｅｓ（ｊ）。
・判定部１１８から通知された影響度Ｉｎｆ（ｊ）。
・判定部１１８から通知された過去の診断結果Ｐｒｅｖ（ｊ）。
【０４８０】
なお、本発明は上記の第１〜第７実施形態に限られるものではない。上記の説明においても、変形したいくつかの実施形態について説明したが、さらに、以下のように様々に変形した実施形態も可能である。上記および下記の実施形態は、相互に矛盾しない限り、任意に組み合わせることが可能である。
【０４８１】
例えば図９のステップＳ３０８では、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘ以上か否かが判定される。この判定は、式（２）における「ＣｎｔＭａｘ≦Ｃｎｔ」という範囲についての定義が適用されるか否かについての判定である。しかし、実施形態によっては、式（２）における３つの範囲が「Ｃｎｔ＝０」、「０＜Ｃｎｔ≦ＣｎｔＭａｘ」、および「ＣｎｔＭａｘ＜Ｃｎｔ」と定義されていてもよい。この場合、ステップＳ３０８では、乗り換え回数Ｃｎｔが閾値ＣｎｔＭａｘより大きいか否かが判定される。
【０４８２】
また、図６および１１に示すアドバイステーブルでは、影響度Ｉｎｆ（ｊ）の範囲が、例えば「ｍ（ｊ）≦Ｉｎｆ（ｊ）＜ｎ（ｊ）」のように不等号を用いて表されている。しかし、実施形態によっては、例えば、「ｍ（ｊ）＜Ｉｎｆ（ｊ）≦ｎ（ｊ）」のような範囲が採用されてもよいことは無論である。
【０４８３】
図５、６、１０、１１にはテーブル形式の情報が例示されている。しかし、実施形態によっては、テーブル形式以外のデータ形式が採用されてよい。
【０４８４】
また、第２実施形態では、図４の車両テーブル３０２が予め車両情報記憶部１１４に記憶されている。しかし、車両テーブル３０２のデータが、記憶媒体から読み取られて車両情報記憶部１１４に記憶されてもよい。例えば、車両テーブル３０２のデータは、外部装置１３０としての記憶媒体２４０に記憶されていてもよいし、記憶媒体２４０とは別の記憶媒体（例えば車両１００用のキーとして使われるスマートカード内の不揮発性記憶領域）に記憶されていてもよい。
【０４８５】
ところで、説明の便宜上、図５には、種々の履歴情報７のうち、第２実施形態では使われない履歴情報７を示すフィールドも例示されている。例えば、運転履歴テーブル中の、運転時間のフィールドと、運転開始日時のフィールドと、３つの診断項目それぞれについての過去の診断結果のフィールドは、第２実施形態では使われない。影響度８の算出にもアドバイスの決定にも使われない履歴情報７のフィールドは、実施形態に応じて省略されてもよい。
【０４８６】
また、車両テーブル３０３−１〜３０３−Ｐと運転履歴テーブル３０４−１〜３０４−（Ｑ−１）のうち、影響度８の算出にもアドバイスの決定にも使われない古いテーブルは、省略されてもよい。
【０４８７】
例えば、あるドライバの乗り換え回数が５回だとする。影響度８の算出には直近の過去の１台の車両の運転に関する履歴情報７のみが使われる実施形態では、過去にドライバが運転したその他の４台の車両に関する車両テーブルや運転履歴テーブルのデータは使われない。よって、このような実施形態（具体的には、例えば、第２〜第５実施形態）では、履歴記憶部１１７は、古いテーブルを記憶する必要がない。そこで、このような実施形態では、例えば、図７のステップＳ１１６で履歴管理部１１６が、外部装置１３０から古いテーブルを削除してもよい。
【０４８８】
実施形態によっては、逆に、ドライバが過去に運転した２台以上の車両についての履歴情報７が影響度８の算出に使われてもよい。例えば、式（７）ではドライバが直近の過去に運転した他の１台の車両についての運転時間ｐＴｉｍｅが使われる。しかし、実施形態によっては、車両１００より前に他の２台以上の車両を運転したことのあるドライバに関しては、それらの他の車両のうちドライバが直近の過去に運転した２台の車両それぞれの運転時間に基づいて、判定部１１８が影響度８を算出してもよい。
【０４８９】
判定部１１８は、以下の２つの影響を同等に評価してもよい。しかし、判定部１１８は、前者の影響の方を後者の影響より大きく評価して、最終的な影響度８を算出することが好ましい
【０４９０】
・直近の過去にドライバが運転した車両の運転履歴からの、運転時間１時間あたりの影響。
・直近から２台目の過去にドライバが運転した車両の運転履歴からの、運転時間１時間あたり影響。
【０４９１】
また、判定部１１８が過去の２台以上の車両についての履歴情報７を考慮する場合、ステップＳ３０７の判定は、以下のように変形されてもよい。すなわち、ドライバが直近の過去に運転した最大でＬ台の車両（１＜Ｌ）の車両ＩＤのすべてが、ステップＳ３０５で読み取った車両ＩＤと等しいときに、判定部１１８は、ステップＳ３０７の次にステップＳ３０４を実行してもよい。逆に、ドライバが直近の過去に運転した最大でＬ台の車両の車両ＩＤの中に、少なくとも１つ、ステップＳ３０５で読み取った車両ＩＤとは違う車両ＩＤが見つかれば、判定部１１８は、ステップＳ３０７の次にステップＳ３０８を実行してもよい。
【０４９２】
ところで、第２実施形態では、統計テーブル３０５に記憶された乗り換え回数ＣｎｔがステップＳ３０３、Ｓ３０８、およびＳ３０９で使われる。ドライバが同じ車両を２回以上運転したことがある場合は、乗り換え回数Ｃｎｔには、同じ車両が重複して数えられる。
【０４９３】
しかし、実施形態によっては、同一車両の重複を除いてドライバが運転したことのある車両の数（つまり図５における車両テーブル３０３−１〜３０３−Ｐの数である「Ｐ」）を示す台数情報が、さらに統計テーブル３０５に記憶されていてもよい。つまり、ステップＳ１１６で履歴管理部１１６は、Ｐという値を示す台数情報も統計テーブル３０５に書き込んでもよい。
【０４９４】
このような台数情報が使われる場合、図９のフローチャートは以下のように変形される。
【０４９５】
判定部１１８は、ステップＳ３０３の判定には乗り換え回数Ｃｎｔを用いる。一方、ステップＳ３０８とＳ３０９では、判定部１１８は、台数情報を用いる。具体的には、判定部１１８は、式（２）の代わりに式（１３）にしたがって、変数Ｔｅｍｐの値を算出してもよい。
【数７】
2014238676.tif 000009
【０４９６】
式（１３）中の閾値ＰＭａｘは、同一車両の重複を除いてドライバが運転したことのある車両の数（すなわちＰ）に関する閾値である。また、式（１３）中の係数ＣｏｅｆＰは、式（２）中の係数ＣｏｅｆＣｎｔと類似の係数である。
【０４９７】
台数情報を使う実施形態においては、判定部１１８は、台数Ｐが閾値ＰＭａｘ以上か否かをステップＳ３０８で判定する。そして、台数Ｐが閾値ＰＭａｘ以上なら、判定部１１８はステップＳ３０４を実行する。逆に、台数Ｐが閾値ＰＭａｘ未満なら、判定部１１８はステップＳ３０９を実行する。ステップＳ３０９で判定部１１８は、式（１３）にしたがって変数Ｔｅｍｐを算出し、変数Ｔｅｍｐを使って影響度Ｉｎｆ（ｊ）を算出し、影響度Ｉｎｆ（ｊ）をアドバイス決定部１１９に通知する。
【０４９８】
式（１）と（１３）により定義される影響度Ｉｎｆ（ｈｎｄｌ）、式（３）と（１３）により定義される影響度Ｉｎｆ（ｐｏｓ）、および、式（４）と（１３）により定義される影響度Ｉｎｆ（ａｃｃ）は、以下の点で共通である。
【０４９９】
・台数Ｐが１の場合、判定部１１８は、ステップＳ３０４で影響度Ｉｎｆ（ｊ）を０と判定する。
・台数Ｐが１より大きい場合、式（１３）から明らかなように、判定部１１８は、台数Ｐに対して影響度Ｉｎｆ（ｊ）の大きさが単調減少するように、（ステップＳ３０４またはステップＳ３０９で）影響度Ｉｎｆ（ｊ）を判定する。
【０５００】
なお、たとえ以上のような台数情報が明示的には使われないとしても、図９のフローチャートによれば、Ｐ＝１の場合には、ステップＳ３０４で影響度Ｉｎｆ（ｊ）が０と判定されることに注意されたい。なぜなら、Ｐ＝１の場合には、「乗り換え回数Ｃｎｔが０である」とステップＳ３０３で確認されるか、または、「２つの車両ＩＤが等しい」とステップＳ３０７で確認されるからである。
【０５０１】
ところで、上記の種々の実施形態について説明したように、判定部１１８は影響度８の判定のために、１つ以上の閾値および／または１つ以上の係数を使ってもよい。実施形態によっては、判定部１１８は、係数を含まない式に基づいて影響度８を算出してもよい。判定部１１８は、閾値を含まない式に基づいて影響度８を算出してもよい。
【０５０２】
判定部１１８が使う閾値および／または係数は、例えば、判定部１１８を実現するためのプログラム内に定数として定義されていてもよい。あるいは、不揮発性記憶装置２０３に記憶される所定の設定ファイルに、予め、閾値および／または係数が書き込まれていてもよく、判定部１１８が設定ファイルから閾値および／または係数を読み出してもよい。
【０５０３】
閾値および／または係数は、例えば、記憶媒体２４０に記憶されて提供され、リーダ／ライタ２０８を介して読み取られ、上記の所定の設定ファイルにコピーされてもよい。また、運転診断装置１１０の管理者によって、入力装置を介して（または、ネットワーク２２０とＷＬＡＮインタフェイス２０７を介して）、設定ファイル内の閾値および／または係数が書き換えられてもよい。入力装置として、例えば、コンピュータ２００が不図示のキーボードを有していてもよい。あるいは、ディスプレイ１０４がタッチスクリーンであってもよい。
【０５０４】
なお、閾値および／または係数が、ネットワーク２２０とＷＬＡＮインタフェイス２０７を介して更新されるような実施形態の中には、サーバ２３０が閾値および／または係数の学習を行う実施形態もある。
【０５０５】
具体的には、車両１００の走行中に車両情報記憶部１１４に蓄積される車両情報５と、車両１００の走行中に診断部１１５から得られる診断結果６が、ネットワーク２２０を介してサーバ２３０に送信されてもよい。例えば、履歴管理部１１６が、定期的に車両情報５と診断結果６をサーバ２３０に送信してもよい。より具体的には、履歴管理部１１６は、例えば３分に１回、直近の３分間に車両情報取得部１１１により取得された車両情報５と、直近の３分間に診断部１１５から得られた診断結果６を、サーバ２３０に送信してもよい。あるいは、履歴管理部１１６は、図７のステップＳ１１６において、車両１００の走行中に得られた車両情報５と診断結果６をまとめてサーバ２３０に送信してもよい。
【０５０６】
また、履歴管理部１１６は、車両１００自体についての車両テーブル３０２も、サーバ２３０に送信する。もちろん、履歴管理部１１６は、第２実施形態に関して説明したように、履歴情報７もサーバ２３０に送信する。
【０５０７】
サーバ２３０は、複数の車両にそれぞれ搭載された運転診断装置１１０から、上記のようにして車両情報５と診断結果６と履歴情報７を受信する。サーバ２３０は、こうして複数の車両の運転診断装置１１０から収集したデータに基づいて、閾値および／または係数の値を決定してもよい。時間の経過とともに、サーバ２３０に蓄積されるデータは増える。
【０５０８】
サーバ２３０は、各運転診断装置１１０から収集したデータに基づいて、定期的に（または不定期に）、閾値および／または係数の値を決定しなおす。例えば、サーバ２３０が、車両間の仕様の差の診断結果６に対する影響と、ドライバの運転経験の診断結果６に対する影響を独立に調べてもよい。サーバ２３０は、車両間の仕様の差の診断結果６に対する影響と、ドライバの運転経験の診断結果６に対する影響の相関を調べてもよい。サーバ２３０は、最小２乗法などの適宜の関数当てはめアルゴリズムにしたがって、閾値および／または係数の値を決定してもよい。
【０５０９】
サーバ２３０は、決定しなおした閾値および／または係数を、ネットワーク２２０を介して各運転診断装置１１０に送信する。すると、各運転診断装置１１０は、ＷＬＡＮインタフェイス２０７を介して新しい閾値および／または係数を受信し、受信した値を設定ファイルに書き込む。
【０５１０】
以上のようにして、閾値および／または係数の更新が繰り返される。すると、時間が経過するにつれて、より適切な閾値および／または係数が運転診断装置１１０に学習される。よって、学習の結果として、ドライバに提示されるアドバイスの適切さが、時間の経過につれて向上する。
【０５１１】
また、学習効果があるので、詳細な予備実験を省略することができる。例えば、運転診断装置１１０の開発者が大雑把に見積もった値が閾値および／または係数の初期値として使われたとしても、大きな問題はない。
【０５１２】
さらに、予備実験では所定のテストコースだけが使われたり、ドライビング・シミュレータが使われたりするが、上記のようなサーバ２３０による学習は、実データに基づく。よって、上記のように学習される閾値および／または係数は、予備実験から得られる閾値および／または係数よりもさらに適切である、と期待される。
【０５１３】
ところで、図７のフローチャートも、実施形態に応じて適宜変形されてよい。
例えば、ステップＳ１１３がステップＳ１１０に先行してもよい。つまり、ステップＳ１０９でｊ≦Ｎと判定されたら、次に、出力制御部１２１がステップＳ１１３の判定を行ってもよい。
【０５１４】
そして、出力制御部１２１が「ドライバに対してアドバイスを提示することが可能」と判定した場合にのみ、次に診断部１１５がステップＳ１１０の運転診断処理を実行してもよい。この場合、次にステップＳ１１１が実行される。そして、ステップＳ１１１で「診断成功」と判定されたら、続いて、ステップＳ１１２とＳ１１４が実行される。
【０５１５】
また、図７のフローチャートでは、診断部１１５がＮ個の診断項目について順番に運転診断処理を実行する。しかし、実施形態によっては、イベント駆動型（event-driven）の手続が採用されてもよい。
【０５１６】
例えば、ｊ番目の診断項目の診断のための前提条件が成立したときに、前提条件の成立をトリガとして、出力制御部１２１がステップＳ１１３の判定を行ってもよい。そして、出力制御部１２１が「ドライバに対してアドバイスを提示することが可能」と判定したら、診断部１１５がｊ番目の診断項目についてステップＳ１１０の運転診断処理を実行してもよい。
【０５１７】
この場合、次にステップＳ１１１が実行される。そして、ステップＳ１１１で「診断成功」と判定されたら、続いて、ステップＳ１１２とＳ１１４が実行される。
【０５１８】
なお、車両情報管理部１１３が、車両情報取得部１１１から出力される車両情報５を監視することにより、各診断項目について、「診断のための前提条件が成立した」というイベントが発生したか否かを検出してもよい。診断項目によっては、車両情報管理部１１３が、時間の経過を監視することにより、「診断のための前提条件が成立した」というイベントが発生したか否かを検出してもよい。
【０５１９】
また、実施形態によっては、アドバイステーブルに記憶される複数のアドバイスのうちの少なくとも１つが、空であってもよい。例えば、ある診断項目に関して、影響度８の大きさが０（または０に近い値）であり、かつ、診断結果６が高い評価を示している場合があり得る。このような場合、アドバイスを提示しなくても、既にドライバは上手に車両１００を運転することができており、しかも、他の車両の運転経験からの影響に関しても、ドライバが考慮することが望ましいような注意点は特にない。
【０５２０】
よって、このような場合は、運転診断装置１１０は、アドバイスを提示してドライバを煩わせるよりも、むしろ、アドバイスの提示を省略する方が好ましい。したがって、アドバイスの提示を省略した方が好ましいような、診断結果６と影響度８の特定の組み合わせには、空のアドバイスが対応づけられていてもよい。出力制御部１２１は、アドバイス決定部１１９から通知されたアドバイスが空の場合は、アドバイスの出力を省略する。
【０５２１】
以上、様々な実施形態について説明したが、いずれの実施形態も、「ドライバの運転履歴を考慮に入れた適切なアドバイスが選ばれる」という利点を有する。すなわち、いずれの実施形態も、パーソナライズされたアドバイスが提示されるので、ドライバの運転を支援するうえで有益である。
【０５２２】
例えば、第１と第２のドライバがそれぞれ第１と第２の車両を運転するものとする。この場合、たまたま、２人のドライバに対して同じ診断結果６が得られる可能性がある。しかし、上記の各種実施形態によれば、第１と第２のドライバの運転履歴の違いに応じて、第１と第２のドライバに対して異なるアドバイスを提示することが可能である。
【０５２３】
また、第１のドライバが、その後、第３の車両を運転する場合があり得る。そして、第１のドライバが第１の車両を運転していた第１の時点で得られた診断結果６と、第１のドライバが第３の車両を運転している第２の時点で得られた診断結果６が、たまたま同じである可能性もある。しかし、上記の各種実施形態によれば、第１のドライバの運転履歴の蓄積に応じて、第１の時点と第２の時点では異なるアドバイスをドライバに提示することも可能である。
【０５２４】
また、いずれの実施形態でも、単に「診断結果６に対して運転履歴の影響があるかないか」が２値的に判定されるのでなく、影響の度合いが判定される。よって、個々のドライバにとって適切なアドバイスを、きめ細かに選ぶことが可能となる。
【０５２５】
以上のとおり、上記の各種実施形態によれば、ドライバにとって不適切だったり間違っていたり不要だったりするアドバイスの出力が抑制され、より適切なアドバイスがドライバに提示される。不適切なアドバイスの出力を抑制することには、ドライバに不適切な運転を促してしまうリスクを減らせる効果があるだけでなく、「変なアドバイスが出力されるから煩わしい」という感覚をドライバに与えずに済む、という効果もある。
【０５２６】
最後に、上記の種々の実施形態に関して、さらに下記の付記を開示する。
（付記１）
ドライバがある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報に基づいて、前記ドライバの運転について診断を下す診断手段と、
前記ある車両を含む互いに異なる１台以上の車両を、前記ドライバが今までに運転してきた履歴に関する履歴情報に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定する判定手段と、
各々が、診断の結果と影響の度合いの組み合わせに対応づけられている複数のアドバイスを記憶する記憶手段と、
前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いとの組み合わせに対応づけられて前記記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する決定手段
を備えることを特徴とする運転診断装置。
（付記２）
前記判定手段は、前記ドライバが前記ある車両に適応している度合いに影響を与える時間的要因を表す値を、前記履歴情報から抽出または計算し、前記値を用いて、前記影響の度合いを判定する
ことを特徴とする付記１に記載の運転診断装置。
（付記３）
前記履歴情報は、前記ある車両を前記ドライバが運転し始めた時刻を示す開始時刻情報を少なくとも含み、
前記判定手段は、前記開始時刻情報が示す前記時刻から経過した時間の長さに対して前記影響の度合いの大きさが単調減少するように、前記影響の度合いを判定する
ことを特徴とする付記２に記載の運転診断装置。
（付記４）
前記履歴情報は、前記ある車両とは別の車両を前記ドライバが運転していた時間の長さを示す運転時間情報を少なくとも含み、
前記判定手段は、前記運転時間情報が示す前記時間の長さに対して前記影響の度合いの大きさが単調増加するように、前記影響の度合いを判定する
ことを特徴とする付記２または３に記載の運転診断装置。
（付記５）
前記履歴情報は、前記ある車両とは別の車両を前記ドライバが運転し終えた時刻を示す終了時刻情報を少なくとも含み、
前記判定手段は、前記終了時刻情報が示す前記時刻から経過した時間の長さに対して前記影響の度合いの大きさが単調減少するように、前記影響の度合いを判定する
ことを特徴とする付記２から４のいずれか１項に記載の運転診断装置。
（付記６）
前記履歴情報は、前記ある車両の仕様を示す第１の車両仕様情報と、前記１台以上の車両のうち前記ある車両とは別の車両の仕様を示す第２の車両仕様情報とを少なくとも含み、
前記判定手段は、前記第１の車両仕様情報が示す前記仕様と前記第２の車両仕様情報が示す前記仕様との差の大きさに対して前記影響の度合いの大きさが単調増加するように、前記影響の度合いを判定する
ことを特徴とする付記１から５のいずれか１項に記載の運転診断装置。
（付記７）
前記第１の車両仕様情報が示す前記仕様と前記第２の車両仕様情報が示す前記仕様との前記差が正のときに前記影響の度合いが正なのか負なのかを定める係数を用いて、前記判定手段が前記影響の度合いを判定する
ことを特徴とする付記６に記載の運転診断装置。
（付記８）
前記履歴情報は、前記１台以上の車両の台数を示す台数情報を少なくとも含み、
前記台数情報が示す前記台数が１の場合、前記判定手段は前記影響の度合いをゼロと判定し、
前記台数情報が示す前記台数が１より大きい場合、前記判定手段は、前記台数情報が示す前記台数に対して前記影響の度合いの大きさが単調減少するように、前記影響の度合いを判定する
ことを特徴とする付記１から７のいずれか１項に記載の運転診断装置。
（付記９）
前記記憶手段において、前記複数のアドバイスの各々は、前記診断の結果と、前記影響の度合いと、過去の診断の結果との組み合わせに対応づけられて記憶されており、
前記履歴情報は、前記ある車両とは別の車両をかつて前記ドライバが運転したときに下された過去の診断の結果を含み、
前記決定手段は、前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いと、前記履歴情報に含まれる前記過去の診断の結果との組み合わせに対応づけられて前記記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する
ことを特徴とする付記１から８のいずれか１項に記載の運転診断装置。
（付記１０）
前記履歴情報を記憶する記憶媒体から、前記履歴情報を読み出す読み出し手段と、
前記ある車両の運転に関する前記履歴情報を、前記記憶媒体に書き込む書き込み手段
をさらに備えることを特徴とする付記１から９のいずれか１項に記載の運転診断装置。
（付記１１）
情報記憶装置からネットワークを介して前記履歴情報を受信する受信手段と、
前記ネットワークを介して、前記ある車両の運転に関する前記履歴情報を前記情報記憶装置に送信する送信手段
をさらに備えることを特徴とする付記１から９のいずれか１項に記載の運転診断装置。
（付記１２）
前記決定手段が提示することに決定した前記アドバイスを出力する出力手段をさらに備えることを特徴とする付記１から１１のいずれか１項に記載の運転診断装置。
（付記１３）
前記車両情報に基づいて、前記決定手段が提示することに決定した前記アドバイスを前記出力手段が出力するタイミングを制御する制御手段をさらに備えることを特徴とする付記１２に記載の運転診断装置。
（付記１４）
ある車両に搭載される車載装置と、ネットワークを介して前記車載装置との間で情報を送受信する管理装置とを有する運転診断システムであって、
前記車載装置は、
ドライバが前記ある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報を前記ある車両から取得する取得手段と、
前記ネットワークを介して前記管理装置との間で通信を行う第１の送受信手段
を備え、
前記管理装置は、
前記ネットワークを介して前記車載装置との間で通信を行う第２の送受信手段と、
前記ある車両以外の車両をかつて前記ドライバが運転した履歴に関する第１の履歴情報を記憶する履歴記憶手段
を備え、
前記車両情報に基づいて、前記ドライバの運転について診断を下す診断手段を、前記車載装置または前記管理装置が備え、
前記第１の履歴情報と、前記ある車両を前記ドライバが今までに運転してきた履歴に関する第２の履歴情報のうち少なくとも一方に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定する判定手段を、前記車載装置または前記管理装置が備え、
各々が、診断の結果と影響の度合いの組み合わせに対応づけられている複数のアドバイスを記憶するアドバイス記憶手段を、前記車載装置または前記管理装置が備え、
前記診断手段により下された前記診断の結果と、前記判定手段により判定された前記影響の度合いとの組み合わせに対応づけられて前記アドバイス記憶手段に記憶されているアドバイスを、前記ドライバに対して提示することに決定する決定手段を、前記車載装置または前記管理装置が備える
ことを特徴とする運転診断システム。
（付記１５）
前記車載装置が、前記第２の履歴情報を生成または取得して、前記第１の送受信手段から前記ネットワークを介して前記第２の履歴情報を前記管理装置に送信し、
前記管理装置が、前記第２の送受信手段により前記第２の履歴情報を受信し、受信した前記第２の履歴情報を、前記履歴記憶手段に記憶している前記第１の履歴情報に追加する
ことを特徴とする付記１４に記載の運転診断システム。
（付記１６）
前記車載装置が、前記診断手段、前記判定手段、前記アドバイス記憶手段、および決定手段を備え、
前記履歴記憶手段に記憶されている前記第１の履歴情報が、前記第２の送受信手段から前記ネットワークを介して送信され、前記第１の送受信手段で受信され、前記判定手段に取得される
ことを特徴とする付記１４または１５に記載の運転診断システム。
（付記１７）
前記管理装置が、前記診断手段、前記判定手段、前記アドバイス記憶手段、および決定手段を備え、
前記車載装置は、アドバイスを出力する出力手段をさらに備え、
前記取得手段により取得された前記車両情報が、前記第１の送受信手段から前記ネットワークを介して送信され、前記第２の送受信手段で受信され、前記診断手段に取得され、
前記決定手段が提示することに決定した前記アドバイスが、前記第２の送受信手段から前記ネットワークを介して送信され、前記第１の送受信手段で受信され、前記出力手段により出力される
ことを特徴とする付記１４または１５に記載の運転診断システム。
（付記１８）
コンピュータが、
ドライバがある車両を運転している間の、前記ある車両の挙動と前記ドライバの操作の少なくとも一方を示す車両情報に基づいて、前記ドライバの運転について診断を下し、
前記ある車両を含む互いに異なる１台以上の車両を、前記ドライバが今までに運転してきた履歴に関する履歴情報に基づいて、前記ある車両を前記ドライバが運転しだす前の前記ドライバの運転経験が前記診断に与える影響の度合いを判定し、
各々が、診断の結果と影響の度合いの組み合わせに対応づけられて記憶装置に記憶されている複数のアドバイスのうち、下した前記診断の結果と判定した前記影響の度合いとの組み合わせに対応づけられているアドバイスを、前記ドライバに対して提示することに決定する
ことを特徴とする運転診断方法。
【符号の説明】
【０５２７】
１、１１５  診断部
２、１１８  判定部
３  記憶部
４  決定部
５  車両情報
６  診断結果
７  履歴情報
８  影響度
１００  車両
１０１、１０２  ＥＣＵ
１０３  ＣＡＮ
１０４  ディスプレイ
１０５  スピーカ
１１０  運転診断装置
１１１  車両情報取得部
１１２  時計
１１３  車両情報管理部
１１４  車両情報記憶部
１１６  履歴管理部
１１７  履歴記憶部
１１９  アドバイス決定部
１２０  アドバイス記憶部
１２１  出力制御部
１３０  外部装置
２００  コンピュータ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  不揮発性記憶装置
２０４  ＣＡＮインタフェイス
２０５  ディスプレイインタフェイス
２０６  スピーカインタフェイス
２０７  ＷＬＡＮインタフェイス
２０８  リーダ／ライタ
２０９  バス
２２０  ネットワーク
２３０  サーバ
２４０  記憶媒体
３０１  運転記録テーブル
３０２、３０３−１〜３０３−Ｐ  車両テーブル
３０４−１〜３０４−Ｑ  運転履歴テーブル
３０５  統計テーブル
３０６−ｊ、３０７−ｊ  アドバイステーブル
４０１、４０２  係数テーブル
【図１】
2014238676.tif 000010
【図２】
2014238676.tif 000011
【図３】
2014238676.tif 000012
【図４】
2014238676.tif 000013
【図５】
2014238676.tif 000014
【図６】
2014238676.tif 000015
【図７】
2014238676.tif 000016
【図８】
2014238676.tif 000017
【図９】
2014238676.tif 000018
【図１０】
2014238676.tif 000019
【図１１】
2014238676.tif 000020