From: Quest Lee Date: 2007-03-23T10:58:23+09:00 Subject: Re: Housie (#114) ------=_Part_196954_18857784.1174615102822 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline rretzbach's first proposal is exactly the same as mine. I don't think the probabilities are not evenly distributed in the proposed. And my program generates the row pattern is the following: def make_rows row1 = gen_rands_nodup(9, 0, 5, Array.new) row2 = gen_rands_nodup(9, 0, 5, Array.new) row3= [0,1,2,3,4,5,6,7,8]-(row1+row2) row3 = gen_rands_nodup(9, 0, 5, row3) end def gen_rand max,range rand(max) + range * 10 end def gen_rands_nodup max,range,num,arr i = arr.length while i < num do rand_val = gen_rand(max,range) while arr.include?(rand_val) do rand_val = gen_rand(max,range) end arr[i] = rand_val i += 1 end arr end Is there any bug in this algorithm? On 2/21/07, rretzbach@googlemail.com wrote: > > > This is probably a spoiler, maybe not > > One Idea was to create each ticket, by building 2 rows and complete > the last row: > if both elements of the column were nil, mark the third element as > "to be filled" > and so on. > > But by doing this, I would actually change the probabilities, > because the last row depends on the first two rows. > > So far the only perfect "algo" that came to my mind was to create > all possible books and chose one randomly. > By this method the chances are perfectly balanged. > I mean we're talking about BINGO! > It's about money... and you should be able to proof that your algo > generates all possible books at equal probability. > > > Am I right with that, or is this totally nonsense? > Either way, please feedback to me :> > > > ------=_Part_196954_18857784.1174615102822--