-1
$\begingroup$
  1. My definition of an algorithm is a finite sequence of operations provided by an abstract machine, where the operations are executed one after another in the order specified by the sequence.
  2. Different machines may provide different sets of operations, so the definition of an algorithm depends on the abstract machine and can be different on different abstract machines.

Thanks.

Raphael
73.3k31 gold badges184 silver badges406 bronze badges
asked Nov 1, 2014 at 23:53
$\endgroup$
3
  • $\begingroup$ I asked a related question here cs.stackexchange.com/questions/32533/… $\endgroup$ Commented Nov 2, 2014 at 0:54
  • $\begingroup$ The machine is not necessarily abstract : computers use algorithms, our brains use algorithms, etc.. It is abstract when you formalize it. $\endgroup$ Commented Jul 16, 2015 at 15:42
  • $\begingroup$ Your question already includes a complete answer to the original problem but no question about this answer. Thus, only "yes/no" answers may remain, helping neither you nor future visitors. Please read related meta discussions here and here and adjust your question accordingly, e.g. by formulating a specific question about a single element of your answer you are uncertain about. If you just want general feedback, you are welcome to visit us in Computer Science Chat. $\endgroup$ Commented Jul 16, 2015 at 21:42

2 Answers 2

1
$\begingroup$

While very vague, I don't see anything inherently wrong with your "definition", nor do I know strictly better ones.

See also here.

answered Jun 16, 2015 at 7:25
$\endgroup$
1
$\begingroup$

One of my professors gave us this definition of algorithms when he was about to introduce Turing Machines:

An algorithm is a finite sequence of instructions which always terminates and gives us a result.

Therefore an algorithm requires termination as well as the production of a result, otherwise it is nothing more than a procedure which is a sequence of operations/instructions.

A procedure may be effectively calculable by pen/paper method, but an algorithm is effectively computable by a Turing machine.

answered Jul 16, 2015 at 9:20
$\endgroup$
7
  • 1
    $\begingroup$ Welcome to Computer Science Stack Exchange. May be you should relate more your answer to the question asked. In what way does your definition differ from that given by the OP of the question. That might shed some light as to what issues may be. For example, you require termination, which he does not. Does that have implications? Just having one assertion/definition against another is not much help to readers. Answers should motivated, or at least defended or discussed, or compared in some way. $\endgroup$ Commented Jul 16, 2015 at 9:36
  • $\begingroup$ Tried to improve on the answer. Hope it is better. $\endgroup$ Commented Jul 16, 2015 at 9:46
  • $\begingroup$ Actually, the Turing machine was designed to be the mechanical equivalent of the pen and paper method. It was considered adequate by mathematicians expert in those issues. So I doubt it is reasonable to attempt to distinguish them in two separate definitions. But I actually made a mistake: your only difference with the question is about the prodution of a result, which seems reasonable. Actually, these definitions correspond to halting turing machines. People sometimes call it semi-algorithm when the computation does not terminate on some inputs. $\endgroup$ Commented Jul 16, 2015 at 10:08
  • $\begingroup$ True. Let's see whether OP accepts this defintion. $\endgroup$ Commented Jul 16, 2015 at 10:26
  • $\begingroup$ @babou: what do you mean by " prodution of a result"? When an abstract machine executes a sequence of operations, it will do something whether that something is desired or not and whether that something is null or not. So by "a result", do you mean the desired one only? $\endgroup$ Commented Jul 16, 2015 at 13:44

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.