Re: Provability
- From: Michael Press <rubrum@xxxxxxxxxxx>
- Date: Wed, 24 Oct 2007 23:02:56 -0700
In article
<rbisrael.20071025044151$5f90@xxxxxxxxxxxxxxxx>,
Robert Israel <israel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
Michael Press <rubrum@xxxxxxxxxxx> writes:
In article
<1193251799.743613.21490@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
Marshall <marshall.spight@xxxxxxxxx> wrote:
On Oct 24, 10:57 am, Michael Press <rub...@xxxxxxxxxxx> wrote:
An algorithm is a procedure that takes input and
terminates with a well-defined and asserted result.
That it does terminate with the asserted result must be
proven. Until we accept the proof, it is not an
algorithm. The notion of right answer is not part of
the definition of algorithm.
That definition is extremely narrow, and does not correspond
to any usage of the term that I can recall in many years
of being a programmer.
I'm not even sure I'd buy in to the "well-defined" part.
Having a "probabilistic algorithm" doesn't sound like
a contradiction in terms. In fact, Googling it just
now it gets a lot of hits. Neither does "proven correct,
proven terminating algorithm" sound redundant.
I fail to see the utility in defining an algorithm
to be no more than a partial recursive function.
A theorem is not a theorem until it is proven.
What is your standard for implementing a method
into production code?
Whether you see the utility or not is beside the point. The
fact is that standard terminology in mathematics and theoretical
computer science does consider a partial recursive function is to be "an
algorithm", and there is a difference between "algorithm A solves problem P"
and "we have a proof that algorithm A solves problem P". Similar
situations exist is most of classical mathematics: objects may have
certain properties even if there is no proof that they have those
properties.
Few enough people think of an algorithm in the way I
do, A.A. Markov and Donald Knuth take an algorithm to
be more definite than a partial recursive function.
Knuth writes at length in ACP, 1.1. Here is a portion
quoted in Wikipedia.
1. Finiteness: "An algorithm must always terminate
after a finite number of steps ... a very finite
number, a reasonable number"
2. Definiteness: "Each step of an algorithm must be
precisely defined; the actions to be carried out must
be rigorously and unambiguously specified for each
case"
3. Input: "...quantities which are given to it
initially before the algorithm begins. These inputs are
taken from specified sets of objects"
4. Output: "...quantities which have a specified
relation to the inputs"
5. Effectiveness: "... all of the operations to be
performed in the algorithm must be sufficiently basic
that they can in principle be done exactly and in a
finite length of time by a man using paper and pencil"
Apparently, only I consider a proof to be part of an algorthm.
--
Michael Press
.
- References:
- Provability
- From: Victor Porton
- Re: Provability
- From: Robert Israel
- Re: Provability
- From: Michael Press
- Re: Provability
- From: David C . Ullrich
- Re: Provability
- From: Michael Press
- Re: Provability
- From: Marshall
- Re: Provability
- From: Michael Press
- Re: Provability
- From: Robert Israel
- Provability
- Prev by Date: Re: ? dual spaces
- Next by Date: Re: Provability
- Previous by thread: Re: Provability
- Next by thread: Re: Provability
- Index(es):
Relevant Pages
|
Loading