2
$\begingroup$

I am attending algorithms and data structures course in my University and my professor gave me an interesting question the other day. He told me to think about it.

What is a problem, a task, and a solution?

It seems to me like it's more of a philosophical question. All of those 3 things correlate to one another.

To me, it seems like if we have a problem, we then have a task to solve it, which we might be able to do with an algorithm, which is a solution.

What do you guys think would be the answer to this question? Does it have some kind of deeper meaning about algorithms, or am I just overthinking it?

$\endgroup$
  • 1
    $\begingroup$ If we have a problem, we might not know how to find a task that will result in a solution to the problem (even if there were several such tasks). $\endgroup$ – Rick Decker Sep 15 '16 at 19:52
  • 2
    $\begingroup$ In which context? $\endgroup$ – Raphael Sep 15 '16 at 20:59
  • 1
    $\begingroup$ Maybe related. $\endgroup$ – Raphael Sep 15 '16 at 21:00
  • 1
    $\begingroup$ One way to consider an algorithm is as a procedure that accomplishes a specific task. This task is established by a well-specified problem, which the algorithm solves. Problems are the Raison d'être of algorithms: without problems to solve, algorithms would have no value. $\endgroup$ – Mario Cervera Sep 15 '16 at 21:07
  • 1
    $\begingroup$ Also likely related: cs.stackexchange.com/questions/13669/… $\endgroup$ – jmite Nov 15 '16 at 17:54
-1
$\begingroup$

A problem is that you're trying to study Algorithms(seriously, its a real world problem). By posting this question here, you've performed a task, in order to solve a part of that problem. A complete solution would be when you understand the problem, perform a set of tasks in order to solve that problem. Seems to be fun? Actually, it is.

Lets understand with a better example, You want to become a good Software(Don't get deep in this term or change it with Web or whatever you'd like) Developer. It is a problem. Now you're attending some courses to fulfill that dream, this a task for the solution of that problem. Another task could be that you practice & sharpen your CS skills on your own. And many more such tasks. All these tasks collectively form a solution.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ You seem to be interpreting "problem" as "a difficulty that a person faces in life." That's not the meaning of the word in computer science. And you don't actually define any of the terms you're talking about; you just give examples. $\endgroup$ – David Richerby Nov 15 '16 at 19:42
  • $\begingroup$ One may easily find definitions in a book, but I guess he didn't wanted a definition but he was actually trying to grasp the concept of these terms. $\endgroup$ – d3corator Nov 16 '16 at 1:41
-1
$\begingroup$

philosophically, a problem isn't a problem until there is unrest, and a way to explain it as such. i.e. an understanding leads to determining if it really is a problem, or just misunderstood. Correctly specifying the problem then leads to its identification.

A bit morbid, but for ex, people dying from arsenic poisoning seems like a problem. Arsenic is poisonous, it will cause death. Is this the problem? No, the problem is exposure. (stated generally for brevity.) The task becomes solving exposure. And of course there may be multiple solutions. Detection, protective gear, isolation, etc.

| cite | improve this answer | |
$\endgroup$
  • 2
    $\begingroup$ This is computer science, not philosophy. The term "problem" has a specific meaning in computer science.. and it is different from what you seem to be thinking of. $\endgroup$ – D.W. Sep 16 '16 at 18:17
  • $\begingroup$ I was answering the philosophical portion of the OP. "It seems to me like it's more of a philosophical question. All of those 3 things correlate to one another." I understand this is not CS related. $\endgroup$ – htm11h Sep 16 '16 at 18:30
  • $\begingroup$ Doesn't seem this should require a down vote? I opened my response with the word. $\endgroup$ – htm11h Sep 16 '16 at 18:49
  • $\begingroup$ Comments about philosophy are off-topic here. This site is for the technical aspects of computer science. If the question had asked for an answer from the perspective of philosophy, it would have been off-topic -- but I don't think the question is doing that. In any case, answers should address the technical CS aspects. Other commentary is off-topic for this site; if your answer has no CS content, it's either not an answer to the question, or it's an indication that the question is off-topic and needs to be closed. In this case, I think it's the former. $\endgroup$ – D.W. Sep 17 '16 at 4:08
  • $\begingroup$ I disagree, within the context of the question the OP was distinguishing between the CS interpretation and a philosophical interpretation. My answer simply sought to bring clarity to the distinction not circumvent the focus of a CS related forum. $\endgroup$ – htm11h Sep 20 '16 at 14:18

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.