メインコンテンツまでスキップ

_evaluator

モデルのパフォーマンスを評価するためのモジュールです。

このモジュールは、データセット上でソルバーのパフォーマンスを評価するための関数を提供します。 ソルバーの探索効率と時間的パフォーマンスを評価する関数が含まれています。

get_dataset

def get_dataset(filename="deepcubea-dataset--cube3.json")

ファイルからデータセットを取得するか、存在しない場合はダウンロードします。

引数:

  • filename str - データセットのファイル名。

戻り値:

  • dict - データセット。

evaluate_search_efficiency

def evaluate_search_efficiency(solver, num_samples=1000, beam_width=2**10 if device.type == "cpu" else 2**13, verbose=False)

下流の時間的パフォーマンスに対するモデルのパフォーマンスを評価します。

この関数は、異なるビーム幅を使用して一連のスクランブルを解くことにより、モデルのパフォーマンスを評価します。 次に、解法の長さと時間の関係をモデル化するために予測器を適合させ、わずか1秒で達成可能な解法の長さを予測します。

引数:

  • solver - 評価対象のソルバー。
  • num_samples int - 評価に使用するサンプル数。
  • beam_width int - 評価に使用するビーム幅。
  • verbose bool - 進行状況バーを表示するかどうか。

戻り値:

  • dict - 平均結果。

evaluate_temporal_performance

def evaluate_temporal_performance(solver, num_samples=1000, t_standard=1.0, beam_width_space=2 ** np.arange(6 if device.type == "cpu" else 10, 16 + 1), verbose=False)

下流の時間的パフォーマンスに対するモデルのパフォーマンスを評価します。

この関数は、異なるビーム幅を使用して一連のスクランブルを解くことにより、モデルのパフォーマンスを評価します。 次に、解法の長さと時間の関係をモデル化するために予測器を適合させ、t=1での解法の長さを予測します。

引数:

  • solver - 評価対象のソルバー。
  • num_samples int - 評価に使用するサンプル数。
  • t_standard float - 標準時間。
  • beam_width_space array - 評価に使用するビーム幅。
  • verbose bool - 進行状況バーを表示するかどうか。

戻り値:

  • float - t=1での予測された解法の長さ。