# По-реалистичен свят В нашата ситуация, Петър можеше да се движи почти без да се уморява или огладнява. В по-реалистичен свят, той трябва да сяда и да си почива от време на време, както и да се храни. Нека направим нашия свят по-реалистичен, като приложим следните правила: 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 не работи или функцията за награда не е напълно дефинирана. | --- **Отказ от отговорност**: Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.