模糊网络的形式化模型与基本操作
立即解锁
发布时间: 2025-08-17 01:38:31 阅读量: 1 订阅数: 2 

### 模糊网络的形式化模型与基本操作
#### 1. 关联矩阵和邻接矩阵
关联矩阵和邻接矩阵是用于表示模糊网络(FN)整体结构压缩图像的新型形式化模型。与网格和互连结构类似,它们描述了节点的位置以及节点之间的连接。在使用这两种矩阵时,需要引入一个起始节点 S 用于虚拟生成输入,以及一个结束节点 E 用于虚拟接收输出。这两个额外的节点使得将 FN 转换为等效图成为可能,进而可以用关联矩阵和邻接矩阵进行分析描述。
关联矩阵描述了各个规则库之间的相互作用。矩阵的行标签表示规则库,列标签表示相关的相互作用。有序节点对之间的每个现有连接在关联矩阵中由一对元素 (1, -1) 表示,而缺失的连接则用零表示。对于每个连接,相关对中的 ‘1’ 元素指定输出节点,‘ -1’ 元素指定输入节点。例如,对于特定的 FN,其关联矩阵如下:
| Connection | x11 | z11,12 | y12 | x21 | z21,22 | y22 |
| --- | --- | --- | --- | --- | --- | --- |
| Node S | 1 | 0 | 0 | 1 | 0 | 0 |
| N11 | -1 | 1 | 0 | 0 | 0 | 0 |
| N12 | 0 | -1 | 1 | 0 | 0 | 0 |
| N21 | 0 | 0 | 0 | -1 | 1 | 0 |
| N22 | 0 | 0 | 0 | 0 | -1 | 1 |
| E | 0 | 0 | -1 | 0 | 0 | -1 |
邻接矩阵以略有不同的方式呈现关联矩阵中的信息。在邻接矩阵中,行标签和列标签都表示规则库。有序节点对之间的每个现有连接用 ‘1’ 表示,缺失的连接用 ‘0’ 表示。与关联矩阵明确指定每个连接和相关节点对不同,邻接矩阵仅指定哪些节点对通过连接相连。同样对于上述 FN,其邻接矩阵如下:
| Node | S | N11 | N12 | N21 | N22 | E |
| --- | --- | --- | --- | --- | --- | --- |
| Node S | 0 | 1 | 0 | 1 | 0 | 0 |
| N11 | 0 | 0 | 1 | 0 | 0 | 0 |
| N12 | 0 | 0 | 0 | 0 | 0 | 1 |
| N21 | 0 | 0 | 0 | 0 | 1 | 0 |
| N22 | 0 | 0 | 0 | 0 | 0 | 1 |
| E | 0 | 0 | 0 | 0 | 0 | 0 |
关联矩阵和邻接矩阵非常适合对具有多个或网络化规则库的模糊系统进行形式化建模。特别是,它们适用于在较高抽象级别对 FN 进行形式化建模,只需指定各个节点的输入、输出和连接。然而,使用语言合成方法将网络化规则库简化为语言等效的单个规则库时,这两种矩阵不太容易进行操作。
#### 2. 方块图和拓扑表达式
方块图和拓扑表达式是先进的新型形式化模型,用于表示 FN 整体结构的压缩图像。与网格和互连结构类似,它们描述了节点的位置以及节点之间的连接。每个节点的下标指定其在网络中的位置,第一个下标表示级别编号,第二个下标表示层编号。此外,方块图和拓扑表达式指定了关于节点的所有输入、输出和连接。
对于一个四节点的 FN,可以用如下方块图表示:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(x11):::process --> B(N11):::process
B --> C(z11,12):::process
C --> D(N12):::process
D --> E(y12):::process
F(x21):::process --> G(N21):::process
G --> H(z21,22):::process
H --> I(N22):::process
I --> J(y22):::process
```
图中的箭头表示第一层节点的输入集 {x11, x21} 和第二层节点的输出集 {y12, y22},同时也表示连接节点对的连接集 {z11,12, z21,22}。
该 FN 还可以用拓扑表达式表示:
{[N11](x11 | z11,12) H [N12](z11,12 | y12)}V{[N21](x21 | z21,22) H [N22](z21,22 | y22)}
在拓扑表达式中,每个节点放在方括号 ‘[ ]’ 内,每个节点的输入和输出放在紧跟节点的圆括号 ‘( )’ 内,输入和输出用竖线 ‘|’ 分隔。顺序节点用符号 ‘H’ 表示水平相对位置,并行节点用符号 ‘V’ 表示垂直相对位置。在表达式中,水平相对位置相对于垂直相对位置的优先级由花括号 ‘{ }’ 指定。
方块图和拓扑表达式非常适合对具有多个或网络化规则库的模糊系统进行形式化建模。它们适用于在较高抽象级别对 FN 进行形式化建模,并且在使用语言合成方法将网络化规则库简化为语言等效的单个规则库时,易于进行操作。
#### 3. 形式化模型的比较
不同类型的形式化模型在处理 FN 中的节点、连接和动态方面具有不同的特点,具体如下表所示:
| 形式化模型 | 节点 | 连接 | 动态 |
| --- | --- | --- | --- |
| If - then 规则 | 是 | 否 | 否 |
| 整数表 | 是 | 否 | 否 |
| 布尔矩阵 | 是 | 否 | 是 |
| 二元关系 | 是 | 否 | 是 |
| 网格结构 | 否 | 是 | 否 |
| 互连结构 | 否 | 是 | 否 |
| 关联矩阵 | 否 | 是 | 否 |
| 邻接矩阵 | 否 | 是 | 否 |
| 方块图 | 否 | 是 | 是 |
| 拓扑表达式 | 否 | 是 | 是 |
从表中可以看出,If - then 规则和整数表主要适用于对相当简单且不相连的 FN 中的节点进行形式化建模;布尔矩阵和二元关系适用于对更复杂且相连的 FN 中的节点进行形式化建模;网格和互连结构适用于对整个 FN 进行形式化建模,但主要是在静态上下文中,并与布尔矩阵或二元关系一起使用;关联矩阵和邻接矩阵在关联的 FN 结构不发生变化的假设下具有类似的特点;而当需要将网络化规则库简化为语言等效的单个规则库时,方块图和拓扑表达式是最适合的形式化模型,它们适用于在动态上下文中对整个 FN 进行形式化建模,并与布尔矩阵或二元关系一起使用。
#### 4. 模糊网络的基本操作
##### 4.1 基本操作概述
将网络化规则库简化为语言等效的单个规则库的过程,基于对节点的几个基本操作。这些操作可以是二元的,也可以是一元的,即可以应用于一对节点或单个节点。每个二元操作都有一个对应的一元逆操作。为了简化说明,所有操作都以具有标量输入、输出和中间变量的节点为例进行介绍,但这些操作扩展到向量情况是很直接的。
这些基本操作中,有些在数学中是已知的,而有些则是基于新理论最近引入的。操作使用布尔矩阵或二元关系作为模糊网络节点级别的形式化模型,这些模型在语言合成方法的背景下易于操作,因此这些基本操作可以看作是将任意复杂的模糊网络简化为模糊系统的基本构建块。
##### 4.2 节点的水平合并
水平合并是一种二元操作,可应用于模糊网络中同一级别的一对顺序节点。该操作将这对操作数节点合并为一个单一的乘积节点。当第一个节点的输出作为中间变量前馈给第二个节点作为输入时,可以应用此操作。此时,乘积节点的输入与第一个操作数节点的输入相同,输出与第二个操作数节点的输出相同,中间变量在乘积节点中不再出现。
- **使用布尔矩阵时**:当使用布尔矩阵作为操作数节点的形式化模型时,水平合并操作等同于布尔矩阵乘法。布尔矩阵乘法类似于常规矩阵乘法,但每个算术乘法被 “最小” 操作取代,每个算术加法被 “最大” 操作取代。乘积矩阵的行标签与第一个操作数矩阵的行标签相同,列标签与第二个操作数矩阵的列标签相同。
- **使用二元关系时**:当使用二元关系作为操作数节点的形式化模型时,水平合并操作等同于标准关系合成。
**示例**:
考虑一个四节点模糊网络中位于第一级的顺序操作数节点 N11 和 N12。这两个节点由布尔矩阵和二元关系描述,它们之间的连接由互连结构给出。这两个节点构成一个两节点模糊网络,可由以下方块图和拓扑表达式描述:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(x11):::process --> B(N11):::process
B --> C(z11,12):::process
C --> D(N12):::process
D --> E(y12):::process
```
拓扑表达式:[N11] (x11 | z11,12) * [N12] (z11,12 | y12)
符号 ‘*’ 表示可以对节点 N11 和 N12 应用水平合并操作。水平合并这两个节点后,得到一个单一的乘积节点 N11*12,它代表了两节点模糊网络简化后的单节点模糊网络,可由以下方块图和拓扑表达式描述:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(x11):::process --> B(N11*12):::process
B --> C(y12):::process
```
拓扑表达式:[N11*12] (x11 | y12)
乘积节点 N11*12 可以用以下布尔矩阵和二元关系描述:
```plaintext
N11*12 : y12 1 2 3
x11
1 0 1 0
2 1 0 0
3 0 0 1
```
```plaintext
N11*12 : {(1, 2), (2, 1) (3, 3)}
```
同样,对于位于第二级的顺序操作数节点 N21 和 N22,也可以进行水平合并操作。合并后得到乘积节点 N21*22,其布尔矩阵和二元关系描述如下:
```plaintext
N21*22 : y22 1 2 3
x21
1 1 0 0
2 0 0 1
3 0 1 0
```
```plaintext
N21*22 : {(1, 1), (2, 3) (3, 2)}
```
##### 4.3 节点的水平拆分
水平拆分是一种一元操作,可应用于模糊网络中的单个节点。该操作将一个操作数节点拆分为一对顺序的乘积节点,第一个乘积节点的输入与操作数节点的输入相同,第二个乘积节点的输出与操作数节点的输出相同。此时,在乘积节点之间会出现一个中间变量,它是第一个乘积节点的输出并作为输入前馈给第二个乘积节点。
- **使用布尔矩阵时**:当使用布尔矩阵作为操作数节点的形式化模型时,水平拆分操作等同于布尔矩阵分解。布尔矩阵分解类似于常规矩阵分解,即两个因子的乘积等于被分解的矩阵。第一个乘积矩阵的行标签与操作数矩阵的行标签相同,第二个乘积矩阵的列标签与操作数矩阵的列标签相同。由于任何布尔矩阵都可以分解为相同的矩阵和一个适当维度的单位矩阵,所以水平拆分操作至少在这种平凡情况下总是可以应用的。
- **使用二元关系时**:当使用二元关系作为操作数节点的形式化模型时,水平拆分操作等同于标准关系分解。由于任何二元关系都可以分解为相同的关系和一个适当基数的单位关系,所以水平拆分操作至少在这种平凡情况下总是可以应用的。
**示例**:
考虑一个操作数节点 N11/12,它与前面水平合并示例中的乘积节点 N11*12 相同。该节点由布尔矩阵和二元关系描述,代表一个单节点模糊网络,可由以下方块图和拓扑表达式描述:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(x11):::process --> B(N11/12):::process
B --> C(y12):::process
```
拓扑表达式:[N11/12] (x11 | y12)
符号 ‘/’ 表示可以对节点 N11/12 应用水平拆分操作。水平拆分该节点后,得到一对顺序的乘积节点 N11 和 N12,它们代表了单节点模糊网络复杂化后的两节点模糊网络,可由以下方块图和拓扑表达式描述:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(x11):::process --> B(N11):::process
B --> C(z11,12):::process
C --> D(N12):::process
D --> E(y12):::process
```
拓扑表达式:[N11] (x11 | z11,12) / [N12] (z11,12 | y12)
乘积节点 N11 和 N12 可以由布尔矩阵和二元关系描述,但由于存在以单位节点作为两个乘积节点之一的平凡解,所以该解不是唯一的。例如,以一个 3×3 维度的单位节点 NI3 作为第一个乘积节点的平凡解,可由以下方块图、拓扑表达式、布尔矩阵和二元关系描述:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(x11):::process --> B(NI3):::process
B --> C(zI3,11/12):::process
C --> D(N11/12):::process
D --> E(y12):::process
```
拓扑表达式:[NI3] (x11 | z11/12,I3) / [N11/12] (z11/12,I3 | y12)
```plaintext
NI3 : zI3,11/12 1 2 3
x11
1 1 0 0
2 0 1 0
3 0 0 1
```
```plaintext
N11/12 : y12 1 2 3
zI3,11/12
1 0 1 0
2 1 0 0
3 0 0 1
```
```plaintext
NI3 : {(1, 1), (2, 2) (3, 3)}
```
```plaintext
N11/12 : {(1, 2), (2, 1) (3, 3)}
```
同样,对于操作数节点 N21/22(与水平合并示例中的乘积节点 N21*22 相同)进行水平拆分,也会得到类似的结果,并且也存在平凡解。
综上所述,不同的形式化模型在模糊网络的建模中各有特点和适用场景。关联矩阵和邻接矩阵、方块图和拓扑表达式等模型在描述模糊网络整体结构方面有不同的优势;而节点的水平合并和水平拆分操作则为模糊网络的简化和复杂化提供了有效的手段,在实际应用中可以根据具体需求选择合适的模型和操作来处理模糊网络问题。
0
0
复制全文
相关推荐









