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$
5
  • 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$ Sep 15, 2016 at 19:52
  • 2
    $\begingroup$ In which context? $\endgroup$
    – Raphael
    Sep 15, 2016 at 20:59
  • 1
    $\begingroup$ Maybe related. $\endgroup$
    – Raphael
    Sep 15, 2016 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$ Sep 15, 2016 at 21:07
  • 1
    $\begingroup$ Also likely related: cs.stackexchange.com/questions/13669/… $\endgroup$ Nov 15, 2016 at 17:54

2 Answers 2

0
$\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.

$\endgroup$
2
  • $\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$ Nov 15, 2016 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, 2016 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.

$\endgroup$
5
  • 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, 2016 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, 2016 at 18:30
  • $\begingroup$ Doesn't seem this should require a down vote? I opened my response with the word. $\endgroup$
    – htm11h
    Sep 16, 2016 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, 2016 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, 2016 at 14:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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