Answers.Body: <p>Fun domain!</p>
  <p>You shouldn't have to be parsing the FD output for the plan. Just use <code>--plan-file plan.out</code> as a command-line option to write the plan to the <code>plan.out</code> file. Chances are that it's already creating a file for you locally and you may not have noticed.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-01T10:58:08.670Z
Answers.Text: Can you post the command line you're using?
Answers.UserDisplayName: haz
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-03T21:21:08.540Z
Answers.Text: Aye, but what's the actual command and what files exist after running it?
Answers.UserDisplayName: haz
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-04T06:57:08.133Z
Answers.Text: I have added more details to the question, I hope it will be clearer now, note that I'm not getting any plan: neither plan.out nor the default plan name!
Answers.UserDisplayName: Bilal
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-04T07:24:28.913Z
Answers.Text: it turns out that I didn't specify the type of search algortihm `--search "astar(lmcut())"` for example.
Answers.UserDisplayName: Bilal
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-05T12:02:07.553Z
Answers.Text: Yep, that's the issue. You can run it with `--show-aliases` to see the `--alias` options. Quite often that's how it's run.
Answers.UserDisplayName: haz
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-29T13:52:24.993Z
Answers.LastActivityDate: 2022-06-29T13:52:24.993Z
Answers.UserDisplayName: haz
Body: <p>I'm using this <a href="http://editor.planning.domains/#read_session=7yXhxKBnwe" rel="nofollow noreferrer">domain/problem</a> with the <a href="https://www.fast-downward.org" rel="nofollow noreferrer">fast-downward</a> planner like this:</p>
  <p><code>./fast-downward.py --plan-file plan.out ../test_domain.pddl ../test_problem.pddl </code></p>
  <p>The issue here is that the <code>output.sas</code> contains hundreds of thousands of lines without a clear reference to the solution plan!</p>
  <p>Here is the full output log of the planner:</p>
  <pre><code>$ ./fast-downward.py --plan-file plan.out ../test_domain.pddl ../test_problem.pddl
  INFO     planner time limit: None
  INFO     planner memory limit: None
  
  INFO     Running translator.
  INFO     translator stdin: None
  INFO     translator time limit: None
  INFO     translator memory limit: None
  INFO     translator command line string: /usr/bin/python3 /media/belal/WD//Planning/downward/builds/release/bin/translate/translate.py ../test_domain.pddl ../test_problem.pddl --sas-file output.sas
  Parsing...
  Parsing: [0.000s CPU, 0.001s wall-clock]
  Normalizing task... [0.000s CPU, 0.000s wall-clock]
  Instantiating...
  Generating Datalog program... [0.000s CPU, 0.000s wall-clock]
  Normalizing Datalog program...
  Normalizing Datalog program: [0.000s CPU, 0.001s wall-clock]
  Preparing model... [0.000s CPU, 0.000s wall-clock]
  Generated 9 rules.
  Computing model... [0.000s CPU, 0.000s wall-clock]
  73 relevant atoms
  28 auxiliary atoms
  101 final queue length
  157 total queue pushes
  Completing instantiation... [0.000s CPU, 0.001s wall-clock]
  Instantiating: [0.000s CPU, 0.003s wall-clock]
  Computing fact groups...
  Finding invariants...
  5 initial candidates
  Finding invariants: [0.000s CPU, 0.001s wall-clock]
  Checking invariant weight... [0.000s CPU, 0.000s wall-clock]
  Instantiating groups... [0.000s CPU, 0.000s wall-clock]
  Collecting mutex groups... [0.000s CPU, 0.000s wall-clock]
  Choosing groups...
  4 uncovered facts
  Choosing groups: [0.000s CPU, 0.000s wall-clock]
  Building translation key... [0.000s CPU, 0.000s wall-clock]
  Computing fact groups: [0.000s CPU, 0.001s wall-clock]
  Building STRIPS to SAS dictionary... [0.000s CPU, 0.000s wall-clock]
  Building dictionary for full mutex groups... [0.000s CPU, 0.000s wall-clock]
  Building mutex information...
  Building mutex information: [0.000s CPU, 0.000s wall-clock]
  Translating task...
  Processing axioms...
  Simplifying axioms... [0.000s CPU, 0.000s wall-clock]
  Translator axioms removed by simplifying: 0
  Computing negative axioms... [0.000s CPU, 0.000s wall-clock]
  Processing axioms: [0.000s CPU, 0.000s wall-clock]
  Translating task: [0.000s CPU, 0.001s wall-clock]
  24 effect conditions simplified
  0 implied preconditions added
  Detecting unreachable propositions...
  0 operators removed
  0 axioms removed
  2 propositions removed
  Detecting unreachable propositions: [0.000s CPU, 0.000s wall-clock]
  Reordering and filtering variables...
  6 of 6 variables necessary.
  4 of 6 mutex groups necessary.
  24 of 24 operators necessary.
  0 of 0 axiom rules necessary.
  Reordering and filtering variables: [0.000s CPU, 0.000s wall-clock]
  Translator variables: 6
  Translator derived variables: 0
  Translator facts: 16
  Translator goal facts: 2
  Translator mutex groups: 4
  Translator total mutex groups size: 12
  Translator operators: 24
  Translator axioms: 0
  Translator task size: 204
  Translator peak memory: 31884 KB
  Writing output... [0.000s CPU, 0.000s wall-clock]
  Done! [0.000s CPU, 0.007s wall-clock]
  translate exit code: 0
  
  INFO     Running search (release).
  search needs --alias, --portfolio, or search options
  </code></pre>
  <p>Can you please tell me how can I interpret the generated plan?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-30T03:01:55.010Z
Comments.Text: Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
Comments.UserDisplayName: Community
Tags: <planning><pddl><strips>
Title: How to interpret the output plan of the fast-downward planner
UserDisplayName: Bilal
ThreadText: # How to interpret the output plan of the fast-downward planner
  
  (Asked by: username_0 on 2022-06-29)
  
  I'm using this domain/problem with the fast-downward planner like this:
  ./fast-downward.py --plan-file plan.out ../test_domain.pddl ../test_problem.pddl 
  The issue here is that the output.sas contains hundreds of thousands of lines without a clear reference to the solution plan!
  Here is the full output log of the planner:
  $ ./fast-downward.py --plan-file plan.out ../test_domain.pddl ../test_problem.pddl
  INFO     planner time limit: None
  INFO     planner memory limit: None
  
  INFO     Running translator.
  INFO     translator stdin: None
  INFO     translator time limit: None
  INFO     translator memory limit: None
  INFO     translator command line string: /usr/bin/python3 /media/belal/WD//Planning/downward/builds/release/bin/translate/translate.py ../test_domain.pddl ../test_problem.pddl --sas-file output.sas
  Parsing...
  Parsing: [0.000s CPU, 0.001s wall-clock]
  Normalizing task... [0.000s CPU, 0.000s wall-clock]
  Instantiating...
  Generating Datalog program... [0.000s CPU, 0.000s wall-clock]
  Normalizing Datalog program...
  Normalizing Datalog program: [0.000s CPU, 0.001s wall-clock]
  Preparing model... [0.000s CPU, 0.000s wall-clock]
  Generated 9 rules.
  Computing model... [0.000s CPU, 0.000s wall-clock]
  73 relevant atoms
  28 auxiliary atoms
  101 final queue length
  157 total queue pushes
  Completing instantiation... [0.000s CPU, 0.001s wall-clock]
  Instantiating: [0.000s CPU, 0.003s wall-clock]
  Computing fact groups...
  Finding invariants...
  5 initial candidates
  Finding invariants: [0.000s CPU, 0.001s wall-clock]
  Checking invariant weight... [0.000s CPU, 0.000s wall-clock]
  Instantiating groups... [0.000s CPU, 0.000s wall-clock]
  Collecting mutex groups... [0.000s CPU, 0.000s wall-clock]
  Choosing groups...
  4 uncovered facts
  Choosing groups: [0.000s CPU, 0.000s wall-clock]
  Building translation key... [0.000s CPU, 0.000s wall-clock]
  Computing fact groups: [0.000s CPU, 0.001s wall-clock]
  Building STRIPS to SAS dictionary... [0.000s CPU, 0.000s wall-clock]
  Building dictionary for full mutex groups... [0.000s CPU, 0.000s wall-clock]
  Building mutex information...
  Building mutex information: [0.000s CPU, 0.000s wall-clock]
  Translating task...
  Processing axioms...
  Simplifying axioms... [0.000s CPU, 0.000s wall-clock]
  Translator axioms removed by simplifying: 0
  Computing negative axioms... [0.000s CPU, 0.000s wall-clock]
  Processing axioms: [0.000s CPU, 0.000s wall-clock]
  Translating task: [0.000s CPU, 0.001s wall-clock]
  24 effect conditions simplified
  0 implied preconditions added
  Detecting unreachable propositions...
  0 operators removed
  0 axioms removed
  2 propositions removed
  Detecting unreachable propositions: [0.000s CPU, 0.000s wall-clock]
  Reordering and filtering variables...
  6 of 6 variables necessary.
  4 of 6 mutex groups necessary.
  24 of 24 operators necessary.
  0 of 0 axiom rules necessary.
  Reordering and filtering variables: [0.000s CPU, 0.000s wall-clock]
  Translator variables: 6
  Translator derived variables: 0
  Translator facts: 16
  Translator goal facts: 2
  Translator mutex groups: 4
  Translator total mutex groups size: 12
  Translator operators: 24
  Translator axioms: 0
  Translator task size: 204
  Translator peak memory: 31884 KB
  Writing output... [0.000s CPU, 0.000s wall-clock]
  Done! [0.000s CPU, 0.007s wall-clock]
  translate exit code: 0
  
  INFO     Running search (release).
  search needs --alias, --portfolio, or search options
  
  Can you please tell me how can I interpret the generated plan?
  
  **Tags:** planning, pddl, strips
  > **Comments:**
  > **username_1**: Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2022-06-29. Score: 2 | Accepted answer
  
  Fun domain!
  
  You shouldn't have to be parsing the FD output for the plan. Just use `--plan-file plan.out` as a command-line option to write the plan to the `plan.out` file. Chances are that it's already creating a file for you locally and you may not have noticed.
  
  > **Comments:**
  > **username_2**: Can you post the command line you're using?  
  > **username_2**: Aye, but what's the actual command and what files exist after running it?  
  > **username_0**: I have added more details to the question, I hope it will be clearer now, note that I'm not getting any plan: neither plan.out nor the default plan name!  
  > **username_0**: it turns out that I didn't specify the type of search algortihm `--search "astar(lmcut())"` for example.  
  > **username_2**: Yep, that's the issue. You can run it with `--show-aliases` to see the `--alias` options. Quite often that's how it's run.  
  
  ---
  
  