不可靠传感器的可靠网络分析
1. 系统模型
为了简化分析,我们做出以下假设:
-
节点
:无线传感器网络(WSN)包含有限且固定的 (n) 个节点,每个节点的通信半径为 (R)。
-
区域与六边形划分
:WSN 区域是一个有限平面,由边长为 (l) 的正六边形进行划分。处于同一六边形或相邻六边形内的节点能够可靠通信。并且,每个六边形至少包含 (D) 个节点。
-
故障情况
:节点仅可能在其预期寿命结束前崩溃而发生故障,各节点的故障相互独立,每个节点发生故障的概率为常数 (\rho)。
-
空六边形
:若一个六边形内仅包含故障节点,则称该六边形为空。
当两个非故障节点 (p) 和 (p’) 满足以下条件时,我们认为它们是连通的:要么 (p) 和 (p’) 位于同一或相邻的六边形内;要么存在一系列非故障节点 (p_i, p_{i + 1}, \cdots, p_j),使得 (p)(以及 (p’))与 (p_i)(以及 (p_j))位于相邻的六边形内,且对于 (i \leq k \leq j),(p_k) 和 (p_{k + 1}) 也位于相邻的六边形内。如果区域内每对非故障节点都满足连通条件,则称该区域是连通的。
2. 高阶平铺:多六边形
在分析任意区域的 WSN 时,我们引入高阶平铺的概念,将相邻的六边形组合成“超级瓷砖”,即 (z) 级多六边形。不同的 (z) 值对应不同的 (z) 级多六边形。下面是相关定义:
-
平铺
:欧几里得平面的平铺是一组可数的闭集(瓷砖),这些集合的并集构成整个平面,且它们的内部两两不相交。我们主要关注单面平铺,即每个瓷砖都与一个固定的原型瓷砖全等。在本文中,正六边形就是原型瓷砖。
-
补丁
:补丁是一组有限的、不重叠的瓷砖,它们的并集是一个封闭的拓扑圆盘。
-
平移补丁
:平移补丁是指平铺完全由该补丁的平移晶格组成。
(z) 级多六边形的定义如下:
- (z = 1) 时,(z) 级多六边形就是一个正六边形(原型瓷砖)。
- (z > 1) 时,(z) 级多六边形是由七个 (z - 1) 级多六边形组成的平移补丁,且能进行六边形平铺。
每个 (z) 级多六边形由七个 (z - 1) 级多六边形组成,因此 (z) 级多六边形中的瓷砖总数为 (size(z) = 7^{z - 1})。
3. (z) 级多六边形与连通性
为了分析 WSN 的连通性,我们引入 (z) 级连通性的概念,具体如下:
-
边的定义
:与给定 (z) 级多六边形相邻的边界六边形集合称为该 (z) 级多六边形的“边”。由于一个 (z) 级多六边形可以有 6 个相邻的 (z) 级多六边形,所以每个 (z) 级多六边形有 6 条“边”。每条“边”上的六边形数量(即“边的长度”)为 (sidelen(z) = 1 + \sum_{i = 0}^{z - 2} 3^i)((z \geq 2))。
-
连通的 (z) 级多六边形
:若 (z) 级多六边形 (T_{zi}) 满足以下条件,则称其为连通的:设 (\Lambda) 为 (T_{zi}) 中至少包含一个非故障节点的所有六边形集合,对于 (\Lambda) 中的每对六边形 (p) 和 (q),存在一个(可能为空)的六边形序列 (t_1, t_2, \cdots, t_j),使得 ({t_1, t_2, \cdots, t_j} \subseteq \Lambda),且 (t_1) 与 (p) 相邻,每个 (t_i) 与 (t_{i + 1}) 相邻,(t_j) 与 (q) 相邻。如果一个 (z) 级多六边形是连通的,那么该多六边形内的所有非故障节点也是连通的。
-
(z) 级连通性
:若 WSN 区域 (W) 满足以下条件,则称其为 (z) 级连通的:存在一种将 (W) 划分为不相交的 (z) 级多六边形的方式,使得每个 (z) 级多六边形都是连通的;对于每对这样的 (z) 级多六边形 (T_{zp}) 和 (T_{zq}),存在一个(可能为空)的(连通的)(z) 级多六边形序列 (T_{z1}, T_{z2}, \cdots, T_{zj}),使得 (T_{z1}) 与 (T_{zp}) 相邻,每个 (T_{zi}) 与 (T_{z(i + 1)}) 相邻,(T_{zj}) 与 (T_{zq}) 相邻;并且每个 (T_{zi}) 的每条“边”上至少有 (\lceil \frac{sidelen(z)}{2} \rceil) 个非空六边形。
下面是相关定理:
-
定理 1
:若 WSN 区域 (W) 是 (z) 级连通的,则 (W) 内的所有非故障节点都是连通的。
-
证明思路
:假设区域 (W) 是 (z) 级连通的,将 (W) 划分为不相交的 (z) 级多六边形集合 (\Lambda)。对于任意两个位于六边形 (p) 和 (q) 中的非故障节点,若 (p) 和 (q) 位于同一个 (z) 级多六边形内,由于该多六边形是连通的,所以 (p) 和 (q) 连通;若 (p) 和 (q) 位于不同的 (z) 级多六边形内,根据 (z) 级连通性的定义,存在一系列连通的 (z) 级多六边形将它们连接起来。相邻的 (z) 级多六边形之间至少存在一对非空的相邻六边形,形成“桥梁”,使得节点能够通信。因此,所有非故障节点都是连通的。
定理 1 为 WSN 的连通性分析提供了重要思路:对于合适的 (z) 值,一个 (z) 级多六边形中的节点数量比整个区域 (W) 少得多,因此分析 (z) 级多六边形的连通性比分析整个区域的连通性更简单。我们可以利用这一特性来推导 (W) 连通概率的下界。
4. 部分计算结果
以下是部分计算得到的 (N_{z,i}) 值:
| (z) | (i) | (N_{z,i}) | (z) | (i) | (N_{z,i}) |
| — | — | — | — | — | — |
| (k > 2) | (1) | (size(k) = 7^{k - 1}) | (3) | (7) | (74729943) |
| (3) | (2) | (1176) | (3) | (8) | (361856172) |
| (3) | (3) | (18346) | (3) | (9) | (1481515771) |
| (3) | (4) | (208372) | (4) | (2) | (58653) |
| (3) | (5) | (1830282) | (4) | (3) | (6666849) |
| (3) | (6) | (12899198) | (5) | (2) | (2881200) |
不同 (z) 级多六边形在不同节点密度和节点故障概率下达到超过 99% 网络连通概率的情况如下表所示:
| 节点密度 (D) | 节点数量 | 节点故障概率 (\rho) | 节点数量 | 节点故障概率 (\rho) |
| — | — | — | — | — |
| (z = 2)(2 级多六边形) | (3) | (21) | (35\%) | (7203) | (24\%) |
| | (5) | (35) | (53\%) | (12005) | (40\%) |
| | (10) | (70) | (70\%) | (24010) | (63\%) |
| (z = 3)(3 级多六边形) | (3) | (137) | (37\%) | (50421) | (19\%) |
| | (5) | (245) | (50\%) | (84035) | (36\%) |
| | (10) | (490) | (70\%) | (24010) | (63\%) |
| (z = 4)(4 级多六边形) | (3) | (1029) | (29\%) | (352947) | (15\%) |
| | (5) | (1715) | (47\%) | (588245) | (31\%) |
| | (10) | (3430) | (67\%) | (1176490) | (57\%) |
5. 流程分析
下面是判断区域 (W) 是否 (z) 级连通的流程图:
graph TD;
A[开始] --> B[将区域 W 划分为 z 级多六边形];
B --> C{每个 z 级多六边形是否连通};
C -- 是 --> D{每对 z 级多六边形是否有连通序列};
C -- 否 --> E[区域 W 不 z 级连通];
D -- 是 --> F{每个 z 级多六边形的边是否至少有 ⌈sidelen(z)/2⌉ 个非空六边形};
D -- 否 --> E;
F -- 是 --> G[区域 W 是 z 级连通的];
F -- 否 --> E;
E --> H[结束];
G --> H;
通过以上的系统模型、高阶平铺的定义以及连通性的分析,我们可以更好地理解和评估 WSN 的连通性,为实际应用提供理论支持。在后续内容中,我们将继续探讨如何利用这些理论来推导 WSN 连通概率的下界,以及在实际场景中的应用。
不可靠传感器的可靠网络分析
6. 无线传感器网络区域的容错性
现在我们来推导任意形状的无线传感器网络(WSN)区域连通概率的下界。设 (W) 为一个 WSN 区域,每个六边形内的节点密度为 (D),该区域可近似为由 (x) 个 (z) 级多六边形组成的补丁,这些多六边形构成集合 (\Lambda)。每个节点独立地以概率 (\rho) 发生故障。设 (Conn_W) 表示区域 (W) 内所有非故障节点都连通的事件,(Conn(T,z,side)) 表示 (z) 级多六边形 (T) 连通且其每条“边”上至少有 (\lceil sidelen(z)/2 \rceil) 个非空六边形的事件。
我们知道,如果区域 (W) 是 (z) 级连通的,那么所有非故障节点都连通。并且,当且仅当对于集合 (\Lambda) 中的每个 (T),都有 (Conn(T,z,side)) 成立时,区域 (W) 是 (z) 级连通的。因此,区域 (W) 连通的概率有如下下界:(Pr[Conn_W] \geq (Pr[Conn(T,z,side)])^x)。
为了找到 (Pr[Conn_W]) 的下界,我们需要找到 (Pr[Conn(T,z,side)]) 的下界。下面是相关引理:
-
引理 2
:在一个节点密度为 (D) 个节点/六边形的 (z) 级多六边形 (T) 中,假设每个节点独立地以概率 (\rho) 发生故障。那么 (T) 连通且每条“边”上至少有 (\lceil sidelen(z)/2 \rceil) 个非空六边形的概率为 (Pr[Conn(T,z,side)] = \sum_{i = 0}^{size(z)} N_{z,i} (1 - \rho^D)^{size(z) - i} \rho^{D \times i}),其中 (N_{z,i}) 是在 (z) 级多六边形中,有 (i) 个空六边形和 (size(z) - i) 个非空六边形,且该 (z) 级多六边形连通,每条“边”上至少有 (\lceil sidelen(k)/2 \rceil) 个非空六边形的方式数。
-
证明思路
:固定 (T) 中的 (i) 个六边形为空,且满足 (T) 连通和边的条件。由于节点故障相互独立,每个六边形为空的概率为 (\rho^D),所以恰好有 (i) 个六边形为空的概率为 ((1 - \rho^D)^{size(z) - i} \rho^{D \times i})。而有 (N_{z,i}) 种方式可以固定 (i) 个六边形为空,因此 (T) 满足条件的概率为 (N_{z,i} (1 - \rho^D)^{size(z) - i} \rho^{D \times i})。由于 (i) 可以从 0 到 (size(z)) 取值,所以 (Pr[Conn(T,z,side)]) 为上述求和式。
基于此,我们可以建立区域 (W) 连通概率的下界:
-
定理 3
:假设 WSN 区域 (W) 中的每个节点独立地以概率 (\rho) 发生故障,区域 (W) 的节点密度为 (D) 个节点/六边形,且由 (x) 个 (z) 级多六边形平铺而成。那么区域 (W) 内所有非故障节点连通的概率至少为 ((Pr[Conn(T,z,side)])^x)。
-
证明思路
:区域 (W) 中有 (x) 个 (z) 级多六边形。若区域 (W) 是 (z) 级连通的,则所有非故障节点连通。而区域 (W) 是 (z) 级连通的条件是每个 (z) 级多六边形连通且每条“边”上至少有 (\lceil sidelen(z)/2 \rceil) 个非空六边形。根据引理 2,每个多六边形满足此条件的概率为 (Pr[Conn(T,z,side)])。由于节点故障(以及不相交的 (z) 级多六边形)是相互独立的,所以区域 (W) 连通的概率至少为 ((Pr[Conn(T,z,side)])^x)。
然而,计算 (N_{z,i}) 是一个难题,目前没有已知的算法能在合理时间内完成计算。因此,我们提供了一个 (Pr[Conn(T,z,side)]) 的替代下界:
-
引理 4
:引理 2 中 (Pr[Conn(T,z,side)]) 的值有如下下界:(Pr[Conn(T,z,side)] \geq (Pr[Conn(T,z - 1,side)])^7 + (Pr[Conn(T,z - 1,side)])^6 \times \rho^{D \times size(z - 1)}),其中 (Pr[Conn(T,1,side)] = 1 - \rho^D)。
-
证明思路
:一个 (z) 级多六边形由七个 (z - 1) 级多六边形组成,包括一个内部的 (z - 1) 级多六边形和六个外部的 (z - 1) 级多六边形。一个 (z) 级多六边形满足 (Conn(T,z,side)) 有两种情况:一是所有七个 (z - 1) 级多六边形都满足 (Conn(T,z - 1,side));二是内部的 (z - 1) 级多六边形为空,且六个外部的 (z - 1) 级多六边形满足 (Conn(T,z - 1,side))。根据引理 2,一个 (z - 1) 级多六边形满足 (Conn(T,z - 1,side)) 的概率为 (Pr[Conn(T,z - 1,side)]),一个 (z - 1) 级多六边形为空的概率为 (\rho^{D \times size(z - 1)})。对于一级多六边形(即正六边形瓷砖),其不为空的概率为 (1 - \rho^D)。因此,对于 (z > 1),满足上述两种情况的概率为 ((Pr[Conn(T,z - 1,side)])^7 + (Pr[Conn(T,z - 1,side)])^6 \times \rho^{D \times size(z - 1)})。
通过引理 4,我们可以将分析 (z) 值较大时 WSN 区域连通概率的复杂度降低,将计算转化为对较小 (z) 值的 (Pr[Conn(T,z,side)]) 的计算,这些较小 (z) 值的计算可以通过暴力枚举相对快速地完成。
7. 实际应用与相关讨论
7.1 六边形大小的选择
为了使前面的结果具有实际应用价值,我们需要谨慎选择系统模型中正六边形的大小。一方面,如果选择的六边形过大,可能会违反节点能够与相邻六边形内节点通信的系统模型假设;另一方面,如果选择的六边形过小,可能会导致连通概率的下界估计不准确,从而设计出成本过高但收益不成比例的 WSN。
如果不考虑节点在六边形内的位置,为了确保相邻六边形内非故障节点之间的连通性,正六边形的边长 (l) 最多为 (R / \sqrt{13})。然而,如果节点在每个六边形内“均匀”分布,那么 (l) 最大可以达到 (R / 2),同时仍能保证相邻六边形之间的连通性。在这两种情况下,要求相邻六边形内两个非故障节点之间的距离最多为 (R)。
7.2 (N_{z,i}) 的计算
函数 (N_{z,i}) 没有封闭形式的解,需要通过穷举法进行计算。我们计算了一些有用的 (z) 和 (i) 值对应的 (N_{z,i}),并将其列入了之前的表格中。利用这些值,我们将定理 3 和引理 4 应用于不同大小、节点密度和节点故障概率的传感器网络,结果如下表所示:
| 节点密度 (D) | 节点数量 | 节点故障概率 (\rho) | 节点数量 | 节点故障概率 (\rho) |
| — | — | — | — | — |
| (z = 5)(5 级多六边形) | (3) | (7203) | (24\%) | | |
| | (5) | (12005) | (40\%) | | |
| | (10) | (24010) | (63\%) | | |
| (z = 6)(6 级多六边形) | (3) | (50421) | (19\%) | | |
| | (5) | (84035) | (36\%) | | |
| | (10) | (24010) | (63\%) | | |
| (z = 7)(7 级多六边形) | (3) | (352947) | (15\%) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
超级会员免费看

被折叠的 条评论
为什么被折叠?



