Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: What I am missing here

by lidden (Curate)
on Mar 20, 2012 at 20:46 UTC ( [id://960654]=note: print w/replies, xml ) Need Help??


in reply to What I am missing here

I think your shuffle is buggy. Use the built in shuffle instead.

use List::Util; # ... snip ... @deck = List::Util::shuffle @deck;

Replies are listed 'Best First'.
Re^2: What I am missing here
by Marshall (Canon) on Mar 21, 2012 at 04:01 UTC
    This is slightly different that the fisher_yates_shuffle algorithm.

    At the root of the matter, rand() is not random and has a odd,even,odd,even bias - or at least common implementations do. There are better "pseudo random number generators" than rand(). They are much more computationally expensive and I think outside of the scope of this thread.

Re^2: What I am missing here
by JavaFan (Canon) on Mar 20, 2012 at 22:26 UTC
    The shuffle is "buggy" only in the sense that it isn't fair. (Not every permutation will happen with equal probability). Replacing it with a fair algorithm doesn't make the OPs problem go away.
Re^2: What I am missing here
by heatblazer (Scribe) on Mar 21, 2012 at 05:45 UTC

    Well, I may not agree here. "Buggy" if it messes some elements in the deck by either copy them in the swap process. However I`ve tested it, and it`s OK, yes I am missing the srand(seed) but my algorithm is working since it never goes out of range and in worst case it can just swap two similar elements like card2 with card2 but it`s no error at all and it`s quite possible in real life shuffle too.

    The awkward moment you shuffle and you get 3 times the same cards to piss everybody out on the table... well it`s no algorithm for a lame shuffler, better never gave him/her to pass cards again!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://960654]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2024-04-19 06:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found