Use deep reinforcement learning with recursive actions?2019 Community Moderator ElectionTheano in deep learning researchKeyword/phrase extraction from Text using Deep Learning librariesCombining Neural Network with Reinforcement Learning in a Continuous SpaceAlphaGo (and other game programs using reinforcement-learning) without human databaseWhat is missing from the following Curriculum Learning implementation in a Deep Neural Net?Weights in neural networkDefining State Representation in Deep Q-LearningHandling actions with delayed effect (Reinforcement learning)Boundaries of Reinforcement LearningReinforcement learning - How to deal with varying number of actions which do number approximation

What do the Banks children have against barley water?

"listening to me about as much as you're listening to this pole here"

Shall I use personal or official e-mail account when registering to external websites for work purpose?

Re-submission of rejected manuscript without informing co-authors

Landlord wants to switch my lease to a "Land contract" to "get back at the city"

What to wear for invited talk in Canada

How to deal with fear of taking dependencies

Copycat chess is back

Need help identifying/translating a plaque in Tangier, Morocco

Does it makes sense to buy a new cycle to learn riding?

Is every set a filtered colimit of finite sets?

Information to fellow intern about hiring?

What does "enim et" mean?

Pristine Bit Checking

Prime joint compound before latex paint?

How could a lack of term limits lead to a "dictatorship?"

Why do we use polarized capacitors?

What happens when a metallic dragon and a chromatic dragon mate?

What is GPS' 19 year rollover and does it present a cybersecurity issue?

Why do UK politicians seemingly ignore opinion polls on Brexit?

What is it called when one voice type sings a 'solo'?

Manga about a female worker who got dragged into another world together with this high school girl and she was just told she's not needed anymore

Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?

How to move the player while also allowing forces to affect it



Use deep reinforcement learning with recursive actions?



2019 Community Moderator ElectionTheano in deep learning researchKeyword/phrase extraction from Text using Deep Learning librariesCombining Neural Network with Reinforcement Learning in a Continuous SpaceAlphaGo (and other game programs using reinforcement-learning) without human databaseWhat is missing from the following Curriculum Learning implementation in a Deep Neural Net?Weights in neural networkDefining State Representation in Deep Q-LearningHandling actions with delayed effect (Reinforcement learning)Boundaries of Reinforcement LearningReinforcement learning - How to deal with varying number of actions which do number approximation










1












$begingroup$


Can we use recursive actions in deep reinforcement learning ? If yes how ?



For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).










share|improve this question







New contributor




User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$
















    1












    $begingroup$


    Can we use recursive actions in deep reinforcement learning ? If yes how ?



    For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).










    share|improve this question







    New contributor




    User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      1












      1








      1





      $begingroup$


      Can we use recursive actions in deep reinforcement learning ? If yes how ?



      For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).










      share|improve this question







      New contributor




      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Can we use recursive actions in deep reinforcement learning ? If yes how ?



      For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).







      deep-learning reinforcement-learning






      share|improve this question







      New contributor




      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 13 hours ago









      User732User732

      61




      61




      New contributor




      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      User732 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.



          The simplest ways to deal with possibility of a blocked/failed action are:



          • Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.

          Or



          • Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.

          The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.



          If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.






          share|improve this answer











          $endgroup$












          • $begingroup$
            I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
            $endgroup$
            – User732
            8 hours ago










          • $begingroup$
            @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
            $endgroup$
            – Neil Slater
            8 hours ago











          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "557"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          User732 is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48889%2fuse-deep-reinforcement-learning-with-recursive-actions%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0












          $begingroup$

          Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.



          The simplest ways to deal with possibility of a blocked/failed action are:



          • Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.

          Or



          • Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.

          The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.



          If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.






          share|improve this answer











          $endgroup$












          • $begingroup$
            I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
            $endgroup$
            – User732
            8 hours ago










          • $begingroup$
            @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
            $endgroup$
            – Neil Slater
            8 hours ago















          0












          $begingroup$

          Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.



          The simplest ways to deal with possibility of a blocked/failed action are:



          • Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.

          Or



          • Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.

          The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.



          If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.






          share|improve this answer











          $endgroup$












          • $begingroup$
            I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
            $endgroup$
            – User732
            8 hours ago










          • $begingroup$
            @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
            $endgroup$
            – Neil Slater
            8 hours ago













          0












          0








          0





          $begingroup$

          Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.



          The simplest ways to deal with possibility of a blocked/failed action are:



          • Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.

          Or



          • Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.

          The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.



          If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.






          share|improve this answer











          $endgroup$



          Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.



          The simplest ways to deal with possibility of a blocked/failed action are:



          • Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.

          Or



          • Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.

          The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.



          If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 10 hours ago

























          answered 10 hours ago









          Neil SlaterNeil Slater

          17.6k33264




          17.6k33264











          • $begingroup$
            I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
            $endgroup$
            – User732
            8 hours ago










          • $begingroup$
            @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
            $endgroup$
            – Neil Slater
            8 hours ago
















          • $begingroup$
            I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
            $endgroup$
            – User732
            8 hours ago










          • $begingroup$
            @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
            $endgroup$
            – Neil Slater
            8 hours ago















          $begingroup$
          I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
          $endgroup$
          – User732
          8 hours ago




          $begingroup$
          I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
          $endgroup$
          – User732
          8 hours ago












          $begingroup$
          @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
          $endgroup$
          – Neil Slater
          8 hours ago




          $begingroup$
          @User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
          $endgroup$
          – Neil Slater
          8 hours ago










          User732 is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          User732 is a new contributor. Be nice, and check out our Code of Conduct.












          User732 is a new contributor. Be nice, and check out our Code of Conduct.











          User732 is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Data Science Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48889%2fuse-deep-reinforcement-learning-with-recursive-actions%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Францішак Багушэвіч Змест Сям'я | Біяграфія | Творчасць | Мова Багушэвіча | Ацэнкі дзейнасці | Цікавыя факты | Спадчына | Выбраная бібліяграфія | Ушанаванне памяці | У філатэліі | Зноскі | Літаратура | Спасылкі | НавігацыяЛяхоўскі У. Рупіўся дзеля Бога і людзей: Жыццёвы шлях Лявона Вітан-Дубейкаўскага // Вольскі і Памідораў з песняй пра немца Адвакат, паэт, народны заступнік Ашмянскі веснікВ Минске появится площадь Богушевича и улица Сырокомли, Белорусская деловая газета, 19 июля 2001 г.Айцец беларускай нацыянальнай ідэі паўстаў у бронзе Сяргей Аляксандравіч Адашкевіч (1918, Мінск). 80-я гады. Бюст «Францішак Багушэвіч».Яўген Мікалаевіч Ціхановіч. «Партрэт Францішка Багушэвіча»Мікола Мікалаевіч Купава. «Партрэт зачынальніка новай беларускай літаратуры Францішка Багушэвіча»Уладзімір Іванавіч Мелехаў. На помніку «Змагарам за родную мову» Барэльеф «Францішак Багушэвіч»Памяць пра Багушэвіча на Віленшчыне Страчаная сталіца. Беларускія шыльды на вуліцах Вільні«Krynica». Ideologia i przywódcy białoruskiego katolicyzmuФранцішак БагушэвічТворы на knihi.comТворы Францішка Багушэвіча на bellib.byСодаль Уладзімір. Францішак Багушэвіч на Лідчыне;Луцкевіч Антон. Жыцьцё і творчасьць Фр. Багушэвіча ў успамінах ягоных сучасьнікаў // Запісы Беларускага Навуковага таварыства. Вільня, 1938. Сшытак 1. С. 16-34.Большая российская1188761710000 0000 5537 633Xn9209310021619551927869394п

          Partai Komunis Tiongkok Daftar isi Kepemimpinan | Pranala luar | Referensi | Menu navigasidiperiksa1 perubahan tertundacpc.people.com.cnSitus resmiSurat kabar resmi"Why the Communist Party is alive, well and flourishing in China"0307-1235"Full text of Constitution of Communist Party of China"smengembangkannyas

          ValueError: Expected n_neighbors <= n_samples, but n_samples = 1, n_neighbors = 6 (SMOTE) The 2019 Stack Overflow Developer Survey Results Are InCan SMOTE be applied over sequence of words (sentences)?ValueError when doing validation with random forestsSMOTE and multi class oversamplingLogic behind SMOTE-NC?ValueError: Error when checking target: expected dense_1 to have shape (7,) but got array with shape (1,)SmoteBoost: Should SMOTE be ran individually for each iteration/tree in the boosting?solving multi-class imbalance classification using smote and OSSUsing SMOTE for Synthetic Data generation to improve performance on unbalanced dataproblem of entry format for a simple model in KerasSVM SMOTE fit_resample() function runs forever with no result