关于无意识体的意识化操作-PROLOG实现

3 提交 / 0个新回复
最新回复
关于无意识体的意识化操作-PROLOG实现

我们假设一个对像A,它有一组的状态数据集S,这些数据集的变化会引起对像B的状态集C的变化,而C的变化也会使A的状态集发生变化。 
但是其中A开始时,A间的状态数据没有必然联系; 
而B对像状态数据间有实质上的联系(是一个系统)。 

那么,如何实现A对像的智能化呢,即让A对像也变成一个系统,这也正是我们要解决的问题。 

首先,因为A开始时,A中数据间没有必然的联系,所以,我们要做的是,让他们有必然的联系。当然不是通过我们给它写进去的联系,而是让它自己决定它们之间有什么联系。 

那么,怎么决定?天知道啊,没错,开始时,正是只有天知道,GOD KNOWN ONLY 

让上帝来决定。先别急,我们先把A中的数据集分成两类,一类是A对像,自身产生的实体化数据X,一类是自身产生的虚拟化的数据Y。 
然后,我们引入一个期望向量产生器1,它会对A对像数据X有规则地产生X'的期望数据。然后向量化M,设这个向量为M=X'-X。 

同样的,我们引入另一个向量产生器2,对一个Y的数据也进行期望向量化,并得到N的向量,N=Y'-Y。但是这个向量进行期望化时,是随机定值的Y'(上帝出现的地方),这点是前面的那个产生器不同的地方。 

好了,有了以上步骤,我们用PROLOG来处理这个过程。 

main:-makediredx,havex(X), 
relation(X,Y),finsh(Y),readchange, 
makediredX,makediredY,havex(X),finsh(X),readchange, 
not(havex(X)),havey(Y),not(relation(X,Y)), 
asserta(relation(X,Y)),main. 
有的子句就不写了。 
状态空间也不写。 
makediredx 就是第一个期望产生器 
finsh(X):-havex(X),relation(X,Y),finsh(Y). 
finsh(X):-havey(X),relation(X). 
用来完成向量M和N的关系还有N期望的完成。 
relation(X):-sav(S),Y is X+S,retract(sav(s)),asserta(sav(Y)). 其中sav(X)就是状态空间Y,还有一个是X的 
makedirey是第二个期望产生器,注意他是随机。 
这里代码也不写^ ^ 

readchange代码也不写,它是B对像 对 A对像中的X数据。 
havex(X) havey(Y),分别是M处的有期望X,还有N处有期望Y。 

   好了具体MAIN的过程是这样的, 

      第一步是对M部分进行期望化的操作,查找M处向量X,然后找到与X有关的Y向量(relation(X,Y))。(晕了吧) 
然后用finish(Y),既完成期望向量的完成,然后,外界数据开始作用(readchange)他会使X数据变化了 

第二步重新用makediredx 更新一下期望M的向量集,然后,再用makediredy对N处进行随机向量化,然后,得到新的havex(X)并完成 finish(X),然后是readchange,外界B行为影响A,完成更新 

最后一步,用not(have(X)),查看期望向量X是否还存在,再看是否存在havey(Y),not(relation(X,Y))看是否存在关系X,Y,前面都为真那就 asserta(relation(X,Y)),然后递归MAIN 

第一步 体现对规则的运用 
第二步 体现了上帝之力(随机机制)对外界对像B的影响。 
第三步 那些可以实现(期望X)记录将被纪录下来。 

总起来说是,知识的运用;无意识化的虚拟行为(注意,这里也包括外界强加的行为);无意化行为的知识化。 

种种迹象表明,无意识行为是很重要的。
 
作者 倪政齐