Answers.Body: <p>I would say these terms are often used interchangeably in AI. When they differ, I would say that problem modeling means finding a mathematical description of the problem, while problem representation means finding a particular way to represent that mathematical formalism.</p>
  
  <p>For example, a list of numbers can be stored (represented) with a linked list, and array list, a hash table, or a self-balancing tree. All of them can produce a faithful model of the list, but if what you want to do is find the order that elements were entered in, the array list or linked list is far faster and more natural. If what you want to do is determine whether certain pieces of information are present in the list, the hash table is fastest. If what you want to do is find ranges of similar elements, the tree is fastest. Essentially, representational choices are engineering problems, while modelling choices are scientific problems.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-08T20:59:15.440Z
Answers.Text: What do you mean by "mathematical description". If I formulate the problem as a CSP, I have to use mathematical operations to express the constraints. How else could I formulate the problem in a mathematical way? @JohnDoucette
Answers.UserDisplayName: Jay Critch
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-09T00:06:29.970Z
Answers.Text: @JayCritch To model a CSP, you write down the constraints. To _represent_ a CSP, you might use a list of strings that state logical conditions; a function that checks consistency of some representation of an assignment by using loops over known indices; or even a compact representation in terms of binary digits and a sequence of bitwise operators. These different instantiations correspond to different representational choices. You can actually write all of these down mathematically, but usually this isn't worthwhile. Where it pays off is when writing down the _program_ that solves the CSP.
Answers.UserDisplayName: John Doucette
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-08T20:45:26.863Z
Answers.LastActivityDate: 2019-03-08T20:45:26.863Z
Answers.UserDisplayName: John Doucette
Body: <p>As far as I know, a <em>problem representation</em> is the formulation of the problem in a way that it can be programmed and therefore solved (for example, you can represent the <span class="math-container">$N$</span>-queens problem by using an array of <span class="math-container">$N \times N$</span>). </p>
  
  <p>What does <em>problem modelling</em> mean? What is the difference between a problem representation and problem modelling?</p>
  
Tags: <comparison><terminology><norvig-russell>
Title: What is the difference between a problem representation and problem modelling?
UserDisplayName: Jay Critch
ThreadText: # What is the difference between a problem representation and problem modelling?
  
  (Asked by: username_0 on 2019-03-08)
  
  As far as I know, a *problem representation* is the formulation of the problem in a way that it can be programmed and therefore solved (for example, you can represent the $N$-queens problem by using an array of $N \times N$).
  
  What does *problem modelling* mean? What is the difference between a problem representation and problem modelling?
  
  **Tags:** comparison, terminology, norvig-russell
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-03-08. Score: 4
  
  I would say these terms are often used interchangeably in AI. When they differ, I would say that problem modeling means finding a mathematical description of the problem, while problem representation means finding a particular way to represent that mathematical formalism.
  
  For example, a list of numbers can be stored (represented) with a linked list, and array list, a hash table, or a self-balancing tree. All of them can produce a faithful model of the list, but if what you want to do is find the order that elements were entered in, the array list or linked list is far faster and more natural. If what you want to do is determine whether certain pieces of information are present in the list, the hash table is fastest. If what you want to do is find ranges of similar elements, the tree is fastest. Essentially, representational choices are engineering problems, while modelling choices are scientific problems.
  
  > **Comments:**
  > **username_0**: What do you mean by "mathematical description". If I formulate the problem as a CSP, I have to use mathematical operations to express the constraints. How else could I formulate the problem in a mathematical way? @username_1  
  > **username_1**: @username_0 To model a CSP, you write down the constraints. To _represent_ a CSP, you might use a list of strings that state logical conditions; a function that checks consistency of some representation of an assignment by using loops over known indices; or even a compact representation in terms of binary digits and a sequence of bitwise operators. These different instantiations correspond to different representational choices. You can actually write all of these down mathematically, but usually this isn't worthwhile. Where it pays off is when writing down the _program_ that solves the CSP.  
  
  ---
  
  