Register | Sign In


Understanding through Discussion


EvC Forum active members: 63 (9162 total)
1 online now:
Newest Member: popoi
Post Volume: Total: 916,387 Year: 3,644/9,624 Month: 515/974 Week: 128/276 Day: 2/23 Hour: 0/0


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Evolution as an Algorithm
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 22 of 74 (345372)
08-31-2006 8:00 AM
Reply to: Message 19 by nwr
08-30-2006 9:29 PM


Re: Not an algorithm
An algorithm is deterministic
In what sense is Parasomnium's genetic algorithm deterministic?

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 19 by nwr, posted 08-30-2006 9:29 PM nwr has replied

Replies to this message:
 Message 29 by nwr, posted 08-31-2006 9:33 AM JavaMan has replied

  
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 32 of 74 (345404)
08-31-2006 11:05 AM
Reply to: Message 29 by nwr
08-31-2006 9:33 AM


Re: Not an algorithm
Does the term "genetic algorithm" apply to the individual steps taken, which are algorithmic and deterministic? Or does it apply to the overall process which uses random input, and is thus neither algorithmic nor deterministic (unless a deterministic pseudo-random number generator is used)?
I don't know why you're insisting that an algorithm must be deterministic. Despite the standard definition of an algorithm being something that always generates the same outcome given a fixed set of inputs, in reality an algorithm is just a set of instructions. If one of those instructions says, 'generate me a set of solutions with a certain amount of random input', then what you've got is a non-deterministic algorithm.
See Wikipedia entry on Nondeterministic Algorithms
Edited by JavaMan, : No reason given.

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 29 by nwr, posted 08-31-2006 9:33 AM nwr has replied

Replies to this message:
 Message 33 by nwr, posted 08-31-2006 11:34 AM JavaMan has replied

  
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 37 of 74 (345427)
08-31-2006 12:04 PM
Reply to: Message 33 by nwr
08-31-2006 11:34 AM


Re: Not an algorithm
I teach that class.
The term "non-deterministic algorithm" is a term of art. One must avoid confusing the expression "non-deterministic" as used here, with the philosophic notion of indeterminism.
As I am careful to point out to my students, a non-deterministic algorithm is perfectly deterministic.
Lets say I have an algorithm that consists of the sequence of instructions A, B and C, and instruction B states, 'generate me a set of random numbers as input to C'.
Now assume that I provide input to this algorithm at step A and receive output from step C. Is there any way in which I can say that the output from C is determined by the input at A? If not, then why can I not say that my algorithm A->C is non-deterministic?

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 33 by nwr, posted 08-31-2006 11:34 AM nwr has seen this message but not replied

Replies to this message:
 Message 49 by Percy, posted 08-31-2006 3:06 PM JavaMan has replied

  
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 57 of 74 (345638)
09-01-2006 3:33 AM
Reply to: Message 49 by Percy
08-31-2006 3:06 PM


Re: Not an algorithm
An example might help you understand how random numbers work in algorithm development. Here's a number guessing program written in C:
Thanks for the example, Percy, but I'm a computer programmer .

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 49 by Percy, posted 08-31-2006 3:06 PM Percy has replied

Replies to this message:
 Message 59 by Percy, posted 09-01-2006 7:21 AM JavaMan has not replied

  
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 58 of 74 (345645)
09-01-2006 4:25 AM
Reply to: Message 33 by nwr
08-31-2006 11:34 AM


Re: Not an algorithm
As I am careful to point out to my students, a non-deterministic algorithm is perfectly deterministic.
In theoretical use, a non-deterministic algorithm is sometimes described in terms of periodically consulting an oracle for advice on the next move. The advice from the oracle is part of the input to the algorithm. The output of the algorithm is a deterministic function of its input.
In practical use, we sometimes replace the oracle with a random number generator, but the algorithm still produces results that are a deterministic function of its inputs. Here the random numbers are part of the inputs. In another form of practical use. we apply a back-tracking or similar method, so that we can systematically try all possibilities. The resulting procedure is completely deterministic.
Hmmm...I detect a bit of inconsistency here. Let's have a look at some of your previous posts:
From Message 19
An algorithm is deterministic, so it leads directly to the kind of determinism that JAD assumes in his hypothesis. Interaction is not obviously deterministic, although it could admittedly be (as some argue) non-obviously deterministic. My point is that if you assume evolution is an algorithm, then you are pretty much assuming some sort of determinism.
The effect of an interaction is deterministic in the sense that you insist on when you're teaching your students about non-deterministic algorithms, i.e. the interaction 'produces results that are a deterministic function of [its] inputs'.
From Message 29
Does the term "genetic algorithm" apply to the individual steps taken, which are algorithmic and deterministic? Or does it apply to the overall process which uses random input, and is thus neither algorithmic nor deterministic (unless a deterministic pseudo-random number generator is used)?
If it's a computer simulation we're talking about, then the random input is generated using a pseudo-random number generator. If it's evolution we're talking about, then we're also talking about pseudo-random mutation events (they're pseudo-random because they are deterministic physical events).
This discussion is getting more complicated than it needs to be because you're confusing the philosophical notion of determinism (every event having a physical cause), with the common use of the terms 'deterministic' and 'non-deterministic' to mean 'predictable' and 'non-predictable'.
In this second sense, a deterministic algorithm is one where the outcome, given a particular set of inputs, is always the same. A non-deterministic algorithm is one where the outcome can't be predicted from the initial inputs.
Similarly, complex processes such as evolution, human behaviour, the spin of a roulette wheel, quantum properties, or the weather, are all deterministic in the philosophical sense, but are generally described as non-deterministic in the second sense.

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 33 by nwr, posted 08-31-2006 11:34 AM nwr has replied

Replies to this message:
 Message 60 by Percy, posted 09-01-2006 7:30 AM JavaMan has replied
 Message 63 by nwr, posted 09-01-2006 9:26 AM JavaMan has not replied

  
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 62 of 74 (345681)
09-01-2006 9:24 AM
Reply to: Message 60 by Percy
09-01-2006 7:30 AM


An algorithm, or not an algorithm?
This confirms my original suspicion that this is just a case of using different definitions. When trying to nail things down precisely it helps to introduce a bit of formalism, and I think that Nwr would agree with me that it is important to separately consider an algorithm from its inputs.
I think rushing to a formal definition sometimes serves to confuse an issue rather than clarify it, especially when you don't take into account the context of a discussion.
This discussion started with a question about whether evolution can be modelled as a computer algorithm. Most of the contributors here are using the term 'computer algorithm' in a loose sense to mean a sequence of instructions. Parasomnium has described a computer program he's written that uses an evolutionary algorithm (algorithm in the looser sense), and I have mentioned the term genetic algorithm (again, algorithm in the looser sense).
When you realise that this is how people are using the term, then nwr's argument against the computer algorithm model makes no sense at all. He's insisting on the formal definition of the term, and pointing out that evolution isn't the same kind of thing as an algorithm in this formal sense. And yet no one is arguing that evolution is like an algorithm in this formal sense (because most of us weren't aware that the term had a formal definition that was so restrictive).
The important point to make, I think, is that people aren't using the term algorithm to argue that evolution is a deterministic process. Until they do I don't think there's any advantage to be gained by insisting on the formal definition.

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 60 by Percy, posted 09-01-2006 7:30 AM Percy has not replied

Replies to this message:
 Message 66 by Woodsy, posted 09-01-2006 9:49 AM JavaMan has replied

  
JavaMan
Member (Idle past 2339 days)
Posts: 475
From: York, England
Joined: 08-05-2005


Message 67 of 74 (345695)
09-01-2006 10:21 AM
Reply to: Message 66 by Woodsy
09-01-2006 9:49 AM


Re: An algorithm, or not an algorithm?
I'd just like to correct an impression I see here. The original post was not meant to ask if evolution could be modelled on a computer. My concept of an algorithm was that of a well-defined set of operations that could be relied on to process its inputs to yield its outputs in the same way every time.
Then I agree with nwr (). No.
My interest is in an idea that, if evolution works in that way, and biological systems meet the requirements for a proper input to the algorithm, we can confidently expect evolution to occur and so be able to focus our attention on the details.
I don't quite understand what you're getting at here. Evolution does occur. What science attempts to understand is how it works, in particular what the mechanisms are that generate novel forms. Describing evolution in terms of a computer algorithm is useful if it gives us some insight into these mechanisms. If it doesn't, then it's not a very useful model.

'I can't even fit all my wife's clothes into a suitcase for travelling. So you want me to believe we're going to put all of the planets and stars and everything into a sandwich bag?' - q3psycho on the Big Bang

This message is a reply to:
 Message 66 by Woodsy, posted 09-01-2006 9:49 AM Woodsy has not replied

  
Newer Topic | Older Topic
Jump to:


Copyright 2001-2023 by EvC Forum, All Rights Reserved

™ Version 4.2
Innovative software from Qwixotic © 2024