Mendefinisikan fungsi epsilon-greedy
Dalam RL, strategi epsilon-greedy menyeimbangkan eksplorasi dan eksploitasi. Metode ini memilih aksi acak dengan probabilitas epsilon dan aksi terbaik yang diketahui dengan probabilitas 1-epsilon. Implementasi fungsi epsilon_greedy() sangat penting untuk algoritme seperti Q-learning dan SARSA, karena membantu proses pembelajaran agen dengan memastikan baik eksplorasi lingkungan maupun eksploitasi imbalan yang sudah diketahui, dan ini akan menjadi tujuan latihan ini.
Pustaka numpy telah diimpor sebagai np.
Latihan ini adalah bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
Petunjuk latihan
- Di dalam fungsi, tuliskan kondisi yang sesuai agar agen menjelajahi lingkungan.
- Pilih
actionacak saat melakukan eksplorasi. - Pilih
actionterbaik berdasarkanq_tablesaat melakukan eksploitasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)
def epsilon_greedy(state):
# Implement the condition to explore
if ____ < ____:
# Choose a random action
action = ____
else:
# Choose the best action according to q_table
action = ____
return action