|
Register | Sign In |
|
QuickSearch
Thread ▼ Details |
Member (Idle past 3394 days) Posts: 301 From: Burlington, Canada Joined: |
|
Thread Info
|
|
|
Author | Topic: Evolution as an Algorithm | |||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|||||||||||||||||||||||
JavaMan Member (Idle past 2339 days) Posts: 475 From: York, England Joined: |
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
|
|
|
Do Nothing Button
Copyright 2001-2023 by EvC Forum, All Rights Reserved
Version 4.2
Innovative software from Qwixotic © 2024