From: ralph on 18 Jul 2010 12:59 On Sun, 18 Jul 2010 22:28:46 +1000, Michael Cole <noone(a)invalid.com> wrote: > >OK. This I have to respond to first, even though it is nothing to do >with coding. My area of study is statistics, and as it looks as if you >are trying to create a lotto-winning scheme, let me tell you that there >is no such thing. There is _no_ winning system, and no amount of >random number generation will ever change that. > .... > >Sorry to be so harsh, but what you are working on is pointless. > LOL Perhaps - but definitely NOT worthless! Back in my part-time ISV days I wrote a ton of various applications. Many quite useful to people in Engineering and the Scientific communities and I sold a few. I was quite proud of them. However, my number one best seller, and major revenue generator, was a Biorhythm program. Where you type in your birthday and time of birth, and it comes back with a list of good days and bad days for certain activities. I mean major as after 2 years of good income from direct sales, I also sold the source and all rights for a nice chunk of change. (Not much in Silicon Valley terms, but nice for a programmer with a wife, three kids, two cars, and a mortgage. <g>) My number two best seller? A silly little program that captured Sun Spot, Solar Activity, and Lunar data and generated predictions for the commodity market. Did I believe in any of it? Not for one damn second. Did I care? Not for one damn second. -ralph
From: Mike Williams on 18 Jul 2010 13:04 "Michael Cole" <noone(a)invalid.com> wrote in message news:i1us2e$l44$1(a)news.eternal-september.org... > [addressed to NeatBoxx via VBMonster.com] I can tell this from > your statement that, "Of course I would never use the numbers > I am showing here because they are not practical ..." Sorry to > disappoint you, but the numbers 1, 2, 3, 4, 5 and 6 are _exactly_ as > practical as 7, 14, 17, 23, 32 and 36. There > is _absolutely no difference between the two sets_, and no > system for picking individual combinations will ever increase > your chance of winning. That's true, in that choosing one set of numbers over another will not increase your chances of ending up with the winning ticket, but choosing one set over another will in many cases very definitely change your chances of winning the big money if you should happen to pull all six winning numbers, simply because the people who buy tickets, as a group, are not exactly random. The machine that pulls the numbers is random, but the people who play the lottery are not. The problem is that you would need to be a very good judge of human behaviour or, better still, have access to full details of all of all actual number sets chosen over a fairly long period of time (as do the lottery organisers). As an example, the numbers 1,2,3,4,5,6 may very will be avoided by most people on the grounds that they think (incorrectly) that they have a lesser chance of coming up than other sets, and so you may deduce (probably incorrectly) that choosing that particular set will make you one of a very small mumber of people holding the winning ticket if that particular set should come up. Conversely, you may (probably correctly) deduce that a lot of people (a very small percentage of tens of millions of people is still a lot) would think that way, and they would therefore deliberately choose that specific set. If that was the case (which I think it probably would be) then if the number set 1,2,3,4,5,6 actually did come up then a fairly large number of people would hold tickets for it, thereby reducing your share of the pot, and so avoiding that specific set would indeed be a very good tactic, but not for the reasons most people would put forward for it. Similar reasoning can hold for other specific number sets. What you need in order to take advantage of such things (small as that advantage would be) is to be either an extremely good and accurate judge of human behavour or, better still, have access to the historic details of all actual real "ticket sales" number sets over a long period of time. Mike
From: Kevin Provance on 18 Jul 2010 13:42 "ralph" <nt_consulting64(a)yahoo.net> wrote in message news:v6b646pc816qbr71kfu9h4us7jnq269hkb(a)4ax.com... : On Sun, 18 Jul 2010 22:28:46 +1000, Michael Cole <noone(a)invalid.com> : wrote: : Back in my part-time ISV days I wrote a ton of various applications. : Many quite useful to people in Engineering and the Scientific : communities and I sold a few. I was quite proud of them. : Ralph is flexin' his RealProgrammer muscles. <g>
From: Larry Serflaten on 18 Jul 2010 14:28 "NeatBoxx via VBMonster.com" <u61568(a)uwe> wrote > The module calculates all possible variations that maintain balance...equal > play for each number. This saves the lotto player money...Like in my example > of P = (3,4) .... 4 combinations with each number appearing exactly 3 times. > will produce one 5 out of 6 win if the 6 numbers fall in the example. > > My math is pretty good it's my computer programming that sucks. I hope > this explains to you what I am trying to do...it's not about decieving people > to think it's magical win system for lotteries...it's merely a tool... I'd be somewhat of the reverse, better at programming than math, but I thought I would draw your attention to the pattern you've set up and suggest you might advance that pattern idea to get the numbers you need. Consider this string of digits that represent the numbers 1 - 8: 1111 1111 There's a 1 in the first column, representing the number 1 in your combination. In fact there are 1's in all the columns, which would represent all the numbers 1-8. Now lets look at the (3, 4) wheel you previously posted: 1-2-3-5-6-7 1110 1110 1-2-4-5-6-8 1101 1101 1-3-4-5-7-8 1011 1011 2-3-4-6-7-8 0111 0111 Taking the top line (1-2-3-5-6-7) for illustration, produces the string 1110 1110. Meaning there is a 1 in the first, second and third column, and the fifth, sixth, and seventh column. When you line it up like that, you can see a pattern develop. You've got two 0's separated by three 1's and you've just left shifted the pattern to create the next line. There are a number of other patterns that might be worth noting. The entire list starts out something like this: 1111 1100 1111 1010 1111 1001 1111 0110 1111 0101 1111 0011 1110 1110 1110 1101 .... etc ... Perhaps it may be easier to see the pattern if you reverse the 1's and 0's 0000 0011 0000 0101 0000 0110 0000 1001 0000 1010 0000 1100 0001 0001 0001 0010 0001 0100 0001 1000 0010 0001 .... etc What you get are starting patterns you might use to generate a new number sequence. You'd start with a pattern from the list, and left shift 1 or 2 (depending on other criteria) until you get back to the original pattern. For example, taking the top line of the list (0000 0011) equates to the number sequence 1-2-3-4-5-6. Left shifing that pattern 2 every time produces a different set of the (3, 4) combination: 0000 0011 1-2-3-4-5-6 0000 1100 1-2-3-4-7-8 0011 0000 1-2-5-6-7-8 1100 0000 3-4-5-6-7-8 And that was just the top line, the same shifting could be done for all the patterns in the list to create new (3, 4) combinations. (1's that shift off the left end are added back to the right side). If I am not mistaken, there are 28 patterns in the complete list. And you can turn a (3,4) wheel into a (6, 8) wheel by shifting the pattern left 1 instead of by 2 as was shown. Add 2 different (6, 8) sets to get one (12, 16) set, or, add a set of (3,4) plus a set of (6, 8) to get one set of (9, 12), et. al. What I am suggesting is that you stop trying to randomly guess possible wheel entries, in favor of enumerating the entire pattern list, and selecting one pattern from the enumerated list to begin shifting it around to generate your numbers. (They would still be in the 1's and 0's form, which you would have to transpose into the numbers 1-8, and then into your final 1 through 42, or whatever). In short, I am suggesting that you avoid random guessing of number sequences, testing them against your criteria (which takes an undetermined amount of time because the numbers are random) in favor of deterministically generating number sequences that meet your criteria, in a finite number of steps. When your number sequences get large, the random possibilites grow exponentially, which is why you see such a delay. While it will take slightly longer to generate a (6, 8) combination compared to a (3, 4) set, still, due to the deterministic amount of steps and relative simplicity of the operation, I would venture 3 (6, 8) sets (equivilent to an (18, 24) set) should take well under a minute to generate. Once you've grasp that concept, recall that the computer stores all of its values in the form of 1's and 0's (in memory). So, instead of a string of digits that have to be rotated, make the patterns easier to manage by treating them as binary values. The binary notation of 0001 0001 equates to the decimal value of 17, The first pattern in the list is 000 0011 which equates to a value of 3, the second is 0000 0101 which equates to 5, and so on. It is simply Base 2, converted to Base 10. Once you have the original pattern it is an easy task to shift that pattern around to generate the different number sequences. The routine below may get you started. Paste the code into a new form and run it. You'll see your previously posted wheel show up in VB's Immediate window (AKA: Debug window). Use a different call to Sequence() to generate a different set [ ex, Sequence(2, 3) ]. Put the two sets together and you have a larger set of (6, 8). Because the original patterns of the two (3, 4) sets were different, shifting them produced different (3, 4) sets with no overlap. (no identical number combinations) Enough said, here's the code, see if that may be of use.... LFS Option Explicit Private Sub Form_Load() Dim n ' For Each n In Sequence(2, 3) ' 0000 0011 = 3 For Each n In Sequence(1, 17) ' 0001 0001 = 17 Debug.Print n Next End Sub Function Sequence(ByVal ShiftSize As Long, ByVal Pattern As Long) As Collection Dim bit As Long, ptn As Long, vlu As Long Dim seq As String ' limited pattern shifting to 1 or 2 If ShiftSize < 1 Then ShiftSize = 1 If ShiftSize > 2 Then ShiftSize = 2 Set Sequence = New Collection ' copy original pattern ptn = Pattern Do ' copy current bit pattern vlu = ptn ' erase old seq seq = "" ' generate sequence; convert bit placement to numbers For bit = 8 To 1 Step -1 If (vlu And 1) = 0 Then ' 0's = present seq = "-" & CStr(bit) & seq End If vlu = vlu \ 2 ' Shift bits 1 place to the right Next ' Save Sequence.Add Mid$(seq, 2) ' Shift pattern left ptn = ptn * (ShiftSize * 2) ' Only testing for 1 or 2 shifts (limited) If ptn And &H100 Then ptn = ptn Or 1 ' off left edge If ptn And &H200 Then ptn = ptn Or 2 ' Chop off left bits if any ptn = ptn And (&HFF) Loop Until ptn = Pattern End Function
From: Larry Serflaten on 18 Jul 2010 14:33
"ralph" <nt_consulting64(a)yahoo.net> wrote > LOL > > However, my number one best seller, and major revenue generator, was a > Biorhythm program. Where you type in your birthday and time of birth, > and it comes back with a list of good days and bad days for certain > activities. > > My number two best seller? A silly little program that captured Sun > Spot, Solar Activity, and Lunar data and generated predictions for the > commodity market. > > Did I believe in any of it? Not for one damn second. > Did I care? Not for one damn second. What?? No horoscopes? That's a bit amazing, considering almost any programmer could code up a biorythm chart.... LFS |