始める無料で始める

ポリシーの比較

MyGridWorld環境で、2つの異なるポリシーに対応する2つの状態価値関数(value_function_1value_function_2)が与えられています。各状態ごとにこれらの状態価値関数を比較し、どちらのポリシーがより有効かを判断してください。

変数 num_states は利用可能です。

この演習はコースの一部です

Pythonで学ぶGymnasiumによるReinforcement Learning

コースを見る

演習の手順

  • ブール値のリスト one_is_better を作成し、各要素が、各状態において value_function_1 の値が value_function_2 の値以上かどうかを判定するようにします。
  • ブール値のリスト two_is_better を作成し、各要素が、各状態において value_function_2 の値が value_function_1 の値以上かどうかを判定するようにします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

value_function_1 = {0: 1, 1: 2, 2: 3, 3: 7, 4: 6, 5: 4, 6: 8, 7: 10, 8: 0}
value_function_2 = {0: 7, 1: 8, 2: 9, 3: 7, 4: 9, 5: 10, 6: 8, 7: 10, 8: 0}

# Check for each value in policy 1 if it is better than policy 2
one_is_better = [____ >= ____ for state in range(num_states)]

# Check for each value in policy 2 if it is better than policy 1
two_is_better = [____ >= ____ for state in range(num_states)]

if all(one_is_better):
  print("Policy 1 is better.")
elif all(two_is_better):
  print("Policy 2 is better.")
else:
  print("Neither policy is uniformly better across all states.")
コードを編集して実行