3
$\begingroup$

As I know, with problem representation is meant the formulation of the problem in a way that it can be programmed and therefore solved (for ex. you can represent the n-queens problem by using an array of NxN). But, what does problem modelling mean, and what do they differ?

$\endgroup$
  • $\begingroup$ Is there a specific context where you encountered these terms? If so, then edit your question to include it. $\endgroup$ – nbro Mar 8 at 20:50
  • $\begingroup$ I attended an Artificial Intelligence course at the faculty where the professor used to use these terms. @nbro $\endgroup$ – Jay Critch Mar 8 at 20:52
  • $\begingroup$ Did you use a specific manual or book during this course? If yes, you could try to look up in this book for the definition of these terms. $\endgroup$ – nbro Mar 8 at 20:54
  • $\begingroup$ Of course, we did. I have read the material but I still don't understand these terms. That is why I posted this question here :) @nbro $\endgroup$ – Jay Critch Mar 8 at 20:56
  • $\begingroup$ Which book did you use then? $\endgroup$ – nbro Mar 8 at 20:57
3
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ 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 $\endgroup$ – Jay Critch Mar 8 at 20:59
  • $\begingroup$ @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. $\endgroup$ – John Doucette Mar 9 at 0:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.