hypersoniq's Blog

The overall strategy

Budget being the top concern. Setting it at $14 per week keeps it fun. I can play a variety of games at that budget...

Pick 3 mid day AND evening

Or

Pick 5 mid day AND evening

Or

Match 6

Or

Cash 5 (though I do not play this one)

The system being developed is based on frequency observation.

The 2 phases take it from 1,000 possible combinations I can pick from and narrow it down to 1.

Phase one is interesting, but results in too many combos... today's output shows 6 digits with a frequency falling within the inter quartile range, therefore neutral. So from 1,000 (10x10x10) choices, I reduce it to 216 (6x6x6) by cutting the hots and colds as outliers. Keep in mind that there is almost a 95% chance that at least one of those combos will appear straight in the next 21 draws... that was proven out by a full back test against the histories of both PA pick 3 mid and eve games.

The phase 2 currently being  used is to sort the results by frequency, which lines up 6 combos for selection. Now, 6 is not unreasonable, but the budget @ $14 per week says otherwise. 

So, my selection involves looking at the middle of that pack... since it is an even number of neutral combos, this puts the focus on combos 3 and 4. Even better to have just 2 combos, but to resolve the budget, I must pick one and reject the other. For this I take the sum of the draws out statistic for each position, lowest wins.

On the paper play test that just concluded, it worked for the 690 in the mid day, but failed for the 537 in the evening.

So at the end of the day, I am still making a best guess with 1:1,000 odds.

The selection strategy will change for phase 2 each 21 day cycle, but the process is simple... make a best guess given the information available.

So in my mind, I know that my final pick is at raw odds, but I truly feel I have done everything I can possibly do to catch a hit. There is no magic function that will deliver a hit on demand. There will be more losing cycles that winning ones, and regardless of how I tweak the process each cycle, there will be zero guarantees.

But this process has hit, and seems like the best bet for me to continue. The same dumb luck that brought the 690 in the paper play test could easily work for the bigger games (pick 5 and Match 6) in the full cycle. There is no guarantee that you win, but it is also not fully guaranteed that you will lose (likely, but not an absolute guarantee).

My best guess engine will keep me busy and interested for the remainder of the year and across ALL of 2026. I even dropped the 50 cent box from the pick 3 this week in favor of the full $1 straight. This should be fun because now just 2 $500 hits on pick 3 will not only fund the remainder of 2025, but ALL of 2026. I should probably drop the match 6 and just go all in on the pick 3 for these last 11 weeks of the year. I will start 2026 with the 3rd week of the 4th cycle on pick 3 and start Match 6 in the second week of January... that seems a solid plan.

It is important to consider the budget if you want to properly allocate wins... IF there are 2 straight pick 3 hits, play is on the house for the whole year in 2026 AND covered for the rest of this year. Since one of the goals is to have the state pay for attempts at the Cash 4 Life, that means any $500 hit after the next 2 can both accomplish that mission AND generate a profit.

When I was updating the draw files, just for fun I implemented the sorting into the Match 6 script and after adjusting a minor "index out of range" error, it worked exactly as I thought it might. Next coding task is to spin those changes into the Cash 4 Life script, which I hope gets at least one chance to run over the next 63 weeks...

Entry #523

2 tests ended yesterday

The 4 week live trial of picking a neutral combo for the Match 6. Weeks 1 and 2 were 0, week 3 hit $5, week 4 had 2 hits of $2 and $4 for a net loss of $45 on the total $56 to play.

Lessons learned...

1. Playing each week and getting new QP lines (as they give you 2 QP lines for the one you buy) was the reason any hits were had at all. While it would be easier just to play one set for 26 draws, playing by the week puts 2 extra draws in and keeps to the $14/week budget.

2. Every single digit I picked came out at least 3 times, but no more than 2 at a time. The synchronization issue. Over the next 3 week while the system is off cycle, I will implement the multi layer sort I just finished for the pick N games.

 

The other test that finished was the paper play 3 week test of the pick 3. There was no cost or winnings, but the weekly result justified extending the cycle by 1 more week... weeks 1 and 2 would have cost $28, the third week brings the simulation cost to $42. No hits at all on the evening game, 2 of 3 several times. The day game hit straight in week 3 for a simulated value of $290 (still on the 50/50 plan) for a simulated profit of $248.

Lessons learned...

1. The multi layer sort helped somewhat with the synchronization issue. This must be applied to all other scripts!

2. The extra week moved the rate of seeing at least one all neutral draw in the cycle. At 7 days it was a 70% chance, at 2 weeks it was a 90% chance, and at 3 weeks it is almost 95% I expect a similar improvement when extending the pick 5 to 3 weeks next year.

 

Missing a win on a paper play pick 3 test does not bother me, I did not do the same for pick 5 and will not do the same for Match 6. Not winning $290 is no big deal... missing out on $50,000 or a part of $500,000 would be too depressing.

I just have to update the draw history files and run the script and go play the first week's pick 3 for mid and eve.

I thought of an interesting way to cut costs should there be a hit early... drop that combo for the rest of the remaining cycle. If there happens to be a hit in week 1 of the mid day, then skip the replay for the next 2 weeks... that puts week 2 and 3 under budget ($7) chasing the night combo only. Might miss a delayed repeat, but those are rare. There is no Fomo (fear of missing out) on a shoestring budget.

Should there be a Match 6 hit (highly unlikely), then that game will be removed from the cycle for the weeks it takes for the claim process to complete and to have money hit the bank. Same with the Cash 4 Life and even the Pick 5.

And of course, I will reward my hard work with a 1 year platinum LP membership on any single win of $50,000 (pre tax) or more.

So I guess the goal from now through 2026 is to go Platinum!

Entry #522

The sort function and the Cash 4 Life / Match 6

The sort function lines up the same as the pick 3... hots on top, colds on the bottom. There are neutral combos that just line up. Following similar rules, the picks can be made the same... from the center of the neutral combos.

When sorted by drawn numbers, they formed clusters in different regions, the same sort code used for the pick N lines these clusters up nicely.

Can't wait to try it out after this week's test finishes and the pick 3 goes through it's 3 week cycle! Gonna hold off on the pick 5 until 2026.

Entry #521

What if the cycle for pick 3 is too short?

As this last week goes on with an added $2 hit on the match 6, I tracked the pick 3 paper play for this week as well... the mid day pick came out straight today... nothing ventured, nothing gained, but 21 days might be a better cycle length... on a limited 7 cycle back test, there was more than 1 hit in that third week including 2 straights, though most were boxed...

2026 on a 10 week cycle? Maybe... 4 weeks Match 6, 3 weeks Pick 3 and 3 weeks Pick 5... cost stays the same, so why not?

Always much to think about...

Entry #520

What the sorting did for the script

The addition of a multi layer sort arranges the numbers with the hottest at the top and the coldest at the bottom, in each position.

The resultant list creates 10 combos.

So in addition to setting up Python 3.14 in a Docker evaluation sandbox today, I will be studying the 2 weeks of paper play for the pick 3.

At a quick first glance, the only straight hit over 14 draws of the evening pick 3 came from the last row, all colds...

The significance lies in the rows and how they appear after sorting. Now, instead of trying to pick from 1 in up to 300 combos, I will only have to pick from 1 in 10. The same holds for pick 5! Only need to pick from 1 in 10...

The analysis will be useful when deciding if it is worth it to keep the 50/50 play or just go for the dollar straight. Pick 5 will only be for the one straight play to stay in the $14/week limit.

Still have to figure out the best pick of the 10 combos, for the budget is firm. As playing all 10 for 2 weeks @ 50/50 would have cost $280 and so far only brought in $290. Did not yet look at the mid day data.

I have a week to study the output as pick 3 is up after this week 4 of 4 on the Match 6, which will have a total cost of $56 and so far only hit $5. The Match 6 was hit twice in these 4 weeks so far, each time by one winner.

By what I am going for with the neutrals... I probably would have cut that straight hit right out as it was a CCC draw.🙄

Entry #519

Time to update Python... 3.14 is available!

Python 3.14 is available for download. All of my scripts were either written in Python version 3.09 or updated from earlier versions.

How do I begin the upgrade process and ensure my scripts do not break in the process?

Docker!

I can place my current scripts and 3.9 in a local container and upgrade to 3.14 and test them 1 at a time while safely maintaining the 3.09 version that works in the isolated container environment.

I have never used Docker outside of a few tutorials on local block chain servers, so it will be exciting to apply the tech to something of personal interest.

The main benefit of the upgrade is faster in line c/c++, which essentially forms the backbone of machine learning and AI Python packages like Tensor Flow and PyTorch.

The safe upgrade path ensures I can try it out with zero risk to the ability to run my current and past scripts. I know they will run on Python 3.11 as that is the environment in the Raspberry Pi. After success with the Windows laptop, I will then proceed to upgrade the Python version on the Pi as well.

This is one thing I learned about in school, new versions of familiar tools have a tendency to break some things, and by preserving what works, you do not end up stuck with broken code and no idea how to fix it. Remember when new browsers decided to depreciate Java applets?

Next day off is Friday, sounds like a morning project!

Entry #518

Will modify the cycle for 2026

Current cycle... 6 weeks

4 weeks of Match 6

2 weeks of pick 3

2026 planned cycle... 8 weeks

4 weeks of Match 6

2 weeks of pick 3

2 weeks of pick 5

 

The cost per week is identical. Match 6 weeks cost $14 for one combo. Pick 3 covers both mid day and evening drawings @ $0.50 straight/$0.50 boxed for $14/week (though this will most likely change to dropping the box and going $1 straight in 2026) and pick 5 covers both mid day and evening drawings @ $1 straight for the same $14/week.

The Match 6 has it's own script, but the Pick N script runs without modification on pick 2 through pick 5, it only depends what history file I load. The cost stays the same for the new cycle vs. the old cycle. It reduces the chance for the pick 3 to provide funds, but does not eliminate it.

Not implementing it this year so there is more time focusing on the pick 3 phase 2 techniques, as they will directly apply later to the pick 5.

This way, I only need to update draw histories and generate picks 3 times in 8 weeks... freeing up development time to learn and implement some more advanced phase 2 processes that can utilize an AI agent.

Plan is set, cost is known @ $728 for the entire year. Never played a whole year before... hopefully some luck is also involved...

$500 possible on the pick 3.

$50,000 possible on the pick 5.

A share of $500,000 possible on the Match 6.

3 straight pick 3 hits at the current .50/.50 between now and December 31 pay for the whole thing...

The focus now is on playing the pick 3 when the Match 6 is up, looking at both the selection process of it's 2 week cycle AND reading the output with the 14 next draws in hand to help find a better way. Also, changing from .50/.50 on the pick 3 doubles the straight hit prize.

I think That everything is covered... cycling between 3 different games keeps it interesting with 0 negative budget impacts, I am already at rock bottom with regard to a play budget.

Going all in on frequency classification!

Entry #517

Match 6 at 17 draws in finally catches $5

On the N of 18, the week 3 ticket caught 5 of 18 for $5. Only involved one number from my line.

Cost for 4 weeks is $56 @ $14 per week. With the hit, brings the net loss on the test down to $51 with 11 draws remaining.

Pick 3 paper play test cost nothing, and with 4 draws remaining, won nothing.

The sort implementation in Match 6 will be done when Pick 3 goes live for a 2 week cycle. Doing a sort on a jackpot game will save a great amount of time in the selection process, but as seen with the current paper play Pick 3 test, is just as difficult to catch a hit.

Considering adding 2 weeks to the whole cycle to bring it up to 8 weeks with the addition of a Pick 5 attempt @$1 straight... same $14 cost per week while getting a chance to play the pick 5 without waiting for that elusive pick 3 win.

Entry #516

Sorting modification worked, but...

After a morning of frustration chasing down error messages and trial/error placement of the sort. It did not end up working where I thought it should go. It ends up I had to read the per column data before printing, NOT before storage... otherwise the data did not retrieve properly.

Because the print buffer was a dictionary data structure, the sort ended up as a one line operation using a lambda function anyway. It turns out it was easier to do in a lambda while getting the desired result. -X['count'] and X['MDR'] were the sort criteria that ended up providing the desired result. The default behavior for sorting is ascending, the minus sign was added to the count to indicate descending.

Running the version 5 before the version 6 allowed verification of data integrity via place by place comparison. 

The end result is each column sorted by frequency descending, and where those frequencies are the same, they are sorted by draws since last appearance ascending.

The 14 days of the paper play are up on this coming Wednesday, but the results were not very impressive so far.

On the bright side, it worked as easily when the input was changed to a pick 5 file.

This ended up being more of a challenge than I thought it would be, but those end up being the entertaining ones when the run finally produces no syntax or semantic errors. Ended up adding 20 lines, but many of those are comments describing the function of each step. The program still runs in under 10 seconds!

The goal was to help with the long standing column synchronization problem. Time will tell on that goal.

Entry #515

Maybe the simple plan is the best plan

Looking at how all of my focus has been on those neutrals that cross the median... perhaps I should focus on those about to transition to hot.

Sounds silly, but I should have started there first.

I have a feeling that after implementing the multi layer sort and running a bit of a back test, that is where the numbers show up.

What was my goal with the pick 3 from the beginning? A simple, explainable and repeatable way to pick a straight hit in a limited window of drawings. I think the simple train left the station with the classification idea... but I would be happy with explainable and repeatable.

It is a good thing this is a paper play cycle for pick 3, seems more innovation happens when not actually playing.

The Match 6 level of play needed an operation name as well, this one sits between Operation Bail Out (Pick 5) and Operation Break The Chains (Cash 4 Life). I'll call this one Operation Ascension... not quite financial independence, but starting to get in that zone if a $500,000 jackpot were hit.

Entry #514

Pick N column sorting planned for Friday morning

The process of implementing a new feature like this...

1. Have the idea

2. Look at the code so far and figure out where it is best implemented... for this script, the column is generated, then written to a buffer list while the rest of the columns are processed. The obvious best choice is in that spot where the list is calculated already, but right before the column is stored...

3. Plan how to implement the feature... this is going to be attempted with the simplicity of 2 calls to the sorted() function... no extraneous function calls, no Lambda functions.

4. Plan how to test it... this is also known, I always increment the version number before making changes, so run the data for the last version, save it, and compare it to the new version output... making sure all data is the same for each digit. Only the order will change, but it will change per column, making it necessary to have a copy of the same data ran through analysis before sorting is implemented.

5. Figure out how to use the new feature... so this will happen after 10/8, when the 2 weeks are up for the paper play test. Run the function WITHOUT updating the draw history, and display the 14 latest draws on screen with the output to help figure out where a win might have come from.

This will make that last week of the Match 6 go a bit quicker as there are things that will be learned on the pick 3 that could be applied to that Match 6 script in the 2 week down time while the pick 3 goes live next.

I have to figure out what is important on my own before I can even begin planning an AI agent to follow a Markov Decision Process... even AI only follows the framework you give it, and let's face it... I am simply not there yet (if ever).

This is not my first time feeling like I was on the verge of some discovery, only to have it evaporate before my eyes, but failure is where we learn the most, where we learn to build the work ethic to keep trying.

Entry #513

One draw to the half way point in Match 6 live test

Tonight's draw will be 2 weeks in of the 4 week cycle of the same combo. It also starts the 2nd paper play week of the Pick 3. Since week 1 was not worth the time it took to run the script, seeing if week 2 looks more promising.

The Match 6 has been particularly bad, although all 6 numbers were drawn from my neutral set, some more than once, there have been exactly 0 hits in 13 days. Going back a few cycles in back tests, this does track with where the all neutral draws were seen, the last half of the classifier runs.

If this continues to be the case, the obvious move is to devise a delay in the system, and only play the 2nd half numbers (which means the Match 6 combo will change after the first 14 days). Waiting for the results to see if this is the case, also why I staggered the paper play pick 3 test to be done out of synch with the Match 6 test, that gives me a week to figure out delay implementation.

Entry #512

Passing the time while in a cycle

The nice part about running in 4 week and 2 week cycles is not needing to be constantly updating the draw history. It is just as easy to grab the next 28 draws of Match 6 and the next 28 draws of pick 3 as it is to update weekly.

There is an advantage to not updating during the test... I can run the program again in the exact state it was in when I made my selection to see how the pick may have been interpreted differently. When the paper play on the pick 3 reaches 14 days since the last update, I can see what I noticed and see where in the results the next 14 draws came from. Same with the Match 6 when the 4 weeks of the live trial are up.

The sorting modification should be done on pick 3 by this weekend. When that goes live, I have 2 weeks to implement that in the Match 6 script.

The pick 3 will be re run with the same data in 9 more draws, then the sorted list can be checked against the next 14 draws to see if a hit may have come on the other neutral lines, not just the central one. I have to understand the manual process before even beginning to imagine an automated phase 2 solution.

Entry #511

Tools that I use in this hobby

1. spread sheet! 

Ever since getting into this hobby going on 3 decades ago, the main go to tool for developing ideas has been and continues to be a spreadsheet. I use Microsoft Excel every day at work, but at home I use the free Open Office Calc spreadsheet... it does most of the same functions and formulas... and it's free.

2. Dia.

This is a free program that lets you create both flowcharts for program flow AND entity relationship diagrams for data base work.I learned of (and used) this when taking classes.

3. Python! 

While my first language was G BASIC on a Radio Shack TRS-80, my favorite of all time is Python. It is free, well documented, has a deep user base and I can follow the logic. I am not a user of virtual environments because these lottery scripts are stand alone. I use all of the math and science libraries available, also freely available.

4. R Studio.

This is a statistics based program that I learned about in class and kept using after graduation. Easy to generate visualizations of data, and work flow can be incorporated into python and vice versa. Free (Open Source).

5. Pencil and Paper.

True classics never go out of style!

6. Texas Instruments Nspire graphing scientific calculator.

Bought to take calculus, kept for it's power and relative ease of use.

7. Computers...

First is an old laptop with a quad core I7 bought when starting school, now 9 years old

Second, a Raspberry Pi 5 with 8GB of RAM running Linux. Both set up with Python and I can run long programs on the RasPi and send the data back to the windows laptop. (Those rare tests that take days to complete...)

Nothing was purchased with the lottery hobby in mind, but through that hobby, I am able to keep using the software and hardware and not forget everything I learned in school.... ALL of the software is open source, so it is free. I could never imagine paying for lottery software, that defeats the purpose of the hobby... hits (and even playing at all) is secondary to the thrill of discovery.

Entry #510

For my own reference...

Window size settings by game

Pick N - 14 draws (last 2 weeks of 6 week cycle)

Match 6 - 28 draws (first 4 weeks of 6 week cycle)

Cash 4 Life - 30 draws (only on pick 3 straight hit)

Power Ball - 26 draws (probably never to be used)

Mega Millions - 26 draws (probably never to be used)

 

I keep notes because it is not unheard of for me to forget what I had in mind for certain systems. Went to look at some old ones and even with good comments, was not easy to remember what I had in mind at the time.

18 draws of the Match 6 cycle before switching to the pick 3. The modifications I am applying to the pick 3 script will be incorporated into the Match 6 script while pick 3 is active.

Entry #509