From: ralph on
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
"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
"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

"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

"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