根据一组数据预测下一个数字

现在遇到这样一个问题:
有一组数据,里面有60个独立的数字,数字只有1、2、3这三个数字。但后面的数字与前面的数字是有某种关联的。(注:每组数字的前后之间的关系都是一样的。)

现在假设给出一组数据当中的前20个数字,来预测下一个数字,请问各位有什么好的办法?

编程语言是C#

给几组数据大家参考一下!
1113311111 1333331231 1333333311 3133311323 3131133333 3132121333

1133211113 3333313233 2211131111 3313112331 1233113113 1133233333

3321113111 1121331213 2313323132 3313211311 3131333333 1331333121

1333333313 3313311113 1333231123 1123233123 3313113131 1333331133

1112332332 3333123313 1121331111 2113131231 3313133111 3111113331

1333113211 3131313331 1113311111 1311111311 3321111312 3113133111

3312333211 3313313132 1331111333 3111311311 1323133233 3111313111

3113313111 1313313111 3321311311 1313221313 1231133333 1223111113
各位,来点实质性的回答好不好,二楼的仁兄,你说的那几个方法,犹如大海捞针,没办法啊....还有没有更好的办法?

我感觉很难
相当于是简单的要从公匙逆推出密匙
也就是从数据反推出算法
有几条路,你一一试验吧

1,人工分析。你挨个猜解,看能不能弄出来规律,规律出来了,后面的数就能推出。但是这个好难

2,机器概率统计分析。对每个数字在不同位置出现的概率和他们在整个数列里的位置分析,反推出规律

3,盲序分析。打乱数字,然后对比第一个数列来分析
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-08
时间过去很久, 我现在这儿写一个思路, 因为还没有完成相关计算, 待计算完毕后补充.
由于给出并非1:1, 所以考虑 1 和 2 是由前面的若干个数字决定的(没考虑后面, 因为要能推断后面的数字).
这组数中有一连串的2, 如果发生 一组 2 推出下一个值也是 2, 那么推导基本就结束了, 所以预估前面的6个数决定下一个数, 更前面的数的影响过于小, 所以不计入考虑. 同时, 加入一个条件, 越近的数对下一个数的影响越大. 所以就能初始化一个数组, 依次相乘累加, 并给出一个较小的初始误差. 然后用判断函数将值的范围纳入1~2的区间. 然后记录误差, 并将误差逆推, 纠正初始数组. 然后将纠正后的数组带入下次计算. 取前27个数为训练对象, 后10个数为测试对象.
如果结果并不理想, 比如测试正确率低于70%, 则考虑其他方式(毕竟瞎蒙都50%的正确率)
第2个回答  2009-10-18
- -期待解答
相似回答