当前位置: 首页 > news >正文

关于AI彩票预测算法的设想

本文以双色球选择红色6个号码为例

我们先把问题简化,双色球红色号码一共有33个球。摇奖时,每次随机摇出来一个号码,连续6次,就随机出来了6个红色球号码。

而这6个号码就是一注彩票里的前6个红色球号码。这里不讨论一注彩票里后端的1个蓝色球号码。

设想的原理:

双色球前6个红球号码,一共有  33 x 32 x 31 x 30 x 29 x 28 = 797448960 注

1. 把 797448960 注号码导入到数据库的一张表里待用;

2. 编写摇奖模形程序步骤:
   
    a)先设定随机函数的种子,保证程序运行出现的随机数,不是伪随机数;


    b)模拟从33个号码里,随机取出 1 个号码作为第 1 个号码;重复此步骤,直至随机取到第 6 个 号码,组成一组号码,也就是一注彩票号码;


    c)再拿上面得到的这组号码,去和数据库表的 797448960 注号码比对,6个号码相同的,则在数据表里的另一个字段“出现次数”记录为 1次;


       不断重复 b、c 两个步骤,把一定时间长度内(例如 1 个小时)随机出现的各注号码的次数全部记录下来。


    d)有了各注号码出现次数的记录之后,就把出现过的和没有出现过的分成两组。那么当天晚上的彩票号码,必定在其中的一个组。


    e)如果选择其中的一个组作为中奖组,则另一个组将被排除。但是机器跑起来比较快,反过来用被排除组作为中奖组,原来那一组再排除掉。


    f)按照上面的4个组,再建4张数据库表,重复b、c两个步骤,把一定时间长度内(例如 1 个小时)随机出现的各注号码的次数在新4个表中各自记录下来。


    g)重复上述再做多次(例如:100次),那么后来的结果,一定有喜欢的号码了。


3. 这里给出 FOXPRO 的 DEMO 程序,供有兴趣者参考:

SET EXCLUSIVE ON
USE abb
delete all 
PACK
CLOSE ALL
SET TALK OFF
SET SAFETY  OFF
CLEAR
USE 222.1.dbf
GO TOP
DO WHILE .not. EOF()
b=cvalue
SKIP
E=CVALUE
F=E-B
IF F<>1
IF f=2
*? B+1
INSERT INTO abb (cvalue) VALUES (b+1)
ENDIF
IF f=3
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
*? e-2
*? e-1
ENDIF
IF f=4
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
*? e-1
*? e-2
*? e-3
ENDIF
IF f=5
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
INSERT INTO abb (cvalue) VALUES (b+4)
*? e-1
*? e-2
*? e-3
*? e-4
ENDIF
IF f=6
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
INSERT INTO abb (cvalue) VALUES (b+4)
INSERT INTO abb (cvalue) VALUES (b+5)

*? e-1
*? e-2
*? e-3
*? e-4
ENDIF
IF f=7
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
INSERT INTO abb (cvalue) VALUES (b+4)
INSERT INTO abb (cvalue) VALUES (b+5)
INSERT INTO abb (cvalue) VALUES (b+6)

*? e-1
*? e-2
*? e-3
*? e-4
ENDIF

IF f=8
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
INSERT INTO abb (cvalue) VALUES (b+4)
INSERT INTO abb (cvalue) VALUES (b+5)
INSERT INTO abb (cvalue) VALUES (b+6)
INSERT INTO abb (cvalue) VALUES (b+7)

*? e-1
*? e-2
*? e-3
*? e-4
ENDIF
IF f=9
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
INSERT INTO abb (cvalue) VALUES (b+4)
INSERT INTO abb (cvalue) VALUES (b+5)
INSERT INTO abb (cvalue) VALUES (b+6)
INSERT INTO abb (cvalue) VALUES (b+7)
INSERT INTO abb (cvalue) VALUES (b+8)
*? e-1
*? e-2
*? e-3
*? e-4
ENDIF
IF f=10
INSERT INTO abb (cvalue) VALUES (b+1)
INSERT INTO abb (cvalue) VALUES (b+2)
INSERT INTO abb (cvalue) VALUES (b+3)
INSERT INTO abb (cvalue) VALUES (b+4)
INSERT INTO abb (cvalue) VALUES (b+5)
INSERT INTO abb (cvalue) VALUES (b+6)
INSERT INTO abb (cvalue) VALUES (b+7)
INSERT INTO abb (cvalue) VALUES (b+8)
INSERT INTO abb (cvalue) VALUES (b+9)
*? e-1
*? e-2
*? e-3
*? e-4
ENDIF

ENDIF
ENDDO
CLOSE ALL


 
*Rand(-1)
*CLOSE DATABASES
*CREATE TABLE Random (cValue N(6))
*FOR nItem = 1 TO 324632 && Append 1000 records,
   *APPEND BLANK
  * REPLACE cValue WITH 1+INT(RAND( )*324632)  && Insert random values
*ENDFOR

&&CLEAR


&&LIST  && Display the values
&&gnMaximum = 1  && Initialize minimum value
&&gnMinimum = 1000  && Initialize maximum value
&&SCAN 
&&FOR nItem = 1 TO 324632
  
  &&ENDFOR
  
   &&gnMaximum = MAX(gnMaximum, cValue)
&&ENDSCAN

&&? 'The minimum value is: ', gnMinimum  && Display minimum value
&&? 'The maximum value is: ', gnMaximum  && Display maximum value

&&CLEAR
&&gnLower = 1
&&gnUpper = 100

&&? INT((gnUpper - gnLower + 1) * RAND( ) + gnLower)

4. 也可以用其他数据库或者其他语言编程(例如C、C++等等)。

http://www.lryc.cn/news/312669.html

相关文章:

  • 设计模式之策略模式实践
  • 讨论:解决哈希冲突的几种方法
  • 遥感分析时什么情况下需要做大气校正?
  • 设计模式学习笔记 - 设计原则 - 7.DRY 原则及提高代码复用性
  • 方法的调用
  • VGW在 Windows 平台上局域网就绪的旁路由器程序
  • 能源大数据采集,为您提供专业数据采集服务
  • 01_Maven
  • C语言题目练习
  • 物联网安全|TrustAsia助力PSWG应对全球物联网产品安全合规挑战
  • 基于单片机的医院输液系统设计
  • 安卓简单登录
  • 【计算机网络】DNS/ICMP协议/NAT技术
  • 2403C++,C++20协程通道
  • C语言从入门到实战——预处理详解
  • 【LabVIEW FPGA】CIC滤波器
  • 砝码称重 蓝桥杯
  • AmzTrends x TiDB Serverless:通过云原生改造实现全局成本降低 80%
  • [最佳实践] Windows上构建一个和Linux类似的Terminal
  • 租赁系统|手机租赁软件|租赁系统功能开发
  • 【设计模式 04】建造者模式
  • Python使用错误总结
  • 【Java EE初阶三十】JVM的简单学习
  • thinkphp5水平分割表partition,以及查询操作
  • docker部署aria2-pro
  • vue中Mixins
  • linux常用指令(定期更新)
  • 【项目】图书管理系统
  • 华为OD机试 - 疫情扩散时间计算 - 矩阵(Java 2024 C卷 200分)
  • [数据集][图像分类]棉花叶子病害分类数据集2293张4类别