Algorithm 版 (精华区)

发信人: AA (积极的人生、美好的人生), 信区: Algorithm
标  题: 智能软件的编写(zz)
发信站: 哈工大紫丁香 (2002年05月23日20:13:55 星期四), 站内信件


                             模糊记忆、回忆
                                       ——机理讨论、软件编写、源代码、使用说明
   文章摘要:本文主要包括二部分,第一部分先讨论了是记忆的基本功能单位—
—皮质垂直柱,然后通过对模糊记忆、回忆的讨论说明了模糊记忆、回忆的一些
特点。第二部分叙述了我是如何模拟人脑来编写具有最简单的模糊记忆、回忆功
能的人工智能软件的,给出了我用VB6编写的人工智能软件的源代码,并具体论述
了如何使用这一软件及为什么说它具有简单的模糊记忆、回忆的功能,这一软件
解决了如何用PC来模拟人脑的并行计算功能。
   关键词:模糊记忆、回忆     记忆柱   皮质垂直柱   人工智能软件    展示框
   本文大概包括二部分:1、模糊记忆、回忆机理的简单讨论。2、模拟人的模糊
记忆、回忆编写具有模糊记忆、回忆功能的小软件,包括源代码、说明。
   一、模糊记忆、回忆机理的简单讨论。
    1、要讨论模糊记忆、回忆的机理首先应讨论记忆的基本功能单位。
   本文把各种记忆的基本组成所分别对应兴奋的神经结构称为记忆的基本功能单
位,记忆的基本组成是指将任何记忆分割到一定程度后所形成的各种不同的最小
记忆单元,这些记忆单元不需进一步分割只需数量上的增减就能组成任何形式的
记忆。
   那么记忆的基本功能单位对应的是大脑的什么结构呢?以视觉中枢为例,根据
定义我们能轻易的得出在视中枢,皮质垂直柱是记忆的基本功能单位,(可参看
人民卫生出版社出版的张培林主编的神经解剖学这篇文章的第二十二章的第四节
——枕叶的功能与临床)比如:人所能观察到的特定空间的最小线段长度和最小
角度都分别与特定的皮质垂直柱相对应,而图形由是具有特定角度的线段组成的
。在其它皮质中枢虽无确实证据证明记忆的基本功能单位是皮质垂直柱,但可能
性是非常大的。
   那么皮质垂直柱有那些特点哪?皮质垂直柱是特殊的神经网络,人脑皮质共由
约2000000个皮质垂直柱组成,每个皮质垂直柱平均含有5000个神经细胞,其最小
直径通常是200μm到300μm,它既可以是柱状结构也可以是其它形状的结构,但
以柱状为主,每个皮质垂直柱都含有一定数目的传入、传出轴突,它即能被兴奋
又能记忆兴奋、遗忘兴奋还能传出兴奋,它的功能建立在组成它的神经元的功能
之上。
    2、 下面通过一模糊记忆、回忆的例子来说明模糊记忆、回忆的特点及皮质
垂直柱在其中扮演的角色。
   例如,如果一个人知道电脑并能通过电脑的物体形象直接想起主板、CPU等,
而他不知道电脑也叫计算机,那么他就不能通过听到“计算机”这一名词的发音
直接回忆起主板、CPU等,而当他听说电脑也叫计算机后,他就能通过听到“计算
机”这一名词的发音直接想起电脑这一物体的大概形象,而又能通过电脑的大概
形象直接回忆起主板、CPU等。考察这一过程,“计算机”这一名词的发音刺激对
应听觉中枢的一群皮质垂直柱,电脑的形象对应一群皮质垂直柱,主板、CPU的形
象又分别对应一群皮质垂直柱,当听觉中枢对应于“计算机”这一名词的发音的
皮质垂直柱群与对应电脑的形象的皮质垂直柱群同时兴奋时,它们之间便建立了
相互兴奋的记忆联系,当“计算机”这一发音再刺激这人时,首先兴奋与“计算
机”这一发音相对应的皮质垂直柱群,然后通过记忆的联系,兴奋与电脑形象相
对应的皮质垂直柱群,从而产生回忆,同时与电脑形象相对应的皮质垂直柱群又
能通过记忆的兴奋兴奋与CPU、主板相对应的皮质垂直柱群。
    将这一过程抽象出来即:有A、B、C、D四群皮质垂直柱,A与B、C、D之间无
相互兴奋的记忆联系,而B、C、D之间能相互兴奋,当A与B同时兴奋时,A、B之间
便建立了相互兴奋的记忆联系,当A再单独兴奋时便能通过记忆兴奋B并能通过B兴
奋C、D。在A第一次兴奋时组成A的皮质垂直柱之间便建立了相互兴奋的记忆联系
,它是人能从物体的一个特点回忆到物体的所有特点的基础。
    现在有一个问题,即A与B建立记忆联系后A是首先兴奋大部分B还是首先兴奋
一部分B,如果A能直接兴奋大部分B,C、D也应能直接兴奋大部分B,与B有记忆联
系的其它皮质垂直柱群也应能直接兴奋大部分B,那么组成B的皮质垂直柱所需要
的传入轴突便太庞大了,这是不可能的,唯一的可能便是A、D、C和其它能直接兴
奋B的皮质垂直柱群都只能直接兴奋一部分B。那么当A、B同时兴奋时,组成A的皮
质垂直柱之间便建立了广泛的兴奋联系,B亦然,同时A、B传出的冲动易化或兴奋
了大量的其它皮质垂直柱,A就以这些皮质垂直柱为中介兴奋或直接兴奋一部分B
,这部分B又能通过记忆的兴奋通路使大部分B兴奋。要使A具有以上推导出来的兴
奋特点就需要组成它的皮质垂直柱的传出轴突在A的局部和大脑的其它部位有一个
适当的分布密度。
    什么是模糊兴奋,具体到本文便是与A的兴奋相似的兴奋与A的兴奋等效,即
与A的兴奋相似的兴奋能兴奋A所能兴奋的皮质垂直柱群,因而A、B、C、D之间的
兴奋是模糊兴奋。如果皮质垂直柱群A1与A的兴奋相似,则A1与A相似也就是说A1
与A有大量共同的皮质垂直柱,那么A1兴奋后便能通过与A共有的皮质垂直柱而兴
奋部分B,被兴奋的这部分B便可能通过记忆的兴奋通路使大部分B兴奋……。
    当然以上的讨论都是在理想状态下的简单讨论,实际上一次有成效的兴奋必
须包括海马中枢和奖惩中枢的兴奋。
   二、具有模糊记忆、回忆功能的软件的编写
   我是用VB6来编写具有模糊记忆、回忆功能的软件的,使用的文件为随机文件
。它模拟了人脑的以下特点。
    1、用记忆柱来模拟皮质垂直柱,记忆柱是一段可被复制的文件。每个记忆柱
由50个recordnumber(用RN来表示),每个RN是一条记录,第16到第45条记录共
同反应了15个不同的传入联系对记忆柱的兴奋及记忆柱对兴奋的记忆、遗忘的情
况,31到45条记录记录的是时间它们分别记录了15个传入联系最后一次兴奋的时
间,16到30条分别记录的是15个传入联系最后一次兴奋时的兴奋值,1到15条分别
记录的是记忆柱的15个传出联系所对应的记忆柱,第47条记录的是记忆柱“兴奋
”的时间,46条记录的是记忆柱在一短时间内的兴奋状态。
    2、我编写的记忆柱只有兴奋性的,记忆柱之间的抑制是通过专门的程序来完
成的,它模拟了人脑的以下功能,“所有的长的皮层——皮层(和已知的皮层—
皮层下及大多数皮层下—皮层)联系是兴奋性的。抑制性的联系一般是局部的。
”“抑制在皮层各区内可能比较定型化,可以扩展到100000个邻近的基本柱中”
(摘自神经科学百科全书的神经中枢的组件式筑构学这一篇文章)。
    3、如何模拟大脑的兴奋方式(即如何用PC模拟人脑的并行计算方式)
为了用PC机模拟人脑的兴奋特点我引入了展示框的概念,展示框是由RN组成的,
它的作用是记录某一刻(本文一刻与一个记忆柱被兴奋后然后传出兴奋所用的时间
相对应,当然如果必要且计算机的速度足够快我们也可将一个记忆柱兴奋后再传
出兴奋所需的时间平分成十份,使一刻所需的时间与十份中的一份相对应)同时
被“兴奋”的记忆柱,以使PC逐一读写完这一时刻被兴奋的记忆柱后再逐一读写
下一时刻被兴奋的记忆柱,通过这种转换就可使一次只能进行一次读写的PC机也
能模拟人脑的兴奋特点。
    4、为了编写的简便我没有完全模拟人脑的特点(部分模拟了奖惩中枢的功能
,而对海马中枢的功能没有模拟),这一软件的模糊记忆、回忆的特点是:两群
记忆柱E、G同时兴奋后它们之间的一部分便通过直接或间接的联系建立了兴奋联
系而且这种联系即能被记忆、回忆又能不断的被遗忘,这种联系是模糊联系而非
精确联系,因为与E相似的记忆柱群的兴奋带来的效果与E的兴奋效果相同或相似

    5、下面是这一软件的源代码
Public m12 As Integer

Private Sub Command1_Click()
1
On Error Resume Next
 Open "d:\智能软件\1.txt" For Random As 1 Len = 10
 k = 0
 t12 = 1
 Rem 读取输入的数
  n = Text1.Text
If n >= 0 Then
 For r = 1 To 3
 t = Mid$(n, r, 1)
 f = (r - 1) * 10 + t
 For E = 1 To 20
 k1 = 20 * f + E
 Get 1, k1, q1
 k = k + 1
 Put 1, 230000 + k, q1 '写入展示框
 Put 1, q1, 18 * t12
 Put 1, q1 + 1, Date + Time
 Next E
 Next r
 End If
 Rem 对单选框进行选择
Select Case m12
Case 1
 we = InputBox("请写入要联系的数字", "联系")
 Text1.Text = we
  n = Text1.Text
 For r = 1 To 3
 t = Mid$(n, r, 1)
 f = (r - 1) * 10 + t
 For E = 1 To 20
 k1 = 20 * f + E
 Get 1, k1, q
 k = k + 1
 Put 1, 230000 + k, q
 Put 1, q, 18 * t12
 Put 1, q + 1, Date + Time
 Next E
 Next r
 Case 2
 MsgBox "准备好了吗?", vbYesNo, "记忆"
  n = Text2.Text
 For r = 1 To 3
 t = Mid$(n, r, 1)
 f = (r - 1) * 10 + t
 For h1 = 1 To 2
 For E = 1 To 20
 k1 = 20 * f + E
 Get 1, k1 + 211800 + 600 * (h1 - 1), q
 k = k + 1
 Put 1, 230000 + k, q
 Put 1, q, 18 * t12
 Put 1, q + 1, Date + Time
 Next E
 Next h1
 Next r
Case 3
 End Select
 Rem 从展示框中读取,并兴奋
 Rem 获得31——4230柱
 Rem 600*50=30000,3000*50=150000,600*50=30000,30*20=600
 Rem 600+30000=30600,30600+150000=180600,
 Rem 180600+30000=210600,210600+60=210660,211800
2
 For o = 2 To 30
 If m12 = 2 And o > 2 Then
 n = Text2.Text
 For r = 1 To 3
 t = Mid$(n, r, 1)
 f = (r - 1) * 10 + t
 For h1 = 1 To 2
 For E = 1 To 20
 k1 = 20 * f + E
 Get 1, k1 + 211800 + (h1 - 1) * 600, q
 k = k + 1
 Put 1, 210000 + o * 10000 + k, q
 Put 1, q, 18 * t12
 Put 1, q + 1, Date + Time
 Next E
 Next h1
 Next r
 End If
 Put 1, 300000 + 2 * (o - 1), k
 Put 1, 300000 + 2 * (o - 1) - 1, Date + Time
 x = k
 Print k
 k = 0
For g = 1 To x
 Get 1, 210000 + o * 10000 + g, z
 Get 1, z, l12
 If l12 - x / 200 >= 15 Then
 Get 1, z - 46 + 49, g5
 If g5 > 45 Then
 Get 1, g5 - 1, w
 Get 1, g5, w1
 t8 = Date + Time - w
 If t8 * 86400 < 2 Then
 g7 = w1 + 1
 Else: g7 = 1
 End If
 Put 1, g5 - 1, Date + Time
 Put 1, g5, g7
 End If
 For a = 1 To 15
 Get 1, z - 46 + a, t1 '获得传出
 Get 1, t1 + 15, g2 '获得对应的时间
 Get 1, t1, g3 '获得对应的值
 '对传出的书写12
 t = Date + Time - g2
 '兴奋后记忆值的重写
 If t * 86400 <= 3600 Then
 g4 = 1.5 * g3 / 5 + 3.5 * g3 / 5 * (1 - t / 3600)
 Else: g4 = 1.5 * g3 / 5 - 0.1 * g3 * t / 360000
 End If
 t2 = ((t1 - 600) \ 50) * 50 + 46 + 600
 Get 1, t2 + 1, m1
 k2 = Date + Time - m1
 Get 1, t2, m2
 If k2 * 86400 <= 1 Then
 m3 = m2 + g4
 Else: m3 = g4
 End If
 Put 1, t1 + 15, Date + Time
 Put 1, t2 + 1, Date + Time
 Rem 兴奋后重写记忆,
 Rem 柱没兴奋时重写的记忆
 Put 1, t2, m3
 If m3 >= 15 Then
 Get 1, t2 + 2, v2
 If Date + Time - v2 > 2 / 86400 Then
  k = k + 1
 Put 1, 210000 + (o + 1) * 10000 + k, t2
 End If
 Put 1, t2 + 2, Date + Time
 Rem 柱兴奋后重写记忆
 Put 1, t1, g4 + 2.5
Else: Put 1, t1, g4 + 1 / 2
Rem 按地址传递数字,并在展示框中写入
 End If
 Next a
 Else: Put 1, 210000 + o * 10000 + g, 0
 End If
 Next g
 Rem 读取、比较、并输出到文本框
3
i = 0
 For b1 = 1 To 3
 b7 = 0
 For b = 1 To 10
 Get 1, 210600 + 2 * (10 * (b1 - 1) + b) - 1, b4
 If Date + Time - b4 < 2 / 86400 Then
 Get 1, 210600 + 2 * (10 * (b1 - 1) + b), b3
 End If
 If b3 - b7 > 0 Then
 b7 = b3
 e1 = b
End If
 b3 = 0
 Next b
 Select Case b1
 Case 1
 c71 = e1 - 1
 Case 2
 b71 = e1 - 1
 Case 3
 a71 = e1 - 1
 End Select
 Next b1
 i = (c71) & (b71) & (a71)
 Print i
 Text3.Text = i
 myexit = MsgBox("正确吗?", vbYesNo, "请确定")
 If myexit = vbYes Then
 Close 1
 Exit Sub
 End If
 Next o
 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的可能性是非
常大的。
三、以上只是对人脑的某一项功能的简单模拟,要编写出具有复杂的模糊记忆、
回忆功能的软件,还必须模拟海马中枢、奖惩中枢的功能,同时还需弄清皮质垂
直柱兴奋后的记忆、遗忘曲线与其轴突的分布之间的关系,(我这里有一篇文章
是“人工智能软件编写策略”,它讨论的是如何编写具有复杂的模糊记忆、回忆
功能的人工智能软件。)。
  
--
                人世间的事谁也无法掌握
                  该执著的  永不怨悔
                  改舍去的  不在牵挂
                  改珍惜的  好好把握

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: NLPCenter.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:208.769毫秒