You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/uk/8-Reinforcement/1-QLearning/assignment.md

41 lines
6.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "68394b2102d3503882e5e914bd0ff5c1",
"translation_date": "2025-09-05T13:43:07+00:00",
"source_file": "8-Reinforcement/1-QLearning/assignment.md",
"language_code": "uk"
}
-->
# Більш реалістичний світ
У нашій ситуації Пітер міг пересуватися майже без втоми чи голоду. У більш реалістичному світі йому потрібно час від часу сідати та відпочивати, а також харчуватися. Давайте зробимо наш світ більш реалістичним, впровадивши наступні правила:
1. Пересуваючись з одного місця в інше, Пітер втрачає **енергію** і набирає **втому**.
2. Пітер може відновлювати енергію, з'їдаючи яблука.
3. Пітер може позбавлятися втоми, відпочиваючи під деревом або на траві (тобто заходячи на клітинку з деревом або травою — зелене поле).
4. Пітер повинен знайти і вбити вовка.
5. Щоб перемогти вовка, Пітер повинен мати певний рівень енергії та втоми, інакше він програє битву.
## Інструкції
Використовуйте оригінальний блокнот [notebook.ipynb](../../../../8-Reinforcement/1-QLearning/notebook.ipynb) як відправну точку для вашого рішення.
Модифікуйте функцію винагороди відповідно до правил гри, запустіть алгоритм навчання з підкріпленням, щоб знайти найкращу стратегію для перемоги в грі, і порівняйте результати випадкових ходів із вашим алгоритмом за кількістю виграних і програних ігор.
> **Note**: У вашому новому світі стан є більш складним і, окрім позиції людини, також включає рівні втоми та енергії. Ви можете представити стан у вигляді кортежу (Board, energy, fatigue), або визначити клас для стану (ви також можете успадкувати його від `Board`), або навіть модифікувати оригінальний клас `Board` у файлі [rlboard.py](../../../../8-Reinforcement/1-QLearning/rlboard.py).
У вашому рішенні, будь ласка, збережіть код, відповідальний за стратегію випадкових ходів, і порівняйте результати вашого алгоритму з випадковими ходами наприкінці.
> **Note**: Можливо, вам доведеться налаштувати гіперпараметри, щоб усе працювало, особливо кількість епох. Оскільки успіх у грі (битва з вовком) є рідкісною подією, ви можете очікувати значно тривалішого часу навчання.
## Критерії оцінювання
| Критерії | Відмінно | Задовільно | Потребує покращення |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| | Блокнот представлений із визначенням нових правил світу, алгоритмом Q-Learning і текстовими поясненнями. Q-Learning значно покращує результати порівняно з випадковими ходами. | Блокнот представлений, Q-Learning реалізований і покращує результати порівняно з випадковими ходами, але незначно; або блокнот погано документований, а код не має чіткої структури. | Зроблено спробу переосмислити правила світу, але алгоритм Q-Learning не працює, або функція винагороди не повністю визначена. |
---
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ мовою оригіналу слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.