(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-16
(45)【発行日】2024-10-24
(54)【発明の名称】テスト支援装置およびプログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20241017BHJP
【FI】
G06F11/36 192
G06F11/36 188
G06F11/36 196
(21)【出願番号】P 2020147231
(22)【出願日】2020-09-02
【審査請求日】2023-08-24
(73)【特許権者】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100177839
【氏名又は名称】大場 玲児
(74)【代理人】
【識別番号】100172340
【氏名又は名称】高橋 始
(74)【代理人】
【識別番号】100182626
【氏名又は名称】八島 剛
(72)【発明者】
【氏名】中里 研一
【審査官】円子 英紀
(56)【参考文献】
【文献】米国特許出願公開第2019/0351334(US,A1)
【文献】中国特許出願公開第111530081(CN,A)
【文献】特開2020-108733(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
仮想環境上でテスト対象のシステムを模擬するとともに、前記システムに関するパラメータを設定可能なシミュレーション部(21)と、
設定された前記パラメータに基づき前記シミュレーション部(21)で模擬される前記システムをテストし、当該テストの結果を用いて機械学習を行う学習部(22)と、
前記学習部(22)の学習の速度に応じて第1の評価値を求める第1演算部(26)と、
前記学習部(22)がテスト時に選択した行動の多様さに応じて第2の評価値を求める第2演算部(27)と、
設定された前記パラメータに対応する前記第1の評価値および前記第2の評価値を表示装置(19)に表示させる出力処理部(28)と、
を備えるテスト支援装置(10)。
【請求項2】
前記学習部(22)は、前記テストの結果を用いて強化学習を行う
請求項1に記載のテスト支援装置(10)。
【請求項3】
前記第1演算部(26)は、前記学習部(22)による強化学習の学習曲線に基づいて、前記第1の評価値を求める
請求項2に記載のテスト支援装置(10)。
【請求項4】
前記学習部(22)によるテスト時の行動履歴を記録する記録部(25)をさらに備え、
前記第2演算部(27)は、前記行動履歴から場面ごとの方策をそれぞれ抽出し、当該方策に基づき前記第2の評価値を求める
請求項2または請求項3に記載のテスト支援装置(10)。
【請求項5】
前記第2演算部(27)は、前記場面の数、または前記方策の行動に対する確率の分布の少なくなくともいずれかに基づいて前記第2の評価値を求める
請求項4に記載のテスト支援装置(10)。
【請求項6】
前記学習部(22)は、前記パラメータの値が異なる複数の条件で前記システムをそれぞれテストし、
前記出力処理部(28)は、前記複数の条件にそれぞれ対応する前記第1の評価値および前記第2の評価値を前記表示装置(19)に表示させる
請求項1から5のいずれかに記載のテスト支援装置(10)。
【請求項7】
設定されたパラメータに基づき仮想環境上で模擬されるシステムを、学習部(22)にテストさせて、当該テストの結果を用いて前記学習部(22)の機械学習を行う工程(S4)と、
前記学習部(22)の学習の速度に応じて第1の評価値を求める工程(S5)と、
前記学習部(22)がテスト時に選択した行動の多様さに応じて第2の評価値を求める工程(S6)と、
設定された前記パラメータに対応する前記第1の評価値および前記第2の評価値を表示装置(19)に表示させる工程(S10)と、
をコンピュータ(11)に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト支援装置およびプログラムに関する。
【背景技術】
【0002】
従来、コンピュータに構築された仮想環境上でゲームやユーザインターフェース等の製品テストを行い、当該テストで得られたパラメータを実環境の構成に適用することで製品設計を効率化することが行われている。近年では、コンピュータの演算能力の向上及び人工知能(AI)技術の進展により、仮想環境上での製品テストを活用できる環境が充実しつつある。
【0003】
例えば、特許文献1では、統計的に処理した標準人の感性データベースを用いたコンピュータシステムにより、ユーザ個人の感性および体形に合わせた機器のデザインを行うことが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、対話形式のシステムを仮想環境上でテストするときには、AIプログラムをエージェントとしてテストを行わせることが考えられる。一方で、例えば習熟の容易さや面白さなどの感性的な要素を考慮してテストを行う場合、コンピュータが適切な評価を行うことがなお困難である。そのため、この種のテストでは、人間による作業工程が依然として多くを占めることが通常であり、その改善が要望されている。
【0006】
本発明は、上記の課題を背景としてなされたものであり、感性的な要素を考慮したシステムの最適化において、テストの際の人間の作業負荷を低減しうるテスト支援装置およびプログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、仮想環境上でテスト対象のシステムを模擬するとともに、システムに関するパラメータを設定可能なシミュレーション部(21)と、設定されたパラメータに基づきシミュレーション部(21)で模擬されるシステムをテストし、当該テストの結果を用いて機械学習を行う学習部(22)と、学習部(22)の学習の速度に応じて第1の評価値を求める第1演算部(26)と、学習部(22)がテスト時に選択した行動の多様さに応じて第2の評価値を求める第2演算部(27)と、設定されたパラメータに対応する第1の評価値および第2の評価値を表示装置(19)に表示させる出力処理部(28)と、を備えるテスト支援装置(10)が提供される。
【0008】
本発明の他の一態様によれば、設定されたパラメータに基づき仮想環境上で模擬されるシステムを、学習部(22)にテストさせて、当該テストの結果を用いて学習部(22)の機械学習を行う工程(S4)と、学習部(22)の学習の速度に応じて第1の評価値を求める工程(S5)と、学習部(22)がテスト時に選択した行動の多様さに応じて第2の評価値を求める工程(S6)と、設定されたパラメータに対応する第1の評価値および第2の評価値を表示装置(19)に表示させる工程(S10)と、をコンピュータ(11)に実行させるプログラムが提供される。
【発明の効果】
【0009】
本発明によれば、感性的な要素を考慮したシステムの最適化において、テストの際の人間の作業負荷を低減できる。
【図面の簡単な説明】
【0010】
【
図1】テスト支援装置のハードウェア構成例を示すブロック図である。
【
図2】テスト支援装置のソフトウェア構成例を示すブロック図である。
【
図3】テスト支援装置の動作例を示す流れ図である。
【発明を実施するための形態】
【0011】
以下、本発明のテスト支援装置およびプログラムの実施形態について、図面を参照して説明する。以下に説明する構成は、本発明の一例(代表例)であり、これに限定されない。
【0012】
<第1実施形態>
第1実施形態では、対話形式のシステムにおけるパラメータ調整の一例として、カードゲームのテストプレイの事例を説明する。具体的に、第1実施形態では、仮想環境上で機械学習を行うAIプログラムにカードゲームをテストプレイさせて、AIプログラムのテストプレイの結果に基づき当該カードゲームのパラメータPを調整する。これにより、ゲームバランスの良好なカードゲームのルールを作成することができる。
【0013】
このカードゲームではそれぞれが異なる複数のカードを使用するものとする。また、各カードには、例えばトランプのように、スートに相当するカードの種類と、当該種類でのカードの順番を規定する数値が割り当てられているものとする。
【0014】
(テスト支援装置のハードウェア構成)
図1は、第1実施形態におけるテスト支援装置のハードウェア構成例を示すブロック図である。
【0015】
テスト支援装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、記憶装置14と、入力I/F15および表示I/F16を備えるコンピュータである。テスト支援装置10の各要素は、バス17を介して互いに接続されている。
【0016】
CPU11は、ROM12またはRAM13に格納されたプログラムに従って、各種の演算処理を行うプロセッサである。ROM12は、不揮発性の記憶領域であって、例えばBIOSなどのプログラムが格納される。RAM13は、揮発性の記憶領域であって、CPU11が各種の演算処理を行う際の一時記憶領域として使用される。
【0017】
記憶装置14は、不揮発性の大容量記憶媒体であって、例えば、ハードディスク(HDD)やソリッドステートドライブ(SSD)などが挙げられる。記憶装置14は、オペレーティングシステム(OS)、テスト支援装置の各種機能を実現するプログラム、および当該プログラムで使用されるデータなどを記憶する。
【0018】
入力I/F15は、外付けの入力装置18と接続され、入力装置18からの入力を受け付けるインターフェースである。入力装置18としては、例えば、キーボードやポインティングデバイスなどが挙げられる。
【0019】
表示I/F16は、外付けの表示装置19と接続され、表示装置19への出力を担うインターフェースである。表示装置19としては、例えば、液晶ディスプレイなどのモニタ装置が挙げられる。
【0020】
テスト支援装置10においては、起動後にCPU11によりBIOSが実行され、記憶装置14からRAM13にOSが実行可能にロードされる。CPU11は、OSの動作に従って、テスト支援装置10のソフトウェアモジュールを記憶装置14からRAM13に随時実行可能にロードする。そして、ロードされたソフトウェアモジュールは、CPU11がプログラムを実行することで動作する。
【0021】
(テスト支援装置のソフトウェア構成)
図2は、第1実施形態におけるテスト支援装置のソフトウェア構成例を示すブロック図である。
【0022】
テスト支援装置10は、ソフトウェアモジュールとして、シミュレーション部21と、学習部22と、入力処理部23と、学習記録部24と、履歴記録部25と、第1演算部26と、第2演算部27と、出力処理部28とを備える。
【0023】
シミュレーション部21は、テスト対象となる対話形式のシステムを仮想環境上で模擬したシミュレータである。シミュレーション部21は、例えば、学習部22からの入力に対し、仮想環境上で模擬されるシステムの出力を返す。例えば、第1実施形態では、シミュレーション部21はカードゲームを実行するゲームプログラムで構成される。
なお、シミュレーション部21は、テスト対象のシステムにつき指定を受けたパラメータPの設定値を変更することが可能である。
【0024】
学習部22は、テスト対象のシステムのAIプレイヤーとして機能する機械学習のソフトウェアモジュールである。第1実施形態での学習部22は、強化学習のエージェントとして、行動価値関数にしたがってテスト対象のシステム上での行動の選択を行う。ここで、エージェントが行動すると環境の状態が変化し、報酬が得られる。この報酬の総和を最大化する方策を学習していくことで学習部22の強化学習が行われる。なお、強化学習で適用されるアルゴリズムは、例えば、モンテカルロ法、SARSA、Q学習などのいずれでもよい。
また、学習部22は、シミュレーション部21で適用されているパラメータの設定値をシミュレーション部21から取得する機能を有する。
【0025】
図2の例では、簡単のため、1つの学習部22を有する構成を示している。しかし、テスト支援装置10は、二以上の独立した複数の学習部22を有していてもよい。
【0026】
入力処理部23は、調整すべきパラメータの指定を、入力装置18を介してユーザから受け付ける。また、入力処理部23は、ユーザが対話形式のシステムの一方のプレイヤーとなる場合に、入力装置18からのユーザの操作情報をシミュレーション部21に出力する。
【0027】
学習記録部24は、学習部22の強化学習の進行を示す学習曲線の情報を記憶装置14に記録する。学習曲線は、テストの回数とテスト結果の対応関係を示す。例えば、第1実施形態の学習記録部24は、学習曲線の情報として、ゲームのテストプレイ回数と学習部22の勝率の推移を示す情報を記録する。
【0028】
履歴記録部25は、学習部22によるテスト時の行動履歴の情報を記憶装置14に記録する。履歴記録部25は、毎回のゲームプレイにおいて学習部22が選択した行動の履歴を時系列で記録し、テストプレイ回数を重ねるごとに当該履歴の情報を記憶装置14に蓄積してゆく。
【0029】
第1演算部26は、学習部22の強化学習の速度に応じて第1の評価値V1を求める。例えば、第1実施形態での第1演算部26は、学習記録部24の学習曲線を用いて、ゲームの難易度を評価する指標として強化学習の速さから第1の評価値V1を算出する。
【0030】
第2演算部27は、学習部22が選択した行動の多様さに応じて第2の評価値V2を求める。例えば、第1実施形態での第2演算部27は、履歴記録部25の行動履歴から場面ごとの方策を抽出し、当該方策に基づいてゲーム中の戦略の複雑さを評価する指標として第2の評価値V2を算出する。
【0031】
出力処理部28は、パラメータPの設定値に対応する第1の評価値V1および第2の評価値V2を表示装置19に表示させる制御を行う。出力処理部28は、第1の評価値V1に対応付けて学習記録部24の学習曲線(
図4参照)を表示してもよい。また、出力処理部28は、第2の評価値V2に対応付けて行動履歴の詳細や行動の状態遷移図(不図示)などを表示してもよい。
【0032】
(テスト支援装置の動作例)
図3は、テスト支援装置の動作例を示す流れ図である。
図3の処理は、入力装置18からのユーザの開始指示に応じて開始される。
【0033】
S1にて、入力処理部23は、システム(カードゲーム)において調整すべきパラメータPの指定を受け付ける。調整すべきパラメータPの種類と調整範囲は、ユーザによって決定される。第1実施形態のS1では、例えば、カードゲームのカードの種類、カードの数値範囲などのうちから、調整すべきパラメータPが指定される。なお、調整すべきパラメータPは、1種類でもよく、複数種類の組み合わせであってもよい。
【0034】
S2にて、シミュレーション部21は、指定されたパラメータPの設定値としてテストに適用する初期値を決定する。
【0035】
S3にて、学習部22は、パラメータPの設定値をシミュレーション部21から取得する。これにより、学習部22においてパラメータPが既知の状態となり、学習部22は、シミュレーション部21の現在の設定に応じた行動の選択が可能となる。
【0036】
S4にて、学習部22は、プレイヤーとしてシミュレーション部21を介してゲームをテストプレイし、強化学習を行う。例えば、強化学習の際のゲームのテストプレイでは、人と学習部22の対戦や、異なる複数の学習部22同士での対戦や、学習部22と学習機能のないプレイヤープログラムの対戦など、様々な態様をとることができる。また、1回のテストプレイで対戦するプレイヤーの数は適宜変更することが可能である。
【0037】
このとき、履歴記録部25は、学習部22によるテスト時の行動履歴を記録する。また、学習記録部24は、ゲームのテストプレイ回数に対応付けて学習部22の勝率を記録する。これにより、ゲームのテストプレイ回数と学習部22の勝率の推移を示す学習曲線を算出することができる。
【0038】
S5にて、第1演算部26は、学習記録部24の学習曲線を用いて、学習部22の強化学習の速度(所定の勝率に達するプレイ回数の少なさ)に応じて第1の評価値V1を求める。例えば、所定の勝率に達するプレイ回数が少ないと第1の評価値V1は低い値を示し、所定の勝率に達するプレイ回数が多いと第1の評価値V1は高い値を示すものとする。
【0039】
ここで、
図4に学習部22の学習曲線の一例を示す。
図4の横軸はゲームのテストプレイ回数pnであり、
図4の縦軸はゲームの勝率wpである。また、
図4の曲線C1はゲームの難易度が低いときの学習曲線の例を示し、
図4の曲線C2はゲームの難易度がC1の場合よりも高いときの学習曲線の例を示す。
【0040】
学習部22が強化学習を行うケースでは、テストプレイ回数pnの増加に伴って学習部22の学習が進行する。一般にテストプレイ回数pnが増加するほど学習部22の勝率wpは向上する傾向を示す。
【0041】
また、ゲームの難易度が低い場合には学習部22の学習が容易であるが、ゲームの難易度が高い場合には学習部22の学習が困難となる。つまり、ゲームの難易度が低い場合の曲線C1は、所定の閾値Thの勝率wpに相対的に少ないテストプレイ回数で達する。一方で、ゲームの難易度が高い場合の曲線C2は、曲線C1と比べると、閾値Thの勝率に達するテストプレイ回数が多くなる。
【0042】
このように、学習部22の強化学習の速度(所定の勝率に達するテストプレイ回数)は、ゲームの難易度と高い相関を有している。そのため、第1の評価値V1はゲームの難易度の評価の指標として用いることが可能であることが分かる。例えば、第1の評価値V1が低い場合にはゲームの難易度が低く単調で飽きやすいと評価でき、第1の評価値V1が高い場合にはゲームの難易度が高く複雑で飽きにくいと評価できる。なお、第1の評価値V1が極端に高い場合には、ゲームが複雑すぎてとっつきにくいと評価される可能性もある。
【0043】
S6にて、第2演算部27は、履歴記録部25の行動履歴を用いて、学習部22が選択した行動の多様さに応じて第2の評価値V2を求める。例えば、学習部22が選択した行動が多様であるほど、第2の評価値V2は高い値を示すものとする。
【0044】
図5は、第2演算部27の処理の概要を示す図である。
第2演算部27は、まず、履歴記録部25が記録した複数の行動履歴25aを参照する。第2演算部27は、複数の行動履歴25aから、各々の場面S
xが適切なサイズとなるように状態空間を設定した上で、強化学習がある程度進行した状態における場面S
xごとの方策πを抽出する。場面S
xでの方策πは、以下の式(1)で表現される。
π(S
x,a
y)=z …(1)
【0045】
式(1)において、「ay」は場面Sxでエージェントが選択しうる行動の1つを示し、「z」は場面Sxでエージェントが行動ayを選択する確率を示す。
【0046】
そして、第2演算部27は、場面Sxの総数と、各々の場面Sxの方策πに含まれる行動の確率分布との2つの特徴に基づいて、第2の評価値V2を算出する。
【0047】
ここで、場面Sxの数が増えるほどプレイ中に発生する局面は多様となり、ゲームが複雑になる傾向がある。そのため、第2演算部27は、場面Sxの総数の多さに応じて第2の評価値V2の値を高くする。
【0048】
また、強化学習がある程度進行した状態において場面Sxで選択されうる行動aが多様であれば、場面Sxでの行動が定石化されにくく、つまりゲーム中の行動が複雑なものとなる。そのため、第2演算部27は、方策πに含まれる各行動に対する確率分布に基づいて第2の評価値V2を調整する。例えば、第2演算部27は、方策πで複数の行動の確率がそれぞれ所定値以上となるケースでは、方策πで1つの行動のみ確率が高いケースよりも第2の評価値V2が高くする。なお、方策πでの行動aの多様さは、例えばπ行列の値の分布や、スペクトル分解等による圧縮情報量を用いて求めてもよい。
【0049】
以上のようにして取得された第2の評価値V2は、展開の複雑さに起因するゲームの面白さ(あるいはゲームの戦略性の高さ)の指標として用いることが可能である。
【0050】
S7にて、テスト支援装置10は、現在の設定値でのテスト終了条件を満たすかを判断する。例えば、テスト支援装置10は、学習部22の強化学習の状態が所定の収束条件を満たした場合や、学習部22のプレイ回数が一定以上となった場合に、現在の設定値でのテスト終了条件を満たすと判断する。
テスト終了条件を満たす場合(S7のYes)、処理はS8に移行する。一方、テスト終了条件を満たさない場合(S7のNo)、S4に戻って上記の処理が繰り返される。
【0051】
S8にて、テスト支援装置10は、指定されたパラメータPの全テスト範囲でテストが実行済かを判断する。全テスト範囲でテストが実行済の場合(S8のYes)、S10に処理が移行する。一方、全テスト範囲でテストが実行済ではない場合(S8のNo)、S9に処理が移行する。
【0052】
S9にて、シミュレーション部21は、パラメータPの設定値を次の値に更新する。その後、S4に戻って上記の処理が繰り返される。これにより、パラメータPの全テスト範囲で学習部22の強化学習が順次行われ、パラメータPの全範囲の設定値について、それぞれ第1の評価値V1および第2の評価値V2が取得される。
【0053】
S10にて、出力処理部28は、パラメータPのテスト結果を表示装置19に表示する。S10のテスト結果の表示では、例えば、パラメータPの全テスト範囲の設定値につき、第1の評価値V1および第2の評価値V2がそれぞれ対応付けされて表示される。これにより、ユーザは、第1の評価値V1および第2の評価値V2の値を参考にして、パラメータPの最適な値を選択することが可能となる。また、ユーザは、S10のテスト結果の表示により、パラメータ空間におけるパラメータPの全体的な傾向を定性的に把握することも可能である。
その後、
図3の処理が終了する。
【0054】
以上のように、第1実施形態においては、学習部22は、パラメータPの設定値に基づきシミュレーション部21で模擬されるシステムをテストし、当該テストの結果を用いて強化学習を行う(S4)。第1演算部26は、学習部22の強化学習の速度に応じて第1の評価値V1を求める(S5)。第2演算部27は、学習部22がテスト時に選択した行動の多様さに応じて第2の評価値V2を求める(S6)。そして、出力処理部28は、パラメータPの設定値に対応する第1の評価値V1および第2の評価値V2を表示装置19に表示させる(S10)。
【0055】
第1実施形態では、シミュレーション部21で学習部22を用いてテスト対象のシステムをテストさせることで、実環境でテストするケースを大幅に削減することができる。また、シミュレーション部21でのテストは学習部22によって行われるため、人間によるテストプレイの手間を大幅に削減できる。
【0056】
また、第1実施形態では、学習部22の強化学習により、パラメータPの設定値に対応する第1の評価値V1および第2の評価値V2がユーザに提示される。上記の評価値V1、V2はパラメータPの設定値に応じて変動する定量的な指標であるので、評価値V1、V2を用いることでシステムのパラメータ設定の良し悪しをユーザは客観的に評価することが容易となる。
【0057】
したがって、第1実施形態のテスト支援装置10によれば、感性的な要素を考慮したシステムの最適化において、テストプレイやテスト結果の評価の際の人間の作業負荷をそれぞれ低減できる。
【0058】
<第2実施形態>
第2実施形態は、第1実施形態の変形例であって、機械装置のヒューマンマシンインターフェース(HMI)に関するパラメータ調整の事例について説明する。第2実施形態におけるテスト支援装置10のハードウェア構成およびソフトウェア構成や、動作例はいずれも第1実施形態と同様である。そのため、第2実施形態の説明では第1実施形態との相違点を説明し、重複説明はいずれも省略する。
【0059】
第2実施形態では、一例として、自動車の運転用HMIを設計するときの前段階において、任意のパラメータPの見積を仮想環境上のテストで得る場合を想定する。
【0060】
第2実施形態でのシミュレーション部21は、運転用HMIを介した自動車の挙動を仮想環境上で模擬した自動車シミュレータとして構成される。運転用HMIの要素には、例えば、自動車のハンドル、ブレーキ、アクセル、シフトレバーなどが含まれる。そして、シミュレーション部21は、自動車のハンドル、ブレーキ、アクセル、シフトレバーなどに関するパラメータP(例えば、ハンドル、ブレーキ、アクセルの応答性や、ギアの段数など)の設定値を変更することが可能である。
【0061】
第2実施形態での学習部22は、シミュレーション部21の自動車シミュレータのドライバーとして機能し、運転結果に基づき強化学習を行う。なお、第2実施形態での学習記録部24は、学習曲線の情報として、例えば、学習部22の運転回数と、運転の的確さを評価するスコアの推移を示す情報などを記録する。
【0062】
第2実施形態での第1演算部26の動作は第1実施形態と同様であるが、
図3のS5で取得される第1の評価値V1の意味は以下のように相違する。機械装置のHMIの場合、強化学習が容易であるほど操作がシンプルで使いやすくHMIが良好とみなすことができる。したがって、第2実施形態では、学習部22の強化学習の速度が速い場合(第1の評価値V1が低い場合)は、強化学習の速度が遅い場合(第1の評価値V1が高い場合)よりも現在の設定が良好であると評価すればよい。
【0063】
同様に、第2実施形態での第2演算部27の動作は第1実施形態と同様であるが、
図3のS6で取得される第2の評価値V2の意味は以下のように相違する。機械装置のHMIの場合、場面S
xの総数が増えたり、個々の場面で選択すべき行動の種類が多いほど複雑な操作や状況判断を行う必要が生じ、HMIの操作の難易度が上昇する。したがって、第2実施形態では、学習部22が選択した行動が多様であって第2の評価値V2が高くなる場合を、第2の評価値V2が低くなる場合と比べて低く評価すればよい。
【0064】
第2実施形態においても、
図3のS10の表示では、第1実施形態と同様の表示が行われる。これにより、第2実施形態のような機械装置のHMIのパラメータ調整においても、第1実施形態と同様の効果を得ることができる。
【0065】
<実施形態の変形例>
上記実施形態の1以上の機能を実現するプログラムは、ネットワークを介して装置に供給されてもよい。また、上記実施形態の構成は、1以上の機能を実現するハードウェア回路(例えば、ASIC)を用いて実現されてもよい。
【0066】
また、テスト支援装置10でパラメータ調整のテストを行うケースは、上記実施形態のケースに限定されるものではない。例えば、自動車以外の機械装置のHMIを対象としてテスト支援装置10でテストを行ってもよい。また、例えば、ゲームの追加コンテンツのパラメータPをテスト対象とし、追加コンテンツを導入した状態でのゲームバランスをテスト支援装置10で調整することも可能である。
【0067】
上記実施形態では、シミュレーション部21でプレイを行うAIプレイヤーが強化学習を行う構成を説明した。しかし、テスト対象の構成やパラメータPの範囲などの問題状況によっては、AIプレイヤーとしてルールベースエージェントを使用してもよい。ルールベースエージェントを使用する場合、学習の時間を大幅に削減することが可能となる。
【0068】
上記実施形態では、パラメータPの全テスト範囲で学習部22の強化学習が行われる例を説明した。しかし、テスト支援装置10は、第1の評価値V1及び第2の評価値V2が所望の状態となるパラメータPを探索し、条件を満たすパラメータPの探索が終了した時点でテストを終了させてもよい。
【0069】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【0070】
10・・・テスト支援装置、11・・・CPU、14・・・記憶装置、19・・・表示装置、21・・・シミュレーション部、22・・・学習部、26・・・第1演算部、27・・・第2演算部、28・・・出力処理部