1. Shuffle, Shuffle, what's the Ruffle?
- Posted by Al Getz <Xaxo at aol.com> Mar 09, 2001
- 398 views
- Last edited Mar 10, 2001
For Jiri and others interested in shuffle algorithms: Hi there again Jiri, Im happy to hear you are so emphatic about the coding of various algorithms, most people i meet dont care one way or the other. It is nice to find people who care about what they write and modify and such. Sorry for the misunderstanding, but i wasnt trying to correct you, but rather simply posting another solution, as i often do. I was a little surprised though, as ive found your particular coding to be of value to me, both in application and theory. Your algorithm 'remove()' was very efficient, and when i asked you to elaborate on it, you posted exactly what i was looking for! Its mostly out of that kind of respect for your programming technique that i decided to look into this a little further. Also, i always felt this forum was a good way to hash out different approaches to code anyway, hearing different opinions and adding them up. Several minds working on the same problem is much like several cpu's in a computer, gets the work done N times as fast. Well, as it turns out, wasnt that code you originally posted exactly what i posted over two years ago in response to questions regarding shuffling? That was an algorithm written in QBasic by a twelve year old kid if i remember right. I also remember you getting peeved because of all the talk about shuffling? Granted i should have looked it up before posting, as i remembered what i considered near optimum code for a shuffle function incorrectly -- im too often in a hurry, and couldnt even find time for one of my usual salutations. The one i had considered best was actually the one you originally posted as well, but certainly not because the original is so much faster, but rather because its slightly more statistically balanced for a great number of shuffles. Its not much, but it is better for apps that will shuffle a great number of times. It's to that end that i can therefore only offer a very slight improvement to the original code, which turns out to be just as statistically balanced as the first: function shuffle_Al(sequence s) object temp integer j for i = 2 to length(s) do j = rand(i) temp = s[j] s[j] = s[i] s[i] = temp end for return s end function Perhaps this is the last word on shuffle? Perhaps not. In any case, im sure there will be more newcommers to the list who are looking for a shuffle algorithm--perhaps that suggestion to start a standard library could start right here? Good luck with your future programming, --Al
2. Re: Shuffle, Shuffle, what's the Ruffle?
- Posted by Jiri Babor <jbabor at PARADISE.NET.NZ> Mar 10, 2001
- 361 views
Al, it's generous gesture. Let us forget it, if you can. I can. Thanks. jiri ----- Original Message ----- From: "Al Getz" <Xaxo at aol.com> To: "EUforum" <EUforum at topica.com> Sent: Saturday, March 10, 2001 6:55 PM Subject: Shuffle, Shuffle, what's the Ruffle? > For Jiri and others interested in shuffle algorithms: > > Hi there again Jiri, > > Im happy to hear you are so emphatic about the coding > of various algorithms, most people i meet dont care > one way or the other. It is nice to find people who care > about what they write and modify and such. > > Sorry for the misunderstanding, but i wasnt trying > to correct you, but rather simply posting another > solution, as i often do. > I was a little surprised though, as ive found your particular > coding to be of value to me, both in application and theory. > Your algorithm 'remove()' was very efficient, and when i asked > you to elaborate on it, you posted exactly what i was looking > for! Its mostly out of that kind of respect for your programming > technique that i decided to look into this a little further. > > Also, i always felt this forum was a good way to hash out > different approaches to code anyway, hearing different opinions > and adding them up. Several minds working on the same problem > is much like several cpu's in a computer, gets the work done > N times as fast. > > Well, as it turns out, wasnt that code you originally posted > exactly what i posted over two years ago in response to > questions regarding shuffling? That was an > algorithm written in QBasic by a twelve year old kid if > i remember right. I also remember you getting peeved > because of all the talk about shuffling? > > Granted i should have looked it up before posting, as i > remembered what i considered near optimum code for > a shuffle function incorrectly -- im too often in a hurry, > and couldnt even find time for one of my usual salutations. > The one i had considered best was actually the one you originally > posted as well, but certainly not because the original is so much > faster, but rather because its slightly more statistically balanced > for a great number of shuffles. Its not much, but it is better > for apps that will shuffle a great number of times. > > It's to that end that i can therefore only offer a very slight > improvement to the original code, which turns out to be > just as statistically balanced as the first: > > function shuffle_Al(sequence s) > object temp > integer j > > for i = 2 to length(s) do > j = rand(i) > temp = s[j] > s[j] = s[i] > s[i] = temp > end for > return s > end function > > > Perhaps this is the last word on shuffle? Perhaps not. In any case, > im sure there will be more newcommers to the list who are looking > for a shuffle algorithm--perhaps that suggestion to start a > standard library could start right here? > > Good luck with your future programming, > --Al > > >
3. Re: Shuffle, Shuffle, what's the Ruffle?
- Posted by Jiri Babor <jbabor at PARADISE.NET.NZ> Mar 10, 2001
- 381 views
Oh, did I say sorry, Al? I did not! Sorry... jiri