• 创建:2006-7-7
  • 文章:109
  • 评论:367
  • 访问:507385
  •  
关键字:信息 不确定性
一句话说穿不确定性

由于
——人类自身的认识系统(在结构,方法,时限,速度,精度,容量,范围等多方面)存在局限,
导致
——不能使“自然界发生的所有事物之间的相互作用”
————完全通过“事物之间的相互作用”
————反映到“人类的认识系统”这个事物中来,
于是,
出现了“不确定性”。

信息是这样消除不确定性的

信息,这种相互作用的(高层,核心)部分,永不停止地发生于自然界各事物之间(其中包括自然界和人类的认识系统之间,以及人类的认识系统内部各要素之间),不断地影响和改进人类的认识系统,使认识系统受到的局限越来越少,
——可以使更多的“自然界发生的所有事物之间的相互作用”
————通过“事物之间的相互作用”
————更及时准确地反映到“人类的认识系统”这个事物中来,
从而减少了不确定性。
编辑 | 阅读全文(95) | 回复(0),babituo 发表于 2008-7-4 11:9
关键字:同态学 感悟
和最终X讨论“自私的根源“时,感悟到:
这个世界就是相对互动,迭代递增的。
为公可能成为更高层次的为私,为私虽损害同一层次的为公,却可能促进更高层次的为公。
所以,存在包含所有不同层次的统一的全层次的视野,应在各层次之间求得动态平衡。
如何控制同一性振荡的振幅,
不仅是同层次之间结构稳定的问题,还是不同层次之间发展平衡的问题。
不仅仅是物质层面的问题,也同样是精神层面的问题。
编辑 | 阅读全文(133) | 回复(2),babituo 发表于 2008-6-24 9:52

2008-6-19 16:37 | [原创]本体与对象嵌套

一直在思考本体和对象的关系问题,今日有所感悟。
所谓本体,字面理解就是“原本就存在的物体”,“原本存在”的意思就是:不以观察和认知等主体意识活动为转移而存在的。
那么,对象呢?对象从字面理解是一个“象”,也就是“现象“,是你所考察的那个物体的一个“显现形象”。这个“形像”当然不仅仅指光学的影象,而是指通过观察和认知活动所得到的概念形象。
原来,面向对象,只是面对我们头脑中所认识到的事物概念形象。说来也是,我们能面对我们所认识不到的事物吗?
但仔细思考,道理并不这么简单。
从本体的假设来看,一个本体,对于不同的观察和认知事件而言,会呈现不同的对象。对象虽然不仅仅是静态的照片,还可能是本体动态变化过程的真实反映。但,必定是一个局部的反映,如果一个对象能全息地反映一个本体的全部信息,那么,这个对象也就几乎可以等同这个本体了,现实中的这种对象是不存在的。所以,我们也可以把“本体”近似理解为是一个能反映本体全部信息的一个理想对象。这样,面向对象就可以勉强地涵盖面向全部的事物了。
显然,上面的看法有些牵强,实际的现实中,我们永远也不可能完整清晰地去“看到”一个本体,我们只能“看到”很多的对象。所以,很多时候,我们一般会把我们“看到” 的对象认为就是本来存在在哪里的。这并不会导致我们大多数的认识和行为的混乱,但这也确是造成现实世界存在“歧义”这种现象的根本原因之一。当我们谈论不同的对象的时候,我们或许在谈论同一个本体,或许在谈论不同的本题,如果,我们仅仅从对象上区分它们的话,我们就无法区分“本体”,于是,出现“张冠李戴”和“关公战秦琼”的局面屡见不鲜。
回过头来看本体,世界确实是以本体的方式存在的,不会因为有没有观察和认知其本身就会有所不同,除非,观察手段会去改变本体。人类是有“透视思维”的动物,人类虽然不能完整观察到本体的全貌,但可以通过不同角度观察到的同一个本体的不同对象,来立体描绘出接近本体原貌的理想对象。这样看来,本体和对象存在一对多的数量关系。
但本体的假设存在一个严重的问题:如果与观察和认知无关,那么,整个宇宙就必须是一个完整而不可分割的一个唯一的本体。只有通过观察和认知,才能完成对这个唯一的本题进行对象化的“割裂/还原”的过程。但假若只有这么一个巨大的,而且只有唯一的一个本体存在,那么,我们还有必要提出本体概念的必要吗?显然,这不是我们提出本体概念的初衷。
好了,“本体”的悖论出现了:假若本体的数量是多个而且可相互区分的话,那么,就必然要受到观察和认知活动的影响,本体就不是本体了。所以,如果要让“本体”这个概念变得有用,就必须要在本体和对象之间进行适当的折中。
当然,也有把整个宇宙当作一个对象来研究的领域,那是宇宙学家们特定的领域。我想,除此之外,其他的任何人恐怕都只关心他们感兴趣的宇宙的一部分而已。即便如此,“本体”的假设依然是可以有用武之地的,也就是说,即便是我们经过特定的观察和认知,把宇宙的一部分割裂出来了,我们得到的是一个对象,我们仍然可以把这个对象假设为就是一个本体,这样,我们才有机会对它进行进一步的观察和认识。这些进一步的观察和认识的过程中,“本体-对象”的那种一对多的关系,依然可以发挥有益的作用,只要我们不要忘记,我们假定的“局部的整体”既是一个“本体”,同时,它只是一个更大系统的对象而已。
在我们自然的思想中,实际上对“本体”概念的使用会比上述的分层假设替换更为大胆。甚至在同一个观测层次水平上,对象和本体的界限并没有严格得就只能得到关于一个本体的对象。甚至会存在那种把原来假定属于不同本体的不同对象,组合为一个新的对象的思维。我们不能说这种思维是混乱和错误的,因为,实际上这种思维只是同时隐含采用了“存在另外一个更大本体的假设的可能”。
看起来,实用的“本体”概念,应该是和“对象”错综共存起来的。本体和对象具有相对性,可以具有“多对多”的数量关系。如果是这样,我们为什么还要“本体”的概念呢?干脆都叫“对象”不就得了?其实不然,本体概念的存在还是有非常大的价值的,首先,本体的信息是原始的,在研究的基本层次上是唯一的,而对象的信息则是根据不同需要从本体上派生出来的,冗余的。保留本体的概念,可以让我们维护一个最精简的内核系统,用它来集成统一不同侧面的对象系统。
按照这样的思路,本体和对象是不断迭代嵌套的,最终逼近哪个唯一的宇宙本体的,只有到了那个层次,我们就回到了完全客观的本体层次。
编辑 | 阅读全文(130) | 回复(0),babituo 发表于 2008-6-19 16:37

2008-6-17 10:2 | [原创]上善若泥

关键字:模式 信息
“无“不是“虚无、虚空“,而是无形,是均匀分布,没有差异,看不到成形。
有人说:上善若水,其道理非常深刻,其中的水不是指H2O,而指液体,液体无常形,虽善变,但太善变,失去了可塑性,可控性差。
固体有常形,但不善变,无可塑性,可控性强。
无形,即无结构模式,是有结构模式的基础,结构模式不可变则确定可控,但容易导致僵化。
要在无常形和有常性之间取得折衷,也就是要处于一种有结构模式、但结构模式可随机应变的状态之中,这种状态,便是“泥”的状态。
泥,是真正的柔性物,可塑性强,可控型也好,可因地制宜,因势利导。可根据需要形成短期结构模式,随时可以复原到“无模式”状态。如果得到好的结构模式,又可随时烧结成瓷,固化优良。
所以,泥是真正的“柔模式”,可在无模式和任意模式之间迅速变迁。
所以说,上善若泥。
我们尤其要具备“泥”的思维方式。
出于“泥”的思维状态之中,可以接受任何思维模式的信息作用,轻易留下痕迹,却又不僵化痕迹,对劣质信息的作用可以轻易抹除,而对优良信息作用可以逐渐瓷化。
泥的思维,就是灵动的思维,柔性思维。

只有在无模式下才能感知“微模式作用”

“灵敏“从何而来,是从模式的迅速匹配而来。
模式匹配了,才能产生结构共振,才能自然识别模式。
模式如何才能迅速匹配?
从无模式出发可直接匹配任意模式。
但必须是从可塑的无模式出发,才能迅速地,灵动地改变自身的模式。
我们学习知识,说要虚心,实际上就是要抛开成见,复原为泥的思维模式,以便接受新的概念模式的信息作用。
我们学习做人,说要低调,实际上就是要放弃高姿态,复原为泥的无姿态,以便接纳任何姿态的信息作用。
我们探索创新,也要随时准备回到泥的“无模式”状态,才能辨识出任何的新模式,因为无模式是最容易接受和凸显新模式的信息作用的。
编辑 | 阅读全文(60) | 回复(1),babituo 发表于 2008-6-17 10:2

2008-3-25 10:13 | [原创]动态有向图搜索

关键字:程序开发
很多“人工智能“的问题和“有向图搜索”密切相关。
编辑 | 阅读全文(204) | 回复(3),babituo 发表于 2008-3-25 10:13

2008-3-18 11:2 | [原创]痛苦的能量

关键字:能量 痛苦
痛苦的能量

我是那么地感到痛苦,
为什么人们总是把我当作罪恶之源,
因为我天生好动,
东冲西闯,象匹脱缰的野马,
踢破无数的人们的精心构造;
因为我的天性如此,
我甚至被人们用来当作了互相残杀的工具,
那更使我痛苦至极。

可我不愿意这样啊!
有谁明白,我有一颗浪子的心,
虽然驿动,却是为了寻找那让我安稳的窝,
有谁能知道,我无时无刻不在寻找那完美的序位,
只需要用我最少的同类,就可以安抚我众多的同类.

我可怜那些误解我的人,
说什么热寂才是我最后的归属,
他们完全颠倒了我的理想,
他们毁了一切,包括他们自己和自己的未来,
也耽误了我的理想.

我热爱那个名叫"信息"的姑娘,
她是那么的善解人意,
她是那么的心底纯洁,
她是那么的正直善良,
她是那么的美妙绝伦,
只有她才理解我的心,
理解我的理想,我的未来,
她是我的天使.

人们啊,
快唤醒沉睡的她吧,
只有用她那温柔的巧手,
牵引着我去散步,
我才会得到快乐,不再祸害你们,
给你们也带来无尽的快乐,
我就,
不再痛苦.
编辑 | 阅读全文(209) | 回复(1),babituo 发表于 2008-3-18 11:2
编辑 | 阅读全文(282) | 回复(12),babituo 发表于 2008-1-2 11:23

2007-12-27 16:31 | 智能阅读器设计方案

问题来源

普通的电子文本只能提供一个文字编码序列,只起到照原样传递文本内容的作用,文本中的信息则需要阅读者进行阅读后,并进行自己的大脑加工才能获取。“阅读”的全部任务,依然要阅读者自身的眼睛和大脑来完成,影响信息传播的效率和质量,而且,电脑的信息加工和处理的功能也没有得到充分的利用。

解决思路

电脑不仅能将文本字符进行数字化并进行传递,电脑还具备信息处理和加工的能力。可以利用电脑软件对电子化的文本进行预先的分析处理,得到与文本相关的信息内容,在显示文本字符的同时,还可以直接将文本中包含的信息提供给阅读者参考,辅助阅读者快速理解原文本的含义。电脑不仅能储存文本字符内容,还能储存文本的信息内容,还能分析多篇文本之间的信息相关性,为读者提供更多的阅读参考。

解决方案

提出一种叫“智能文本”的文本文档格式,这种格式文本文档不仅包含了普通文本文档的字符序列的内容,还把对这些字符序列进行分析后的文本信息进行结构化的记录。

编写一个智能阅读器程序,这种程序包含一个普通文本分析器,一个智能文本库,一个智能文本显示器和智能文本交换器。智能阅读程序能够把普通的电子化文本通过文本分析转换为智能文本,然后,把智能文本存入智能文本库,智能文本库将把全部阅读器阅读过的文本文件的信息,用相互关联的方式储存。读者可以用智能文本显示器显示文本的字符序列及其信息内容,也可以通过智能文本交换工具和其他读者的智能阅读器进行交换和交流信息。

系统部署图如下:

意义

通过对文本文档的智能化,减轻阅读负担,变字符交流为带辅助的信息交流,减少交流中的信息失真,并可从积累的阅读知识中查询相关的信息。

编辑 | 阅读全文(740) | 回复(2),babituo 发表于 2007-12-27 16:31

迭代式软件开发中的同态学思想启发

——求同存异,求异存同

一. 渊源

最先学习雨思老师的同态学思想是2002年期间在北师大的“系统科学之窗”论坛上。当时,出于“同态”一词在计算机软件的面向对象建模中有同用,为探究软件模型中“同态”的本质,我搜索到了雨思老师的“同态学”。我仔细研读了雨思老师的“同态学文集”,和雨思老师在论坛上也进行了颇具启发性的讨论,这些讨论,对我理解计算机软件及其开发过程的本质,取得了拨云见日的效果,得到了“求同存异,求异存同”的感悟。

一个运行中的计算机软件是一个信息处理系统,为了提高软件开发的效率,软件工程界提出了软件复用的思想,面向对象的软件工程思想就是软件复用思想的典型代表。为了追求复用,无疑就要寻找和发现不同的信息系统的共同特征,然后用共同的解决方案来应对,这对减少重复开发,提高开发效率,提高软件质量水平具有非常重要的意义。

“同态学”旗帜鲜明地断定:“同一性”是系统最基本的特性之一。这是对软件复用思想的本质支持。正是因为系统存在“同一性”这一本质特性,我们才可能去寻找和发现它,并利用它来减少我们在计算机信息系统开发中的重复劳动。

二. 理解

“同态学”对“同态”的定义是“系统同一性所决定的状态”。理解这个定义的关键点在“同一性”和“状态”这两个基本概念。对照一个计算机信息系统来理解,一个计算机信息系统会具有怎样的“同一性”和由这些“同一性”所决定的状态呢?

2.1 同一性

“同一”就是“如同一个”,既然有“同”,就至少得有两个以上的东西来对照谈论。一个计算机信息系统只是一个系统,它能和“谁”来“同”呢?我们知道,计算机信息系统是对计算机以外的现实世界的信息系统的模拟仿真和部分移植,并起到改善整个现实世界信息系统的效能的作用。所以,一个计算机信息系统,它首先必须具备和外界信息系统某些特性相同,一致的性质,它才可能让信息系统整体如一。用软件工程的话来说,一个计算机信息系统,必须和它要解决的实际问题对应,也就是软件需求决定计算机信息系统。在软件领域,系统分析员的任务之一,就是要发现并清晰表达未来计算机信息系统的这种与外界需求一致的“同一性”。

计算机信息系统除了要和外界的需求达到机能和性能上的“同一”,还要和其他什么达到“同一”呢?是的,计算机信息系统对内要和计算机内部信息处理的结构机理“同一”。一个计算机信息系统,不可能超出或脱离计算机内部资源整合的功能和性能、不可能超出或脱离计算机系统运行机理来工作。规划计算机内部资源结构和运行过程的任务就是软件设计任务,这项任务的实质,就是要寻找计算机信息系统与内在的结构运行机理的“同一性”。这是软件设计师的任务。

把上述两个计算机信息系统“同一性”结合,我们会回到一个常识性的断言:计算机信息系统必须具备内部结构运行机理和外界的功能、性能需求相一致的特性。可见,“计算机信息系统”只是起到一个代名词的作用,这个断言才是我们真正要找的计算机信息系统的“同一性”,推而广之,是否这就是所谓的一般系统“与自身同一”的含义呢?这个问题暂且不论,我把这个实现这个特性的过程称为“求同”的过程,也就是说,我们开发计算机信息系统软件,首要的、根本的任务就是要寻找和实现计算机内部结构运行机理和其外显的功能、性能特征,也就是外部信息系统环境对计算机信息系统的需求相一致的这个“同一性”。

2.2 状态

“状态”取“形状”,“形态”的含义。从含义上来讲,具有非常强烈的“整体性”和“结构性”的味道。回到计算机信息系统来讨论,计算机信息系统的“同一性”会决定它会呈现怎样的“状态”呢?

最明显的“状态”莫过与“映射”。而且这种映射不仅仅是简单的系统元素之间的对应关系这么简单。比如,并不是每一个计算机信息系统的功能性需求,就会对应一个软件模块,这样的简单映射只能让软件系统越来越臃肿庞大,对计算机资源的大量吞噬,随着功能要求的增长,软件运行效率越来越低下,最终失去可用性。一个良好的计算机信息系统的设计,必须建立软件需求和软件特性之间、软件特性和软件构件之间的多对多的可跟踪的对应关系,这就是所谓需求管理的任务。

软件需求表达软件的价值点,软件特性表达软件的功能点,软件构件表达软件的实现点。所以,软件开发过程建立的实际上是一个两层的递进的“映射”:从价值点映射到功能点,从功能电映射到实现点。这就是计算机信息系统的“同一性”所决定的它应该呈现的“状态”之一。

同态学还提出“点是结构”的命题。这个命题在计算机信息系统软件开发中也能找到同感。首先表现在,软件的价值点、功能点和实现点本身是具有逻辑内涵的,其次,在软件开发过程中,不仅仅要建立的是这三层的点之间的映射关系,还必须建立每层点的相互结构关系的映射,因为,每一层的点之间还存在相互交融和依赖的关联关系,每层的点在这些关系的融合下才构成软件在该层上的系统含义,只有各层的点结构之间也成功映射,软件才会有良好的架构。所以,软件的点,不是简单的点,在点内和点间,都是有结构的,高水平的软件架构师,必须对此谙熟于心。

这是软件开发在三个过程层次之间的“纵向”的一个同态,面向对象的UML建模基本观念“用例驱动”,其实就道出了这个同态本质:软件的价值点及其价值关系决定了软件的功能点及其功能关系,软件的功能电及其关系决定了软件的实现点及其实现关系。

在软件的分析设计中,“模式”一词已经广泛流行。一个分析模式对应一种常见场景下的常用分析机制,而设计模式则对应一类常见问题的常用设计方案。每一个分析模式实质上就是一系列同类应用场景的分析机制或的一个“同态”;每一个设计模式也就是一系列同类设计方案的一个“同态”。与“用例驱动”不同的是,模式是在软件组成逻辑上的技术层面的一个“横向”的同态。

三. 创新

“同态学”不仅仅是找到了上述几个与其他学科或领域共通的基本概念,如果仅仅如此,那么就只是换汤不换药而已,价值不大,我想,这正是一些朋友不解和误解同态学的原因之一,但同态学又不能没有这些基本概念,因为这是同态学和其他学科和领域进行沟通的基础。同态学在其这些可共通的概念基础之上,还有重大的理论发现和创新,只有当我们深入到同态学的理论创新或理论发现的层面时,才能擦出在其他学科或领域内创新的火花,才能体会到同态学的真实价值。

我认为同态学最重要的发现之一,就是发现了“同一性振荡原理”。

我认为,同一性振荡原理发现的是这样一个规律:一个系统之所以能保持动态平衡,是因为系统无时无刻不处于同一性振荡之中,系统的同一性振荡是造就系统复杂性、活性的根本原因。

一个活性系统的存在和发展,总是伴随着它的同一性的振荡的。系统处于其所有同一性的交替地“求同-变异-再求同-再变异”,也就是交替出现的系统同一性变强-变弱的过程中,才造成了它的复杂性和活性。我们要把握一个复杂的活系统,就必须找到它的同一性,调节或影响其同一性振荡的状态,才能维持系统持续稳定、并有所改进地发展。

如何将“同一性振荡原理”应用到计算机信息系统开发和应用过程中去呢?

3.1 瀑布式开发和迭代式开发

计算机软件系统如何随着用户需求的变化而快速调整自身的结构,来满足用户的需求,是长期以来困绕软件界的大问题,为此,业界已经在计算机软件开发过程、计算机软件体系结构、开发方法和开发工具环境等多方面进行了不懈的努力。其中,在软件开发过程模式方面进行的一项重大变革就是:用迭代式开发取代传统的瀑布式开发模式。

很多国际上著名的软件工程大师,在推荐迭代式软件开发方式时,所能陈述的理由也就是如此:软件是一种创新型产品,而不是传统意义的工业化产品,创新型产品在开发生产过程中存在许多不确定因素影响,对于创新型产品不能采用传统工业产品那样的:“分析-设计-实现-测试-交付”这样的从一个阶段完成,经过评审才进入下一阶段的这种“瀑布式”的开发方法,因为,那些不确定因素会使得软件产品尚在开发的过程中,就需要改变其需求,历史经验表明,“瀑布式”的开发方法应用在软件产品开发过程是彻底失败的。

大师们所推荐的所谓“迭代”式开发,就是把一个传统的梯级进行的大过程,转变为一个多个螺旋方式进行的小过程的连续进行,每一个螺旋过程,就是一次迭代,在每次的迭代过程中,系统分析员,设计师,程序员,测试员,用户代表全员参与,同步工作,每次迭代过程在上一次迭代基础上,增加适当新的开发内容,并交付一个可用的新的软件成果,逐步演进到完全符合用户需求的软件产品为止。这样做,可以将用户需求由开始不明确到最终全明确引起的“需求变化”的风险,分布到多个迭代的过程中,而不是象瀑布式开发中那样集中在第一个阶段中,就算用户的需求真的发生变化,在迭代的过程中,也可以把这种变化纳入到下一个迭代过程中来处理,这样就能大大提高软件开发过程的成功率。

3.2 软件开发中的同一性振荡原理

简单地说,迭代式开发取代瀑布式开发就是用全体的小踏步快跑来代替分组接力的大踏步慢跑。国内的软件开发管理者中能把迭代式开发理解成这种程度的已经是很难得了,能真正做到的为数不多,大多数软件开发管理者只是把“大瀑布”改成了多个“小瀑布”而已。其中的原因之一恐怕是他们甚至连那些迭代式开发的国际大师鼻祖们也未明白的一个道理,就是:用迭代式开发能提高软件开发成功率的本质原因,是因为迭代式开发遵循了系统“同一性振荡”的基本原理,而且,如果彻底地遵循系统“同一性振荡原理”,我们将会发现更加全面、更加系统地来改进软件开发过程、体系结构、开发工具和开发环境的机会。

“用例”是“软件运行中有用的、可用的过程事例”。它通过查找和发现软件受益者如何与未来的软件产品需要进行的一系列相对独立的信息交互行为集合以及它们之间的关系,来表明这些信息交互行为集合背后的价值目标以及价值目标的关系。软件的系统分析师会用一个“用例模型”来表达他对一个软件产品这方面的分析结果,用例模型成为贯穿软件开发过程全程的所有其他类型的模型的“同态”,所有软件模型所反映的与软件受益者的价值目标及其关系的一致性,就成了核心的“同一性”。 可暂且称之为软件系统的“价值同一性”。

根据“同一性振荡原理”,在软件开发的过程中,软件系统的“价值同一性”不可避免地会发生振荡。也就是说,软件系统所实现的价值目标和用户全部的价值目标不可能也不必要始终保持一致,而且还会必定存在一致性振荡变化的过程,这是用户的业务系统和软件系统的本质特征所决定的。

3.3 遵循同一性振荡原理的迭代式开发

瀑布式开发方法完全忽视了这个“软件系统价值同一性振荡”的规律,试图一开始就能捕获所有的软件需求,并维持这些需求在整个开发过程中不会发生变化。迭代式开发则尊重需求的变化,而且采用有节奏的过程来响应变化。在迭代式开发中,每次迭代只实现当前时段下,对客户价值最高的需求,而有意保留其他的需求暂不实现,留待后续的迭代逐步实现,也就是说,迭代式开发方式在“求同”的过程中,没有忘记“存异”,也就是主动保留一些价值目标的差异。

软件开发人员经常会陷入这样一种痛苦之中,就是用户总是没完没了地提出新的修改意见。好不容易修改出一个版本给用户,用户看过后受到启发,又提出新的要求。传统的瀑布式开发观念会把这个问题归罪于第一阶段的系统分析没有做好,没有充分挖掘用户的需求。但这样归罪的结果并不能改变什么,坚持这样的观念的话只能带来更多软件项目的失败。

这实际上就是“同一性振荡规律”在起作用,当软件的一个版本和用户早期需求的同一性达到较高的程度的时候,用户自然会提出更高的要求,或者用户自然会发现原来的需求存在不合理的地方,因此需求发生变化,软件和用户需求的同一性则向降低的方向振荡,也就是软件不满足需求的方向振荡。软件开发人员与其被动地适应这种变化,不如主动的准备应对这种变化,迭代式开发方式就是主动应对变化的方式之一。

在迭代式开发中,存在一种工作模式叫Refractory(重构),就是当程序变化到在架构不能适应新的需求变化,或架构效率降低到一定程度的时候,程序员主动对原来的程序进行重新的编写,当然是在原有程序基础上进行优化重写,我把这个过程叫做“求异”的过程,经过“求异”之后,软件的架构可能会得到超出用户当前需求的灵活性,造成了与用户当前需求的差异性。但这种求异,不是完全地推倒重来,是建立在完全能满足当前用户需求的基础之上的,也就是说,在“求异”的同时,没有忘记“存同”。

可见,迭代式开发方式自发地中遵循了软件系统的价值同一性振荡规律。其方法论可以用“求同存异,求异存同”这八个字来概括。

3.4 “求同存异,求异存同”的推广

运用同态学的“同一性振荡原理”,从迭代式软件开发中悟出的“求同存异,求异存同”的方法论,是否有推广价值呢?它是否可以获得象“同一性振荡原理”规律一样的一般性,成为遵循这一规律的一般的方法论呢?这是个值得思考的问题。

迭代式软件开发是一种对复杂的信息系统进行分析和重构的过程模式,在本质上是一种方法论。软件开发,可以说是我们人类所进行的所有社会活动形式中比较复杂的一类活动形式,应该属于一种对复杂系统的认识和构造的活动形式。于是我们可以尝试做如下推论:人类在对复杂系统的认识和构造时,采用迭代式的过程会更有效力。如果这个推论成立,那么,“求同存异,求异存同”就一定有其更一般的含义,下面就来探究一番。

人类认识事物最基本的方法是“形成概念”。概念形成的过程其实就是一个“求同”的过程,但一个概念并不能完全取代所有其所指的同类的具体的事物,当我们在运用概念谈论具体事物的时候,一定不能忘记,概念即使是和与其所指的同类具体事物之间,都还是存在差异的,因为,任何两个具体的事物之间,虽然他们有共同点,但永远还是能找到差异的,因为它们始终是两个独立的个体,概念只能用来指称它们的共性,而不能涵盖它们各自的个性。所以,求同的同时,不能忘记存异。对于求同存下来的异,也许缩小一些范围,又能求出新的同,于是,又可以在差异中寻找共同,形成新的概念。这样不断地对存下的异求同下去,就会得到一个塔式的求同存异结构。

是不是“求同存异”了,概念塔形成了,认识事物就结束了呢?不是,人的认识总是不断深入的,对于原来求出来的“同”,或许有一天会被发现其中还有原来不知道的“异”,所以,就会有一部分人专门从事“求异”的工作,比如,发明家,批评家,测试员等,能够从同中发现出新的异,也是一种难得的能力。同样,在求异的同时,不能忘记存同,而且,不但对求异存下来的同,依然可以继续求异存同下去,而且还可以对新求出来的异,继续求同下去。

似乎发现相同的同时也就同时发现了不同,求同就等于求异。但实际并非如此,往往在求同的时候,异是已知的,而在求异的时候,同是已知的。求同和求异,实际上就是正向思维和反向思维。所以,求同存异和求异存同,虽然效果是一样的,但作用方向是正好相反的,只有如此,才能产生交互,才能循环往复地进行,而不是单调地重复。也只有这样,才能和系统“同一性振荡原理”合拍的。

到此,我可以谨慎地给出本节推广的结论:或许人类所有的认知和学习方法的本质,都是“求同存异,求异存同”。往往人们在主动“求同”之时,会忘记主动“存异”,结果导致被动“存异”,使得“求同”更难;在主动“求异”之时,又会忘记主动“存同”,结果导致被动“存同”,使得“求异”更难,其中的原因,或许正是“同一性振荡原理”还未成为常识,让我们努力让“同一性振荡原理”成为常识吧。

全文完。

邱嘉文

20071127 于珠海
编辑 | 阅读全文(667) | 回复(2),babituo 发表于 2007-12-6 16:48
  一片小贝

文字信息的三层模型

本文谈论的文字

特指书面语言,是由字、词、句、段、章、篇这样的表面结构形成的文字集合。

文字的背后有什么

一段文字表面是某种符号集合的元素的一种排列组合形式。其背后要表达的是丰富多彩的信息。研究文字的目的是要透过文字符号表面的排列组合方式,来探究其背后所要和所能表达的信息。

文字是给使用者来使用,以便进行沟通的媒介。任何文字都离不开使用者,文字的使用者包括使用者个体,和使用者团体。从文字与其使用者的关联性的角度,可以将文字背后的信息分为两类:

1.  与文字的使用者个体相关的信息;

2.  与文字的使用者团体相关的信息;

与个体相关的信息

假设某段文字的发表人是一个个人或者一个小集体,那么,他们发表这段文字一定是要表达一些他们个人的用意。虽然,其他人或许也发表过类似的文字,表达过类似的个人用意,但这些仍然是他们各自的文字要表达的个体信息。

某段文字的发表人为了表达其个体用意信息,可能会使用一些不同一般的文字符号组合的形式,因为,他们可能觉得他们要表达的东西可能与众不同。这些独特的、新出现的文字符号组合方式,在出现初期,没有得到文字使用团体的认识之前,也属于文字的个体相关的信息。

与团体相关的信息

一个文字符号集合经常是被一个团体来采用的,这些文字符号如何排列组合可以用来表达什么信息是整个团队约定俗成的。

某段文字也可能部分复述表达整个团体公认的信息,这些信息也是团体相关的信息。

个体信息和团体信息的关系

个体信息和团体信息是相对而言的。根据团体的规模和范围不同,团体内可能会存在小团体,小团体的信息可能和大团体的文字信息可能有差异,这些差异相对大团体而言,就是个体信息,但相对小团体中的个体而言,却又可能是已经达成一致的团体信息。

个体信息和团体信息可能互相转化。随着团体认可个体信息的程度越来越大,个体信息逐渐成为团体的共识,此时,个体的信息就成为团体信息;另一方面,对本来已经达成一致的团体信息,由于团体中某些个体有新的发现,也会在团体信息的基础上,生发新的个体信息。

文字信息的原子模型-“意”认“义”

晓辉在其文化基因理论中仔细辨析了“意义”二字,认为“意”≠“义”。精辟地表达了“意”的个体意识意向性和“义”的团体共识公用性的区别。

本文借用邹晓辉的理论,将文字内容中的个体相关信息定义为“意”;而把文字内容中的团体相关信息定义为“义”。那么,就可以得到文字信息最基本的模型:这是一个以“义”为核,外围引申多个“意”的模型。

这与事物的微观的原子组成形态是相似的,“义”为原子核,而“意”为电子。暂且称其为文字信息的“原子模型”。

模型中,多个“意”围绕一个“义”,“意”和“义”之间存在一个很强的关联,这个关联可以定义为“认”。也就是说,“义”是一组相近的“意”所公认的共同信息。

这个模型提供了一个大胆的假设:文字信息的结构关系原理是可以和事物组成的结构关系原理类比的。依此假设推论下去,在我们看到的任何一个整篇的文字的背后,表达的正是一个由众多的这样的“信息原子”相互集结,成为“信息分子”,“信息分子”再集结成为一个个的“信息事物”。

文字信息的分子模型-“意”识“意”

 

事物的分子是靠原子之间共用电子形成共价键来组合的。类比到文字信息的原子模型,文字信息的分子也必定是靠共“意”的关联来形成共价键来组合的。

不同文字的信息原子的“意”之间,存在“意”的连贯匹配关系,比如一个“好”的“意”就会连接一个“奖赏”的“意”。所以,表层文字符号的连接关系,除了可以表示不同的内层的“意”本身之外,还可以反映内层“意”之间的匹配连接关系。这种“意”之间的匹配连接关系,正好符合“识”的概念的含义。通常讲的“意识”就是个体的不同“意向”之间的连贯性。将不同的意向联系起来了,就“识”了,否则,就不“识”。

可见,文字信息的微观结构是由“认”来连接“意”和“义”,组成“信息原子”,再由“识”来连接“意”和“意”,将信息原子结合组成“信息分子”。最后,在文字符号层用符号连接将“信息分子”组成“信息事物”的,这是一个三层的文字信息模型。

文字信息的三层模型

这里提出的文字信息三层模型和传统的语言学研究领域似乎有对应的关系。如:文字符号层的连接关系是传统语言学的语法学研究的领域,而“意识流”模型似乎对应“语用学”,“义”的关联法则似乎对应“语义学”。本文的兴趣并不在于追究传统语言学研究和这个三层模型之间的渊源关系,而在于如何利用这个三层模型进行计算机文字信息处理。

一段文字,表面上是一个“字符流”模型,在字符流的下层,表达的是一个“意识流”模型,在“意识流”的下层,揭示的是一个“义”的关联法则模型,可以简称“义法流”模型。

分出“字符流”、“意识流”和“义法流”三层文字信息,可以清楚地表达各层信息之间的关系。

“义法流”模型是客观规律法则,是基本上不会变化的模型;对同一个“义法流”模型,不同的团体,可能会用不同的“意识流”来揭示。

而同一个“意识流”模型,对不同的文字符号系统而言,也是相对稳定的信息,但可能会在文字符号层产生很多的字符流模型版本。这就是“同样的观点,可以用不同的文章,不同的文字来阐述的现象”背后的道理。

对于计算机处理文字信息的三层模型的意义不用说了,下面直接说明如何用计算机来处理。

从“字符流”到“意识流”和“义法流”

计算机目前直接能处理的是文字流模型,一篇Word文档,一个文本文件,就是一个字符流模型。如何用计算机从文字流模型中析取出意识流模型来呢?设想可以通过如下几个步骤可以逐步做到。

同、近义字词句的收集

通过人工录入或自动分词的方法将同\近义字\\句进行分类归类。每一个类别就代表一个“义”,可以对每个类别建立一个“义”的标识。归入这个“义”的每种不同的字词组合就分别是一个“意”。也就是说:每个同义字、词、句的集合。就是一个文字信息的原子。

利用同、近义字词句分析海量文章

利用已经得到的文字信息原子集合对不同主题的文章进行分析处理,总结原子之间连接关系的规律,寻找原子连接的定式,记录并标识这些定式。总结“义”之间关联的形成规律和“意”之间的匹配连接规律。记录到相应的数据库,即得到“义法流”和“意识流”库。随着处理的文字越多,得到的“义法流”和“意识流”的层次越丰富,辨析就会越清楚,最终可以达到可用的准确程度。

人机交互辅助辨析

在计算机处理大量文字资料的同时,对处理形成的“义法流”和“意识流”库,可以显示给人来查看,对明显的归类错误可以通过人工的办法剔除。如果能够通过互连网让更多的人参与辅助辨析,那么形成的“义法流”和“意识流”库就更有准确性和可用性。

文字信息三层模型的应用举例

1.自然语言文字理解

计算机通过软件学习得到的“义法流”和“意识流”库实际上是一种文字意义相关性的知识库。计算机把一系列的文字符号的排列组合理解为一系列“意”的连接关系,更深入地理解为“义”的关联关系。当计算机按照这些关联关系的规律另外产生一系列对应的文字符号的连接时,从表面上看,会实现模拟人类理解到语言含义的效果。

2.聊天机器人

在得到可用的“义法流”和“意识流”库后,可以开发聊天机器人程序,聊天机器人软件在得到聊天对象传过来的话时,可以在“义法流”和“意识流”库中找到与聊天对象想匹配的“义法流” 和“意识流”片段,按照分析意识流的连贯规律和应对规律,产生应答的字符流,回传给聊天对象。可以达到看上去就象一个有思想、有知识的人在和人对话的效果。而设定聊天机器的意识流类型,则可以模拟不同性格、不同专业、不同知识水平和不同年龄的人。具有知识教育、心理治疗和娱乐的作用。

                      

 

 

邱嘉文

2007-4-21

珠海

编辑 | 阅读全文(836) | 回复(5),babituo 发表于 2007-5-10 16:19
 

何谓“基因软件”

基因软件是一种摹仿生命系统架构特征的软件,是一种可演进的软件。主要针对解决软件如何随需应变的问题。

生命系统的架构特征

生命胚体在其细胞的核酸片段中隐藏着特定遗传信息-这就是生命的基因。

胚体从母体中吸收营养,在遗传基因密码的控制下重组营养成份,逐渐形成自身的肌体组织,具备各种生命机能。

胚体从母体中分离,独立面对自然环境,运用已经形成的生命机能从自然环境中吸取营养,消化处理,新陈代谢,不断让自身成长壮大,同时对自然环境产生影响,并寻找机会改善自身的基因,得到进化。

胚体是基因的承载者,从胚体的角度看,母体和自然环境都属于外部环境。生命系统架构特征就是:胚体(基因的代理者)植根在外部环境之上,接受外部环境刺激,从外部环境吸收营养,成长壮大,同时影响和改变外部环境,进而优化自身基因结构,朝更高级生命体进化。而更高级的生命体则是能使世界整体运转更高效,更稳定的生命体。

模拟生命系统的软件基础架构

将软件分为两类:生命软件和世界软件。

软件胚和软件生命

假设可以提取某类软件最核心、最本质的生长控制信息,对其进行编码,那么就相当于得到了该类软件的基因。软件基因可以托付在“软件胚”的形式上在软件世界中发布。软件胚在软件世界中,在软件基因控制下,可演变、成长,壮大为软件生命。

软件世界

软件世界是可以植入软件胚,支持软件胚与其他“软件生命”和“非软件生命”进行信息交互的运行环境系统。各种流动着的数据信息就是软件生命赖以成长的养份。

软件世界可大可小。小到只能处理一个领域的专门性问题的运行平台,大到未来的连接全球甚至全宇宙的计算机互联网络的软件,那将是一个超级的软件世界。

现有软件基本架构的生命特征

现有应用软件的基本架构已经具备了一定的生命特征。

操作系统软件相当于世界软件,应用程序就是生命软件,在操作系统上安装一个应用程序,就是在软件世界中诞生一个新的软件生命。卸载一个应用程序就是结束一个软件生命。

但现有应用软件结构和功能是靠代码来僵化固定的,一旦软件生命诞生,只有结束其生命,重新缔造,才能改变软件的结构和功能。

基因软件和现有软件的不同点

基因软件的基础架构和现有软件基础架构相同,只是把操作系统和应用程序的定位更加清晰化,更加突出操作系统的生态环境特征和应用程序的生命特征。使应用程序的使用过程,不仅成为沟通、处理和保管信息的过程,而且成为对信息处理能力不断提升的过程,也就是应用程序功能不断加强的过程。

要达到基因软件的目的,就必须从根本上改变对应用软件结构的传统观念,即应用软件的结构是可以不事先规定死的,是可以按一定预设模式成长和演变的。

基因软件在使用上和现有软件在使用上也没有什么大的区别,只是用户在使用软件的过程中,在得到信息处理的结果的同时,自然地还“教”了软件一些信息,软件可以用这些信息作为“养料”,通过自身基因的控制,来演进式地自己构造出新的功能来。

基因软件的开发和使用过程

工具开发者首先开发出两个工具系统:软件基因编制系统和软件运行环境(软件世界)系统;

接着,软件基因的编制者利用软件基因编制工具,根据不同的应用方向,编制出一个个的“软件胚”。软件胚和普通的软件程序不同的是,它不仅规定了软件胚本身具备什么可用的功能的信息,还规定了软件胚可以沿着怎样的方向,如何扩充成长的信息。

然后,软件用户从软件工具开发商那里选购到适当的软件世界,从软件基因编制者处选购到适合自己应用方向的软件胚。将软件胚安装到软件世界中,软件胚就完成“播种”过程。需要指出的是,在同一个软件世界中,是可以播种多个软件胚的。

在最开始使用软件胚的时候,用户根据自己的实际情况,向软件胚中输入一些初始化信息,同一个软件胚对不同的用户就可能成为内容不同但模式相同的软件生命。此时完成孕育阶段,软件出生,成为可正式的使用软件生命。

用户在使用软件的过程中,不仅会得到越来越多的预定类型的数据资源及其关联关系,而且会建立新的数据资源类型以及新的关联关系。软件生命除了会按已有的功能运行外,还会根据原有的基因信息来提示和控制用户输入新的构建信息,软件生命会根据用户输入的这些信息,构建出新的可使用的功能。

软件基因编制者,利用基因编制工具可以从正在使用中的软件生命中,提取出在使用过程中产生的新的数据资源类型及其关联的信息,分析基因变异的需求,对基因进行修整改造,这个过程不需要结束软件生命,并可以更广泛地传播新的软件基因。

工具开发者会逐渐将所有的软件世界进行融合,让所有的软件生命可以在一个更大更通行的软件世界中成长,同时,对基因编制工具不断进行改进,以得到对更复杂的软件基因的编写能力。

实现基因软件的关键技术

生物基因工程技术的出现,彻底改变了传统生物科学技术的被动状态,使得我们可以克服物种之间的遗传屏障,按照人们的愿望,定向培养或创造出自然界所没有的新的生命形态,以满足人们的要求。

生物基因工程本来是一个“反求”工程:人们是先看到生物的诞生,成长,进化。然后探索生命形成,演进的奥秘,才发现生物基因,进而才能改造和设计新的基因。与此不同的是,计算机软件本来就是人工从一个一个程序指令开始,通过编码来构造出来的,如果说软件生命也有基因工程的话,那么软件的基因工程则是一个“正求”的工程:它更体现在我们如何去设计一个软件生命的诞生和成长过程,以及在设计过程中,我们是否可以和愿意接受生物基因工程技术的启发。

对于“计算机软件”这么一个具有生命形态特征的特殊的人工生命,其基因工程技术的关键内容是什么呢?

软件基因模型技术

这是实现基因软件的最核心的技术。

现有软件的模型技术以面向对象模型技术占主导地位,在面向对象的下层,以实体关系模型技术占辅导地位,在面向对象的上层,以面向服务的模型技术占辅导地位。这种模型的层次主导格局是软件技术长期发展进化的结果,是有其必然性和科学性的。

如果把软件从投入使用到停止使用看作是一条生命线,那么,现有模型技术基本上属于脱离这条生命线的模型技术,建模人员和开发人员通过另外一个工作过程建立模型,实现模型,再升级运行程序,介入一线生命过程。这就是离线方式的模型技术。

软件基因模型技术在不会改变上述的模型技术层次格局,而只会改变形成这种格局的方式和方法。

基因模型技术必须产生的突破在于将离线方式的模型改变为在线方式的模型。只有最初的“胚模型”是离线一次性建模的,一旦软件胚被植入到软件世界中,软件世界就承担了软件生命在成长过程的在线建模任务,在有软件基因变异的需求时,同样是由基因编制工具在线完成模型升级的。这要求基因模型技术需要将模型本身的升级和变迁的过程和方法融入到软件的使用运行过程中去。核心的技术问题,就是解决如何将被建模对象的信息与其演变过程的信息同时表达在一个模型中。

在建模方法上,基因模型技术会继承实体关系模型、面向对象模型、面向服务模型及其横向的架构格局。但由于软件投入运行后的升级建模过程不是在一个专门的离线建模工具中由专业的建模人员来进行,而是在软件运行平台中进行,建模信息是通过用户操作使用软件来输入的。这就需要将原来建模工具的功能,分散到支撑软件成长的软件世界中去,并将基因模型在纵向结构上进行良好的封装,让用户在服务层模型上的操作,可隐含地精确影响到对象层和数据层的结构。

动态产生和执行的链锁反应式程序技术

基因软件要实现在使用中自我成长,在程序结构上必然和现有程序的结构有所不同。

软件在结构形态上经历了程序片段不断细分并与特定数据类型捆绑更紧密的发展趋势。程序片段意味着特定的过程原子,数据类型意味着特定的事物原子,二者捆绑意味着将表层的服务原子化的趋势。这个趋势预示着软件结构形态会朝在服务原子之间建立供求关系的链锁反应网络的趋势发展