中国神经科学论坛

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

楼主: ruiaijun

[原创]用计算机如何模拟反射?(设计思路)

[复制链接]
 楼主| ruiaijun 发表于 2005-4-2 01:06:00 | 显示全部楼层
  4、用模拟反射系统自编程序的讨论(模拟自主学习过程)。
  B、自主学习过程的模拟。一个学习过程不是由一个系统独立完成的事情。它是学习者系统与外界环境系统相互作用的结果。因此无论何时,都不能把学习看成是学习系统的独立行为。
  模拟自主学习过程需要学习者系统具有学习能力和环境提供学习条件。
  首先看学习者系统需要那些学习能力。它需要有发出偶然活动的能力,不能发出这些活动,就不能被成功选择出正确的活动来。他要有一个构成学习环的反馈机制,包括能够观察效果,能够把消息反馈回指挥中心,能够由指挥中心再次发出活动命令,再执行活动指示,这样一套设置。
  其次看学习环境。要有活动的操作对象,要有成功或失败的信息。别看总结起来只有和两句话,在编程中实施起来,就有很多很多事情要做了。
 楼主| ruiaijun 发表于 2005-5-12 04:13:00 | 显示全部楼层
  C、模拟反射系统对程序的随机组编。
  由于我们的程序设计已经从简单的模拟反射进入其它领域了,我们就不再称设计的程序为模拟反射程序,而称之为模拟反射系统了。
  我们现在的目的是运用自主学习过程的学习模式,让模拟反射系统能够自编出一些程序来。
  因此就要让模拟反射系统具有自主学习过程要求的学习者的条件。a、发出偶然活动的能力。b、构成学习环的反馈机制。
  为了满足地一点,在模拟反射系统中要有一个随机组编小程序的系统程序。这里我们还是把模拟反射系统的小活动能力,对应为系统内预先编制好的小程序。而把自编程序对应为连接起那些小程序。顺理成章,随机发出活动就是随机把那些小程序组编程大程序,然后拿去执行。
  再模拟工具性条件作用时,我们就已经遇到偶然活动的问题,不过那时的偶然活动不需要组编,只是从模拟反射系统预先准备的小程序中随便挑一个,这种情况下的“随便跳”完全可以用“顺序挑”代替,不会有哪个小程序被漏掉,所以不必专门编制随机挑程序。现在不同了,随机组编遇到多种随机选择,首先是从那些小程序中随机选择出一些(它包括两种随机选择),其次是把那些选择出的小程序按随机的方式排列起来。如果再用顺序代替随机,就会有一些组合漏掉,也许这些组合就是最后被选中的组合,漏掉它,学习就不会有结果了。
  因此在系统程序中一定要编制随机挑选程序。这个程序的随机可以依据操作系统中的随机函数编制。要注意,随即程序要处理的有三个随机过程。第一是随机确定小程序数目,第二是随机从全部小程序中挑出一些,第三是随机把挑出的小程序排序。最后便组编出大程序了。

[此帖子已被 ruiaijun 在 2005-5-31 17:17:12 编辑过]

 楼主| ruiaijun 发表于 2005-5-31 17:45:00 | 显示全部楼层
  D、模拟反射系统组编程序与计算机程序的不同。
  在计算机程序中,有一些控制程序流向的语句,比如转移语句、条件语句、循环语句等。这使得计算机程序很复杂,编写计算机程序也因此变得十分困难,没有足够的智力不能完成。
  我们的模拟反射系统目前仍然没有智力,因此它不能自编出象计算机程序那样复杂的程序。它编程,就是把小程序简单的连接。它是模拟动物对活动的学习的,例如模拟迷笼中的猫。动物活动的“程序”运行到一定时候也需要转向,比如用这样一些动作不能打开笼门,就要换用那样一些动作。但是这时控制程序流向的工作不是由小程序组成的大程序完成,而是把小程序组成的大程序停下来,由大脑来控制去换另一些小程序组合。在我们的模拟中,这相当于把控制程序流向的工作掌握在模拟反射系统手中,被编程序则无需具有控制流向功能。
  由于没有了控制流向的任务,自编程序的工作就非常简单了,它只是一种小程序的连接,不需要智力完全可以完成。
  动物的大脑或我们的模拟反射系统凭什么控制大程序的流向呢?凭的是活动的效果,效果好界不该编程序流向,效果不好就停止原来程序,改换新编的程序。因此这种自编程序的过程必须在一个学习环境中进行,由环境提供活动效果的信息,编程工作才能完成。
 楼主| ruiaijun 发表于 2005-6-16 10:32:00 | 显示全部楼层
引用
原文由 汪之旻 发表于 2005-6-15 20:04:29 :

该活动不是随机的,比如说没有一只猫会咬自己的舌头

说的表面上看是有些道理,可是你是否敢肯定猫从来没咬过自己的舌头,而不是咬过以后发现那样不仅出不了笼子而且很痛,以后便不再咬了呢?人类可就有这种咬过舌头以后不在咬的情况。

 


 楼主| ruiaijun 发表于 2005-6-2 10:52:00 | 显示全部楼层
  E、模拟反射系统中的反馈机制和编程过程。
  为了形成模拟反射系统的反馈机制,模拟反射系统需要增加一个控制中心,这个控制中心相当于C语言中的主函数(实际作用比住函数还复杂)。它的工作有以下几个方面:第一,激发随机选择程序对小程序进行选择和组成大程序。第二、把组成的大程序调出执行。第三、从信号输入部分取得程序执行效果的报告。第四、再次激发随机选择程序组成新的大程序。然后它维持学习链反馈循环的工作,直到接收到效果满意的报告为止,终止一次学习活动。
  一次学习结束后,有些反射表程序把编制的程序和对应的生物钟信号记录到反射表中。在以后的学习中如果同样的程序再次被编出并成功,便使新编程序加以巩固,如果同样的程序不被巩固,在一定时间后便被清除。这些工作由强化退化程序完成(在复杂系统中,它们便合为一个程序)。多次(有你设定次数)巩固后,新组编的程序便被固定在反射表中。
  在新程序编制号以后,很多反射信息都可以调用该程序。例如程序操作对象的出现,例如程序中某个连续环节的出现。例如程序被随机选择程序激发等。总之,模拟反射系统的程序调用也比计算机程序灵活的多。
 楼主| ruiaijun 发表于 2005-6-5 15:30:00 | 显示全部楼层
  5、模拟反射系统自编程序的技术安排。
         A、完整的技术安排。
  对于模拟反射系统的程序设计要求我们再上一段中已经介绍了。
  但是模拟反射系统要有相应的学习环境,才能够在学习中自编程序。完整的实验要用机器人进行,那样它才能设置一些动作程序,进行一些活动。这个机器人与现在的机器人并不相同,它不需要你为它编制一些大活动程序,你只要编制一些肢体活动细节程序就可以了。大的活动程序要由机器人再学习中自编。
  肢体的细节活动程序要考虑周全,以便能够完成你实验预定的任务。
  机器人要有一些感觉外设,能够把活动的结果反馈回机器人系统中,构成学习链。学习环境要为学习任务设置相应的学习对象。并且以明显标志反映出学习效果。它与你的机器人感觉能力是相应的。机器人的感觉能力差,学习效果的标志就应该简单明显;机器人的感觉能力强,学习效果就不必简单明显,以显示出机器人系统强大的识别能力。
  完整地设计一个自编程序的机器人难度是非常大的。但是实验成功后是非常有趣的。你可以看到这个机器人在完全没有人的干预下,自己学会一些达到一定目的活动。
  由于活动的学习完全是在无智力的情况下,通过随机活动完成的,这样,学习的时间会随程序的组合量大而很长。这时可以理解的。桑代克在训练猫是一样花费了相当长的事件。如果有了智能,系统自编程序显然会变得简单的多。
 楼主| ruiaijun 发表于 2005-6-7 17:01:00 | 显示全部楼层

      B、PC机上实验的安排。
  再没有条件设计安装机器人的情况下,我们也可以在PC机上实验自编程序的程序。这时我们就可以用键入文字代替学习环境中反馈的信息。用一些小程序代替机器人的活动程序,它们的连接就是我们要模拟反射系统自编的程序。
  一般情况下,需要连接的小程序最好设计为可显示在屏幕上的程序。这样的话,程序运行时你就可以在屏幕上看到效果。效果满意,你就可以通过键盘打入效果信息。使程序得到确认。
  如果不能使小程序在屏幕上显示,也可以为每一个小程序起名(文字),运行时让屏幕上显示各个小程序的名字,以你满意的组合为确认标准。
  还有一个简单的方法,在自编程序时采用“虚调用”的方式。也是为小程序起名字,随机编程时不真正连接和运行程序,只是在屏幕上显示程序名,到程序被巩固后再真正网反射表中填写程序。
  后两种设计都是象征性的实验,不是真正的自编程序,但是对自主学习过程也是一种程序上的模拟。
  C、自主学习过程的落后性。
  自主学习过程虽然能够实现自编程序,但是其随机组编程序花费的时间太长。它是动物无智能或低智能时的自编程序方式,只有智能大力参与,编程的效率才能提高。
  不过在人类生活的早期,也是大量采用这种学习方式。我观察过婴儿学习坐起的过程,几乎和猫学开笼门一样艰难,有些非常可笑的错误在发生(比如该往前弯腰,他却往后仰),有些已经发生的错误不断在重复。有时你真想对他说,你那样做不对了!可是他是听不懂你说什么的。
  现在我踏踏实实的从无智能开始设计模拟反射程序,不厌其烦的解决这些繁琐的问题,就是想探索一下,个体智能的这个初级阶段究竟能不能避免?如果我们在讨论过程中忽略了这些初级阶段,可能会对将来带来灾难性的影响。现在我无非是麻烦一些,在纸面上讨论总比大量投资后发现失误要强得多!

[此帖子已被 ruiaijun 在 2005-6-7 17:02:29 编辑过]

 楼主| ruiaijun 发表于 2005-6-9 12:07:00 | 显示全部楼层
    D、智能有无的界限。
  虽然我还不能确切的给出什么是有智能?什么是无智能?但是从上面的程序设计中,我们似乎已经探的真谛。当然,我们还是不必过早说出什么结论,大家都来用“心”体会智能有无的界限吧!

[此帖子已被 ruiaijun 在 2005-6-11 9:16:05 编辑过]

 楼主| ruiaijun 发表于 2005-6-11 09:17:00 | 显示全部楼层
  6、系统控制中心。
  A、系统控制中心的提出。在前面自编程序的反馈机制的讨论中,我们已经提到了系统控制中心这个概念。在那里,系统控制中心还不是系统的主要角色。它只是反馈的学习链中控制反馈的一个设施。
  B、系统控制中心的程序结构。在前面程序的设计中,这个系统控制中心的程序结构也非常简单。因为它的任务简单。首先是激发随机选择程序。这只要向随机选择程序发出一个调用信号界可以了。问题是如何确定发出信号的时机。这个问题实际是由接收外界信息的程序主要负责的。这就是系统控制中心的第二项的任务:向外界信息接收程序收集报告。它的程序只要能够从接受外界信息程序接收一个报告并能够转为激发信号就可以了。
  我们以桑代克实验中的猫为例讨论,比较直观。猫是看到食物(外部感觉),自己又被关在笼子里出不去(外部感觉),肚子里又饥饿(内部感觉),才发动随机活动的。显然发动活动的是由感觉器官(相当于系统的接受外界信息程序)的感觉信息引起的,系统控制中心只不过是起一个传递信息的作用而已。当然,如果遇到复杂问题,系统控制中心就要对感觉信息进行判断,才能决定激发或不激发随机选择程序。这种复杂问题我们现在先不考虑,以免转移我们对程序主要结构的注意力。在简单问题中,系统控制中心只起传递信息的作用,因此它的程序结构就非常简单了。
  前面程序的系统控制中心只有这样两项任务就够了。在学习链中,如果接受外界信息程序接收到的信息仍旧是需要进行活动(随机编制的程序失败),系统控制中心收到报告,继续激发随机选择程序编制新程序。如果系统控制中心接收到不需要进行活动的报告,就不再激发随机选择程序,编制新程序并发出执行的工作也就停止了。一次学习活动也就完成了。
汪之旻 发表于 2005-6-15 20:04:00 | 显示全部楼层

该活动不是随机的,比如说没有一只猫会咬自己的舌头

 

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|生物行[生物导航网] ( 沪ICP备05001519号 )

GMT+8, 2024-12-24 08:34 , Processed in 0.019169 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表