# ਇੱਕ ਹੋਰ ਹਕੀਕਤੀ ਦੁਨੀਆ ਸਾਡੇ ਹਾਲਾਤ ਵਿੱਚ, ਪੀਟਰ ਲਗਭਗ ਬਿਨਾਂ ਥੱਕੇ ਜਾਂ ਭੁੱਖੇ ਹੋਏ ਇधर-ਉਧਰ ਚਲ ਸਕਦਾ ਸੀ। ਇੱਕ ਹੋਰ ਹਕੀਕਤੀ ਦੁਨੀਆ ਵਿੱਚ, ਉਸਨੂੰ ਵਾਰ-ਵਾਰ ਬੈਠ ਕੇ ਆਰਾਮ ਕਰਨਾ ਪੈਂਦਾ ਹੈ ਅਤੇ ਖਾਣਾ ਵੀ ਖਾਣਾ ਪੈਂਦਾ ਹੈ। ਆਓ ਆਪਣੀ ਦੁਨੀਆ ਨੂੰ ਹੋਰ ਹਕੀਕਤੀ ਬਣਾਈਏ, ਹੇਠਾਂ ਦਿੱਤੇ ਨਿਯਮਾਂ ਲਾਗੂ ਕਰਕੇ: 1. ਇੱਕ ਜਗ੍ਹਾ ਤੋਂ ਦੂਜੀ ਜਗ੍ਹਾ ਜਾਣ ਨਾਲ, ਪੀਟਰ ਦੀ **energy** ਘਟਦੀ ਹੈ ਅਤੇ ਉਸਨੂੰ **fatigue** ਹੁੰਦੀ ਹੈ। 2. ਪੀਟਰ ਸੇਬ ਖਾ ਕੇ ਵਧੇਰੇ energy ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ। 3. ਪੀਟਰ ਝਾੜੀ ਦੇ ਹੇਠਾਂ ਜਾਂ ਘਾਹ 'ਤੇ ਆਰਾਮ ਕਰ ਕੇ fatigue ਦੂਰ ਕਰ ਸਕਦਾ ਹੈ (ਜਾਂਕਿ ਉਹ ਝਾੜੀ ਜਾਂ ਘਾਹ ਵਾਲੇ ਹਰੇ ਖੇਤਰ ਵਿੱਚ ਚਲ ਕੇ ਜਾਂਦਾ ਹੈ)। 4. ਪੀਟਰ ਨੂੰ ਭੇੜੀਆ ਲੱਭ ਕੇ ਮਾਰਨਾ ਪਵੇਗਾ। 5. ਭੇੜੀਆ ਨੂੰ ਮਾਰਨ ਲਈ, ਪੀਟਰ ਦੇ energy ਅਤੇ fatigue ਦੇ ਕੁਝ ਨਿਰਧਾਰਿਤ ਪੱਧਰ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ, ਨਹੀਂ ਤਾਂ ਉਹ ਜੰਗ ਹਾਰ ਜਾਵੇਗਾ। ## ਹਦਾਇਤਾਂ ਮੂਲ [notebook.ipynb](notebook.ipynb) ਨੋਟਬੁੱਕ ਨੂੰ ਆਪਣੇ ਹੱਲ ਲਈ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਵਜੋਂ ਵਰਤੋ। ਉਪਰ ਦਿੱਤੇ ਨਿਯਮਾਂ ਅਨੁਸਾਰ reward function ਨੂੰ ਸੋਧੋ, reinforcement learning algorithm ਚਲਾਓ ਤਾਂ ਜੋ ਖੇਡ ਜਿੱਤਣ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਰਣਨੀਤੀ ਸਿੱਖੀ ਜਾ ਸਕੇ, ਅਤੇ random walk ਦੇ ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਆਪਣੇ algorithm ਨਾਲ ਕਰੋ ਜਿੱਤੀਆਂ ਅਤੇ ਹਾਰੀਆਂ ਖੇਡਾਂ ਦੇ ਅੰਕਾਂ ਦੇ ਅਧਾਰ 'ਤੇ। > **Note**: ਤੁਹਾਡੀ ਨਵੀਂ ਦੁਨੀਆ ਵਿੱਚ, state ਹੋਰ ਜਟਿਲ ਹੈ, ਅਤੇ ਮਨੁੱਖ ਦੀ ਸਥਿਤੀ ਦੇ ਨਾਲ energy ਅਤੇ fatigue ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਵੀ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ। ਤੁਸੀਂ state ਨੂੰ ਇੱਕ tuple (Board,energy,fatigue) ਵਜੋਂ ਦਰਸਾ ਸਕਦੇ ਹੋ, ਜਾਂ state ਲਈ ਇੱਕ class ਪਰिभਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ (ਤੁਸੀਂ ਇਸਨੂੰ `Board` ਤੋਂ ਵੀ ਲੈ ਸਕਦੇ ਹੋ), ਜਾਂ ਮੂਲ `Board` class ਨੂੰ [rlboard.py](../../../../8-Reinforcement/1-QLearning/rlboard.py) ਵਿੱਚ ਸੋਧ ਸਕਦੇ ਹੋ। ਆਪਣੇ ਹੱਲ ਵਿੱਚ, random walk strategy ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਕੋਡ ਨੂੰ ਰੱਖੋ, ਅਤੇ ਆਪਣੇ algorithm ਦੇ ਨਤੀਜਿਆਂ ਦੀ random walk ਨਾਲ ਅੰਤ ਵਿੱਚ ਤੁਲਨਾ ਕਰੋ। > **Note**: ਤੁਹਾਨੂੰ hyperparameters ਨੂੰ ਢਾਲਣ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ ਤਾਂ ਜੋ ਇਹ ਕੰਮ ਕਰੇ, ਖਾਸ ਕਰਕੇ epochs ਦੀ ਗਿਣਤੀ। ਕਿਉਂਕਿ ਖੇਡ ਦੀ ਸਫਲਤਾ (ਭੇੜੀਆ ਨਾਲ ਲੜਾਈ) ਇੱਕ ਵਿਰਲ ਘਟਨਾ ਹੈ, ਤੁਸੀਂ ਬਹੁਤ ਲੰਬੇ training ਸਮੇਂ ਦੀ ਉਮੀਦ ਕਰ ਸਕਦੇ ਹੋ। ## ਰੂਬ੍ਰਿਕ | ਮਾਪਦੰਡ | ਸ਼ਾਨਦਾਰ | ਯੋਗ | ਸੁਧਾਰ ਦੀ ਲੋੜ | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | | ਇੱਕ ਨੋਟਬੁੱਕ ਪੇਸ਼ ਕੀਤੀ ਗਈ ਹੈ ਜਿਸ ਵਿੱਚ ਨਵੀਂ ਦੁਨੀਆ ਦੇ ਨਿਯਮਾਂ ਦੀ ਪਰਿਭਾਸ਼ਾ, Q-Learning algorithm ਅਤੇ ਕੁਝ ਲਿਖਤ ਵਿਆਖਿਆਵਾਂ ਹਨ। Q-Learning random walk ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਲਈ ਨਤੀਜਿਆਂ ਨੂੰ ਮਹੱਤਵਪੂਰਨ ਤਰੀਕੇ ਨਾਲ ਸੁਧਾਰ ਸਕਦਾ ਹੈ। | ਨੋਟਬੁੱਕ ਪੇਸ਼ ਕੀਤੀ ਗਈ ਹੈ, Q-Learning ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ random walk ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਲਈ ਨਤੀਜਿਆਂ ਨੂੰ ਸੁਧਾਰਦਾ ਹੈ, ਪਰ ਮਹੱਤਵਪੂਰਨ ਤਰੀਕੇ ਨਾਲ ਨਹੀਂ; ਜਾਂ ਨੋਟਬੁੱਕ ਠੀਕ ਤਰੀਕੇ ਨਾਲ ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਕੀਤੀ ਗਈ ਅਤੇ ਕੋਡ ਠੀਕ-ਠਾਕ ਬਣਿਆ ਨਹੀਂ ਹੈ। | ਦੁਨੀਆ ਦੇ ਨਿਯਮਾਂ ਨੂੰ ਮੁੜ-ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦਾ ਕੁਝ ਯਤਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਪਰ Q-Learning algorithm ਕੰਮ ਨਹੀਂ ਕਰਦਾ, ਜਾਂ reward function ਪੂਰੀ ਤਰ੍ਹਾਂ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ। | --- **ਅਸਵੀਕਾਰਨਾ**: ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੀਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤ ਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।