有一5*N的矩阵(100000...>N>100):
    ...A(i) A(i+1) A(i+2)...
    ...B(i) B(i+1) B(i+2)...
    ...C(i) C(i+1) C(i+2)...
    ...D(i) D(i+1) D(i+2)...
    ...E(i) E(i+1) E(i+2)...
如何设计一种算法来找出A(k)或B(k)或C(k)或D(k)与前面所有数据可能存在的相关性,
即如何设计一种算法来寻找ABCD之一与其前面已经存在的ABCDE之间可能存在的某种未知关系?人工智能?!

解决方案 »

  1.   

    大量的数据当中寻找规律是“数据挖掘”(data mining)的范畴要尝试很多方法,从无规律当中寻找规律
      

  2.   

    http://community.csdn.net/Expert/topic/4439/4439152.xml?temp=.3963892楼下,还有楼上到楼主那个高手帮我个忙,去看看这个问题吧。谢谢了,我好着急啊。自己水平又不高,只能依靠你们了!谢谢了!!1
      

  3.   

    如果只在一行中比如只在A中,可以尝试曲线拟和的方法,对前n个数进行拟和,探测出第n+1个数和你现有的第n+1个数进行比较!
      

  4.   

    楼主啊,我感觉你是要找
    A(k+1)或B(k+1)或C(k+1)或D(k+1)
    与A(1...k)B(1...k)C(1...k)D(1...k)E(1...k)的关系。如果是在数据库里面,你又很熟悉sql的话。
    在数据库里面建个表
    ABCDE作为列
    把数据导入数据库,
    加个插入触发器
    每插入一条数据都要记录一下特征。
    然后新插入的都要与这个特征比较一下就可以了。如果是程序里面方法也类似,
    表换成链表就可以了。关建是不知道你说的未知关心是什么,
    但无论如何都要对这个数组遍历一次,
    这个懒是偷不了的。
      

  5.   

    这就是化简矩阵吧,先将AB看成2*n矩阵,化简(步骤1,2,3,),看其相关性,若化简的结果是第一行不为零,第二行为零,则相关,否则无关,然后加入C,成为3*n,继续判断
      

  6.   

    我换一种方法描述你看对不对:
    设Num[i]:{A[i],B[i],C[i],D[i],E[i]}
    找出集合{Num[K1],Num[K2].....Num[Kt]},集合中元素显著相同(即有共性),其中i属于(K1,K2....Kt).
    如果是的话,可以抽象为在一个5维坐标系下若干坐标点的分类问题,如果有正例的话可以考虑RBF网络,否则可以考虑神经网络中的自组织影射分类法.刚刚在网上看了下蚁群算法,大意是:一个蚂蚁在找到食物的时候会通过触角的碰撞来通知其他蚂蚁食物的位置,每与一只曾竟到达的蚂蚁碰触则该蚂蚁就会得到更多关于食物位置的信息,从而使他所走的路径更加接近最佳路径.这个算法通过迭代实现,应该能完成你所要求的没有明确规则的相似性问题.