Программа Python для реализации базового Q-обучения в простой одномерной среде с 5 состояниями (от 0 до 4) [закрыто]Python

Программы на Python
Ответить
Anonymous
 Программа Python для реализации базового Q-обучения в простой одномерной среде с 5 состояниями (от 0 до 4) [закрыто]

Сообщение Anonymous »

Вопрос: Напишите программу на Python для реализации базового Q-обучения в простой одномерной среде с 5 состояниями (от 0 до 4).
Описание:
Учащиеся должны считывать входные значения из стандартного ввода, используя определенную входную переменную. Жестко закодированные значения не допускаются. Программы без обработки ввода получают нулевые оценки.
Неверно (жестко закодированный ввод – не принимается)
number = 10 # значение фиксировано в программе
Вывод поясняющих операторов не допускается (например, print("Sum =", total);
Правильно (ввод прочитан из стандартного ввода — принято)
прочитать число в переменную из стандартного ввода
number = int(input())
Вот мой код:
learning_rate, discount_factor, epsilon, num_episodes = map(float, input().split())
num_episodes = int(num_episodes)

num_states = 5
num_actions = 2
terminal_state = 4

q_table = [[0.0 for _ in range(num_actions)] for _ in range(num_states)]

for _ in range(num_episodes):
current_state = 0

for _ in range(10): # fixed steps per episode

action = 1

if current_state < terminal_state:
next_state = current_state + 1
reward = 0.0
else:
next_state = terminal_state
reward = 1.0 # keep rewarding at terminal

max_next_q = max(q_table[next_state])

old_q = q_table[current_state][action]

q_table[current_state][action] = old_q + learning_rate * (
reward + discount_factor * max_next_q - old_q
)

current_state = next_state

print(q_table)

Вот ошибки:
Testing with file: ────────────────────────┬─────────────────┬─────────────────┬─────────────────┬────────────┐
│ Test Case │ Input │ Expected │ Your Output │ Result │
├────────────────────────┼─────────────────┼─────────────────┼─────────────────┼────────────┤
│ Test case 1 │ 0.1 0.9 0.1 100 │ [[0.0, 4.6], |[ │ [[0.0, 6.560999 │ ❌ FAIL │
├────────────────────────┼─────────────────┼─────────────────┼─────────────────┼────────────┤
│ Test case 2 │ 0.1 0.9 0.5 10 │ [[0.0, 0.1], [0 │ [[0.0, 0.006517 │ ❌ FAIL │
├────────────────────────┼─────────────────┼─────────────────┼─────────────────┼────────────┤
│ Test case 3 │ 0.0 0.9 0.1 100 │ [[0.0, 0.0], [0 │ [[0.0, 0.0], [0 │ ✅ PASS │
├────────────────────────┼─────────────────┼─────────────────┼─────────────────┼────────────┤
│ Test case 4 │ 0.1 0.9 0.0 100 │ [[0.0, 4.6], [- │ [[0.0, 6.560999 │ ❌ FAIL │
├────────────────────────┼─────────────────┼─────────────────┼─────────────────┼────────────┤
│ Test case 5 │ 0.1 0.9 1.0 100 │ [[0.0, 2.0], [- │ [[0.0, 6.560999 │ ❌ FAIL │
└────────────────────────┴─────────────────┴─────────────────┴─────────────────┴────────────┘
Summary: 1/5 tests passed Success rate: 20%


Подробнее здесь: https://stackoverflow.com/questions/799 ... t-with-5-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»