Answers.Body: <blockquote>
  <p>So, now I am removing the reward value of that node once its reward is reached. Is it a correct approach? If not, what should I do instead of that?</p>
  </blockquote>
  <p>Partially correct. For the environment to continue making sense to the agent (and be a valid MDP), you need to set a state variable to represent this change. A list of booleans &quot;goals reached so far&quot; would be one simple way to do it. Note that each such goal state that toggles between giving a reward or not depending on history <em>doubles</em> the state space.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-18T10:43:23.873Z
Answers.Text: Dear Neil, thanks for the response. I already had the impact_reached booleans for the nodes, so it is ok.  I also have other related questions, but I will ask them separetely.. Thanks again
Answers.UserDisplayName: Ferda-Ozdemir-Sonmez
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-19T13:21:02.670Z
Answers.Text: Dear Neil, I have another question related to this on this link https://ai.stackexchange.com/questions/36381/markov-decision-process-how-to-get-the-correct-policy-if-targets-are-reached-onc  Can you please check that one if you can?
Answers.UserDisplayName: Ferda-Ozdemir-Sonmez
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-18T10:16:55.370Z
Answers.LastActivityDate: 2022-07-18T10:16:55.370Z
Answers.UserDisplayName: Neil Slater
Body: <p>This may be a very fundamental question, but somehow I can't decide.</p>
  <p>I have a graph and the user can take several actions while traversing it and there are multiple points with rewards. When I execute the MDP process, it ends up finding the first (the one it reaches first) target repeatedly and cannot find the others. So, now I am removing the reward value of that node once its reward is reached. Is it a correct approach? If not, what should I do instead of that?</p>
  <p>Thanks in advance, Kind Regards, Ferda.</p>
  
Tags: <markov-decision-process>
Title: Remove already reached targets from the system to enable reaching other targets?
UserDisplayName: Ferda-Ozdemir-Sonmez
ThreadText: # Remove already reached targets from the system to enable reaching other targets?
  
  (Asked by: username_0 on 2022-07-18)
  
  This may be a very fundamental question, but somehow I can't decide.
  
  I have a graph and the user can take several actions while traversing it and there are multiple points with rewards. When I execute the MDP process, it ends up finding the first (the one it reaches first) target repeatedly and cannot find the others. So, now I am removing the reward value of that node once its reward is reached. Is it a correct approach? If not, what should I do instead of that?
  
  Thanks in advance, Kind Regards, Ferda.
  
  **Tags:** markov-decision-process
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2022-07-18. Score: 3 | Accepted answer
  
  > So, now I am removing the reward value of that node once its reward is reached. Is it a correct approach? If not, what should I do instead of that?
  
  Partially correct. For the environment to continue making sense to the agent (and be a valid MDP), you need to set a state variable to represent this change. A list of booleans "goals reached so far" would be one simple way to do it. Note that each such goal state that toggles between giving a reward or not depending on history *doubles* the state space.
  
  > **Comments:**
  > **username_0**: Dear Neil, thanks for the response. I already had the impact_reached booleans for the nodes, so it is ok.  I also have other related questions, but I will ask them separetely.. Thanks again  
  > **username_0**: Dear Neil, I have another question related to this on this link https://ai.stackexchange.com/questions/36381/markov-decision-process-how-to-get-the-correct-policy-if-targets-are-reached-onc  Can you please check that one if you can?  
  
  ---
  
  