⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 100.txt

📁 This complete matlab for neural network
💻 TXT
📖 第 1 页 / 共 2 页
字号:
发信人: ccipt (北方的狼), 信区: DataMining
标  题: 智能软件的编写(转贴)
发信站: 南京大学小百合站 (Mon Sep 10 13:46:38 2001)

发信人: chenghw (chenghw), 信区: AI

标  题: 智能软件的编写

发信站: 饮水思源站 (Sun Jul 22 10:03:41 2001) , 转信



                             模糊记忆、回忆

                                       ——机理讨论、软件编写、源代码、使用说明

   文章摘要:本文主要包括二部分,第一部分先讨论了是记忆的基本功能单位—

—皮质垂直柱,然后通过对模糊记忆、回忆的讨论说明了模糊记忆、回忆的一些

特点。第二部分叙述了我是如何模拟人脑来编写具有最简单的模糊记忆、回忆功

能的人工智能软件的,给出了我用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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -