Answers.Body: <h3>What is planning?</h3>
  <p><strong>Planning</strong> (aka <a href="https://en.wikipedia.org/wiki/Automated_planning_and_scheduling" rel="nofollow noreferrer"><em>automated planning</em> or <em>AI planning</em></a>) is the process of <strong>searching</strong> for a <strong>plan</strong>, which is a sequence of actions that bring the agent/world from an initial state to one or more goal states, or a <strong>policy</strong>, which a function from states to actions (or probability distributions over actions). Planning is not just the use of a search algorithm (e.g. a state-space search algorithm, such as A*) to find the plan, but planning also involves the modelling of a problem by describing it in some way, e.g. with an <strong><a href="https://ep.liu.se/ea/cis/1998/016/cis98016-revised.pdf" rel="nofollow noreferrer">action language</a></strong>, such as <a href="https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language" rel="nofollow noreferrer">PDDL</a> or <a href="https://en.wikipedia.org/wiki/Action_description_language" rel="nofollow noreferrer">ADL</a>, or even with propositional logic.</p>
  <p>There are different <em>planning problems</em>, such as</p>
  <ul>
  <li><a href="https://users.aalto.fi/%7Erintanj1/jussi/planning.html" rel="nofollow noreferrer"><strong>classical planning</strong></a></li>
  <li>planning in <strong>Markov Decision Processes</strong> (which are mathematical models that describe stochastic environments/problems, i.e. environments where an action <span class="math-container">$a$</span> may not always lead to the same outcome)</li>
  <li><a href="https://users.aalto.fi/%7Erintanj1/jussi/temporalplanning.html" rel="nofollow noreferrer"><strong>temporal planning</strong></a> (i.e. when multiple actions can be taken at the same time and/or their duration may be different/variable)</li>
  <li><a href="https://urresearch.rochester.edu/fileDownloadForInstitutionalItem.action?itemId=5342&amp;itemFileId=8258" rel="nofollow noreferrer">hierarchical vs non-hierarchical planning</a></li>
  </ul>
  <p>There are different <em>planning approaches</em>, such as</p>
  <ul>
  <li><p>planning by <a href="https://en.wikipedia.org/wiki/State_space_search" rel="nofollow noreferrer"><strong>state-space search</strong></a> (with or without heuristics), i.e. formulate the planning problem so that you can apply a state-space search algorithm  (examples of state-space search algorithms are A*, IDA*, WA*, DFS or BFS); this is probably the approach to planning that makes people confuse planning with search (which typically implicitly refers to state-space search)</p>
  </li>
  <li><p>planning by <a href="https://users.aalto.fi/%7Erintanj1/jussi/satplan.html" rel="nofollow noreferrer"><strong>SAT</strong></a>, i.e. formulate the planning problem so that you can you a SAT solver to solve it (e.g. <a href="https://www.cs.cornell.edu/selman/papers/pdf/92.ecai.satplan.pdf" rel="nofollow noreferrer">SATPLAN</a>)</p>
  </li>
  <li><p>planning by solving <strong>constraint satisfaction problems</strong> (similar to SAT)</p>
  </li>
  <li><p><a href="https://users.aalto.fi/%7Erintanj1/jussi/planning.html" rel="nofollow noreferrer">planning by &quot;symbolic&quot; search methods</a> (such as Binary Decision Diagrams)</p>
  </li>
  </ul>
  <p>There are many different <em>planning algorithms</em> or <em>planners</em> (of course, each of these corresponds to some approach or is used to solve a particular planning problem), such as</p>
  <ul>
  <li><a href="http://incompleteideas.net/book/first/ebook/node43.html" rel="nofollow noreferrer"><strong>policy iteration</strong></a> in the context of <strong>Markov decision processes</strong></li>
  <li><a href="https://www.cs.cmu.edu/%7Eavrim/graphplan.html" rel="nofollow noreferrer">GraphPlan</a></li>
  <li>STRIPS (which stands for Stanford Research Institute Problem Solver, but note that STRIPS also and maybe more commonly refers to the corresponding description language used to describe the planning problem)</li>
  </ul>
  <h3>What is search?</h3>
  <p>In the context of AI, when people use the word <strong>search</strong>, they can either implicitly refer to <strong>state-space search</strong> (with algorithms like A*) or, more vaguely/generally, to any type of search, e.g. gradient descent can also be viewed as a search algorithm, typically, in a continuous state space (rather than discrete state space), e.g. the space of real-valued vectors of parameters for a certain model (e.g. a neural network).</p>
  <h3>What is the difference between planning and search?</h3>
  <p>The difference should more or less be clear from my first paragraph above that describes planning: <strong>search is used for planning</strong>, but the planning process/study also includes other things, such as describing the problem with an action language, such as PDDL. You can also view planning as an application of search algorithms of different types. In any case, planning is about searching for plans or policies. You should probably check <a href="https://open.ed.ac.uk/artificial-intelligence-planning/" rel="nofollow noreferrer">this course</a> for more info. This definition of (automated) planning is consistent with <a href="https://en.wikipedia.org/wiki/Planning" rel="nofollow noreferrer">our usual notion of planning</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-18T14:33:31.090Z
Answers.LastActivityDate: 2021-03-19T16:59:05.003Z
Answers.LastEditDate: 2021-03-19T16:59:05.003Z
Answers.UserDisplayName: nbro
Answers.Body: <p>Often terminology is vague and if this will be a test item for school I would circle back with teacher with my response before accepting it.</p>
  <p>They key difference is prior knowledge.</p>
  <p>Search - when one searches they explore without prior knowledge. This would likely be a stochastic process of trial and error. There is no expectation about state transitions. Example is exploring an abandoned house. You have no idea what you'll find next.</p>
  <p>Plan - you have a model of state transitions and can make predictions. One step or multi step prediction capabilities allow you to predict an outcome and therefore choose an outcome from several options.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T09:02:22.150Z
Answers.Text: You can search with prior knowledge. This is typically done with heuristics and this is known as informed search.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T16:28:28.520Z
Answers.Text: Your over thinking this person's question and not directly answering it at the level he is asking it. My answer was purposely simplistic because the question is simplistic
Answers.UserDisplayName: cagney
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T16:32:22.917Z
Answers.Text: But it's wrong to say that search cannot use domain knowledge. A* (a search algorithm) is an informed search algorithm that can use domain knowledge. I'm not overthinking anything. My answer is based on my knowledge of the topic and the info that I've found after having researched the topic even further for a few hours.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T16:37:43.523Z
Answers.Text: Although your answer has correct information and mine leaves out lots of information I think that the person asking it needed a simple answer. If you boiled down your answer into a single qualitative description of the difference im curious what it would be.
Answers.UserDisplayName: cagney
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T16:39:47.170Z
Answers.Text: The main difference between planning and search is given in my first paragraph. In other words, I would say that planning is an application of search (or applied search) or a "specialized" search in order to achieve a goal starting from some initial conditions. One thing that needs to be super clear is: planning definitely involves **some notion of** "search", but (almost) any problem-solving technique involves search anyway (maybe apart from random guessing).
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T06:00:11.307Z
Answers.LastActivityDate: 2021-03-19T06:00:11.307Z
Answers.UserDisplayName: cagney
Body: <p>I'm reading the book <em>Artificial Intelligence: A Modern Approach</em> (by Stuart Russell and Peter Norvig).</p>
  <p>However, I don't understand the difference between search and planning. I was more confused when I saw that some search problems can be determined in a planning way. My professor explained to me in a confusing way that the real difference is that search uses a heuristic function, but my book says that planning uses a heuristic too (in chapter 10.2.3).</p>
  <p>I read <a href="https://stackoverflow.com/q/10282476/3924118">this Stack Overflow post</a> that says in a certain way what I'm saying.</p>
  <p>So, what is the difference between search and planning?</p>
  
Tags: <comparison><definitions><search><planning><state-space-search>
Title: What is the difference between search and planning?
UserDisplayName: theantomc
ThreadText: # What is the difference between search and planning?
  
  (Asked by: username_0 on 2019-01-25)
  
  I'm reading the book *Artificial Intelligence: A Modern Approach* (by Stuart Russell and Peter Norvig).
  
  However, I don't understand the difference between search and planning. I was more confused when I saw that some search problems can be determined in a planning way. My professor explained to me in a confusing way that the real difference is that search uses a heuristic function, but my book says that planning uses a heuristic too (in chapter 10.2.3).
  
  I read [this Stack Overflow post](https://stackoverflow.com/q/10282476/3924118) that says in a certain way what I'm saying.
  
  So, what is the difference between search and planning?
  
  **Tags:** comparison, definitions, search, planning, state-space-search
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2021-03-18. Score: 3
  
  ### What is planning?
  
  **Planning** (aka [*automated planning* or *AI planning*](https://en.wikipedia.org/wiki/Automated_planning_and_scheduling)) is the process of **searching** for a **plan**, which is a sequence of actions that bring the agent/world from an initial state to one or more goal states, or a **policy**, which a function from states to actions (or probability distributions over actions). Planning is not just the use of a search algorithm (e.g. a state-space search algorithm, such as A\*) to find the plan, but planning also involves the modelling of a problem by describing it in some way, e.g. with an **[action language](https://ep.liu.se/ea/cis/1998/016/cis98016-revised.pdf)**, such as [PDDL](https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language) or [ADL](https://en.wikipedia.org/wiki/Action_description_language), or even with propositional logic.
  
  There are different *planning problems*, such as
  
  * [**classical planning**](https://users.aalto.fi/%7Erintanj1/jussi/planning.html)
  * planning in **Markov Decision Processes** (which are mathematical models that describe stochastic environments/problems, i.e. environments where an action $a$ may not always lead to the same outcome)
  * [**temporal planning**](https://users.aalto.fi/%7Erintanj1/jussi/temporalplanning.html) (i.e. when multiple actions can be taken at the same time and/or their duration may be different/variable)
  * [hierarchical vs non-hierarchical planning](https://urresearch.rochester.edu/fileDownloadForInstitutionalItem.action?itemId=5342&itemFileId=8258)
  
  There are different *planning approaches*, such as
  
  * planning by [**state-space search**](https://en.wikipedia.org/wiki/State_space_search) (with or without heuristics), i.e. formulate the planning problem so that you can apply a state-space search algorithm (examples of state-space search algorithms are A\*, IDA\*, WA\*, DFS or BFS); this is probably the approach to planning that makes people confuse planning with search (which typically implicitly refers to state-space search)
  * planning by [**SAT**](https://users.aalto.fi/%7Erintanj1/jussi/satplan.html), i.e. formulate the planning problem so that you can you a SAT solver to solve it (e.g. [SATPLAN](https://www.cs.cornell.edu/selman/papers/pdf/92.ecai.satplan.pdf))
  * planning by solving **constraint satisfaction problems** (similar to SAT)
  * [planning by "symbolic" search methods](https://users.aalto.fi/%7Erintanj1/jussi/planning.html) (such as Binary Decision Diagrams)
  
  There are many different *planning algorithms* or *planners* (of course, each of these corresponds to some approach or is used to solve a particular planning problem), such as
  
  * [**policy iteration**](http://incompleteideas.net/book/first/ebook/node43.html) in the context of **Markov decision processes**
  * [GraphPlan](https://www.cs.cmu.edu/%7Eavrim/graphplan.html)
  * STRIPS (which stands for Stanford Research Institute Problem Solver, but note that STRIPS also and maybe more commonly refers to the corresponding description language used to describe the planning problem)
  
  ### What is search?
  
  In the context of AI, when people use the word **search**, they can either implicitly refer to **state-space search** (with algorithms like A\*) or, more vaguely/generally, to any type of search, e.g. gradient descent can also be viewed as a search algorithm, typically, in a continuous state space (rather than discrete state space), e.g. the space of real-valued vectors of parameters for a certain model (e.g. a neural network).
  
  ### What is the difference between planning and search?
  
  The difference should more or less be clear from my first paragraph above that describes planning: **search is used for planning**, but the planning process/study also includes other things, such as describing the problem with an action language, such as PDDL. You can also view planning as an application of search algorithms of different types. In any case, planning is about searching for plans or policies. You should probably check [this course](https://open.ed.ac.uk/artificial-intelligence-planning/) for more info. This definition of (automated) planning is consistent with [our usual notion of planning](https://en.wikipedia.org/wiki/Planning).
  
  
  ---
  
  ### Answer by username_2 on 2021-03-19. Score: -1
  
  Often terminology is vague and if this will be a test item for school I would circle back with teacher with my response before accepting it.
  
  They key difference is prior knowledge.
  
  Search - when one searches they explore without prior knowledge. This would likely be a stochastic process of trial and error. There is no expectation about state transitions. Example is exploring an abandoned house. You have no idea what you'll find next.
  
  Plan - you have a model of state transitions and can make predictions. One step or multi step prediction capabilities allow you to predict an outcome and therefore choose an outcome from several options.
  
  > **Comments:**
  > **username_1**: You can search with prior knowledge. This is typically done with heuristics and this is known as informed search.  
  > **username_2**: Your over thinking this person's question and not directly answering it at the level he is asking it. My answer was purposely simplistic because the question is simplistic  
  > **username_1**: But it's wrong to say that search cannot use domain knowledge. A* (a search algorithm) is an informed search algorithm that can use domain knowledge. I'm not overthinking anything. My answer is based on my knowledge of the topic and the info that I've found after having researched the topic even further for a few hours.  
  > **username_2**: Although your answer has correct information and mine leaves out lots of information I think that the person asking it needed a simple answer. If you boiled down your answer into a single qualitative description of the difference im curious what it would be.  
  > **username_1**: The main difference between planning and search is given in my first paragraph. In other words, I would say that planning is an application of search (or applied search) or a "specialized" search in order to achieve a goal starting from some initial conditions. One thing that needs to be super clear is: planning definitely involves **some notion of** "search", but (almost) any problem-solving technique involves search anyway (maybe apart from random guessing).  
  
  ---
  
  