认知复杂性与系统设计中的简化之道
立即解锁
发布时间: 2025-08-26 01:58:43 阅读量: 31 订阅数: 16 AIGC 


实时系统设计原理与应用
# 认知复杂性与系统设计中的简化之道
## 1. 认知与问题解决
认知涉及对思维过程的研究,以及将感官输入与个人现有知识库进行解释和绑定。它是一门跨学科的领域,介于人文科学(如哲学、语言研究和社会科学)和自然科学(如神经科学、逻辑学和计算机科学)之间。在认知科学中,模型构建、问题解决和知识表示的研究占据着重要地位。
### 1.1 人类的两种问题解决子系统
人类拥有两种截然不同的心理子系统来解决问题:直觉 - 经验子系统和分析 - 理性子系统。神经影像学研究表明,这两个子系统在人类大脑的不同区域运行。以下是它们的一些区别:
| 对比项 | 直觉 - 经验子系统 | 分析 - 理性子系统 |
| --- | --- | --- |
| 处理方式 | 整体的 | 分析的 |
| 导向 | 情感(感觉良好的) | 逻辑推理(合理的) |
| 连接关系 | 非反思性的联想连接 | 因果关系、因果链 |
| 目标导向 | 结果导向 | 过程导向 |
| 行为调节 | 由过去经验的氛围调节 | 由对事件的有意识评估调节 |
| 现实编码 | 以具体图像、隐喻和叙述编码现实 | 以抽象符号、文字和数字编码现实 |
| 处理速度 | 处理速度更快,立即行动 | 处理速度较慢,延迟行动 |
| 结构变化 | 基本结构变化缓慢:通过重复或强烈的经验改变 | 变化更快,随思维速度变化 |
| 经验处理 | 被动和潜意识地处理经验,受情绪支配 | 主动和有意识地处理经验,掌控思想 |
| 有效性 | 不言而喻的有效:眼见为实 | 需要通过逻辑和证据证明 |
直觉 - 经验子系统是一个基于情感的前意识子系统,它整体、自动且快速地运行,执行时所需的认知资源极少。由于几乎不费力气,它在大多数时候被使用。它可以访问一个庞大的连贯知识库,该知识库代表了世界的隐式模型,这是个人概念景观的一部分,主要由个人一生中积累的经验和情感事件构建和维护。
分析 - 理性子系统是一个有意识的分析子系统,它根据因果律和逻辑运行。我们通过隔离主要原因、抑制看似无关的细节,并在主要原因和观察到的效果之间建立单向因果链,来理解动态场景。如果因果关系难以清晰隔离,或者因果关系是非确定性的,那么理解场景就会更加困难。
这两个子系统之间存在着许多微妙的相互关系,它们构成了问题解决策略连续体的两端,两者会合作以找到解决方案。例如,在理性子系统尝试失败后,经验子系统有时会无意识地产生问题的解决方案,然后由理性子系统用分析和逻辑论证来证明其合理性。反复遇到类似问题、积累经验、努力学习和训练会使问题解决过程逐渐从理性子系统转移到经验子系统,从而释放之前分配给有限理性子系统中问题解决过程的认知资源。
### 1.2 概念的定义
在不断变化的世界中,识别和维护关于对象和情况的永久和特征属性的知识对于生存至关重要。这种知识是通过抽象过程获得的,即将具体事物从属于一般事物,使关于一般事物的知识适用于许多具体事物。抽象是人类认知系统的一项基本任务。
抽象形成了类别,类别是一组具有共同特征的元素。概念是一个类别,它通过一组关于其与其他类别关系的信念得到增强。这些信念将新概念与现有概念联系起来,并提供了一个隐式理论(主观心理模型)。随着新领域的探索,新的概念会形成并与概念景观中已有的概念相联系。
### 1.3 认知复杂性
当我们说观察者理解一个场景时,意味着场景表示中使用的概念和关系已与观察者的概念景观和推理方法充分关联。联系越紧密,理解就越好。理解(以及因此的简单性)是观察者与场景之间的一种关系,而不是场景的属性。
复杂性只能分配给物理系统的模型,而不是物理系统本身。我们认为,给定观察者理解模型所需的时间是衡量认知努力的合理指标,因此也是模型相对于观察者的复杂性的指标。
大型系统的认知复杂性取决于为了理解整个系统而必须理解的不同模型的数量和复杂性。理解这些模型所需的时间可以被视为大型系统认知复杂性的衡量标准。案例研究表明,可感知的信息对于理解系统行为起着重要作用,已识别子系统之间不可见的信息流是理解的重大障碍。
### 1.4 简化策略
人类理性问题解决子系统的存储和处理能力资源是有限的。当场景需要的认知资源超出给定限制时,人类倾向于应用简化策略来减少问题的规模和复杂性。以下是四种简化策略:
- **抽象**:形成一个更高层次的概念,抓住问题的本质,通过省略与抽象目的无关的细节来降低场景的复杂性。抽象可以递归应用。
- **分区**:将问题场景划分为几乎独立的部分,这些部分可以单独成功研究。分区是还原论的核心,是过去300年来自然科学中首选的简化策略,但在涉及涌现属性时存在局限性。
- **隔离**:在试图找到主要原因时抑制看似无关的细节。主要原因形成因果链的起点,但这种策略可能导致对现实的过于简单化的模型。
- **分段**:将复杂的行为在时间上分解为较小的部分,这些部分可以依次处理。分段减少了在任何特定时刻必须并行处理的信息量,但如果行为由高度并发的过程组成、依赖于许多相互依赖的变量且具有强烈的非线性,则分段可能困难或不可能。
## 2. 概念景观
概念景观指的是个人在心理的经验和理性子系统中建立和维护的个人知识库。经验子系统中的知识库是隐式的,而理性子系统中的知识库是显式的。它可以被看作是一个相互关联的概念的结构化网络,定义了个人的世界模型、个性和意图。
### 2.1 概念形成
概念的形成受以下两个原则的支配:
- **效用原则**:新概念应包含场景中对实现既定目的有用的属性。目的由人类满足基本或高级需求的欲望决定。
- **简约原则(奥卡姆剃刀)**:在一组具有可比效用的替代概念化方案中,选择需要最少心理努力的方案。
似乎存在一个自然的分类级别,既不太具体也不太一般,在人类交流和对某个领域的思考中被使用,我们称之为基本级别概念。儿童研究表明,基本级别概念比子概念或包含性概念更早被习得。随着儿童的成长,他们通过观察感知中的规律并将感知属性分组为新类别,不断构建和扩展他们的概念景观。
### 2.2 科学概念
在科学领域,新的概念被引入以表达新的思维单元。一个好的科学概念应具有以下属性:
- **效用**:服务于一个有用且明确界定的目的。
- **抽象与细化**:从所研究场景的较低层次属性中抽象出来,明确哪些属性不属于该概念。在细化基本级别概念时,应清楚说明在细化概念中考虑了哪些额外方面。
- **精确性**:新概念的特征属性必须精确界定。
- **独特性**:具有独特的身份,与该领域的其他概念有显著差异。
- **稳定性**:在许多不同的上下文中可以统一使用,无需任何限定或修改。
- **类比**:如果现有概念景观中存在与新概念在某些方面类似的概念,应指出这种相似性,以帮助建立与用户现有概念景观的联系,促进理解。
科学领域的成熟标志是拥有一组有用、定义明确且稳定的概念和相关术语,这些概念和术语被科学界普遍接受和使用。本体是一种共享的分类法,它以对特定应用领域有用的方式对术语进行分类,该领域的所有参与者对术语的含义有相似的理解水平。科学领域的进步与概念形成和明确本体的建立密切相关。
### 2.3 消息的概念
消息是通信领域的一个基本概念。它是一个原子单元,在适用于许多不同人类通信和机器通信场景的抽象级别上,捕捉了单向信息传输的值域和时域。基本消息传输服务(BMTS)将消息从发送者传输到一个或一组接收者,它可以通过不同的方式实现,如生物或电气方式。
在分布式嵌入式计算机系统的架构层面,消息概念也是基本的。如果封装子系统之间的BMTS基于单向时间可预测的多播消息,那么数据方面、定时方面、同步方面和发布方面将集成在一个单一机制中。协议是基于规则的消息交换序列的抽象,它可以提供额外的服务,如流量控制或错误检测,并且可以通过分解为涉及的消息来理解,而无需详细说明所使用的具体传输机制。
### 2.4 变量的语义内容
变量是计算领域的一个基本概念,它可以被视为一种语言结构,将属性分配给一个概念。如果这种分配有效的实时点(即时)是相关的,我们称该变量为状态变量。变量由两部分组成:固定部分(变量名或标识符)和变量部分(分配给变量的值)。变量名指定了决定我们所讨论内容的概念,在给定上下文中必须唯一,并在所有通信伙伴处指向相同的概念。变量传达的含义称为变量的语义内容,它在表示形式变化时保持不变。
在不同的语言社区中,不同的变量名可能指向相同的概念。当涉及连接由两个不同组织根据两种不同架构风格开发的两个子系统的网关组件时,变量名和表示形式的差异变得重要,网关组件必须在保持语义内容不变的情况下进行转换。
数据描述(对象)数据属性的有时被称为元数据。在我们的变量模型中,描述变量固定部分属性的数据是元数据,而变量的可变部分(值集)是(对象)数据。元数据和数据的区别相对于观察者的观点而言是相对的。
## 3. 模型构建的本质
鉴于人类思维理性子系统的认知能力相当有限,我们只有构建与我们相关且感兴趣的属性的简单模型,并忽略对给定目的无关紧要的细节,才能对周围世界形成理性的理解。模型是对现实的有意简化,其目标是解释与特定目的相关的现实属性。
### 3.1 目的与观点
在任何建模活动开始时,必须明确模型的目的。精确表述模型必须解决的问题有助于明确模型的目的。如果模型的目的不清晰,或者有多个不同的目的需要满足,那么就无法开发出简单的模型。
递归应用抽象原则会形成一个模型层次结构,Hayakawa称之为抽象阶梯。从理解一个领域必不可少的基本级别概念开始,可以通过抽象形成更一般的概念,通过细化形成更具体的概念。抽象阶梯的最低层是直接的感官体验。
一个关于真实系统特定属性的问题会引发构建该系统的模型层次结构,以回答这个问题。每个层次结构的顶部是既定的目的,即必须回答的问题。层次结构的不同级别(抽象级别)是为了支持逐步细化既定问题,同时考虑到人类思维有限的认知能力。层次结构的低端是真实系统。如果模型的结构与系统的结构相符,分析将大大简化;否则,我们必须解决结构冲突,这会使问题复杂化。
### 3.2 重大挑战
自然科学家必须揭示给定现实中的规律,并在适当的抽象级别找到合适的概念,以制定解释观察到的现象的模型和理论。而计算机科学家理论上处于更有利的位置,因为他们可以自由设计作为建模对象的系统(人工制品)。因此,构建其属性可以通过简单模型分析的人工制品的要求应该成为明确的设计驱动力。然而,在计算机科学的许多领域,这一原则被违反。
设计的主要挑战是构建一个软件/硬件人工制品(嵌入式计算机系统),该系统在给定的约束条件下提供预期的行为(即服务),并且该人工制品的相关属性(如行为)可以在不同的抽象级别通过足够简单的模型进行建模。
有许多不同的目的会导致人工制品的模型层次结构的产生,如行为、可靠性、人机交互、能源消耗、物理尺寸、制造成本或维护成本等。其中,行为模型最为重要。在实时系统的背景下,行为指定了计算机系统作为输入、状态和实时进展的结果所产生的输出动作。输入动作和输出可以用输入消息和输出消息的概念来捕捉。
## 4. 涌现
当子系统的相互作用在系统层面产生子系统层面不存在的独特全局属性时,我们称之为涌现。子系统的非线性行为、反馈和前馈机制以及时间延迟与涌现属性的出现有关。到目前为止,涌现现象尚未完全被理解,仍是一个深入研究的主题。
### 4.1 不可还原性
涌现属性是不可还原的、整体的和新颖的,当系统被划分为子系统时,它们就会消失。涌现属性可能意外出现,也可能是有意设计的。在许多情况下,涌现属性的首次出现是不可预见和不可预测的。通常需要对现有模型进行根本性修订,以更好地理解导致预期涌现的条件。在某些情况下,涌现属性可以在更高的抽象级别通过新的概念化(模型)来捕捉,从而使场景突然简化。
### 4.2 先验属性与派生属性
在处理涌现时,区分组件的先验属性和组件相互作用产生的新派生属性是有帮助的。在许多情况下,先验属性和派生属性可能完全不同。派生属性常常开辟一个全新的科学和工程领域,这个新领域需要形成捕捉其基本属性的新颖概念。
先验属性和派生属性相对于观察者的观点而言是相对的。当沿着抽象阶梯向上时,一个抽象级别的派生属性会成为下一个更高级别的先验属性,因为更高层次可能会出现新的涌现形式。
涌现行为无法通过分析预测,必须在运行系统中检测。因此,控制元素必须包含用于实时监控系统性能的钩子。多播消息概念为非侵入式观察系统行为提供了基础。
### 4.3 复杂系统
如果我们无法开发出一组与人类理性能力相称的足够简单的模型来解释系统的结构和行为,我们就将该系统归类为复杂系统。除了生命和意识之外,地球的气候和天气、全球经济、生物体以及许多大型计算机系统等都是复杂系统的例子。
我们认为,只有通过适当的概念化,而不是通过执行复杂的计算机模拟,才能实现对复杂系统的深入理解。也许在未来的某个时候,我们会形成适当的概念,使当今的一些复杂系统突然变得简单。如果发生这种情况,这些系统将不再被归类为复杂系统。
在设计大型计算机系统这样的人工制品时,我们应该考虑人类有限的理性问题解决能力,以便能够用足够简单的模型描述其行为。这些模型应该指导设计过程,避免模型与人工制品之间的结构冲突。
## 5. 如何实现简单性
认知科学家研究了学生如何学习和理解不同的任务,并确定了一组需要不成比例的脑力来理解的任务特征。以下是简单任务与困难任务的特征对比:
| 简单任务特征 | 困难任务特征 |
| --- | --- |
| 静态:任务的属性不随时间变化 | 动态:任务的属性随时间变化 |
| 离散:表征任务的变量只能从离散集合中取值 | 连续:变量的域是连续的 |
| 可分离:不同子任务几乎独立,任务之间只有微弱的相互作用 | 不可分离:不同子任务高度交互,难以分离单个任务的行为 |
| 顺序:行为可以通过顺序的逐步分析来理解 | 同时:许多并发过程相互作用产生可见行为,逐步分析困难 |
| 同质:组件、解释方案和表示方式相似 | 异质:有许多不同的组件、解释方案和表示方式 |
| 机制:因果关系占主导地位 | 有机性:行为以大量反馈机制为特征 |
| 线性:函数关系是线性的 | 非线性:函数关系是非线性的 |
| 通用:解释原则不依赖于上下文 | 条件性:解释原则依赖于上下文 |
| 规则:领域以原则和规则的高度规律性为特征 | 不规则:有许多不同的上下文相关规则 |
| 表面:重要原则和规则通过观察可观察的表面属性即可明显看出 | 深度:重要原则是隐蔽和抽象的,观察表面属性时无法检测到 |
为了实现简单性,我们需要设计一个通用模型来表达嵌入式系统的行为,避免困难任务的特征。该模型应该能够递归应用,以便使用相同的建模机制在不同的抽象级别对大型系统进行建模。以下是实现简单性的七个设计原则:
1. **抽象原则**:引入组件(硬件/软件单元)作为基本结构和计算单元,使其可以基于精确的接口规范使用,而无需了解组件操作的内部细节。为了在出现故障时保持组件的抽象性,组件应该是故障隔离单元。如果组件之间存在层次关系,则可以区分不同的抽象级别。
2. **关注点分离原则**:通过解开可分离的功能,将它们分组到独立的架构单元中,从而构建简单的系统,产生稳定的中间形式。例如,严格分离计算活动和通信活动,使通信系统和计算组件可以独立开发。
3. **因果原则**:人类的分析 - 理性问题解决子系统擅长沿着因果链进行推理。基本机制的确定性行为使得能够毫无疑义地建立原因与结果之间的因果链。
4. **分段原则**:尽可能将难以理解的行为分解为串行行为结构,以便对行为进行顺序的逐步分析。每个步骤只需要研究与该步骤相关的有限上下文。
5. **独立性原则**:将架构单元(组件或集群)之间的相互依赖关系减少到应用程序所需的必要最小值。例如,为组件之间的通信提供单一的单向原语,从而通过设计消除消息发送者对接收者正确操作的低级依赖。
6. **可观察性原则**:架构单元之间不可见的通信通道会严重阻碍对系统行为的理解。通过在基本消息传递原语中支持多播拓扑,可以避免这个问题,从而可以在没有探测效应的情况下观察任何组件的外部行为。
7. **一致时间原则**:实时进展是嵌入式系统物理子系统任何行为模型中的一个重要独立变量。该原则建议在分布式计算机系统中引入全局时间基准,以便基于全局时间戳建立系统范围的一致时间关系(如同时性)和事件之间的时间距离。全局时间的可用性简化了分布式系统中许多问题的解决方案。
综上所述,在认知与系统设计的领域中,我们深入探讨了人类的认知方式、概念的形成与运用、模型构建的要点以及涌现现象等多个方面。通过理解人类的两种问题解决子系统,我们能更好地利用各自的优势来应对不同类型的问题。在构建系统时,遵循上述的简化策略和设计原则,能够帮助我们降低系统的认知复杂性,使系统更加易于理解和管理。同时,对于涌现现象的研究也提醒我们,在面对复杂系统时需要不断探索新的概念和方法,以实现对系统更深入的理解和掌控。
0
0
复制全文
相关推荐









