系统中的观察者5
- 格式:doc
- 大小:91.00 KB
- 文档页数:8
系统观察法思政课教育系统观察法是心理学中的一个重要方法,相比于自然科学方法具有直接、详实、生动的特点。
运用系统观察法进行思想政治教育,能够有效提高思想政治教育工作的实效性。
在具体运用系统观察法时,教育者应当遵循一定的原则和要求,在正确的理论原则指导下根据不同的情况进行思想政治教育活动。
一、系统观察法的基本内涵教育系统观察法是教育心理学中的一个重要方法,它是指研究者在比较自然的条件下通过感官或借助于一定的科学仪器,在一定时间、一定空间内进行的有目的、有计划的考察并描述教育现象的方法。
这里所说的现象,是指被观察者的言行和行动。
由于系统观察法是根据研究课题的需要、为解决某个问题而主动进行的,力图获得直接的经验事实素材,因而具有目的明确的特点;又具有真实自然的特点;观察者和对象共处一体,研究者能够直接地、准确解到正在发生的教育现象及应采取某措施而发生的现象,获得真实、生动而翔实的资料,因此系统观察法还具有直接翔实的特点。
它能及时获得受教育者的真实情况,又能促进教育者和受教育者的双向互动,帮助教育者获得第一手资料,有利于教育活动的开展。
二、系统观察法在思想政治教育中的重要意义它是教育者获得感性认识、搜集思想政治教育信息的基本途径,使教育者及时掌握第一手材料,为正确鉴别现象、抓住本质提供事实根据,增强思想政治教育工作的真实性、互动性和预见性。
具体说来,一是能够增强思想政治教育工作的真实性。
当代社会环境复杂多变,人们容易受到各种各样的思想影响。
思想政治工作者如果采取自然科学的实证研究进行实验,通过排除某些因素的影响,专门观察一种或几种因素对研究对象的影响状况。
二是能够加强教育者和受教育者之间的互动。
运用系统观察法所观察的对象,是具有能动反映能力的人,这与自然科学的观察是不同的。
因为在这种系统观察过程中,观察者不能采取秘密跟踪的方式,只有与被观察者直接接触才能进行观察。
通过系统观察的方法,有利于他们之间的双向互动,教育者更容易做观察和调查,抓住受教育者思想问题的本质。
软件设计模式及应用软件设计模式是指在软件设计过程中,通过总结和归纳出现的实际问题及解决办法,提炼出的一套经验和规范化的解决方案模板。
设计模式旨在提高代码的可复用性、可扩展性和可维护性,同时也能够提高软件设计的灵活性和可靠性。
常见的软件设计模式包括单例模式、工厂模式、观察者模式、代理模式、装饰器模式等。
下面以几个常见的设计模式为例,介绍其应用场景和具体实现方式。
1. 单例模式:单例模式是一种创建型设计模式,保证一个类只能实例化一个对象,并提供一个全局访问点。
在应用中,当需要一个全局唯一的对象时,可以使用单例模式来保证对象的唯一性。
例如,在某个系统中,需要记录系统日志,并将日志保存到一个文件中。
可以使用单例模式来创建一个全局唯一的日志记录器,以便在各个模块中都可以访问和使用该日志记录器。
单例模式的实现方式有多种,常见的有饿汉式和懒汉式。
饿汉式在类加载时就创建对象,并提供一个静态方法返回该对象;懒汉式在第一次调用时才创建对象,并提供一个静态方法返回该对象。
2. 工厂模式:工厂模式是一种创建型设计模式,将对象的创建和使用分离,通过一个工厂类来创建对象。
工厂模式可以隐藏对象的具体实现,提供一致的接口供调用方使用。
例如,假如有一个图表软件,可以创建不同类型的图表,如饼图、柱状图、折线图等。
可以使用工厂模式来创建图表对象,调用方通过工厂类来创建具体的图表对象,而无需关注图表对象的具体创建过程。
工厂模式可以根据不同的调用需求,提供不同的工厂类。
常见的工厂模式包括简单工厂模式、工厂方法模式和抽象工厂模式。
3. 观察者模式:观察者模式是一种行为型设计模式,建立对象之间的一对多关系,当一个对象的状态发生变化时,其他依赖该对象的对象都会收到通知并更新状态。
例如,在一个购物网站中,当用户下单购买商品时,需要通知库存管理系统和订单管理系统等进行相应的处理。
可以使用观察者模式,在用户下单时,通知相关的系统进行处理。
观察者模式由被观察者和观察者组成。
观察者模式的应用场景观察者模式是一种设计模式,用于实现对象之间的一对多依赖关系。
在该模式中,一个对象(subject)维护了一个观察者列表,当subject的状态发生变化时,它会自动通知所有观察者,使它们能够做出相应的响应。
观察者模式可以帮助我们实现松耦合的设计,提高代码的复用性和可维护性。
下面我们将介绍观察者模式的几个常见应用场景。
一、图形界面组件观察者模式在图形用户界面(GUI)的设计中被广泛应用。
例如,在一个窗口中,可以有多个按钮,当按钮被点击时,窗口会触发相应的事件。
这些按钮就是观察者,窗口是被观察者。
当按钮被点击时,窗口会通知所有的按钮,并且每个按钮都可以根据需要进行响应,例如执行一段特定的代码。
通过观察者模式,可以实现图形界面组件之间的解耦,使得它们可以独立地进行开发和维护。
二、消息订阅与发布观察者模式也可以用于消息订阅与发布的场景。
在这种场景下,可以有多个消息的订阅者(观察者),当有新的消息发布时,订阅者会收到通知并进行相应的处理。
这种模式可以应用于各种场景,例如新闻订阅、实时数据监控等。
通过观察者模式,发布者和订阅者之间的耦合度得到了降低,方便了系统的扩展和维护。
三、事件处理在事件驱动的程序设计中,观察者模式也经常被用于事件的处理。
事件可以是用户的操作,例如鼠标点击、键盘输入等,也可以是系统的通知,例如网络连接成功、文件加载完成等。
当事件发生时,被观察者会通知所有的观察者,并且每个观察者可以根据自身的需要做出相应的处理。
这种模式使得事件的处理变得灵活而可扩展,方便了程序的开发和维护。
四、数据监控与同步观察者模式还可以用于数据监控与同步的场景。
例如,在一个分布式系统中,可以有多个节点,每个节点都有自己的状态。
当任何一个节点的状态发生变化时,需要通知其他的节点进行同步。
这时,可以使用观察者模式,将每个节点作为观察者,当任何一个节点的状态发生变化时,它会通知其他的节点进行相应的更新操作。
观察法的原则观察法是一种科学研究中常用的方法,通过观察事物的特征、现象和规律,来获得对事物本质和规律的认识。
观察法的原则包括客观性、一致性、系统性、准确性和全面性等。
观察法的第一个原则是客观性。
客观性要求观察者在观察过程中保持客观、公正的态度,尽量避免主观意见的干扰,以真实客观的数据和事实作为基础进行观察和分析。
比如,在研究动物行为时,观察者应尽量避免对动物行为的主观解读,而是准确记录和描述动物的行为表现。
观察法的第二个原则是一致性。
一致性要求观察者在相同条件下多次观察同一现象或事物,并得出一致的结论。
通过多次观察可以减少偶然误差的影响,提高观察结果的可靠性。
例如,在天文学中,科学家们会通过多次观察同一天体,以确保观察结果的一致性,从而获得更准确的数据。
观察法的第三个原则是系统性。
系统性要求观察者在观察过程中按照一定的顺序和方法进行观察,并将观察到的数据和信息进行整理和分析。
只有有条不紊地进行观察,才能得到准确可靠的结论。
例如,在地质调查中,地质学家们会根据一定的观察方法和程序,对地质现象进行系统地观察和记录,以便更好地了解地质变化的规律。
观察法的第四个原则是准确性。
准确性要求观察者在观察过程中注意细节,尽量减少误差的产生。
观察者应该使用准确的观察工具和技术,确保观察结果的准确性。
比如,在实验室中,科学家们会使用精密仪器和设备进行观察,以确保观察结果的准确性。
观察法的第五个原则是全面性。
全面性要求观察者在观察过程中尽量观察和记录事物的各个方面和细节,不偏废一方。
只有全面观察,才能获得对事物本质和规律的全面认识。
例如,在社会调查中,调查员会对被调查对象的各个方面进行观察和记录,以便全面了解社会现象和问题。
观察法作为科学研究中常用的方法,具有客观性、一致性、系统性、准确性和全面性等原则。
只有遵循这些原则,才能获得准确、可靠的观察结果,从而推动科学研究的发展。
在实际应用中,我们应该根据具体情况灵活运用观察法,并结合其他研究方法,以获得更深入的认识和更全面的结论。
数据库设计中使用的十个设计模式数据库是一个信息系统中最为核心的部分,直接负责着数据的存储、管理和分析。
为了能够更加高效地运用数据库这个工具,设计模式在数据库的设计中得到了广泛的应用。
以下是常用的十个数据库设计模式。
一、单例模式单例模式是指在整个程序中只有一个实例存在。
在数据库设计中,单例模式可以用于实现一个全局只有一个的数据管理类,可以避免多个实例之间的数据冲突,同时也可以节省内存空间。
二、工厂模式工厂模式是指通过一个工厂类创建出所需的对象。
在数据库设计中,可以将每个数据库表看作一个工厂类,然后根据数据需求创建出对应的对象,可以提高数据的灵活性和可维护性。
三、策略模式策略模式是指通过定义一系列算法来解决问题,然后根据情况选择相应的算法进行处理。
在数据库设计中,可以使用不同的策略来解决数据冗余、数据更新等问题,可以提高数据的准确性和处理效率。
四、观察者模式观察者模式是指将一个对象的状态变化告诉其他对象,使得这些对象能够根据情况进行相应的处理。
在数据库设计中,可以利用观察者模式来实现数据的联动更新和数据的自动化处理。
五、模板方法模式模板方法模式是指在一个抽象类中定义一个模板方法,然后提供一些抽象方法和钩子方法,在子类中具体实现这些方法。
在数据库设计中,可以利用模板方法模式来实现数据处理的流程规范化和优化。
六、装饰器模式装饰器模式是指在不改变原有对象的基础上,通过增加装饰器对象来实现功能的扩展。
在数据库设计中,可以利用装饰器模式来实现数据的加密、数据的缓存等额外功能。
七、代理模式代理模式是指通过一个代理对象控制对真实对象的访问,可以实现对对象的保护和控制。
在数据库设计中,可以使用代理模式来实现数据的权限控制和数据的安全性保证。
八、适配器模式适配器模式是指将一个类的接口转换成客户端所期望的另一种接口。
在数据库设计中,可以利用适配器模式来实现不同数据库之间的数据转换和数据共享。
九、命令模式命令模式是指将请求封装成一个对象,使得可以将请求的发送者和接收者解耦。
五种观察记录方法
在运用观察法时用到了以下五种观察记录方式:
1、连续记录法
连续记录时可用手记,也可以用录音机、录像机等将观察到的情况实录下来,然后再作书面整理。
连续记录法一般适用于实况详录观察法、轶事记录法和事件取样法的观察记录。
在进行人工书面连续记录时,应注意把对事实的客观描述,与记录者或观察者的主观解释和评价区别开来。
2、频率记录法
在时间取样法、频率计数图示法中,均须纪录行为的出现频率。
这样,就需要预先制定好记录表格,按照预先规定的行为分类系统及各种行为定义,在观察现场当即作出判断,记录表内。
记录时常把观察时间分为若干段,在每一时段中记录某重行为类型,观察工作结束后,可根据从各时段中累计的各类行为频率加以分析。
3、等级记录法
等级记录法适用于等级评定法中。
在编制评定量表时,应注意项目分布的合理性,问题与回答用语的简明性和定性词的明确性。
在记录时,观察者要以客观、全面地给以评定,避免主观情绪对记录过程的影响。
4、符号记录法
在对某种活动或事件进行连续观察、记录时,如果涉及到的对象多,用言语记录比较困难时,可用预先规定好的符号系统进行记录。
在制定符号系统时,必需首先进行行为的分类,考虑好观察中可能出现的行为类型,或选定研究者特别感兴趣的特定行为作为观察记录的目标,然后,用不同的符号代表各具体行为。
用符号记录,迅速方便,一目了然。
5、现代仪器辅助记录法
现代仪器辅助记录法,就是运用现代仪器(录音机、录像机、摄影机等)加以辅助,将有关信息保留下来,待事后整理、分析的方法。
观察者原理
观察者原理,又称为观察者模式或发布-订阅模式,是一种软件设计模式,用于在对象之间建立一对多的依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都能够得到通知和自动更新。
观察者原理的核心思想是将一个目标对象与多个观察者对象进行解耦,目标对象维护一个观察者列表,当目标对象的状态发生改变时,会遍历观察者列表,并调用每个观察者对象的更新方法,通知它们更新自己的状态。
在观察者模式中,目标对象和观察者对象分别扮演着不同的角色。
目标对象是被观察的对象,它负责维护观察者列表和通知观察者。
观察者对象则是接收目标对象的通知,并进行相应处理的对象。
观察者对象之间相互独立,它们可以根据自己的需求来决定是否对特定的目标对象进行观察。
观察者原理的优点是能够提高对象之间的松耦合性,使得目标对象和观察者对象可以独立地演化和重用。
同时,观察者原理也具有较好的扩展性,可以灵活地增加新的观察者对象。
然而,观察者原理也存在一些缺点。
首先,观察者模式可能会导致系统中观察者对象过多,增加了对象之间的交互复杂性。
其次,观察者模式在通知观察者时,是按照固定的顺序调用其更新方法的,这可能会导致顺序依赖的问题。
总的来说,观察者原理是一种简单而实用的设计模式,在许多
场景下都有广泛应用,如事件驱动系统、消息队列等。
通过将观察者对象与目标对象解耦,观察者原理能够提供一种可靠、灵活的通信机制,使得系统更加健壮和可扩展。
项目管理中的七个设计模式介绍在项目管理中,设计模式是一种重要的工具,它可以帮助我们更好地进行项目管理。
设计模式是指在特定情况下,针对某个问题或某些需求,根据经验和实践,一种可以复用的解决方案。
在这篇文章中,我们将介绍七种常见的设计模式,它们在项目管理中非常有用。
1. 单例模式在项目管理中,单例模式非常有用。
单例模式是指一个类只能创建一个实例,任何时候都只有一个实例被创建。
在项目管理中,我们可以使用单例模式来保证某些资源只被使用一次,比如数据库连接等。
这样可以减少资源的浪费,提高程序的性能和效率。
2. 工厂模式工厂模式是一种创建模式,它可以根据需求的不同创建不同的对象。
在项目管理中,我们可以使用工厂模式来创建各种对象,比如组件、模块等。
这样可以降低代码的耦合度,提高程序的可维护性和可扩展性。
3. 观察者模式观察者模式是一种行为模式,它可以让多个对象之间保持同步。
在项目管理中,我们可以使用观察者模式来监控某些事件的发生,比如用户登录、订单提交等。
这样可以让多个模块之间保持同步,实现更加灵活和高效的业务逻辑操作。
4. 外观模式外观模式是一种结构模式,它可以为复杂的系统提供一个简单的接口。
在项目管理中,我们可以使用外观模式来简化系统复杂度,提高系统的可维护性和可扩展性。
比如,我们可以将一些复杂的业务逻辑封装在单独的模块中,然后使用外观模式来简化对外的接口。
5. 命令模式命令模式是一种行为模式,它可以将请求封装成对象,然后在不同的对象中传递。
在项目管理中,我们可以使用命令模式来将多个操作封装成一个请求对象,比如撤销操作、恢复操作等。
这样可以提高程序的可维护性和可扩展性。
6. 适配器模式适配器模式是一种结构模式,它可以将两个不兼容的接口之间进行适配。
在项目管理中,我们可以使用适配器模式来解决各种接口之间的兼容性问题,比如将不同的数据库进行适配、将不同的数据格式进行适配等。
7. 策略模式策略模式是一种行为模式,它可以让算法独立于使用它的客户端而变化。
教育观察法的基本特点1. 强调客观、真实观察教育观察法是一种通过观察和记录来了解教育现象和过程的方法。
其基本特点之一是强调客观、真实观察。
在教育观察中,观察者应该尽可能客观地记录所见所闻,而不受主观偏见的影响。
这意味着观察者应该摒弃个人偏见,尽量采取中立的态度来进行观察,以保证所得到的信息是真实可靠的。
2. 多角度、全面观察教育观察法还要求观察者采用多角度、全面的方式进行观察。
这意味着观察者应该从不同的角度来看待同一个教育现象或过程,并尽可能多地获取相关信息。
只有通过多角度、全面的观察,才能够更加准确地了解教育现象和过程的本质。
3. 注重细节、深入分析在进行教育观察时,注重细节和深入分析是非常重要的。
细节可以提供更为具体、全面的信息,而深入分析可以帮助我们更好地理解教育现象和过程的内在规律。
观察者应该仔细观察并记录一切细节,同时对所观察到的现象进行深入分析,以便更好地揭示其中的本质。
4. 结合理论、实践相结合教育观察法强调理论和实践相结合。
观察者在进行教育观察时,应该结合相关的教育理论,并将其应用到实际观察中。
通过将理论与实践相结合,可以使观察者更加准确地把握教育现象和过程的本质,并能够提出更有针对性的建议和改进措施。
5. 反思与评估教育观察法还要求观察者进行反思和评估。
在进行教育观察后,观察者应该对所得到的信息进行反思,并对所观察到的现象进行评估。
这有助于发现存在的问题和不足,并提出相应的改进措施。
反思与评估也是对自身观察能力和方法的提升。
6. 科学、系统观察教育观察法强调科学、系统观察。
观察者应该遵循科学的观察方法和原则,进行有序、系统的观察。
观察者需要制定观察计划,明确观察目标和内容,并采用科学的数据收集和分析方法,确保所得到的信息具有科学性和可靠性。
7. 倾听与尊重在教育观察中,倾听与尊重是必不可少的。
观察者应该倾听各方的声音和意见,并尊重他们的立场和权益。
只有通过倾听与尊重,才能够真正理解教育现象和过程中各方的需求和期望,并提出更加合理有效的建议。
系统中的观察者——被科学遗忘的角色(5)2011-1-31 7:18:29人工智能人工智能观察者自指系统中的观察者人工智能观察与系统集智俱乐部jake五、自指——连接图形与衬底的金带在第二章《基本框架》中,我们曾对生命的本质进行过简单的探讨。
按照第二章的说法,“那些可以被形式因和目的因解释的系统就具备智能和生命”。
然而,这个答案仍然有些简单粗暴。
观察者为什么凭白无故地将因果箭头转向?在上一章《人工智能中的背景——玩家观察者》中,我们指出构建图灵机-观察者模型的一个重要目标就是要让计算机程序能够利用玩家的交互资源而不断地构建越来越深的虚拟层次。
然而,计算机程序是如何构建虚拟层的?所有这些问题都集中到一个古老而意义深远的名词:自指(Self-reference)。
本章的叙述框架如下:首先,在第1节中我们将简单回顾自指问题在数理逻辑、计算科学中的研究历史;其次,在第2节,我们专门论述了自然语言中的自指现象。
这一节对整个章节的理解都至关重要,因为本节利用人们熟悉、容易理解的自然语言将后续部分自指中的所有关键概念、方法都概括了。
所以,我希望读者能够花大力气搞懂这一小节,尤其是要透彻理解用蒯恩技术实现的间接自指,它是整个章节的精髓;然后,第3节主要介绍“自打印程序”,并试图用该程序说清建构性自指的概念;随后的第4节则将建构性自指升级,我们开始讨论递归定理,它被我称为“未开采的科学金矿”;第5节利用图灵停机问题和歌德尔定理(可跳过)作为实例介绍破坏性自指,我们将着重介绍蒯恩技术和自指悖论的构建方法;第6节将从另一个角度:“黄金对角线”,把第3、4、5节的主题重新论述一遍(此节可跳过),你会看到原来自指还可以有“几何表示法”;可以说前6节全部是在介绍有关自指的具体技术,只有到第7章才开始论述观察者与自指的关系。
上一章提出的图灵机-观察者模型将会在这里重新发挥作用;第8节则进一步将观察者与自指的关系提升到因果逆转的高度,并从深层次指出生命的本质就在于这种因果逆转;最后,第9节对全章进行小结。
1、自指——一条永恒的金带自指是一个非常古老的话题,它通常与古代奥义以及各种神秘哲学有关。
例如佛教中所提倡的“观身无常、观心无我”,以及古希腊的“认识你自己”,都在劝解人们能够将心智的观察箭头指向自己。
中国道家所倡导的“无”,正是一个最简单的一字悖论。
图5-1、自噬的蛇一幅最能体现自指深邃含义的图画莫过于这条正在吞噬自己的蛇。
此蛇作为一种图腾曾广泛出现在北欧神话、基督教神学、印度教和非洲宗教之中。
这条蛇将自指那种深刻的自我毁灭性体现得淋漓尽致——我们可以想象一下当它把自己吞噬完毕会产生怎样怪异的情景。
将这种自我毁灭性的古代奥义应用到现代科学中已经产生了一系列深刻的结论。
首先,在19世纪末,著名数学家康托尔(George Cantor)将“对角线删除”法则应用到集合论中,从而证明了实数的个数比自然数多。
紧接着,罗素(Bertrand Russell)提出了著名的“罗素悖论”而摧毁了弗雷格(Gottlob Frege)的数学大厦。
年仅25岁的哥德尔(Kurt Gödel)巧妙地应用同样的破坏性自指一举摧毁了数学大师希尔伯特(David Hilbert)的完备一致性的数学体系梦想。
图灵(Alan Turing)则利用同样的技巧进一步发现任何超级计算机都不可能求解的图灵停机问题。
纽约时报曾将哥德尔不完备定理评价为20世纪最伟大的数学定理。
自指可以用来构造破坏性的悖论已经是众人皆知、司空见惯了。
然而,这种认识其实很片面。
自指包含了比自指悖论更宽泛的内容,因为在自指大家庭中,还包括另外一类构建性的成员。
1953年,正当人们举杯欢庆沃森和克里克发现了DNA双螺旋结构,并从分子层面上解释了生命的自我复制之谜的时候,另外一名伟大的美国匈牙利裔数学家:约翰.冯诺依曼(John von Neumann)正在独立地思考着生命自我复制的逻辑基础。
然而,令人遗憾的是,那时的冯诺依曼已经患上了癌症,并于1957年的2月去世。
于是,他的助手阿瑟.伯克斯Arthur Burks将他关于自复制自动机理论的整理成书《Theory of Self-reproducing Automata》,并于1966年出版。
与沃森.克里克不同的是,冯诺依曼要寻找的是生命自我复制的逻辑基础而非物质基础。
虽然冯诺依曼没有明确指出,但是已经暗含了这个自复制的逻辑基础不是别的,正是一种自指结构。
也就是说,自指恰恰是生命实现自我复制的逻辑内核。
这也许会让读者感到困惑。
不是说,自指都是用来构造诸如哥德尔定理、罗素悖论之类的破坏性武器吗?实际上,还存在着另外一大类自指,笔者称之为“建构性的自指”,它不但不会引起破坏,反而能够创造很多令人意想不到的惊奇结构。
至于自我繁殖的系统是如何令人意想不到的,请参考第4节的讨论。
实际上,早在1938年,与哥德尔共同奠定递归函数论基础的数学家克林尼(Stephen Kleene)就证明了递归函数论中的一个著名定理:递归定理(更精确地说,应该叫Kleene第二递归定理)。
根据它,人们可以很轻松地得到一个数学推论,系统的自我复制是可能的。
证明递归定理的核心技巧,是一个被称为“蒯(kuai3)恩”的特别技术。
蒯恩(Willard.V. Quine)是美国的哲学家,终身致力于哲学、数理逻辑、集合论的研究。
他创造了一种称之为蒯恩的方法,使得人们可以不通过使用“我”或者“这句话”等词语就能创造出可以谈论自身的句子来。
有趣的是,蒯恩构造恰恰就是那条“黄金对角线”(这一方法正是当年康托尔最早提出证明实数比自然数多的方法,也是哥德尔定理构造哥德尔句子的关键技术)。
只不过,康托尔、哥德尔等人的对角线与蒯恩的对角线方法稍有不同。
我们会在第6节中详细地讨论这些技术。
总而言之,从宗教到科学,从悖论到自复制,自指是贯穿始终的主题。
正如《哥德尔、艾舍尔、巴赫》这本书指出的那样,自指是一条永恒的金带。
2、语言中的自指提到自指,很多读者马上就会联系到那句臭名昭著的悖论句子:这句话是错的这句话之所以让人讨厌,是因为你无论从正面(即假设它是对的),还是从反面(即假设它是错的),都会得出相反的结论。
因此,这句话既不对也不错。
然而,这句“说谎者悖论”仅仅是广大自指语句家庭中的成员之一,有很多语言是自指的,但却是无害的甚至是有益的。
比如下面的句子:这句话是对的这句话就是一个既可以是对又可以是错的句子。
你可以非常虔诚地承认这句话所论述的内容是对的,然后,再看它的内容,它正在陈述:它自己是对的。
于是你初期的假设被证实了。
另一方面,当你假设它是错误的时候,你就会知道它的语义“这句话对”是错误的,于是你就真的得到了这句话就是错误的结论。
也就是说这句话的对错完全取决于你的假设。
当然,还有一些更好玩的自指句子,如:这句话有2个‘这’字,2个‘句’字,2个‘话’字,2个‘有’字,7个‘2’字,11个‘个’字,11个‘字’字,2个‘7’字,3个‘11’字,2个‘3’字这被称为自描述语句,也就是说这个句子正在描述自己的“分子”构成。
当你尝试独立写下这样一个自描述语句的时候就会发现,你其实并没有创造这句话,而是这句话正在“迫使”你写出它自己。
这是因为,按照这个句子的逻辑一旦你开始写下第一个字,你就必须按照已出现的字的情况而自动补全后面的句子。
同时,这个语句还具有了不起的自我修复性。
你不妨将该句子中的某一个汉字删掉(例如你删除第一个‘2’字),就会很快发现该句子中的一部分出现问题了,即“7个‘2’字”是错误的。
因此,你会根据句子整体的意思指导而发现你少了一个‘2’字。
因此,自指不都是破坏性的,更多的自指是无害的,而且可以给我们带来一定的“惊奇性”。
这种惊奇性的来源主要是自指语句中包含的无穷递归,因为它可以创造无限的虚拟层次。
虚拟层次是一个我们司空见惯的概念,例如故事中的故事,电影中的电影,梦境中的梦境等等(电影《盗梦空间》(Inception)就是对梦中梦层次的一个非常好的展示)。
在上一章中,我们已经领略了程序是可以通过模拟而产生多个虚拟层次的。
在语言中,我们不妨将引号看作是标识一个新的虚拟层次出现的符号。
这样,下面这句话:“明天会下雨”是错的就包含了两个层次,更深一层的句子是“明天会下雨”,而上面一层则是“‘明天会下雨’是错的”。
当然,我们通过不断地加引号就能创造出各种复杂的嵌套结构。
另外,人们发明了一类代词可以指代不同的句子。
例如“这句话”,“那句话”。
这些代词就仿佛是一个指针会将一个句子整体放到一个引号中而实现多个层次的嵌套。
例如下面两句话:下面的句子是对的明天会下雨在第一句话中出现了一个指代词“下面的句子”,它是一个指针指向了“明天会下雨”这句话,于是我们观察者作为一个解读器就会将这两句话解释为:“明天会下雨”是对的也就是说,我们照指代词的意思将“明天会下雨”这句话加上了引号放到了第一句中的“下面的句子”那个指代词之中了。
于是,指代词创造了包含了两个虚拟层次的句子。
按照同样的逻辑,当我们遇到了指代词“这句话”的时候会发生什么呢?我们将会得到一个包含无穷虚拟层次的语句。
例如我们将自指语句“这句话是错的”按照代词的法则展开就会得到:““““…………”是错的”是错的”…………”是错的”是错的我们看到,只要“这句话”这个指代词一出现,我们就能够得到无穷。
因此,自指语句往往都与无穷虚拟层次有关。
注意,我这里用的词语是“往往”,而不是“一定”。
之所以这样说,是因为的确存在着一种构造自指语句的方法,让我们绕过无穷。
这种方法就是大名鼎鼎的蒯恩法。
在讨论蒯恩之前,让我们先来领教句子中的动词(动词短语)。
大部分动词是与我们读句子的观察者无关的,例如:小明起床了这个句子表达了小明这个人物正在做的一个动作是起床了。
其中“起床了”就是一个动词。
当然,有很多动词不仅可以描述一个人或者事物,还可以去描述句子,例如:“小明起床了”包含5个字这里面的“包含5个字”就是一个描述句子“小明起床了”的动词。
还有一些句子包含了动词,而这个动词是使役我们读这个句子的观察者做出某种动作的:删除“小明起床了”中的第一个字这个“删除第一个字”的动作就是使役读句子的观察者做出的,于是,我们按照这个句子的说法进行操作,就会得到一个新句子:明起床了我们可以再做稍微复杂一点的操作,例如:把“小明起床了”中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变按照这个句子所描述的复杂操作(你最好拿来一个草稿纸,自己在纸上写一写),我们就可以得到:小“小明起床了”明起床了好,既然你已经熟悉了这个复杂的操作,那么让我们来看下面一个古怪的句子:把“把中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变”中的第一个字放到左引号前面,其余的字放到右引号后面,并保持引号及其中的字不变如果按照这个句子指示的操作你会得到什么?让我们来做一做。