📄 100.txt
字号:
Close 1
End Sub
Private Sub Command2_Click()
Rem 创建文件夹
Set fil = CreateObject("scripting.filesystemobject")
On Error Resume Next
fil.createfolder ("d:\智能软件")
Open "d:\智能软件\1.txt" For Random As 1 Len = 10
Rem 获得1——30柱30*20=600,211800
For g = 1 To 2
For v5 = 1 To 2
For n = 1 To 30
For t = 1 To 20
k = 20 * (n - 1) + t + (g - 1) * (211800 + 600 * (v5 - 1))
m = 600 + (20 * (n - 1) + t - 1) * 50 + (g - 1) * (120000 + v5 * 30000) + 46
Put 1, k, m
Next t
Next n
Next v5
Next g
Rem 获得31——4230柱
Rem 600*50=30000,3000*50=150000,600*50=30000,30*2=60
Rem 600+30000=30600,30600+150000=180600,
Rem 180600+30000=210600,210600+60=210660,211800
t12 = 1
For n = 1 To 4200
If n <= 600 Then
For t = 1 To 15
m1 = 600 + (n - 1) * 50 + t
m2 = 600 + (n - 1) * 50 + t + 15 '记忆值
m3 = 600 + (n - 1) * 50 + t + 30 '记忆时间
Put 1, m2, t12
Put 1, m3, Date + Time
Rem 对传出的写入
k1 = Rnd(n) * 2400
g1 = Fix(k1) * 50
k2 = Rnd(t) * 15
g2 = Fix(k2)
Put 1, m1, g1 + g2 + 15 + 600 + 1 + 30000
Next t
m4 = 600 + (n - 1) * 50 + 46 + 30000
Put 1, m4 + 2, Date + Time
Put 1, m4, t12
Put 1, m4 + 1, Date + Time
a = m4 + 49 - 46
Put 1, a, t12
Get 1, a, e12
End If
For t = 1 To 15
m1 = 600 + (n - 1) * 50 + t '传出
m2 = 600 + (n - 1) * 50 + t + 15 '记忆值
m3 = 600 + (n - 1) * 50 + t + 30 '记忆时间
Put 1, m2, t12
Put 1, m3, Date + Time
Rem 对传出的写入
k1 = Rnd(n) * 4200
g1 = Fix(k1) * 50
k2 = Rnd(t) * 15
g2 = Fix(k2)
Put 1, m1, g1 + g2 + 15 + 600 + 1
Next t
m4 = 600 + (n - 1) * 50 + 46
Put 1, m4 + 2, Date + Time
Put 1, m4, t12
Put 1, m4 + 1, Date + Time
If m4 <= 150600 Then
a = m4 + 49 - 46
Put 1, a, t12
Get 1, a, e12
Else:
If 150600 < m4 And m4 <= 180600 Then
x12 = 2
End If
If m4 > 180600 Then
x12 = 3
End If
Select Case x12
Case 2
l = ((m4 - 150600 - 46) / 50) \ 20 + 1
Case 3
l = ((m4 - 180600 - 46) / 50) \ 20 + 1
End Select
Put 1, m4 - 46 + 49, 210600 + 2 * l
End If
Next n
Rem 获得4231——4260柱30*20=600
For n = 1 To 30
Put 1, 210600 + 2 * n, t12 '值
Put 1, 210600 + 2 * n - 1, t12 '时间
Next n
Close 1
End Sub
Private Sub Command3_Click()
Open "d:\智能软件\1.txt" For Random As 1 Len = 10
For u = 1 To 30
Get 1, 300000 + 2 * u - 1, u1
If Date + Time - u1 <= 30 / 86400 Then
Get 1, 300000 + 2 * u, u2
For o1 = 1 To u2
Get 1, 220000 + u * 10000 + o1, c1
If c1 > 0 Then
c2 = c1 - 46
For o2 = 1 To 15
Get 1, c2 + o2, c3
Get 1, c3, c4
c5 = c4 * 1 / 4
Put 1, c3, c5
Next o2
End If
Next o1
Else: MsgBox "完成框", vbOKOnly, "完成"
Close 1
Exit Sub
End If
Next u
End Sub
Private Sub Command4_Click()
Open "d:\智能软件\1.txt" For Random As 1 Len = 10
For u = 1 To 30
Get 1, 300000 + 2 * u - 1, u1
If Date + Time - u1 <= 30 / 86400 Then
Get 1, 300000 + 2 * u, u2
For o1 = 1 To u2
Get 1, 220000 + u * 10000 + o1, c1
If c1 > 150600 And c1 < 210600 Then
c2 = c1 - 46
For o2 = 1 To 15
Get 1, c2 + o2, c3
Get 1, c3, c4
c5 = c4 * 1 / 4
Put 1, c3, c5
Next o2
End If
Next o1
Else: MsgBox "完成框", vbOKOnly, "完成"
Close 1
Exit Sub
End If
Next u
End Sub
Private Sub Command5_Click()
Open "d:\智能软件\1.txt" For Random As 1 Len = 10
For u = 1 To 30
Get 1, 300000 + 2 * u - 1, u1
If Date + Time - u1 <= 30 / 86400 Then
Get 1, 300000 + 2 * u, u2
For o1 = 1 To u2
Get 1, 220000 + u * 10000 + o1, c1
If c1 > 150600 And c1 < 210600 Then
c2 = c1 - 46
For o2 = 1 To 15
Get 1, c2 + o2, c3
Get 1, c3, c4
c5 = c4 * 2
Put 1, c3, c5
Next o2
End If
Next o1
Else: MsgBox "完成框", vbOKOnly, "完成"
Close 1
Exit Sub
End If
Next u
End Sub
Private Sub Form_Load()
Text1.Text = -1
Text2.Text = -1
End Sub
Private Sub Option1_Click()
m12 = 1
End Sub
Private Sub Option2_Click()
m12 = 2
End Sub
Private Sub Option3_Click()
m12 = 3
End Sub
6、这一程序总体分为两部分
[1]command2部分,通过点击command2能建立软件的文件部分。建立的随机
文件共有600+2400+1200=4200个记忆柱,每个记忆柱含有50个RN,其中前600和后
1200个记忆柱能被传入组件对应兴奋,后1200个记忆柱还能对应兴奋传出组件,
记忆柱对记忆柱的兴奋是随机兴奋,中间的2400个记忆柱是中介记忆柱;30+60=
90个传入组件,每个传入组件含有20个RN,按顺序每个RN对应兴奋一个记忆柱;3
0个传出组件,每个传出组件含有2个RN;并给展示框预留了“空间”。
[2]command1及其它控件部分,点击command1就开始对已建立的随机文件进
行一系列读写操作从而完成一次记忆或回忆过程。
7、下面以记忆过程为例来说明这一软件是如何运行的。(前提是软件的文件
部分已经建立)
首先应在文本框1和2中分别填入三个小于10的正整数,所填三个数的开始及
中间应无间隔,这两个文本框中所填数字便是要建立记忆联系的内容(那几个数
字便是“传入刺激”),并单击option2,然后单击command1,这样就开始了一次
记忆过程。
标号1的那段程序的作用是将文本框1和2中的数字对应转换成“兴奋”,从而使第
31到600和第3031到4230两群记忆柱中对应的记忆柱群(分别用A和B表示,其中A
包含60个记忆柱,B包含120个记忆柱)兴奋,并把将要兴奋的记忆柱记入展示框
中。
标号2的那段程序的作用是顺序读取展示框中的数据,每读一个数据就对应兴
奋一个记忆柱从而记忆兴奋、传出兴奋,并把将被这些传出兴奋兴奋的记忆柱顺
序记录入下一展示框中,它还一个作用就是把准备输入到文本框3中的信息对应传
递给传出组件。
标号3的那段程序的作用是读取传出组件中的信息经过比较后在文本3中输出结果。
当点击command1后不久就会出现一个记忆框提示你是否准备好了,任选一个
按钮,不久便会在程序界面上出现一个数据(我们用S表示),它表示的是这次程
序运行后新记录入展示框中的数据的个数,随后会出现一个确认框让你确认文本
框3与文本框2中的数据是否相同(点击正确按钮程序便中止,点击错误按钮程序
便继续),这时应点击错误按钮(这是因为A、B之间还没有建立新的兴奋联系)
,又出现确认框时则仍点击错误按钮,当再次出现确认框时,由于A与B通过中介
记忆柱已开始建立记忆联系因而可以点击正确按钮,这样文本框1与文本框2中的
数据便进行了一次记忆联系。不断重复以上记忆过程直到S的大小与200相近时,
可点击option3,再点击command1后便进行了一次回忆,这时如果文本框2与文本
框3中的数据不同,则可再进行一次回忆后点击command4(其作用是不影响对中介
记忆柱的兴奋,而仅抑制中介记忆柱对A、B的兴奋,这样A、B能兴奋的中介记忆
柱增加而中介记忆柱对A、B的兴奋能力却增加有限,有利于记忆联系的建立),
然后再点击command1重复几次记忆……,如果回忆时文本框2与文本框3中的数据
总不相等可在一次记忆后连续点击command3(点击command3的作用是使在这次记
忆过程中所有被兴奋的记忆柱传出兴奋的能力下降),然后再重新进行记忆、回
忆活动,直到文本框2与文本框3中的数据相同便可点击command5(其作用是使兴
奋联系强化)。还可再重复几次记忆过程以强化记忆,不过这种记忆过程不可进
行的太多,这是因为在点击command2建立文件时便建立了许多“先天的兴奋联系
”,只是这种联系太小不能发挥有效的作用而已,但兴奋联系次数太多后,由于
兴奋积累,那些“先天的兴奋联系”便会逐渐发挥作用,由A兴奋的中介记忆柱对
其它非B群的且与传出组件有联系的记忆柱的兴奋能力便大大的增加而使它们能被
其兴奋,这样便干扰了回忆而可出现错误的输出结果。
当我们已使两个数字建立了记忆联系后如果又想使别外两个数字建立记忆联
系,由于记忆干扰(因为本软件建立的记忆柱的数量有限,经过多次记忆后许多
中介记忆柱与A或B的联系已比较强烈),这两个数字可能无法建立正常的记忆联
系,因而应设法去除这种干扰,其具体方法见后文。
8、具体说明软件的编写和使用
[1]打开VB6新建一个工程,把我提供的源代码通过复制、粘贴使其成为新
建工程的代码。
[2]建立text1(输入框1)、text2(输入框2)、text3(输入框3)、optio
n1(联系)、option2(记忆)、option3(回忆)、command1(开始)、comman
d2(建立)、command3(错误1)、command4(错误2)、command5(正确),括号
内的文字是相应label的caption属性。
[3]运行工程,单击command2以建立文件。
[4]单击option2,在text1中输入123,在text2中输入789,然后单击comm
and1,出现记忆框任选一个按钮,出现确定框单击否,又出现确定框单击否,再
出现确定框单击是,然后再单击command1开始新的记忆过程(记住每次记忆,确
定框至少应出现3次),直到程序界面上的S的大小在250附近时便可停止记忆过程
,单击option3再单击command1开始回忆过程,如果text2与text3中的数字不相同
,则单击option2再开始一次记忆过程,然后单击一次command4后,再开始新的记
忆过程,当S的大小再在250附近时可再进行回忆过程,这时的回忆结果应为正确
的,如正确可单击command5强化记忆,如错误(根据我的经验这种可能性比较小
)可进行一次记忆过程后单击command3,然后再记忆再单击command3,这样进行
几次后可再进行新的一轮记忆过程,当回忆结果为正确的之后我们可在text2中输
入一个与123相似的数字比如133,再开始回忆过程,这时可看到回忆结果仍为78
9,我们也可输入一个完全不同的数字比如567,这时会看到无法回忆起789。
[5]如果我们又想使345与678建立记忆联系则应先去除记忆干扰,方法是使
345与678进行一次记忆过程然后单击command3,再记忆再单击command3,然后就
可按123与789建立记忆联系的方法来使345与678建立记忆联系。当345与678建立
记忆联系后当我们再在文本框1中输入123时在文本框3中仍出现789的可能性是非
常大的。
三、以上只是对人脑的某一项功能的简单模拟,要编写出具有复杂的模糊记忆、
回忆功能的软件,还必须模拟海马中枢、奖惩中枢的功能,同时还需弄清皮质垂
直柱兴奋后的记忆、遗忘曲线与其轴突的分布之间的关系,(我这里有一篇文章
是“人工智能软件编写策略”,它讨论的是如何编写具有复杂的模糊记忆、回忆
功能的人工智能软件。)。
e--mail chenghw@2911.net
--
※ 来源:.饮水思源站WWW bbs.sjtu.edu.cn. [FROM: 61.136.196.1]
--
FAMILY=(F)ATHER (A)ND (M)OTHER, (I) (L)OVE (Y)OU!
※ 来源:.南京大学小百合站 http://bbs.nju.edu.cn [FROM: 202.100.5.132]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -