Answers.Body: <p>First place to look is how the preconditions/effects of different actions interact.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-06T23:39:04.783Z
Answers.Text: We expect answers to provide more details. So, I would suggest that you review this answer to make it more complete.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-02-27T02:23:54.270Z
Answers.LastActivityDate: 2020-02-27T02:23:54.270Z
Answers.UserDisplayName: haz
Answers.Body: <p>I don't see any principal problem with that. The way I would approach it is to have a resource model and durations attached to actions.</p>
  
  <p>For example, movement would put a lock on your legs. You can't have another movement at the same time, as your legs are already busy. But your attention might only be partially occupied, so you can make a phone call while you're moving. You won't be able to read a book, because your eyes might be partially busy monitoring the walking action. This can be encoded in pre- and post-conditions.</p>
  
  <p>What will probably be easier is to parallelise the execution of the plan. Once the plan has been created, organise the actions in a <a href="https://en.wikipedia.org/wiki/Gantt_chart" rel="nofollow noreferrer">Gantt-chart</a> like structure. You can have mutual exclusion in there, so all 'movement' would be restricted to one single row, so no more than one movement can take place at the same time. But 'making a phone call' could be in a separate row, and thus execute in parallel. The details depend on the requirements of the actions.</p>
  
  <p>I can't easily think of a way that it would impact the planning process itself; unless there are critical timings involved. So leaving the planner to do its thing might keep it simpler, and then the optimal execution could be a post-processing step.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-02-27T10:04:10.227Z
Answers.LastActivityDate: 2020-02-27T10:04:10.227Z
Answers.UserDisplayName: Oliver Mason
Body: <p>We are discussing planning algorithms currently, and the question is to describe the steps to check if actions could be taken simultaneously. This is a really open-ended question so I'm not sure where to start. </p>
  
Tags: <planning><pddl>
Title: Can two planning PDDL actions be taken simultaneously?
UserDisplayName: dev924
ThreadText: # Can two planning PDDL actions be taken simultaneously?
  
  (Asked by: username_0 on 2020-02-27)
  
  We are discussing planning algorithms currently, and the question is to describe the steps to check if actions could be taken simultaneously. This is a really open-ended question so I'm not sure where to start.
  
  **Tags:** planning, pddl
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2020-02-27. Score: 1
  
  First place to look is how the preconditions/effects of different actions interact.
  
  > **Comments:**
  > **username_2**: We expect answers to provide more details. So, I would suggest that you review this answer to make it more complete.  
  
  ---
  
  ### Answer by username_3 on 2020-02-27. Score: 0
  
  I don't see any principal problem with that. The way I would approach it is to have a resource model and durations attached to actions.
  
  For example, movement would put a lock on your legs. You can't have another movement at the same time, as your legs are already busy. But your attention might only be partially occupied, so you can make a phone call while you're moving. You won't be able to read a book, because your eyes might be partially busy monitoring the walking action. This can be encoded in pre- and post-conditions.
  
  What will probably be easier is to parallelise the execution of the plan. Once the plan has been created, organise the actions in a [Gantt-chart](https://en.wikipedia.org/wiki/Gantt_chart) like structure. You can have mutual exclusion in there, so all 'movement' would be restricted to one single row, so no more than one movement can take place at the same time. But 'making a phone call' could be in a separate row, and thus execute in parallel. The details depend on the requirements of the actions.
  
  I can't easily think of a way that it would impact the planning process itself; unless there are critical timings involved. So leaving the planner to do its thing might keep it simpler, and then the optimal execution could be a post-processing step.
  
  
  ---
  
  