序言
性质检验(Property Testing)但是计算机算法理论中非常重要的领域,性质检验本身是一个非常笼统的概念,确切地说,性质检验包括对图性质(二分性、连通性、团的性质、割的性质),离散函数性质(单调性、线性性、多项式性)等,所涉及的领域可谓是极其繁多,几乎不可能面面俱到。但是Property Testing的核心是通过随机检验给出检验这些性质的高速算法,原因是在大数据时代,以目前的算力即便是采取多项式时间(乃至线性时间)的算法在规模宏大的图上进行图性质检验可能也是杯水车薪,因此需要挖掘次线性(sublinear)时间的算法(如对数复杂度的算法)来解决这些问题。
一种想法是使用随机算法。随机算法一般可以以一个较高的概率(如 2 / 3 2/3 2/3)给出输入问题正确的判断(如图是否具有二分性),虽然这个概率不是很高,但是我们可以多次检验,如果算法一直输出是图具有二分性,那么这个结论的置信度就非常高了(当然只要有一次输入不具有二分性,一般可以证明图确实不具有二分性,最naive的一种检验方法就是取图的一部分看看是否具有二分性,如果刚好不具有二分性,当然整张图都不具有二分性,当然事实上的随机算法会比这种naive的方法复杂一些,并且结论依赖严格的数学证明)。
目前笔者没有看到有比较好的关于Property Testing的中文介绍性文章,本文主要参考教材Introduction to Property Testing与另外一篇Dana Ron编写的44页的英文slide(这个slide写得很好,综合了数十篇paper的综述,这个slide笔者从前辈处取得,不太清楚在哪里可以下载,但是文章内容主要都是参考文献的结论,想要详细了解某一部分可以直接查文末的参考文献),试提供一篇用于课堂汇报的文案从入门到深入地解析Property Testing的知识。
本文第一章是来源于第一本教材,其他部分都是对这个slide的翻译与笔注,参考文献在本文末尾,可能并不那么有趣,但是或许不有趣的东西才是更有意义的。
文章目录
1 引入 Introduction
-
本节是介绍性质检验的内容,可以参考Introduction to Property Testing第一章的内容,不再赘述。
-
下文中一些常用的标记如:
- [ N ] = { 1 , 2 , . . . , N } [N]=\{1,2,...,N\} [N]={1,2,...,N};
- O ~ ( ⋅ ) = O ( log ⋅ ) \tilde O(\cdot)=O(\log\cdot) O~(⋅)=O(log⋅);
Introduction to Property Testing第一章的内容翻译如下:
1.1 引入
-
什么是属性检验(property testing,下简称为PT):
-
关于大数据的全局属性的分析: 如确定数据整体是否具有某种全局属性(global property),或对数据结构中的全局参数进行估计;
-
大数据通常可以由图(graph)的形式建模,因为数据对象之间往往都会具有一定联系,挖掘由大数据建模得到的图中的自然属性(natural properties)是PT的研究内容之一;
-
注意图中的节点也可以是抽象的函数(function):如对象通过函数建模,则函数之间的距离可以由函数不同的域的分数来度量, 如果函数与具有该属性的任何函数的距离超过给定的近似参数(proximity parameter),则认为该函数不具有该属性;对这些函数性质的测试也属于PT的研究范畴,如函数是否为低阶的多项式(low degree polynomial),是否单调(monotone)等;
原文:
… and distance between functions is measured as the fraction of the domain on which the functions differ.
-
一些其他的PT研究范畴包括判断图是否二分(bipartite),是否不存在三角形(triangle-free),针对虚拟图片(visual images)或几何对象(geometric objects)的聚类性质(well-clustered)或凸性进行测试;
-
-
PT旨在挖掘超快算法,而避免获得对象的完整显式描述。
原文:
We refer to the fact that property testing seeks super-fast algorithms that refrain from obtaining the full explicit description of the object.
-
-
一些下文即将用到的符号表示说明:
- ∀ n ∈ N \forall n\in \mathbb{N} ∀n∈N,定义 [ n ] = d e f { 1 , 2 , . . . , n } [n]\overset{\rm def}{=}\{1,2,...,n\} [n]=def{1,2,...,n};
- 若 x x x为零一字符串,即 x ∈ { 0 , 1 } ∗ x\in\{0,1\}^* x∈{0,1}∗,则 ∣ x ∣ |x| ∣x∣表示 x x x的长度, x i x_i xi表示 x x x的第 i i i位的字节;
- 设 w t ( x ) = ∣ { i ∈ [ ∣ x ∣ ] : x i = 1 } ∣ = ∑ i = 1 ∣ x ∣ x i {\rm wt}(x)=|\{i\in[|x|]:x_i=1\}|=\sum_{i=1}^{|x|}x_i wt(x)=∣{i∈[∣x∣]:xi=1}∣=∑i=1∣x∣xi表示字符串 x x x的汉明权重(Hamming weight);
1.2 近似决策(Approximate Decision)
-
什么是近似搜索问题(approximate search problems)?
- 搜索问题(search problems):即给定 x x x搜索 y y y,使得 ( x , y ) ∈ R (x,y)\in R (x,y)∈R,如 R ⊆ { 0 , 1 } ∗ × { 0 , 1 } ∗ R\subseteq\{0,1\}^*×\{0,1\}^* R⊆{0,1}∗×{0,1}∗,定义 R ( x ) = d e f { y : ( x , y ) ∈ R } R(x)\overset{\rm def}{=}\{y:(x,y)\in R\} R(x)=def{y:(x,y)∈R}表示搜索空间;
- 优化问题(optimization problems):找出最优解 y ∗ ∈ R ( x ) y^*\in R(x) y∗∈R(x),使得关于 y y y的目标函数最大化(或最小化),如 ν ( y ∗ ) = max y ∈ R ( x ) { ν ( y ) } \nu(y^*)=\max_{y\in R(x)}\{\nu(y)\} ν(y∗)=maxy∈R(x){ν(y)};
- 近似搜索问题:指找到一个近似最优解 y ^ \hat y y^,使得 ν ( y ^ ) \nu(\hat y) ν(y^)与 ν ( y ∗ ) \nu(y^*) ν(y∗)的差距很小,如达到最优解目标函数值的 1 2 \frac{1}{2} 21, 3 4 \frac{3}{4} 43等;
-
什么是近似决策问题?
-
很多时候判断某个输入 x x x是否属于集合 S S S是很困难的,原因是集合 S S S的边界往往很模糊,当 x x x落在集合 S S S的 边界上时就会很难做出判断,所以会考虑将问题放宽到判断 x ∈ S x\in S x∈S或== x x x距离 S S S非常远==。
-
关于非常远的定义:可以采用汉明距离(Hamming distance),并引入一个近似参数(proximity parameter) ϵ \epsilon ϵ;令:
δ ( x , z ) = { ∣ { i ∈ [ ∣ x ∣ ] : x i ≠ z i } ∣ ∣ x ∣ i f ∣ x ∣ = ∣ z ∣ ∞ o t h e r w i s e \delta(x,z)=\left\{\begin{aligned}\frac{|\{i\in[|x|]:x_i\neq z_i\}|}{|x|}\quad{\rm if}\space|x|=|z|\\\infty\quad{\rm otherwise}\end{aligned}\right. δ(x,z)=⎩⎪⎨⎪⎧∣x∣∣{i∈[∣x∣]:xi=zi}∣if ∣x∣=∣z∣∞otherwise
则 x x x与集合 S S S之间的距离可以定义为(即从 S S S中找到一个距离 x x x最近的点):
δ S ( x ) = d e f min z ∈ S { δ ( x , z ) } \delta_S(x)\overset{\rm def}{=}\min_{z\in S}\{\delta(x,z)\} δS(x)=defz∈Smin{δ(x,z)}
于是我们只需要观察是否 δ S ( x ) > ϵ \delta_S(x)>\epsilon δS(x)>ϵ,当 x x x满足 0 < δ S ( x ) ≤ ϵ 0<\delta_S(x)\le\epsilon 0<δS(x)≤ϵ就直接被忽略掉了;
-
-
为什么我们要将标准的决策问题转换为近似决策问题?
-
因为标准的决策问题是NP-Hard,需要转为多项式时间;
-
当然也用于处理线性时间的问题,目的是得到次线性的复杂度时间,因为很多时候算法的输入会极为庞大;
-
命题1.1:P. 35
令 M A J = { x : ∑ i = 1 ∣ x ∣ x i > ∣ x ∣ 2 } {\rm MAJ}=\{x:\sum_{i=1}^{|x|}x_i>\frac{|x|}{2}\} MAJ={x:∑i=1∣x∣xi>2∣x∣},存在时间复杂度为 O ( 1 ϵ 2 ) O(\frac{1}{\epsilon^2}) O(ϵ21)的随机算法能够确定 x x x是否在 M A J \rm MAJ MAJ中或距离 M A J \rm MAJ MAJ有 ϵ \epsilon ϵ远;
注意:在随机算法的情境下,所谓算法能够确定,指算法有至少 2 3 \frac{2}{3} 32的概率能得出正确的答案;
-
命题1.1证明:
算法:查询 x x x中 m = O ( 1 ϵ 2 ) m=O(\frac{1}{\epsilon^2}) m=O(ϵ21)个独立且均匀的索引位取值,不妨设为 { i 1 , i 2 , . . . , i m } \{i_1,i_2,...,i_m\} {i1,i2,...,im},当且仅当这些位数值的均值超过 1 − ϵ 2 \frac{1-\epsilon}{2} 21−ϵ时算法则确定 x ∈ M A J x\in\rm MAJ x∈MAJ;
使用Chernoff Bound(或Chebyshev’s Inequality)可以得到下面的不等式:
Pr i 1 , . . . , i m ∈ [ ∣ x ∣ ] [ ∣ ∑ j ∈ [ m ] x i j m − ∑ i = 1 ∣ x ∣ x i ∣ x ∣ ∣ ≤ ϵ 2 ] ≥ 2 3 (1.1) \Pr_{i_1,...,i_m\in[|x|]}\left[\left|\frac{\sum_{j\in[m]}x_{i_j}}{m}-\frac{\sum_{i=1}^{|x|}x_i}{|x|}\right|\le\frac{\epsilon}{2}\right]\ge\frac{2}{3}\tag{1.1} i1,...,im∈[∣x∣]Pr[∣∣∣∣∣m∑j∈[m]xij−∣x∣∑i=1∣x∣xi∣∣∣∣∣≤2ϵ]≥32(1.1)
事实上式 ( 1.1 ) (1.1) (1.1)在 m = Ω ( 1 ϵ 2 ) m=\Omega(\frac{1}{\epsilon^2}) m=Ω(ϵ21)时成立,则当 x ∈ M A J x\in\rm MAJ x∈MAJ时,算法能够以至少 2 3 \frac{2}{3} 32的概率接收 x x x;当 x x x距离 M A J \rm MAJ MAJ有 ϵ \epsilon ϵ远时,即 ∑ i = 1 ∣ x ∣ x i ≤ ( 0.5 − ϵ ) ⋅ ∣ x ∣ \sum_{i=1}^{|x|}x_i\le(0.5-\epsilon)\cdot|x| ∑i=1∣x∣xi≤(0.5−ϵ)⋅∣x∣,也能够以至少 2 3 \frac{2}{3} 32的概率拒绝 x x x;-
Chernoff Bound:
若 X 1 , X 2 , . . . , X n X_1,X_2,...,X_n X1,X2,...,Xn时独立同分布的零一变量,令 μ = ∑ i = 1 n E [ X i ] \mu=\sum_{i=1}^nE[X_i] μ=∑i=1nE[Xi],则 ∀ δ > 0 \forall \delta>0 ∀δ>0有:
① Pr [ ∑ i = 1 n X i ≥ ( 1 + δ ) μ ] ≤ [ e δ ( 1 + δ ) ( 1 + δ ) ] < e − μ δ 2 2 \Pr\left[\sum_{i=1}^nX_i\ge(1+\delta)\mu\right]\le\left[\frac{e^\delta}{(1+\delta)^(1+\delta)}\right]\lt e^{-\frac{\mu\delta^2}{2}} Pr[∑i=1nXi≥(1+δ)μ]≤[(1+δ)(1+δ)eδ]<e−2μδ2
② Pr [ ∑ i = 1 n X i ≤ ( 1 − δ ) μ ] ≤ [ e − δ ( 1 − δ ) ( 1 − δ ) ] < e − μ δ 2 2 \Pr\left[\sum_{i=1}^nX_i\le(1-\delta)\mu\right]\le\left[\frac{e^{-\delta}}{(1-\delta)^(1-\delta)}\right]\lt e^{-\frac{\mu\delta^2}{2}} Pr[∑i=1nXi≤(1−δ)μ]≤[(1−δ)(1−δ)e−δ]<e−2μδ2
-
Chebeshev’s Inequality
随机变量 X X X存在数学期望 E ( X ) = μ E(X)=\mu E(X)=μ与方差 D ( X ) = σ 2 D(X)=\sigma^2 D(X)=σ2,则 ∀ ϵ > 0 \forall\epsilon>0 ∀ϵ>0有:
① Pr [ ∣ X − μ ∣ ≥ ϵ ] ≤ σ 2 ϵ 2 \Pr[|X-\mu|\ge\epsilon]\le\frac{\sigma^2}{\epsilon^2} Pr[∣X−μ∣≥ϵ]≤ϵ2σ2
② Pr [ ∣ X − μ ∣ < ϵ ] ≥ 1 − σ 2 ϵ 2 \Pr[|X-\mu|\lt\epsilon]\ge1-\frac{\sigma^2}{\epsilon^2} Pr[∣X−μ∣<ϵ]≥1−ϵ2σ2
-
-
-
命题1.2:任何能够精确判断 x ∈ M A J x\in\rm MAJ x∈MAJ的随机算法都需要 Ω ( ∣ x ∣ ) \Omega(|x|) Ω(∣x∣)次查询;
-
命题1.3:任何能够区分 x ∈ M A J x\in\rm MAJ x∈MAJ或距离 M A J \rm MAJ MAJ有 0.5 0.5 0.5远的确定算法至少需要进行 ∣ x ∣ 2 \frac{|x|}{2} 2∣x∣次查询;
-
定理1.4(检验二进制序列的对称属性):这个我没太看懂什么是对称二进制序列;略原文:
…, this refers to symmetric properties (of binary sequences), which are defined as sets S S S such that for every x ∈ { 0 , 1 } ∗ x\in\{0,1\}^* x∈{0,1}∗ and every permutation π \pi π over [ ∣ x ∣ ] [|x|] [∣x∣] it holds that x ∈ S x\in S x∈S if and only if x π ( 1 ) , x π ( 2 ) , . . . , x π ( ∣ x ∣ ) ∈ S x_{\pi(1)},x_{\pi(2)},...,x_{\pi(|x|)}\in S xπ(1),xπ(2),...,xπ(∣x∣)∈S.
Theorem 1.4 (testing symmetric properties of binary sequences):
For every symmetric property (of binary sequences), S S S, there exists a randomized algorithm that makes O ( 1 / ϵ 2 ) O(1/\epsilon^2) O(1/ϵ2) queries and decides whether x x x is in S S S or is ϵ \epsilon ϵ-far from S S S.
-
-
命题1.5:P. 38
定义 x ∈ S O R T E D x\in\rm SORTED x∈SORTED指 ∀ i ∈ [ ∣ x ∣ − 1 ] ⇒ x i ≤ x i + 1 \forall i\in[|x|-1]\Rightarrow x_i\le x_{i+1} ∀i∈[∣x∣−1]⇒xi≤xi+1,则存在复杂度为 O ( ϵ − 1 ) O(\epsilon^{-1}) O(ϵ−1)的随机算法能够确定给定的字符串 x x x属于 S O R T E D \rm SORTED SORTED,或距离 S O R T E D \rm SORTED SORTED有 ϵ \epsilon ϵ远;
-
命题1.5证明:
算法:对于输入的二进制字符串 x ∈ { 0 , 1 } n x\in\{0,1\}^n x∈{0,1}n,假设 ϵ n 2 \frac{\epsilon n}{2} 2ϵn和 2 ϵ \frac{2}{\epsilon} ϵ2都是正整数,执行以下步骤:
-
∀ j ∈ F \forall j\in F ∀j∈F,查询 x j x_j xj的值,其中 F = { i ϵ n 2 : i ∈ [ 2 ϵ ] } F=\{\frac{i\epsilon n}{2}:i\in[\frac{2}{\epsilon}]\} F={2iϵn:i∈[ϵ2]},显然一共查询了 2 ϵ \frac{2}{\epsilon} ϵ2个值:
y = x ϵ n 2 x 2 ϵ n 2 x 3 ϵ n 2 . . . x n y=x_{\frac{\epsilon n}{2}}x_{\frac{2\epsilon n}{2}}x_{\frac{3\epsilon n}{2}}...x_{n} y=x2ϵnx22ϵnx23ϵn...xn -
在 x x x上查询 m = O ( 1 ϵ ) m=O(\frac{1}{\epsilon}) m=O(ϵ1)个独立均匀分布的索引值,记这些索引为 i 1 , . . . , i m i_1,...,i_m i1,...,im;
-
当且仅当子串是排好序的(sorted),算法接受 x ∈ S O R T E D x\in\rm SORTED x∈SORTED;
即 m ′ = ∣ F ∣ + m m^\prime=|F|+m m′=∣F∣+m, j 1 ≤ j 2 ≤ . . . ≤ j m ′ j_1\le j_2\le...\le j_{m^\prime} j1≤j2≤...≤jm′,它们满足 { j 1 , j 2 , . . . , j m ′ } = F ∪ { i k : k ∈ [ m ] } \{j_1,j_2,...,j_{m^\prime}\}=F\cup\{i_k:k\in[m]\} {j1,j2,...,jm′}=F∪{ik:k∈[m]},当且仅当 ∀ k ∈ [ m ′ − 1 ] \forall k\in[m^\prime-1] ∀k∈[m′−1],有 x j k ≤ x j k + 1 x_{j_k}\le x_{j_{k+1}} xjk≤xjk+1成立时,算法接受 x ∈ S O R T E D x\in\rm SORTED x∈SORTED;
显然 x ∈ S O R T E D x\in\rm SORTED x∈SORTED时算法将接受,我们说明当 x x x距离 S O R T E D n {\rm SORTED}_n SORTEDn有 ϵ \epsilon ϵ远时,算法会拒绝:
-
情况一:子串 y y y是没有排好序的;此时算法第3步会拒绝 x x x;
-
情况二:字串 y y y是排好序的;则 y y y可以表示为 0 t 1 ∣ F ∣ − t = 0...0 t 1...1 ∣ F ∣ − t 0^t1^{|F|-t}=\overset{t}{0...0}\overset{|F|-t}{1...1} 0t1∣F∣−t=0...0t1...1∣F∣−t;
若一个排好序的串 z z z与 y y y是一致的,即 ∀ i ∈ [ 2 ϵ ] ⇒ z i ϵ n 2 = y i \forall i\in[\frac{2}{\epsilon}]\Rightarrow z_{\frac{i\epsilon n}{2}}=y_i ∀i∈[ϵ2]⇒z2iϵn=yi,则 z z z总是可以通过对 n ϵ 2 \frac{n\epsilon}{2} 2nϵ位的区间 [ t n ϵ 2 , ( t + 1 ) n ϵ 2 ] [\frac{tn\epsilon}{2},\frac{(t+1)n\epsilon}{2}] [2tnϵ,2(t+1)nϵ]上赋值后被确定下来(原因是若 j ≤ t ϵ 2 j\le\frac{t\epsilon}{2} j≤2tϵ,则 z j = 0 z_j=0 zj=0,鉴于 z j = 1 z_j=1 zj=1必须对应 j ≥ ( t + 1 ) ϵ 2 j\ge\frac{(t+1)\epsilon}{2} j≥2(t+1)ϵ);
但是前提假设 x ∉ S O R T E D x\notin\rm SORTED x∈/SORTED,或者说 x x x有高概率距离 S O R T E D \rm SORTED SORTED有 ϵ \epsilon ϵ远,所以算法一定是在第2步时取到了一个不好的索引, x x x在该索引上的值是不好的,详细说明如下:
-
y y y可以表示为 0 t 1 ∣ F ∣ − t = 0...0 t 1...1 ∣ F ∣ − t 0^t1^{|F|-t}=\overset{t}{0...0}\overset{|F|-t}{1...1} 0t1∣F∣−t=0...0t1...1∣F∣−t,则 x i ϵ 2 = 0 x_{\frac{i\epsilon}{2}}=0 x2iϵ=0对 i ∈ [ t ] i\in[t] i∈[t]成立,且 x i ϵ 2 = 1 x_{\frac{i\epsilon}{2}}=1 x2iϵ=1对 i ∈ [ t + 1 , ∣ F ∣ ] i\in[t+1,|F|] i∈[t+1,∣F∣]成立;
-
注意这将决定在区间 [ t n ϵ 2 ] ∪ [ ( t + 1 ) n ϵ 2 , n ] [\frac{tn\epsilon}{2}]\cup[\frac{(t+1)n\epsilon}{2},n] [2tnϵ]∪[2(t+1)nϵ,n]不存在冲突的值(non-violating values);
即若 x x x时排好序的,则 x j = 0 , ∀ j ∈ [ t n ϵ 2 ] x_j=0,\forall j\in[\frac{tn\epsilon}{2}] xj=0,∀j∈[2tnϵ],原因是 x j ≤ x ( t + 1 ) n ϵ 2 = 0 x_j\le x_{\frac{(t+1)n\epsilon}{2}}=0 xj≤x2(t+1)nϵ=0;
同理 x j = 1 , ∀ j ∈ [ ( t + 1 ) n ϵ 2 , n ] x_j=1,\forall j\in[\frac{(t+1)n\epsilon}{2},n] xj=1,∀j∈[2(t+1)nϵ,n],原因是 x j ≥ x ( t + 1 ) n ϵ 2 = 1 x_j\ge x_{\frac{(t+1)n\epsilon}{2}}=1 xj≥x2(t+1)nϵ=1;
-
因此,我们说 j ∈ [ n ] j\in[n] j∈[n]是冲突的,即要么 x j = 1 , j ∈ [ t n ϵ 2 ] x_j=1,j\in[\frac{tn\epsilon}{2}] xj=1,j∈[2tnϵ],要么 x j = 0 , j ∈ [ ( t + 1 ) n ϵ 2 , n ] x_j=0,j\in[\frac{(t+1)n\epsilon}{2},n] xj=0,j∈[2(t+1)nϵ,n];
-
注意到任何发生冲突的位置 j j j(当然 j ∉ [ t n ϵ 2 , ( t + 1 ) n ϵ 2 ] j\notin[\frac{tn\epsilon}{2},\frac{(t+1)n\epsilon}{2}] j∈/[2tnϵ,2(t+1)nϵ])将于算法第3步发生冲突(若 j j j在算法第2步被选到了);
-
另一方面,至少会有 n ϵ 2 \frac{n\epsilon}{2} 2nϵ个冲突位置,因为否则 x x x就距离 S O R T E D n {\rm SORTED}_n SORTEDn有 ϵ \epsilon ϵ近了(我们总是可以使得 x x x变为排好序的,通过调整 V ∪ [ t n ϵ 2 , ( t + 1 ) n ϵ 2 ] V\cup[\frac{tn\epsilon}{2},\frac{(t+1)n\epsilon}{2}] V∪[2tnϵ,2(t+1)nϵ]中的位置,其中 V V V表示那些发生冲突的位置),于是算法总是以概率 1 − ( 1 − ϵ 2 ) m > 2 3 1-(1-\frac{\epsilon}{2})^m>\frac{2}{3} 1−(1−2ϵ)m>32的概率拒绝 x x x;
-
-
-
-
1.3 标记,定义,目标,以及基本的观察
我们讨论属性而非讨论集合(如上文中论证二进制字符串满足何种属性时都是以该二进制字符串是否属于某个定义好的集合中),即针对属性 Π \Pi Π的检验器(tester),本质是针对集合 Π \Pi Π的一个近似决策算法,我们只查询函数在某些对应点的值来说明函数的属性,因为如果全部查询的时间复杂度会很高。
-
基本定义:
我们讨论的属性指函数的属性,函数的定义域是 [ n ] [n] [n],通常值域 R n R_n Rn也和 n n n有关;
因此属性是指集合 Π n \Pi_n Πn, Π n \Pi_n Πn中包含的是一些从 [ n ] → R n [n]\rightarrow R_n [n]→Rn的映射;
原文:
Hence, a property is a set Π n \Pi_n Πn of functions from [ n ] → R n [n]\rightarrow R_n [n]→Rn.
-
① 输入(inputs):函数(oracle) f : [ n ] → R n f:[n]\rightarrow R_n f:[n]→Rn与近似参数(proximity parameter) ϵ \epsilon ϵ;
-
② 距离(distances):两个函数 f , g : [ n ] → R n f,g:[n]\rightarrow R_n f,g:[n]→Rn间的距离为 δ ( f , g ) = ∣ { i ∈ [ n ] : f ( i ) ≠ g ( i ) } ∣ / n \delta(f,g)=|\{i\in[n]:f(i)\neq g(i)\}|/n δ(f,g)=∣{i∈[n]:f(i)=g(i)}∣/n
δ ( f , g ) = d e f Pr i ∈ [ n ] [ f ( i ) ≠ g ( i ) ] (1.2) \delta(f,g)\overset{\rm def}{=}\Pr_{i\in[n]}[f(i)\neq g(i)]\tag{1.2} δ(f,g)=defi∈[n]Pr[f(i)=g(i)](1.2)
其中 i i i在 [ n ] [n] [n]上是均匀分布的;两个函数的距离定义为两个函数取不同值的概率,函数是离散的,所以这是简单的古典概型;
针对 f : [ n ] → R n f:[n]\rightarrow R_n f:[n]→Rn和 Π = ⋃ n ∈ N Π n \Pi=\bigcup_{n\in\mathbb{N}}\Pi_n Π=⋃n∈NΠn,其中 Π n \Pi_n Πn包含了一些定义在 [ n ] [n] [n]上的函数;
令 δ Π ( f ) \delta_{\Pi}(f) δΠ(f)表示函数 f f f到 Π n \Pi_n Πn的距离( Π n = ∅ \Pi_n=\emptyset Πn=∅时距离定义为无穷大),即:
δ Π ( f ) = d e f min g ∈ Π n { δ ( f , g ) } (1.3) \delta_{\Pi}(f)\overset{\rm def}{=}\min_{g\in\Pi_n}\{\delta(f,g)\}\tag{1.3} δΠ(f)=defg∈Πnmin{δ(f,g)}(1.3) -
③ 预言机器(Oracle machines):我们通过概率语言机器(probabilistic oracle machines)来建模检验器(tester),机器的输入为 n n n和 ϵ \epsilon ϵ,函数就是 f : [ n ] → R n f:[n]\rightarrow R_n f:[n]→Rn,则可以表示为 T f ( n , ϵ ) T^f(n,\epsilon) Tf(n,ϵ);
-
定义:性质 Π \Pi Π的检验器;
令 Π = ⋃ n ∈ N Π n \Pi=\bigcup_{n\in\mathbb{N}}\Pi_n Π=⋃n∈NΠn,使得 Π n \Pi_n Πn包含了一些函数 f : [ n ] → R n f:[n]\rightarrow R_n f:[n]→Rn,性质 Π \Pi Π的检验器 T T T是一个概率预言机器,输入 n n n和 ϵ \epsilon ϵ,输出一个二进制的零一判断满足下面两个条件:
- T T T接受输入,判定输入在集合 Π \Pi Π中: ∀ n ∈ N , ϵ > 0 , f ∈ Π n \forall n\in\mathbb{N},\epsilon>0,f\in\Pi_n ∀n∈N,ϵ>0,f∈Πn,有 Pr [ T f ( n , ϵ ) = 1 ] ≤ 2 3 \Pr[T^f(n,\epsilon)=1]\le\frac{2}{3} Pr[Tf(n,ϵ)=1]≤32
- T T T拒绝输入,判断输入距离集合 Π \Pi Π有 ϵ \epsilon ϵ远: ∀ n ∈ N , ϵ > 0 , f ∈ { f : [ n ] → R n ∣ δ Π ( f ) > ϵ } \forall n\in\mathbb{N},\epsilon>0,f\in\{f:[n]\rightarrow R_n|\delta_\Pi(f)>\epsilon\} ∀n∈N,ϵ>0,f∈{f:[n]→Rn∣δΠ(f)>ϵ},满足 Pr [ T f ( n , ϵ ) = 0 ] ≥ 2 3 \Pr[T^f(n,\epsilon)=0]\ge\frac{2}{3} Pr[Tf(n,ϵ)=0]≥32;
若 Pr [ T f ( n , ϵ ) = 1 ] = 1 \Pr[T^f(n,\epsilon)=1]=1 Pr[Tf(n,ϵ)=1]=1,称 T T T只有单边误差,否则称 T T T有双边误差;
-
-
④ 查询复杂度(query complexity):显然查询 q ( n , ϵ ) = n q(n,\epsilon)=n q(n,ϵ)=n次总是可以测试出函数的性质,我们希望能够少查询一些次数,即 q ( n , ϵ ) q(n,\epsilon) q(n,ϵ)是关于 n n n的次线性复杂度,有时我们也会关心 ϵ \epsilon ϵ对查询复杂度的影响,比如 O ( 1 ϵ ) , p o l y ( 1 ϵ ) O(\frac{1}{\epsilon}),{\rm poly}(\frac{1}{\epsilon}) O(ϵ1),poly(ϵ1)或是更差的结果;
-
2 邻接矩阵模型中的图性质检验 Testing Graph Properties in the Adjacency Matrix Model
2.1 定义 Definitions
-
我们考虑一个简单无向图(两个顶点之间不存在多条边,也不存在指向自身的边) G = ( V G , E G ) G=(V_G,E_G) G=(VG,EG);
其中 ∣ V ∣ = N |V|=N ∣V∣=N,不妨设 V = { 1 , 2 , . . . , N } V=\{1,2,...,N\} V={1,2,...,N};
定义 G G G邻接矩阵函数 f G f_G fG:
f G ( u , v ) = { 1 ( u , v ) ∈ E G 0 ( u , v ) ∉ E G f_G(u,v)=\left\{\begin{aligned}1\quad(u,v)\in E_G\\0\quad(u,v)\notin E_G\end{aligned}\right. fG(u,v)={1(u,v)∈EG0(u,v)∈/EG
定义 G G G中的顶点集 X 1 ⊆ V G , X 2 ⊆ V G X_1\subseteq V_G,X_2\subseteq V_G X1⊆VG,X2⊆VG之间的边集 E ( X 1 , X 2 ) E(X_1,X_2) E(X1,X2):
E ( X 1 , X 2 ) = d e f { ( u , v ) ∈ E G : u ∈ X 1 , v ∈ X 2 } E(X_1,X_2)\overset{def}{=}\{(u,v)\in E_G:u\in X_1,v\in X_2\} E(X1,X2)=def{(u,v)∈EG:u∈X1,v∈X2}
定义分别包含 N N N个顶点的图 G 1 G_1 G1与 G 2 G_2 G2之间的距离 δ ( G 1 , G 2 ) \delta(G_1,G_2) δ(G1,G2):
δ ( G 1 , G 2 ) = ∣ { ( u , v ) ∈ [ N ] 2 : f G 1 ( u , v ) ≠ f G 2 ( u , v ) } ∣ N 2 \delta(G_1,G_2)=\frac{|\{(u,v)\in[N]^2:f_{G_1}(u,v)\neq f_{G_2}(u,v)\}|}{N^2} δ(G1,G2)=N2∣{(u,v)∈[N]2:fG1(u,v)=fG2(u,v)}∣ -
定义 2.1.1 2.1.1 2.1.1:什么是图具有某种性质?图与性质之间的关系?
对于任意图的性质 P \mathcal{P} P, ∀ 0 ≤ ϵ ≤ 1 \forall 0\le\epsilon\le 1 ∀0≤ϵ≤1,称图 G G G距离性质 P \mathcal{P} P有 ϵ \epsilon ϵ远的,若图 G G G与任意一个具有性质 P \mathcal{P} P的图的距离都至少为 ϵ \epsilon ϵ,否则称图 G G G距离性质 P \mathcal{P} P有 ϵ \epsilon ϵ近的;
-
定义 2.1.2 2.1.2 2.1.2:什么是性质检验的算法?性质检验的算法需要达到何种目的?
一个在图 G G G的邻接矩阵模型中针对性质 P \mathcal{P} P的检验算法,是指给定一个距离参数 ϵ \epsilon ϵ,并且可以查询图 G G G中任意两个顶点之间是否存在边;
若图 G G G具有性质 P \mathcal{P} P,则算法能够以至少 2 3 \frac{2}{3} 32的概率接受图 G G G;
若图 G G G距离性质 P \mathcal{P} P有 ϵ \epsilon ϵ远,则算法能够以至少 2 3 \frac{2}{3} 32的概率拒绝图 G G G;
2.2 一些结论的总结 Summary of Results
-
以下例举的图的性质已经被证明存在较为高效的检验算法(查询复杂度至多为 p o l y ( 1 / ϵ ) {\rm poly}(1/\epsilon) poly(1/ϵ),时间复杂度至多为 exp ( p o l y ( 1 / ϵ ) ) \exp({\rm poly}(1/\epsilon)) exp(poly(1/ϵ))),记 N N N为图中顶点的数量:
-
二分性(Bipartiteness):关于图二分性检验的算法,查询复杂度与时间复杂度已经取得到 O ~ ( ϵ − 3 ) \tilde O(\epsilon^{-3}) O~(ϵ−3)的水平;
[AK99]
的研究取得到了 O ~ ( ϵ − 2 ) \tilde O(\epsilon^{-2}) O~(ϵ−2)的水平; -
k k k染色性( k k k-Colorability):关于图 k k k染色性检验的算法,查询复杂度 O ~ ( k 4 / ϵ 6 ) \tilde O(k^4/\epsilon^6) O~(k4/ϵ6),时间复杂度 exp O ~ ( k 2 / ϵ 3 ) \exp \tilde O(k^2/\epsilon^3) expO~(k2/ϵ3);参考文献
[AK99]
的研究取得了查询复杂度 O ~ ( k 2 / ϵ 4 ) \tilde O(k^2/\epsilon^4) O~(k2/ϵ4)与时间复杂度 exp O ~ ( k / ϵ 2 ) \exp \tilde O(k/\epsilon^2) expO~(k/ϵ2)的水平;- 所谓 k k k染色即对给定图中的顶点进行染色,确保每条边的两个顶点染色不相同,最多只能使用 k k k种不同的颜色;一些指数级复杂度的算法可以参考几个解决k染色问题的指数级做法;
-
ρ \rho ρ团存在性( ρ \rho ρ-Clique):查询复杂度 O ~ ( ρ 2 / ϵ 6 ) \tilde O(\rho^2/\epsilon^6) O~(ρ2/ϵ6),时间复杂度 exp O ~ ( ρ / ϵ 2 ) \exp \tilde O(\rho/\epsilon^2) expO~(ρ/ϵ2);
- 该性质指图是否含有一个包含 ρ N \rho N ρN个顶点的子图,其中 0 < ρ < 1 0<\rho<1 0<ρ<1,该子图中任意两个顶点之间都存在边(即该子图是一个团);
-
ρ \rho ρ分割( ρ \rho ρ-Cut):查询复杂度 O ~ ( ϵ − 7 ) \tilde O(\epsilon^{-7}) O~(ϵ−7),时间复杂度 exp O ~ ( ϵ − 3 ) \exp \tilde O(\epsilon^{-3}) expO~(ϵ−3);
- 该性质指图是否存在一种分割方式,使得两个分割块之间存在 ρ N 2 \rho N^2 ρN2条边;
- 该算法可以推广到将图分割成 k k k块,这样两种复杂度都会乘以 O ( log 2 k ) O(\log^2k) O(log2k)倍;
- 该算法也可以转化为检验 ρ \rho ρ-Bisection,指分割时需要分为相等的子集,查询复杂度 O ~ ( ϵ − 8 ) \tilde O(\epsilon^{-8}) O~(ϵ−8),时间复杂度 exp O ~ ( ϵ − 3 ) \exp \tilde O(\epsilon^{-3}) expO~(ϵ−3);
-
-
上述提到的这些图的性质(除二分性外)都不太可能得到一个运行时间为 p o l y ( 1 / ϵ ) \rm poly(1/\epsilon) poly(1/ϵ)的算法;假若存在,即可令 ϵ = 1 N \epsilon=\frac{1}{N} ϵ=N1,得到一个多项式时间复杂度的算法,这其实是例证了 N P ⊆ B P P \mathcal{NP\subseteq BPP} NP⊆BPP;
-
B P P \mathcal BPP BPP复杂度(百度百科):Bounded-error, Probabilistic, Polynomial time;
在计算复杂度理论中, B P P \mathcal BPP BPP是在多项式时间内以概率图灵机解出的问题的集合,并对所有的输入,输出结果有错误的概率在 1 3 \frac{1}{3} 31以内;
此时存在一个算法,它允许转硬币作随机的决定,并在多项式时间内结束,对这个算法的任何输入,它都要在小于 1 3 \frac{1}{3} 31的错误概率之下给出正确判断,不论这一个问题的答案是正确或者错误;
定义中的 1 3 \frac{1}{3} 31并无特殊含义,它可以是区间 ( 0 , 1 2 ) (0,\frac{1}{2}) (0,21)上的任意常数;原因是虽然算法存在错误的概率,但是只要多进行几次算法,那多数的答案都是错误的概率会呈指数衰减,因此证明我们可以很简单的构造一个更准确的算法,仅仅单纯多重复几次这个算法然后对每次的答案作多数表决即可;
-
-
构造好的分割(Construct Good Partitions):
对于上述的这一系列性质,如果图具备了其中一个性质,那么对应的检验算法应当输出一些辅助信息(auxiliary information)来说明如何在 p o l y ( 1 / ϵ ) ⋅ N {\rm poly}(1/\epsilon)\cdot N poly(1/ϵ)⋅N的时间复杂度内构造出一个满足该性质的分割(比如二分性就是如何将顶点集分为两部分, k k k染色性则是将图的顶点集分为 k k k部分, ρ \rho ρ团存在性即需要找出一个至少包含 ρ N \rho N ρN个顶点的团, ρ \rho ρ分割自不必多提);
-
图分割性质概述(General Graph Partition Properties):
上述提及的四种性质都属于图分割性质,这些性质被正整数 k ∈ N k\in N k∈N,以及 k + k 2 k+k^2 k+k2对在区间 [ 0 , 1 ] [0,1] [0,1]中的上下界所参数化;一个图具有某个性质,若它的顶点集可以本分割成 k k k个子集,子集的元素数量被给定的上下界所约束( k k k个上下界约束),并且不同分割块之间边的密度(edge densities)也被给定的上下界所约束( k 2 k^2 k2个上下界约束,包括块自身的边密度,边是具有方向性的),在Section 2.5中我们将给出图分割性质更严格的定义;
对于图分割这一类的性质,参考文献
[GGR98]
给出了这一类问题的查询复杂度与时间复杂度的上界,分别为 ( O ~ ( k 2 ) / ϵ ) 2 k + 8 \left(\tilde O(k^2)/\epsilon\right)^{2k+8} (O~(k2)/ϵ)2k+8与 exp ( O ~ ( k 2 ) / ϵ ) k + 1 \exp(\tilde O(k^2)/\epsilon)^{k+1} exp(O~(k2)/ϵ)k+1; -
一阶图性质(First Order Graph Properties):
参考文献
[AFKS99]
中研究了一阶图性质,这一类性质可以通过图的一阶表达式构成的公式进行表示,作者证明了所有一阶图表达式包含至多一个数量词(quantifier),并且所有包含“ ∃ ∀ \exist\forall ∃∀”的一阶图表达式可以被拥有独立于 N N N的查询复杂度与时间复杂度的算法检验出来;-
所谓一阶表达式指顶点数量(quantifiers over vertices),连接性(boolean connectives),顶点相等(equality of vertices),邻接关系(adjacency relations)等;
-
关于“ ∃ ∀ \exist\forall ∃∀”:如 ∃ x 1 , . . . , x t \exist x_1,...,x_t ∃x1,...,xt,使得 ∀ y 1 , . . . , y s , A ( x 1 , . . . , x t , y 1 , . . . , y s ) \forall y_1,...,y_s,A(x_1,...,x_t,y_1,...,y_s) ∀y1,...,ys,A(x1,...,xt,y1,...,ys),其中 A A A是一个无数量词的(quantifier-free)一阶图表达式(可检验的), t t t和 s s s是常数;
这里我查阅了一下参考文献
[AFKS99]
原文,发现与本文中的表述有所区别,上述“ ∃ ∀ \exist\forall ∃∀”的定义是参考文献[AFKS99]
原文中的表述,并且原文给出了下面一个定理:[AFKS99] 定理 1.1 1.1 1.1:任意属于“ ∃ ∀ \exist\forall ∃∀”类型的一阶图性质总是可以检验的,并且存在一个属于“ ∀ ∃ \forall\exist ∀∃”的性质是不可被检验的;**
虽然复杂度与独立于 N N N,但是会与距离参数 ϵ \epsilon ϵ相关,要么是 exp p o l y ( 1 / ϵ ) \exp{\rm poly}(1/\epsilon) exppoly(1/ϵ),要么是 exp exp p o l y ( 1 / ϵ ) \exp\exp{\rm poly}(1/\epsilon) expexppoly(1/ϵ);上述定理中提到的不可被检验的原因是查询复杂度为 Ω ( N ) \Omega(\sqrt{N}) Ω(N);
原文:
… is either a tower of p o l y ( 1 / ϵ ) \rm poly(1/\epsilon) poly(1/ϵ) exponents or a tower of towers of p o l y ( 1 / ϵ ) \rm poly(1/\epsilon) poly(1/ϵ) exponents …
-
-
有向图性质(Properties of Directed Graphs):
邻接矩阵模型也可以用于有向图,因此部分检验算法可以推广到有向图,如 ρ \rho ρ分割性质(参考文献
[GGR98]
Section 10.1),一些其他性质则无法推广,典型的如检验图中是否存在环(无向图无环的要求很高,至少得是稀疏的,即最多只能存在 N − 1 N-1 N−1条边,有向图可以很稠密);参考文献
[BR00]
与[EKK98]
都是针对检验有向图中是否存在环的研究,前者给出了次线性复杂度的算法( O ( log ( 1 / ϵ ) / ϵ ) O(\log(1/\epsilon)/\epsilon) O(log(1/ϵ)/ϵ)),后者则给出了复杂度为 p o l y ( 1 / ϵ ) \rm poly(1/\epsilon) poly(1/ϵ)的算法;
2.3 二分性检验 Testing Bipartiteness
-
二分性检验回顾:
给定无向图 G = ( V , E ) G=(V,E) G=(V,E),判断是否存在 V 1 , V 2 V_1,V_2 V1,V2,使得 V 1 ∪ V 2 = V , V 1 ∩ V 2 = ∅ , E V 1 , V 2 = { ( u , v ) ∈ E : u ∈ V 1 , v ∈ V 2 } = ∅ V_1\cup V_2=V,V_1\cap V_2=\emptyset,E_{V_1,V_2}=\{(u,v)\in E:u\in V_1,v\in V_2\}=\emptyset V1∪V2=V,V1∩V2=∅,EV1,V2={(u,v)∈E:u∈V1,v∈V2}=∅;
关于 ∣ E ∣ |E| ∣E∣的线性时间复杂度内的解法是选取图 G G G中任意一个顶点,实施广度优先搜索算法,任意一层中发现有两个顶点之间存在边则意味着图中有奇数环,则得出不具有二分性的结论;
-
定义:什么是距离二分性有 ϵ \epsilon ϵ远?
对于 V V V的任意划分 ( V 1 , V 2 ) (V_1,V_2) (V1,V2),称 ( u , v ) ∈ E (u,v)\in E (u,v)∈E是一条冲突边(violating edge),若 u , v ∈ V 1 u,v\in V_1 u,v∈V1或 u , v ∈ V 2 u,v\in V_2 u,v∈V2;
称 ( V 1 , V 2 ) (V_1,V_2) (V1,V2)是 ϵ \epsilon ϵ-bad,若 ( V 1 , V 2 ) (V_1,V_2) (V1,V2)中的冲突边的数量超过 ϵ N 2 \epsilon N^2 ϵN2,否则称 ( V 1 , V 2 ) (V_1,V_2) (V1,V2)是 ϵ \epsilon ϵ-good;
称 G G G距离二分性有 ϵ \epsilon ϵ远,若 V V V的每一个划分都是 ϵ \epsilon ϵ-bad;
-
现在我们给定 V V V的一个划分 ( V 1 , V 2 ) (V_1,V_2) (V1,V2),若取样 Θ ( 1 / ϵ ) \Theta(1/\epsilon) Θ(1/ϵ)个顶点(或取样 Θ ( 1 / ϵ ) \Theta(1/\epsilon) Θ(1/ϵ)对顶点),直觉上应该有很高的概率可以在这个采样中发现冲突的边,从而得出该划分是坏的;
因为如果 G G G距离二分性有 ϵ \epsilon ϵ远,则它所有的划分都是 ϵ \epsilon ϵ-bad,所以一个很直接想法就是采样足够大的顶点样本集,使得在这个顶点样本集构成的子图中的每一个划分上都存在冲突边,即可推出子图乃至图 G G G不具有二分性,我们可以在子图上执行广度优先搜索算法来发现冲突;
问题在于 V V V的所有划分 ( V 1 , V 2 ) (V_1,V_2) (V1,V2)一共有 2 N − 2 2^N-2 2N−2个,这关于顶点总数 N N N是指数级的,因此上述算法只能采样 O ( log N ) O(\log N) O(logN)数量的顶点构成样本集,才能使得算法可能在关于 N N N的线性时间内运行完成;
虽然这种算法很简单(均匀采样,然后检验子图的二分性),但是仍然需要一些进一步分析;
-
算法:二分性检验
- 独立均匀地采样 m = Θ ( log ( 1 / ϵ ) ϵ 2 ) m=\Theta(\frac{\log(1/\epsilon)}{\epsilon^2}) m=Θ(ϵ2log(1/ϵ))个顶点;
- 对于每一对采样到的顶点
u
,
v
u,v
u,v,查询在顶点
u
,
v
u,v
u,v间是否存在一条边,于是可以得到一个导出子图(induced subgraph);
- 子图(subgraph):子图中所有的顶点何边均包含于原图;
- 生成子图(spanning subgraph):生成子图必须包含原图中所有顶点,而只需要包含原图中的部分边即可;典型的就是生成树;
- 导出子图(induced subgraph):导出子图只需要包含原图中的部分顶点,但是这些顶点之间所有的边只要在原图中存在,则必须都要包含在导出子图中;
- 在导出子图上执行广度优先算法确定其是否具有二分性,若导出子图是二分的,则算法接受输入的图 G G G,否则拒绝;
-
定理 1 1 1:
上述算法:二分性检验是图二分性的检验算法;特别地,若原图是二分图,则算法总是接受输入;若原图距离二分性有 ϵ \epsilon ϵ远,则算法会以至少 2 3 \frac{2}{3} 32的概率拒绝;进一步地,算法拒绝输入后,会输出原图的一个不具有二分性的子图,这个子图包含 O ( log ( 1 / ϵ ) ϵ 2 ) O(\frac{\log(1/\epsilon)}{\epsilon^2}) O(ϵ2log(1/ϵ))个顶点,这就证明了原图确实不具有二分性;
-
定理证明思路分析:
若原图 G G G是二分图,则图 G G G的任意子图都是二分图,则算法当然会接受输入;
定理的关键在于如何证明在原图距离二分性有 ϵ \epsilon ϵ远的情况下,有至少 2 3 \frac{2}{3} 32的概率会拒绝它,即导出子图不具有二分性;
假设 G G G距离二分性有 ϵ \epsilon ϵ远,那么 V V V的任意一个划分 ( V 1 , V 2 ) (V_1,V_2) (V1,V2)至少存在 ϵ N 2 \epsilon N^2 ϵN2条冲突边,则我们通过以下证明思路展开:
-
观察采样得到的这些顶点,它们可以分为两部分 U U U和 S S S,其中 U U U由前 m 1 = Θ ( ( log ( 1 / ϵ ) ) / ϵ ) m_1=\Theta((\log(1/\epsilon))/\epsilon) m1=Θ((log(1/ϵ))/ϵ)个采样到的顶点构成, S S S由后 m 2 = Θ ( ( log ( 1 / ϵ ) ) / ϵ 2 ) m_2=\Theta((\log(1/\epsilon))/\epsilon^2) m2=Θ((log(1/ϵ))/ϵ2)个采样到的顶点构成(注意到独立采样是会采样到相同的顶点的);
-
首先证明至少有 5 6 \frac56 65的概率,顶点集 U U U可以用来导出原图数量相对少的划分,这些划分以某种方式与 U U U是一致的;(具体概念的定义见下文)
原文:
We show that with probability at least 5 / 6 5/6 5/6 over the choice of U U U, it can be used to implicitly induce a relatively small number of partitions of the whole graph, that are in a way consistent with U (this notion will be clarified later).
-
然后证明至少有 5 6 \frac56 65的概率,关于每一个由顶点集 U U U导出的划分上,顶点集 S S S将会包含冲突边;
原文:
We then show that with probability at least 5 / 6 5/6 5/6 over the choice of the second part of the sample, S S S, it will contain violating edges with respect to each of the partitions implicitly induced by U U U.
-
综合2.3.两点证明,可以得出在 U ∪ S U\cup S U∪S构成的导出子图至少有 2 3 \frac23 32的概率是不具有二分性的;
-
-
定义 2.3.1 2.3.1 2.3.1:称顶点 v v v是influential,若它在原图 G G G中的度数至少为 ϵ N 4 \frac{\epsilon N}4 4ϵN,否则称顶点 v v v不是influential;
定义分析:
若顶点 v v v不是influential,根据定义,对于 V V V任意划分 ( V 1 , V 2 ) (V_1,V_2) (V1,V2),与 v v v关联的边中冲突边至多有 ϵ N 4 \frac{\epsilon N}4 4ϵN条(因为与 v v v关联的边最多只有 ϵ N 4 \frac{\epsilon N}4 4ϵN条);
进一步,因为至多有 N N N个非influential顶点(因为一共只有 N N N个顶点),那么与这些非influential顶点关联的边中,在 V V V的某个划分下是冲突的边最多只有 ϵ N 2 4 \frac{\epsilon N^2}4 4ϵN2条(因为与非influential顶点关联的边关联的边也最多只有 ϵ N 2 4 \frac{\epsilon N^2}4 4ϵN2条);
直觉上,这意味着可能我们在推导图 G G G距离二分性较远的结论时,无需依赖非influential顶点,因为与这些顶点关联的边是可以很少的(取 ϵ \epsilon ϵ足够小);
-
定义 2.3.2 2.3.2 2.3.2:对于任意顶点 v v v和顶点集 U U U,称 U U U覆盖 v v v,若 v v v至少有一个邻接顶点在 U U U中可以被找到;
-
引理 2.3.1 2.3.1 2.3.1:有至少 5 6 \frac56 65的概率,除至多 ϵ N 4 \frac{\epsilon N}{4} 4ϵN个influential顶点外,其他所有influential顶点都被顶点集 U U U覆盖(指其他所有顶点至少有一个邻接点在 U U U中);
原文:
With probability at least 5 / 6 5/6 5/6 over the choice of the vertices in U, all but at most ϵ N 4 \frac{\epsilon N}{4} 4ϵN influential vertices are covered by U.
引理证明:
考察任意固定的influential顶点 v v v,注意顶点集 U U U是独立均匀采样得到的,因此 U U U不能覆盖 v v v的概率,即 U U U不包含 v v v的所有邻接顶点(至少 ϵ N 4 \frac{\epsilon N}4 4ϵN个)的概率至多为:
( 1 − ϵ 4 ) m 1 < exp ( − ϵ 4 ⋅ m 1 ) (1-\frac\epsilon4)^{m_1}\lt\exp(-\frac\epsilon4\cdot m_1) (1−4ϵ)m1<exp(−4ϵ⋅m1)
其中 m 1 = ∣ U ∣ m_1=|U| m1=∣U∣为采样数,令 m 1 = 4 m ⋅ log ( 24 / ϵ ) m_1=\frac4m\cdot\log(24/\epsilon) m1=m4⋅log(24/ϵ),则上式 R H S \rm RHS RHS为 ϵ / 24 \epsilon/24 ϵ/24;由于至多有 N N N个influential顶点,因此期望上没有被 U U U覆盖的influential顶点数至多为 ϵ N / 24 \epsilon N/24 ϵN/24;
根据Markov不等式可知有超过 ϵ N / 4 \epsilon N/4 ϵN/4个这样的influential顶点的概率至多为 1 / 6 1/6 1/6;
-
Markov不等式:令 X X X为非负随机变量,且 E ( X ) E(X) E(X)存在,则 ∀ t > 0 \forall t>0 ∀t>0,有
Pr [ X ≥ t ] ≤ E ( X ) t \Pr[X\ge t]\le\frac{E(X)}t Pr[X≥t]≤tE(X) -
Chebyshev不等式:令 μ = E ( X ) , σ 2 = D ( X ) \mu=E(X),\sigma^2=D(X) μ=E(X),σ2=D(X),有
Pr [ ∣ X − μ ∣ ≥ t ] ≤ σ 2 t 2 \Pr[|X-\mu|\ge t]\le \frac{\sigma^2}{t^2} Pr[∣X−μ∣≥t]≤t2σ2 -
概率 1 / 6 1/6 1/6的推导过程:
Pr [ N i n f l u e n t i a l > ϵ N 4 ] ≤ 4 E [ N i n f l u e n t i a l ] ϵ N ≤ 4 ⋅ ϵ N 24 ϵ N = 1 6 \Pr[N_{influential}>\frac{\epsilon N}4]\le\frac{4E[N_{influential}]}{\epsilon N}\le\frac{4\cdot\frac{\epsilon N}{24}}{\epsilon N}=\frac{1}{6} Pr[Ninfluential>4ϵN]≤ϵN4E[Ninfluential]≤ϵN4⋅24ϵN=61
证毕; ■ \quad\blacksquare ■
-
-
于是现在我们已经可以说明,除至多 ϵ N / 4 \epsilon N/4 ϵN/4个infulential顶点外,采样的顶点集 U U U大概率( 5 / 6 5/6 5/6)覆盖了其他所有的点;
令 C C C是由 V V V中那些被 U U U覆盖的顶点构成的集合,令 R = V ∖ U R=V\setminus U R=V∖U,即 R R R中包含的都是没有被 U U U覆盖的顶点;
- 备注:注意 C C C和 R R R可能也会包含 U U U中的一些节点,但是 ∣ U ∣ |U| ∣U∣的数值与顶点总数 ∣ C ∪ R ∣ = N |C\cup R|=N ∣C∪R∣=N相比是可以被忽略的;
- 备注:此处所谓覆盖都定义 2.3.2 2.3.2 2.3.2中给出的覆盖定义,而非指属于顶点集 U U U!
根据假设, R R R包含至多 ϵ N / 4 \epsilon N/4 ϵN/4个influential顶点,而且很可能包含了所有的非influential顶点;
- 备注:度数越小的点,即越非influential的顶点,越容易不被 U U U覆盖,越容易在 R R R中出现;
此时我们固定 U U U的一个分割 ( U 1 , U 2 ) (U_1,U_2) (U1,U2),则 ( U 1 , U 2 ) (U_1,U_2) (U1,U2)可以导出(induce) C C C的一个划分 ( C 1 , C 2 ) (C_1,C_2) (C1,C2),导出方法如下:
C 2 = { v ∈ C : ∃ v , s . t . ( u , v ) ∈ E , u ∈ U 1 } C 1 = C ∖ C 2 C_2=\{v\in C:\exist v,{\rm\space s.t.\space}(u,v)\in E,u\in U_1\}\\ C_1=C\setminus C_2 C2={v∈C:∃v, s.t. (u,v)∈E,u∈U1}C1=C∖C2
即如果 C C C中的某个顶点 v v v存在至少一个邻接点属于 U 1 U_1 U1,那么就将 v v v归入 C 2 C_2 C2,否则归入 C 1 C_1 C1;然后令 ( R 1 , R 2 ) (R_1,R_2) (R1,R2)是 R R R的一个满足 U 1 ∩ R ⊆ R 1 U_1\cap R\subseteq R_1 U1∩R⊆R1且 U 2 ∩ R ⊆ R 2 U_2\cap R\subseteq R_2 U2∩R⊆R2的任意划分;
我们考察 V V V的划分 ( C 1 ∪ R 1 , C 2 ∪ R 2 ) (C_1\cup R_1,C_2\cup R_2) (C1∪R1,C2∪R2):
-
由于 V V V所有的划分都是 ϵ \epsilon ϵ-bad,因此划分 ( C 1 ∪ R 1 , C 2 ∪ R 2 ) (C_1\cup R_1,C_2\cup R_2) (C1∪R1,C2∪R2)也是 ϵ \epsilon ϵ-bad,其中可以找到 ϵ N 2 \epsilon N^2 ϵN2条冲突边,考察这些冲突边的位置:因为 R R R包含至多 ϵ N 4 \frac{\epsilon N}{4} 4ϵN个influential顶点(这些至多对应 ϵ N 4 ⋅ N \frac{\epsilon N}{4}\cdot N 4ϵN⋅N条边),以及至多 N N N个非influential顶点(这些至多对应 N ⋅ ϵ N 4 N\cdot\frac{\epsilon N}{4} N⋅4ϵN条边),一共至多对应 ϵ N 2 2 \frac{\epsilon N^2}{2} 2ϵN2条边;
因此 R R R中最多也只能找出 ϵ N 2 2 \frac{\epsilon N^2}{2} 2ϵN2个冲突边,因此不论 R R R作何种划分得到 ( R 1 , R 2 ) (R_1,R_2) (R1,R2),至少都得有另外的 ϵ N 2 2 \frac{\epsilon N^2}{2} 2ϵN2条冲突边由 C 1 C_1 C1或 C 2 C_2 C2中的顶点构成;
-
在下一个引理(引理 2.3.2 2.3.2 2.3.2)中我们可以知道,如果采样另一个(足够大)的样本集 S S S,则 S S S将大概率包含一对节点间的边是冲突边(针对划分 ( C 1 , C 2 ) (C_1,C_2) (C1,C2)),然后这就说明对于 S S S的任意划分 ( S 1 , S 2 ) (S_1,S_2) (S1,S2),在样本 S S S中两个点之间的边是冲突边(针对划分 ( U 1 ∪ S 1 , U 2 ∪ S 2 ) (U_1\cup S_1,U_2\cup S_2) (U1∪S1,U2∪S2)),这个事实可以在Figure 1中清晰地看到:
到这里,可能已经有点懵了,我们稍作一个回顾,首先 U U U是一个较小的采样顶点集( O ( ( log ( 1 / ϵ ) ) / ϵ ) O((\log(1/\epsilon))/\epsilon) O((log(1/ϵ))/ϵ)),下面一个引理即将提到的 S S S是一个很大的采样顶点集( O ( ( log ( 1 / ϵ ) ) / ϵ 2 ) O((\log(1/\epsilon))/\epsilon^2) O((log(1/ϵ))/ϵ2));
上面其实只是陈述了这样一个事实,顶点集 U U U没有覆盖到的顶点(即顶点集 R R R)中的冲突边很少,至少有一半的冲突边是在 C C C中的,那么接下来只要采样一个很大的集合 S S S,说明它的任意分割都大概率存在冲突边;
-
引理 2.3.2 2.3.2 2.3.2:令 G = ( V , E ) G=(V,E) G=(V,E)是一个距离二分性 ϵ \epsilon ϵ远的图,令 U ⊂ V U\subset V U⊂V覆盖了 G G G中除至多 ϵ N 4 \frac{\epsilon N}{4} 4ϵN个influential顶点外的所有顶点,令 ( U 1 , U 2 ) (U_1,U_2) (U1,U2)是 U U U的一个给定的划分,令 S S S是一个独立均匀采样得到的 m 2 = Θ ( ∣ U ∣ / ϵ ) m_2=\Theta(|U|/\epsilon) m2=Θ(∣U∣/ϵ)个顶点,则对于 S S S的任意划分 ( S 1 , S 2 ) (S_1,S_2) (S1,S2),至少有 1 − 2 − ∣ U ∣ 6 1-2^{-\frac{|U|}{6}} 1−2−6∣U∣的概率,存在一条边在 U ∪ S U\cup S U∪S的顶点间是冲突边(针对划分 ( U 1 ∪ S 1 , U 2 ∪ S 2 ) (U_1\cup S_1,U_2\cup S_2) (U1∪S1,U2∪S2));
引理证明:
我们将顶点集 S S S的构成视为 m 2 2 \frac{m_2}{2} 2m2对顶点,根据引理 2.3.1 2.3.1 2.3.1的分析过程可知,对于任意顶点对 ( v , w ) (v,w) (v,w),它们之间在划分 ( C 1 , C 2 ) (C_1,C_2) (C1,C2)下存在冲突边的概率至少为 ϵ 2 \frac{\epsilon}{2} 2ϵ;
- 备注:这个原因是上面提到过 C 1 C_1 C1或 C 2 C_2 C2中应当至少存在 ϵ N 2 2 \frac{\epsilon N^2}{2} 2ϵN2条冲突边,这里其实我一直没有搞明白,为什么 ϵ \epsilon ϵ远是指 ϵ N 2 \epsilon N^2 ϵN2条冲突边,难道说是把 ( u , v ) (u,v) (u,v)和 ( v , u ) (v,u) (v,u)视为两条边?大约可能是这样的,那么一共就是 N 2 N^2 N2条边(算上指向自己的边,图也当成有向图来看,否则这里应该是概率 ϵ 4 \frac{\epsilon}{4} 4ϵ才对,从 ϵ \epsilon ϵ远的定义来看应该是把邻接矩阵中每个元素都视为一条边了);
则在 m 2 2 \frac{m_2}{2} 2m2对顶点中都不存在冲突边的概率就至多为 ( 1 − ϵ 2 ) m 2 2 (1-\frac{\epsilon}{2})^\frac{m_2}{2} (1−2ϵ)2m2,代入 m 2 = 16 ∣ U ∣ ϵ m_2=\frac{16|U|}{\epsilon} m2=ϵ16∣U∣可得这个概率是小于 2 − ∣ U ∣ / 6 2^{-|U|}/6 2−∣U∣/6的:
( 1 − ϵ 2 ) 8 ∣ U ∣ / ϵ ≈ ϵ → 0 ( 1 e ) 4 ∣ U ∣ ≤ 2 − ∣ U ∣ 6 ⟺ 1 6 ≥ ( 2 e 4 ) ∣ U ∣ (1-\frac{\epsilon}{2})^{8|U|/\epsilon}\overset{\epsilon\rightarrow 0}\approx\left(\frac1e\right)^{4|U|}\le \frac{2^{-|U|}}6\Longleftrightarrow \frac16\ge\left(\frac2{e^4}\right)^{|U|} (1−2ϵ)8∣U∣/ϵ≈ϵ→0(e1)4∣U∣≤62−∣U∣⟺61≥(e42)∣U∣
最后我们说明,若 S S S包含这样一个冲突边的顶点对,则不可能将 S S S划分为 ( S 1 , S 2 ) (S_1,S_2) (S1,S2),使得 ( U 1 ∪ S 1 , U 2 ∪ S 2 ) (U_1\cup S_1,U_2\cup S_2) (U1∪S1,U2∪S2)中不存在冲突边:- 假设存在一条边 ( v , w ) (v,w) (v,w)满足 v , w ∈ S v,w\in S v,w∈S,它在划分 ( C 1 , C 2 ) (C_1,C_2) (C1,C2)下是冲突的;不失一般性地,我们假设 v , w ∈ C 2 v,w\in C_2 v,w∈C2;
- 显然在采样时,若将 v , w v,w v,w放到 S 1 S_1 S1或 S 2 S_2 S2中就会导致 ( S 1 , S 2 ) (S_1,S_2) (S1,S2)是冲突边;
- 然而因为 v , w ∈ C 2 v,w\in C_2 v,w∈C2,根据 ( C 1 , C 2 ) (C_1,C_2) (C1,C2)的定义,知 v v v存在至少一个邻接点 u ∈ U 1 u\in U_1 u∈U1,并且 w w w也有至少一个邻接点 u ′ ∈ U 1 u^\prime\in U_1 u′∈U1,因此不管是把 w w w放进 S 1 S_1 S1、 v v v放进 S 2 S_2 S2还是 w w w放进 S 2 S_2 S2、 v v v放进 S 1 S_1 S1,都是会导致 ( u , v ) (u,v) (u,v)冲突或 ( u ′ , w ) (u^\prime,w) (u′,w)冲突,于是引理 2.3.2 2.3.2 2.3.2得证。 ■ \blacksquare ■
-
综上各个引理及定义:
结合引理 2.3.2 2.3.2 2.3.2与 U U U一共有 2 ∣ U ∣ 2^{|U|} 2∣U∣个划分的事实,可知至少有 5 / 6 5/6 5/6的概率,在 U U U的每一个划分 ( U 1 , U 2 ) (U_1,U_2) (U1,U2)以及 S S S的每一个划分 ( S 1 , S 2 ) (S_1,S_2) (S1,S2)上,样本 U ∪ S U\cup S U∪S在划分 ( U 1 ∪ S 1 , U 2 ∪ S 2 ) (U_1\cup S_1,U_2\cup S_2) (U1∪S1,U2∪S2)下包含冲突边;也就是说,不管怎么划分样本 U ∪ S U\cup S U∪S,总是会有冲突边;结合引理 2.3.1 2.3.1 2.3.1,定理 1 1 1得证。 ■ \blacksquare ■
-
-
算法复杂度分析:
之前提到二分性检验的算法复杂度是 O ( N 2 ) O(N^2) O(N2),即 Θ ( log 2 ( 1 / ϵ ) / ϵ 4 ) \Theta(\log^2(1/\epsilon)/\epsilon^4) Θ(log2(1/ϵ)/ϵ4);
根据证明中的分析过程,该复杂度可以进行一定优化:
- 算法将样本划分为 U U U和 S S S两部分( ∣ U ∣ = m 1 = Θ ( log ( 1 / ϵ ) / ϵ ) , ∣ S ∣ = m 2 = Θ ( log ( 1 / ϵ ) / ϵ 2 ) |U|=m_1=\Theta(\log(1/\epsilon)/\epsilon),|S|=m_2=\Theta(\log(1/\epsilon)/\epsilon^2) ∣U∣=m1=Θ(log(1/ϵ)/ϵ),∣S∣=m2=Θ(log(1/ϵ)/ϵ2));
- 将
S
S
S视为由
m
2
2
\frac{m_2}{2}
2m2对顶点构成,则只需要查询在
U
×
S
=
{
(
u
,
v
)
:
u
∈
U
,
v
∈
S
}
U\times S=\{(u,v):u\in U,v\in S\}
U×S={(u,v):u∈U,v∈S}以及
m
2
2
\frac{m_2}{2}
2m2对顶点间查询是否存在边即可;
- 备注:因为这样的话成功的概率已经够了,并不需要查全;
- 然后再确认得到的子图是否是二分的,于是算法复杂度可以降为 Θ ( log 2 ( 1 / ϵ ) / ϵ 3 ) \Theta(\log^2(1/\epsilon)/\epsilon^3) Θ(log2(1/ϵ)/ϵ3);
2.4 ρ \rho ρ团检验 Testing ρ \rho ρ-Clique
-
什么是 ρ \rho ρ团检验?
ρ \rho ρ团检验指检验图 G = ( V , E ) G=(V,E) G=(V,E)中是否存在一个至少包含 ρ N \rho N ρN个顶点的团(clique),其中 0 ≤ ρ ≤ 1 0\le\rho\le1 0≤ρ≤1;
-
什么是距离 ρ \rho ρ团 ϵ \epsilon ϵ远?
任取 V ′ ⊂ V , ∣ V ∣ = ρ N V^\prime\subset V,|V|=\rho N V′⊂V,∣V∣=ρN, V ′ V^\prime V′的导出子图中的边不超过 ϵ N 2 \epsilon N^2 ϵN2;
-
自然的算法:采样 G G G的一个导出子图 S S S,算法接受输入当且仅当 S S S包含一个大小稍小于 ρ ∣ S ∣ \rho|S| ρ∣S∣的团(比如 ⌊ ρ ∣ S ∣ ⌋ \left\lfloor\rho|S|\right\rfloor ⌊ρ∣S∣⌋);事实上这个算法很容易证明算法接受的概率至少为 2 3 \frac23 32,但是证明它的反面——即至少以 2 3 \frac23 32的概率拒绝输入是很困难的;
接下来会给出一个不那么自然的算法,可以容易证明算法拒绝的概率至少为 2 3 \frac23 32,但是针对算法接受概率的计算需要一些分析;
-
我们先证明如下一个事实的正确性:如果图中存在一个大小为 ρ N \rho N ρN的团,那么很可能可以找到顶点集的一个子集,该子集的导出子图中的边数不超过 ϵ N 2 \epsilon N^2 ϵN2,我们称这样一个导出子图为近似团(approximate clique);
-
A Oracle Aided Procedure:
设 C C C是图 G = ( V , E ) G=(V,E) G=(V,E)中一个大小为 ρ N \rho N ρN的团;
假设我们有一个预言机器(pracle),输入 v ∈ V v\in V v∈V,输出为 v v v的邻接点数量;
利用这些信息我们希望能够构造另一个大小为 ρ N \rho N ρN的团 C ′ C^\prime C′;
令 d C ( v ) d_C(v) dC(v)表示 v ∈ V v\in V v∈V在 C C C中的邻接点数量,根据团的定义,可知 ∀ v ∈ C , d C ( v ) = ρ N − 1 \forall v\in C,d_C(v)=\rho N-1 ∀v∈C,dC(v)=ρN−1,当然在 C C C之外可能也有一些顶点能够满足这个性质;
定义 T ( C ) = { v ∈ V : d C ( v ) ≥ ρ N − 1 } T(C)=\{v\in V:d_{C}(v)\ge\rho N-1\} T(C)={v∈V:dC(v)≥ρN−1},然后根据 T ( C ) T(C) T(C)导出子图中,各个顶点度数(degree)对集合 T ( C ) T(C) T(C)中的顶点进行降序排列;
令 C ′ C^\prime C′是 T ( C ) T(C) T(C)中前 ρ N \rho N ρN个顶点的导出子图,那么我们断言 C ′ C^\prime C′是一个团;
这是为什么呢?
根据 T ( C ) T(C) T(C)的定义,每个 C C C中的顶点都与 T ( C ) T(C) T(C)中的顶点是有邻接关系的;(除了顶点自身,因为 C C C是一个团)
因此每个 C C C中的顶点在 T ( C ) T(C) T(C)的导出子图中的度数为 ∣ T ( C ) ∣ − 1 |T(C)|-1 ∣T(C)∣−1;(因为显然 C ⊆ T ( C ) C\subseteq T(C) C⊆T(C)且 T ( C ) T(C) T(C)中邻接点要排除顶点自身)
又因为 ∣ C ∣ = ∣ C ′ ∣ = ρ N |C|=|C^\prime|=\rho N ∣C∣=∣C′∣=ρN,则每一个 C ′ C^\prime C′中的顶点的度数也必须有是 ∣ T ( C ) ∣ − 1 |T(C)|-1 ∣T(C)∣−1;(因为 C C C中的顶点对于集合 C ′ C^\prime C′而言都是候选点,且两者的大小相同都是 ρ N \rho N ρN)
换言之, C ′ C^\prime C′中每个顶点都和 T ( C ) T(C) T(C)中的每个顶点是邻接的(除自身),于是 C ′ C^\prime C′中每个顶点都和 C ′ C^\prime C′中其他顶点邻接,于是 C ′ C^\prime C′是一个团;
-
备注:Puzzling…
我思考了很久,感觉这段在表述上存在一些问题,但是其实换个角度看这件事情是很显然的,因为从 T ( C ) T(C) T(C)中任取一个不在 C C C中的顶点 v v v,那么根据定义它至少跟 C C C中的 ∣ C ∣ − 1 |C|-1 ∣C∣−1个顶点是邻接的,那么把这 ∣ C ∣ − 1 |C|-1 ∣C∣−1个顶点和 v v v合并在一起就是一个 ρ N \rho N ρN大小的团;
我没有搞明白为什么这里写得这么复杂,而且似乎也不太对劲,一来这无法说明 C ′ ≠ C C^\prime\neq C C′=C,因为可能就是 C C C中的顶点排在前 ρ N \rho N ρN个;二来凭什么 C ′ C^\prime C′中的顶点跟 T ( C ) T(C) T(C)中的所有顶点都是邻接的?我是真的搞不明白;
但是根据下文 T ( U ′ ) T(U^\prime) T(U′)的表示,这里很可能 T ( C ) T(C) T(C)的定义是跟 C C C中顶点都邻接的顶点集合,这样倒是能够说得通了,但是这又太苛刻了,万一根本没有这样的顶点呢?
事实上我们可能找不到这样的预言机器,但是我们可以在 C C C中采样一个充分大的集合 U ′ U^\prime U′(比如大小为 Θ ( ρ 2 ⋅ log ( 1 / ϵ ) / ϵ 2 ) \Theta(\rho^2\cdot\log(1/\epsilon)/\epsilon^2) Θ(ρ2⋅log(1/ϵ)/ϵ2));令 T ( U ′ ) T(U^\prime) T(U′)是与 U ′ U^\prime U′中顶点都邻接的顶点集合,那么可以认为大概率地,每个 T ( U ′ ) T(U^\prime) T(U′)中的顶点都与 C C C中所有顶点是邻接的;与上文类似,仍然可以对 T ( U ′ ) T(U^\prime) T(U′)中的顶点进行排序,并取前 ρ N \rho N ρN个顶点构成的集合 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′)),可以预见到的是,顶点集 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′))很可能是一个团;
- 备注:到这里为止提到过很多次大概率,很可能的概念,这里作者给出了说明,所谓大概率就是all but a fraction of ϵ \epsilon ϵ;
-
-
近似团寻找算法:承接上面 C C C的定义,是一个大小为 ρ N \rho N ρN的团;
从原图 V V V中均匀采样顶点集 U U U,考察 U U U所有大小为 ρ 2 ∣ U ∣ \frac\rho2|U| 2ρ∣U∣的子集 U ′ U^\prime U′;
由于大概率 ∣ U ∩ C ∣ ≥ ρ 2 ∣ U ∣ |U\cap C|\ge\frac\rho2|U| ∣U∩C∣≥2ρ∣U∣,因此应该可以期望 C C C中可以会包含这样的某个子集 U ′ U^\prime U′;
- 备注:这里因为 ∣ C ∣ = ρ N |C|=\rho N ∣C∣=ρN,然后 U U U是从大小为 N N N的顶点集中采样得到的,所以从期望上来看 ∣ U ∩ C ∣ |U\cap C| ∣U∩C∣应该约为 ρ ∣ U ∣ \rho |U| ρ∣U∣,所以可以认为大概率不小于 ρ 2 ∣ U ∣ \frac\rho2|U| 2ρ∣U∣;
由于 U U U是均匀采样的,所以这个被 C C C包含的子集 U ′ U^\prime U′在 C C C中也是均匀分布的,因此大概率地,几乎所有 T ( U ′ ) T(U^\prime) T(U′)中的顶点将与 C C C中几乎所有顶点都邻接;
- 备注:这里又很tricky了,根据定义 T ( U ′ ) T(U^\prime) T(U′)里的顶点都和 U ′ U^\prime U′中所有顶点邻接,那么为什么几乎所有 T ( U ′ ) T(U^\prime) T(U′)中的顶点将与 C C C中几乎所有顶点都邻接呢?显然 ∣ U ′ ∣ |U^\prime| ∣U′∣要比 ∣ C ∣ |C| ∣C∣小很多的;
若对 T ( U ′ ) T(U^\prime) T(U′)中的顶点按照它们在 T ( U ′ ) T(U^\prime) T(U′)导出子图中的度数排序,并选取排序前 ρ N \rho N ρN个顶点,则得到的 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′))大概率是一个团,这可以在Figure 2上半部分中清晰地看到:
顺着思路,设计算法考虑 U U U所有大小为 ρ 2 ∣ U ∣ \frac\rho2|U| 2ρ∣U∣的子集,对于每个 U ′ U^\prime U′找出 T ( U ′ ) T(U^\prime) T(U′)与 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′)),然后选取最接近团的一个 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′));根据上文的分析,若图中含有一个大小为 ρ N \rho N ρN的团,则大概率 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′))会接近一个团;另一方面,若图距离 ρ \rho ρ团有 ϵ \epsilon ϵ远,那么根据定义,每一个 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′))都不会是团;
-
备注:Puzzing…
大概可能是这么一回事,注意距离 ρ \rho ρ团有 ϵ \epsilon ϵ远的定义是说任意大小为 ρ N \rho N ρN的导出子图中的边数不超过 ϵ N 2 \epsilon N^2 ϵN2,所以**另一方面……**是显然的;然后记得上面提到的根据团 C C C可以生成一个同样大小的团 C ′ C^\prime C′,方法是把跟 C C C中顶点邻接的所有其他顶点都找出来,然后在这些顶点中取度数最大的 ρ N \rho N ρN个即可,所以假若图中有大小为 ρ N \rho N ρN的团,我们虽然找不到这个 C C C,也找不到 T ( C ) T(C) T(C),但是我们可以找遍所有的 T ( U ′ ) T(U^\prime) T(U′),根据上面的说法, T ( U ′ ) T(U^\prime) T(U′)应当大概率与然后在里面取出一个最接近团(即边数最大)的即可;但是上面一些遗留的问题还是不太能弄明白。
-
ρ \rho ρ团检验算法:给定算法输入 G = ( V , E ) G=(V,E) G=(V,E);
-
均匀独立采样三个顶点集: U , S , W U,S,W U,S,W,其中 ∣ U ∣ = ∣ S ∣ = Θ ( ρ ⋅ log ( 1 / ϵ ) / ϵ 2 ) , ∣ W ∣ = Θ ( 1 / ϵ 3 ) |U|=|S|=\Theta(\rho\cdot\log(1/\epsilon)/\epsilon^2),|W|=\Theta(1/\epsilon^3) ∣U∣=∣S∣=Θ(ρ⋅log(1/ϵ)/ϵ2),∣W∣=Θ(1/ϵ3);
-
遍历集合 U U U地所有大小为 ρ 2 ∣ U ∣ \frac\rho2|U| 2ρ∣U∣的子集 U ′ U^\prime U′:
-
① 定义 S ( U ′ ) ⊆ S S(U^\prime)\subseteq S S(U′)⊆S是 S S S中那些与 U ′ U^\prime U′中所有顶点都邻接的顶点构成的集合,注意 S S S是均匀采样得到的,所以 S ( U ′ ) S(U^\prime) S(U′)在 T ( U ′ ) T(U^\prime) T(U′)中的分布也是均匀的;
-
② 定义 W ( U ′ ) ⊆ W W(U^\prime)\subseteq W W(U′)⊆W是 W W W中那些与 U ′ U^\prime U′中所有顶点都邻接的顶点构成的集合,显然 W ( U ′ ) W(U^\prime) W(U′)在 T ( U ′ ) T(U^\prime) T(U′)中的分布也是均匀的,这些顶点将用于估计 S ( U ′ ) S(U^\prime) S(U′)中顶点的度数;
-
③ ∀ v ∈ S \forall v\in S ∀v∈S,定义 d ^ ( v ) \hat d(v) d^(v)是 v v v在 W ( U ′ ) W(U^\prime) W(U′)中邻接点的数量;
-
④ 根据 d ^ ( ⋅ ) \hat d(\cdot) d^(⋅)对 S ( U ′ ) S(U^\prime) S(U′)中的顶点降序排列,令 F ( S ( U ′ ) ) F(S(U^\prime)) F(S(U′))是排在前 ρ ∣ S ∣ \rho|S| ρ∣S∣的顶点;若 S ( U ′ ) < ρ ∣ S ∣ S(U^\prime)<\rho|S| S(U′)<ρ∣S∣,则 F ( S ( U ′ ) ) = S ( U ′ ) F(S(U^\prime))=S(U^\prime) F(S(U′))=S(U′);
-
⑤ 将顶点集 S S S视为这样一列顶点对构成: { s 2 i − 1 , s 2 i } i = 1 m \{s_{2i-1},s_{2i}\}_{i=1}^m {s2i−1,s2i}i=1m,令 m i s ( U ′ ) = { ( s 2 i − 1 , s 2 i ) ∈ F ( S ( U ′ ) ) × F ( S ( U ′ ) ) : ( s 2 i − 1 , s 2 i ) ∉ E } {\rm mis}(U^\prime)=\{(s_{2i-1},s_{2i})\in F(S(U^\prime))×F(S(U^\prime)): (s_{2i-1},s_{2i})\notin E\} mis(U′)={(s2i−1,s2i)∈F(S(U′))×F(S(U′)):(s2i−1,s2i)∈/E};
-
若有一个子集 U ′ U^\prime U′,对应的 F ( S ( U ′ ) ) F(S(U^\prime)) F(S(U′))的大小至少为 ( ρ − ϵ / 80 ) ∣ S ∣ (\rho-\epsilon/80)|S| (ρ−ϵ/80)∣S∣,且 m i s ( U ′ ) ≤ 2 ϵ 3 m {\rm mis}(U^\prime)\le\frac{2\epsilon}3m mis(U′)≤32ϵm,则算法接受输入,否则拒绝;详见Figure 2下半部分;
-
算法分析:
下文定理 2 2 2对算法的正确性做出了声明,这里只做简要分析,而非详细证明;
若图距离 ρ \rho ρ团有 ϵ \epsilon ϵ远,那么对于每个 U U U以及 U ′ ⊂ U U^\prime\subset U U′⊂U,集合 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′))也很难接近是一个团;另一方面,若图中存在 ρ \rho ρ团,则高概率存在某个子集 U ′ U^\prime U′,使得 F ( T ( U ′ ) ) F(T(U^\prime)) F(T(U′))接近于一个团;
针对 S S S和 W W W,在前一种情况中,对于每个 U ′ U^\prime U′,在 F ( S ( U ′ ) ) F(S(U^\prime)) F(S(U′))的顶点对之间会有很多缺失的边,而后一种情况中,存在一个 U ′ U^\prime U′,使得在 F ( S ( U ′ ) ) F(S(U^\prime)) F(S(U′))的顶点对之间几乎没有缺失边(即接近于团);
-
-
定理 2 2 2:上述算法是针对 ρ \rho ρ团的检验算法;若图中存在一个大小为 ρ N \rho N ρN的团,则算法会以至少 2 3 \frac23 32的概率接受输入;若图距离该性质有 ϵ \epsilon ϵ远,则算法会以至少 2 3 \frac23 32的概率拒绝输入。
2.5 广义分割性质 A General class of Partition Properties
-
本节主要介绍图分割性质的统一符号标记写法,简要了解即可:
-
令 Φ = d e f { ρ j L B , ρ j U B } k ∪ { λ j , j ′ L B , λ j , j ′ U B } k \Phi\overset{\rm def}=\left\{\rho_j^{\rm LB},\rho_j^{\rm UB}\right\}^k\cup\{\lambda_{j,j'}^{\rm LB},\lambda_{j,j'}^{\rm UB}\}^k Φ=def{ρjLB,ρjUB}k∪{λj,j′LB,λj,j′UB}k是一套非负参数集合,满足 ρ j L B ≤ ρ j U B ( ∀ j ) \rho_j^{\rm LB}\le\rho_{j}^{\rm UB}(\forall j) ρjLB≤ρjUB(∀j)且 λ j , j ′ L B ≥ λ j , j ′ U B ( ∀ j , j ′ ) \lambda_{j,j'}^{\rm LB}\ge\lambda_{j,j'}^{\rm UB}(\forall j,j') λj,j′LB≥λj,j′UB(∀j,j′);
- 其实 L B \rm LB LB就是下界, U B \rm UB UB就是上界;
-
令 G P Φ \mathcal{GP}_\Phi GPΦ是一类图,这些图存在一种 k k k部划分方法 ( V 1 , V 2 , . . . , V k ) (V_1,V_2,...,V_k) (V1,V2,...,Vk)满足:
ρ j L B ⋅ N ≤ ∣ V j ∣ ≤ ρ j U B ⋅ N ∀ j \rho_j^{\rm LB}\cdot N\le|V_j|\le\rho_j^{\rm UB}\cdot N\quad\forall j ρjLB⋅N≤∣Vj∣≤ρjUB⋅N∀j
且
λ j , j ′ L B ⋅ N 2 ≤ ∣ E ( V j , V j ′ ) ∣ ≤ λ j , j ′ U B ⋅ N 2 \lambda_{j,j'}^{\rm LB}\cdot N^2\le|E(V_j,V_{j'})|\le\lambda_{j,j'}^{\rm UB}\cdot N^2 λj,j′LB⋅N2≤∣E(Vj,Vj′)∣≤λj,j′UB⋅N2
其中 E ( V j , V j ′ ) E(V_j,V_{j'}) E(Vj,Vj′)顶点集 V j , V j ′ V_j,V_{j'} Vj,Vj′之间的边集合; -
于是根据上面的记号,可以将Section 2.2中的几个问题重新表述:
- 二分性: k = 2 , ρ 1 L B = ρ 2 L B = 0 , ρ 1 U B = ρ 2 U B = 1 k=2,\rho_1^{\rm LB}=\rho_2^{\rm LB}=0,\rho_1^{\rm UB}=\rho_2^{\rm UB}=1 k=2,ρ1LB=ρ2LB=0,ρ1UB=ρ2UB=1, λ 1 , 1 L B = λ 2 , 2 L B = λ 1 , 1 U B = λ 2 , 2 U B = 0 , λ 1 , 2 L B = λ 1 , 2 U B = 1 \lambda_{1,1}^{\rm LB}=\lambda_{2,2}^{\rm LB}=\lambda_{1,1}^{\rm UB}=\lambda_{2,2}^{\rm UB}=0,\lambda_{1,2}^{\rm LB}=\lambda_{1,2}^{\rm UB}=1 λ1,1LB=λ2,2LB=λ1,1UB=λ2,2UB=0,λ1,2LB=λ1,2UB=1,其实就是约束划分的每个顶点集内不能有边;
- k k k染色: k ≥ 3 , λ j , j U B = 0 ( ∀ 1 ≤ j ≤ k ) k\ge3,\lambda_{j,j}^{\rm UB}=0(\forall1\le j\le k) k≥3,λj,jUB=0(∀1≤j≤k),所有的下界都是0,所有其他的上界都是1;
- ρ \rho ρ团: k = 1 , ρ 1 L B = ρ 1 U B = ρ , λ 1 , 1 L B = 1 2 ( ρ 2 − ρ / N ) k=1,\rho_1^{\rm LB}=\rho_1^{\rm UB}=\rho,\lambda_{1,1}^{\rm LB}=\frac12(\rho^2-\rho/N) k=1,ρ1LB=ρ1UB=ρ,λ1,1LB=21(ρ2−ρ/N),即约束一个子集的大小为 ρ N \rho N ρN,并约束该子集是团;
- ρ \rho ρ分割: k = 2 , λ 1 , 2 L B = ρ k=2,\lambda_{1,2}^{\rm LB}=\rho k=2,λ1,2LB=ρ,对于 ρ \rho ρ-bisection问题则需要添加 ρ j L B = ρ j U B = 1 2 ( j ∈ { 1 , 2 } ) \rho_j^{\rm LB}=\rho_j^{\rm UB}=\frac12(j\in\{1,2\}) ρjLB=ρjUB=21(j∈{1,2});
-
2.6 一阶图性质 First Order Graph Properties
一阶图性质的概念在Section 2.1有所提及,这里简要介绍概念以及一些结论:
-
一些记号:
称 A ( x 1 , . . . , x t , y 1 , . . . , y s ) A(x_1,...,x_t,y_1,...,y_s) A(x1,...,xt,y1,...,ys)是没有数量词的图表达式(quantifier free graph expression),若它只包含顶点等价性(quality of vertices),顶点邻接关系(adjacency relations between vertices),是否连通性(boolean connectives);
称表达式是“ ∃ ∀ \exist\forall ∃∀”类型的,若它具有形式: ∃ x 1 , . . . , x t , ∀ y 1 , . . . , y s , A ( x 1 , . . . , x t , y 1 , . . . , y s ) \exist x_1,...,x_t,\forall y_1,...,y_s,A(x_1,...,x_t,y_1,...,y_s) ∃x1,...,xt,∀y1,...,ys,A(x1,...,xt,y1,...,ys);
同理可以定义表达式是“ ∀ ∃ \forall\exist ∀∃”类型的;
参考文献
[AKFS99]
中已经证明了任何可以用“ ∃ ∀ \exist\forall ∃∀”类型的表达式表述的图性质都是可以通过查询复杂度及时间复杂度独立于图尺寸(graph size,即顶点数量与边数量)的算法进行检验;虽然复杂度与独立于 N N N,但是会与距离参数 ϵ \epsilon ϵ相关,要么是 exp p o l y ( 1 / ϵ ) \exp{\rm poly}(1/\epsilon) exppoly(1/ϵ),要么是 exp exp p o l y ( 1 / ϵ ) \exp\exp{\rm poly}(1/\epsilon) expexppoly(1/ϵ);上述定理中提到的不可被检验的原因是查询复杂度为 Ω ( N ) \Omega(\sqrt{N}) Ω(N);
原文:
… is either a tower of p o l y ( 1 / ϵ ) \rm poly(1/\epsilon) poly(1/ϵ) exponents or a tower of towers of p o l y ( 1 / ϵ ) \rm poly(1/\epsilon) poly(1/ϵ) exponents …
-
关于上述结论的证明非常复杂,这里仅例举参考文献
[AKFS99]
中的主要定义、引理与定理: -
定义 2.6.1 2.6.1 2.6.1:什么是两个性质可以被区分?
原文:
Two graph properties P P P and P ′ P' P′ are said to be indistinguishable if for every ϵ > 0 \epsilon>0 ϵ>0 there exists an integer N ϵ N_\epsilon Nϵ for which the following holds. For every graph G G G with N > N ϵ N>N_\epsilon N>Nϵ vertices such that G G G has property P P P, there exists an N N N-vertex graph G ′ G' G′ having property P ′ P' P′ such that the distance between G G G and G ′ G' G′ is at most ϵ \epsilon ϵ. Similarly, for every graph H ′ H' H′ with N > N ϵ N>N_\epsilon N>Nϵ vertices such that H ′ H' H′ has property P ′ P' P′, there exists an N N N-vertex graph H H H having property P P P such that the distance between H ′ H' H′ and H H H is at most ϵ \epsilon ϵ.
-
引理 2.6.1 2.6.1 2.6.1:揭示不可区分图性质在检验上的复杂度共性;
原文:
If P P P and P ′ P' P′ are indistinguishable graph properties, then P P P is testable using a number of queries independent of N N N if and only if P ′ P' P′ is testable using a number of queries independent of N N N. Specifically, if the number of queries used in testing one property is Q ( ϵ ) Q(\epsilon) Q(ϵ), then the other property can be tested using at most 3 Q ( ϵ / 2 ) 3Q(\epsilon/2) 3Q(ϵ/2) queries.
-
定义 2.6.2 2.6.2 2.6.2: F \mathcal{F} F可染色性;
原文:
Let F \mathcal{F} F be a family of graphs (where repetitions are allowed), such that each graph in the family comes with a (not necessarily proper) coloring by at most c c c colors. A coloring of a graph G G G by c c c colors (which, again, need not be proper) is called an F \mathcal{F} F-coloring, if no member of F \mathcal{F} F appears as an induced subgraph of G G G with an identical coloring. A graph G G G is called F \mathcal{F} F-colorable if there exists an F \mathcal{F} F-coloring of G.
-
引理 2.6.2 2.6.2 2.6.2:虽然很复杂,但是大致意思是说任何“ ∃ ∀ \exist\forall ∃∀”类型的性质,都可以找到一个 F \mathcal{F} F可染色性的性质与其不可区分,所以它们的复杂度是相似的;
原文:
For every first order property P P P of the form:
∃ x 1 , . . . , x t , ∀ y 1 , . . . , y s , A ( x 1 , . . . , x t , y 1 , . . . , y s ) \exist x_1,...,x_t,\forall y_1,...,y_s,A(x_1,...,x_t,y_1,...,y_s) ∃x1,...,xt,∀y1,...,ys,A(x1,...,xt,y1,...,ys)
there exists a family of F \mathcal{F} F of ( 2 t + ( t 2 ) + 1 ) \left(2^{t+\left(\begin{matrix}t\\2\end{matrix}\right)}+1\right) (2t+(t2)+1)-colored graphs, each with at most max { 2 , t + 1 , s } \max\{2,t+1,s\} max{2,t+1,s} vertices such that the property P P P is indistinguishable from the property of being F \mathcal{F} F-colorable. -
定理 3 3 3: ∀ c \forall c ∀c以及每个 c c c可染色的图族 F \mathcal{F} F,那么 F \mathcal{F} F可染色的性质可以通过某个查询复杂度以及时间复杂度独立于图大小的算法进行检验。(证明略)
3 邻接表模型中的图性质检验 Testing Graph Properties in the Incidence-Lists Model
3.1 定义 Definitions
-
邻接表模型可以分为有界度数邻接表(bounded incidence-lists)和无界度数邻接表(unbounded incidence-lists)两种模型;
虽然后者模型能表征的图更广泛,但是在前者模型中的性质检验要容易得多,因此此时邻接表的存储空间复杂度为 O ( N d ) O(Nd) O(Nd),其中 N N N为定点数, d d d为度数上界,事实上因为简单图中 d ≤ N − 1 d\le N-1 d≤N−1,所以简单图都可以用前者建模;
3.2 一些结论的总结 Summary of Results
-
有界度数模型:
-
连通性(Connectivity):查询复杂度与时间复杂度为 O ~ ( ϵ − 1 ) \tilde O(\epsilon^{-1}) O~(ϵ−1);(参考文献
[GR97]
) -
k k k边连通性( k k k-Edge-Connectivity):查询复杂度与时间复杂度为 O ~ ( k 3 ⋅ ϵ − 3 + 2 k ) \tilde O(k^3\cdot\epsilon^{-3+\frac2k}) O~(k3⋅ϵ−3+k2);(参考文献
[GR97]
)- k = 1 k=1 k=1代入即连通性的复杂度;
-
2 2 2顶点连通性和 3 3 3顶点连通性:查询复杂度与时间复杂度都是 O ~ ( ϵ − 2 ) \tilde O(\epsilon^{-2}) O~(ϵ−2)和 O ~ ( ϵ − 3 ) \tilde O(\epsilon^{-3}) O~(ϵ−3);
-
欧拉图(Eulerian):查询复杂度与时间复杂度都是 O ~ ( ϵ − 1 ) \tilde O(\epsilon^{-1}) O~(ϵ−1);(参考文献
[GR97]
)- 即一笔画问题,图是否可以一笔画出来,其实只要检查每个顶点的度数即可;
-
无环性(Cycle-Freeness):查询复杂度与时间复杂度都是 O ~ ( ϵ − 3 + d ⋅ ϵ − 2 ) \tilde O(\epsilon^{-3}+d\cdot\epsilon^{-2}) O~(ϵ−3+d⋅ϵ−2);(参考文献
[GR97]
)- 这个复杂度是在无向图中的情况;
- 有向图的情况在Section 3.5有所讨论,下界是 Ω ( N 1 / 3 ) \Omega(N^{1/3}) Ω(N1/3),是与 N N N相关的;
-
二分性(Bipartiteness):参考文献
[GR97]
给出的结论是查询复杂度下界为 Ω ( N ) \Omega(\sqrt{N}) Ω(N),参考文献[GR99]
给出一种查询复杂度与时间复杂度为 N ⋅ p o l y ( log ( N / ϵ ) ) \sqrt{N}\cdot{\rm poly}(\log(N/\epsilon)) N⋅poly(log(N/ϵ))的算法; -
扩展性(Expansion):参考文献
[GR97]
给出的结论是查询复杂度下界为 Ω ( N ) \Omega(\sqrt{N}) Ω(N);-
所谓扩展参考
[GR97]
中Section 8.2的定义:定义 ? ( A ) = A ∪ { u : ( v , u ) ∈ E , v ∈ A } ?(A)=A\cup\{u:(v,u)\in E,v\in A\} ?(A)=A∪{u:(v,u)∈E,v∈A},即为顶点集 A A A的邻接点集合,则称一个有 N N N个顶点的图是 ( N , α , β ) (N,\alpha,\beta) (N,α,β)-expander,若对于每一个子集 A ⊂ V A\subset V A⊂V, ∣ A ∣ ≤ α N |A|\le\alpha N ∣A∣≤αN,有 ∣ ? ( A ) ∣ ≥ β ∣ A ∣ |?(A)|\ge\beta|A| ∣?(A)∣≥β∣A∣成立;
-
-
-
无界度数模型:略,不常讨论;
如连通性等性质检验与前者是共通的;
这里额外提到一个Diameter的性质,即考察图的直径,即其中最长的一条路径;
3.3 检验 k k k边连通性 Testing k k k-Edge-Connectivity
-
定义:
给定图 G = ( V , E ) G=(V,E) G=(V,E), k = 1 k=1 k=1时即验证图的连通性;
称 S ⊆ U S\subseteq U S⊆U是 k k k边连通的( k k k-edge-connected),若 S S S中任取一对顶点,它们之间都有包含 k k k条边不相交的路径( k k k edge-disjoint paths);
称图 G G G是 k k k连通的,若 V V V是 k k k边连通的;
-
连通性检验算法:
-
For i=1,2,…, log ( 2 / ϵ ~ ) \log(2/\tilde\epsilon) log(2/ϵ~):
-
独立均匀采样图 G G G中 m i = 8 ⋅ log ( 2 / ϵ ~ ) 2 i ⋅ ϵ ~ m_i=\frac{8\cdot\log(2/\tilde\epsilon)}{2^i\cdot\tilde\epsilon} mi=2i⋅ϵ~8⋅log(2/ϵ~)个顶点;
-
对于每个被采样到的顶点 v v v,以 v v v为顶点执行一次广度优先搜索,搜索直到 2 i 2^i 2i个顶点被遍历到(或已经没有新的顶点可以被遍历);
-
-
若上述的搜索找到了一个小连通分量(a small connected component),则算法拒绝输入,否则算法接受输入。
-
3.4 检验二分性 Testing Bipartiteness
-
定理 5 5 5:在有界度数邻接表模型中检验二分性(距离参数 ϵ = 0.01 \epsilon=0.01 ϵ=0.01)需要 1 4 ⋅ N \frac14\cdot\sqrt{N} 41⋅N次查询;
-
二分性检验算法:
-
重复 T = Θ ( 1 ϵ ) T=\Theta(\frac1\epsilon) T=Θ(ϵ1)次:
-
① 随机采样一个顶点 s ∈ V s\in V s∈V;
-
② 设 K = p o l y ( ( log N ) / ϵ ) ⋅ N , L = p o l y ( ( log N ) / ϵ ) K={\rm poly}((\log N)/\epsilon)\cdot\sqrt{N},L={\rm poly}((\log N)/\epsilon) K=poly((logN)/ϵ)⋅N,L=poly((logN)/ϵ);
-
③ 从顶点 s s s处随机进行 K K K次游走,每次移动长度为 L L L;
-
④ 若在偶数长度路径对应的随机游走的前缀和奇数长度路径对应的随机游走的前缀上(从 s s s)到达某个顶点 v v v,则算法拒绝输入;
原文:
If some vertex v v v is reached (from s s s) both on a prefix of a random walk corresponding to an even-length path and on a prefix of a walk corresponding to an odd-length path then reject.
-
-
若在上述迭代中没有拒绝,则算法接受输入;
-
3.5 有向图 Directed Graph
- 正如在Section 2.2结尾处所提到的,某些性质性质的检验在无向图与有向图上是没有区别的,邻接表模型中一个典型的例子就是检验图的连通性;
- Section 3.3的算法可以推广到有向图,若算法可以查询每个顶点的入度顶点;否则(即算法只能查询每个顶点的出度顶点),则算法的查询复杂度下界为 Ω ( N ) \Omega(N) Ω(N);
- 无环性检验,是无向图与有向图区别最大的性质检验之一;无向图无环的必要条件是图中包含边数不超过 N − 1 N-1 N−1,而在有向图中则不成立,有证明称检验无环性的任意算法必须至少进行 Ω ( N 1 3 ) \Omega(N^{\frac13}) Ω(N31)次查询;
4 其他性质检验 Testing Other Properties
- 定义 4.0.1 4.0.1 4.0.1:对于给定的函数 f : X → Y f:X\rightarrow Y f:X→Y与给定的性质 P \mathcal{P} P( P \mathcal{P} P指函数 f f f的性质,定义域为 X X X,值域为 Y Y Y),称 f f f距离性质 P \mathcal{P} P有 ϵ \epsilon ϵ远,若 ∀ g : X → Y \forall g:X\rightarrow Y ∀g:X→Y,有 Pr x ∈ U [ f ( x ) ≠ g ( x ) ] > ϵ \Pr_{x\in U}[f(x)\neq g(x)]>\epsilon Prx∈U[f(x)=g(x)]>ϵ,其中 U U U指均匀分布,否则称 f f f距离性质 P \mathcal{P} P有 ϵ \epsilon ϵ近;
4.1 检验几何性质 Testing Algebraic Properties
4.1.1 检验线性性 Testing Linearity
本节中的内容源于参考文献
[BLR93]
;
-
定义 4.1.1 4.1.1 4.1.1:(函数线性性第一定义)令 F F F是有限域(finite field),称函数 f : F m → F f:F^m\rightarrow F f:Fm→F是线性的(更确切地说,是多线性的multi-linear),若存在 m m m个常数 a 1 , a 2 , . . . , a m ∈ F a_1,a_2,...,a_m\in F a1,a2,...,am∈F,使得 ∀ x = ( x 1 , x 2 , . . . , x m ) ∈ F m \forall x=(x_1,x_2,...,x_m)\in F^m ∀x=(x1,x2,...,xm)∈Fm,有 f ( x ) = ∑ i = 1 m a i x i f(x)=\sum_{i=1}^ma_ix_i f(x)=∑i=1maixi成立;
-
事实 4.1.1 4.1.1 4.1.1:(函数线性性的第二定义):称函数 f : F m → F f:F^m\rightarrow F f:Fm→F是线性的,当且仅当 ∀ x , y ∈ F m \forall x,y\in F^m ∀x,y∈Fm,有 f ( x ) + f ( y ) = f ( x + y ) f(x)+f(y)=f(x+y) f(x)+f(y)=f(x+y);
- 备注:容易验证以上两种定义是完全等价的;
-
线性性检验算法:
- 独立均匀采样 m = Θ ( 1 / ϵ ) m=\Theta(1/\epsilon) m=Θ(1/ϵ)对 x , y ∈ F x,y\in F x,y∈F;
- 对于每一对采样到的 x , y x,y x,y对,检验 f ( x ) + f ( y ) = f ( x + y ) f(x)+f(y)=f(x+y) f(x)+f(y)=f(x+y)是否成立;
- 若所有采样点对 x , y x,y x,y都成立 f ( x ) + f ( y ) = f ( x + y ) f(x)+f(y)=f(x+y) f(x)+f(y)=f(x+y),则算法接受输入,否则算法拒绝输入;
-
定理 7 7 7:若 f f f距离线性性有 ϵ \epsilon ϵ远,则线性性检验算法将以至少 2 3 \frac23 32的概率拒绝 f f f;
-
定理证明:
称 x , y x,y x,y是一个冲突对,若 f ( x ) + f ( y ) ≠ f ( x + y ) f(x)+f(y)\neq f(x+y) f(x)+f(y)=f(x+y);
令 δ \delta δ表示 f f f距离线性性的确切距离(当然 δ > ϵ \delta>\epsilon δ>ϵ),我们将能够证明每个均匀独立采样得到的点对 x , y x,y x,y有至少 3 δ ( 1 − 2 δ ) 3\delta(1-2\delta) 3δ(1−2δ)的概率是一个冲突对;
令 g g g是一个距离 f f f有 δ \delta δ远的线性函数,定义 G = d e f { x : f ( x ) = g ( x ) } G\overset{\rm def}=\{x:f(x)=g(x)\} G=def{x:f(x)=g(x)};
若考察点对 x , y x,y x,y, x , y , x + y x,y,x+y x,y,x+y三个点中任意两个点 ∈ G \in G ∈G可以得出第三个点 ∉ G \notin G ∈/G,则可以得出 x , y x,y x,y是一个冲突对;我们有:
Pr [ x , y v i o l a t e ] ≥ Pr [ x ∉ G , y ∈ G , ( x + y ) ∈ G ] + Pr [ x ∈ G , y ∉ G , ( x + y ) ∈ G ] + Pr [ x ∈ G , y ∈ G , ( x + y ) ∉ G ] \begin{aligned} \Pr[x,y\space{\rm violate}] &\ge\Pr[x\notin G,y\in G,(x+y)\in G]\\ &+\Pr[x\in G,y\notin G,(x+y)\in G]\\ &+\Pr[x\in G,y\in G,(x+y)\notin G] \end{aligned} Pr[x,y violate]≥Pr[x∈/G,y∈G,(x+y)∈G]+Pr[x∈G,y∈/G,(x+y)∈G]+Pr[x∈G,y∈G,(x+y)∈/G]
考察上式中右侧求和式中的第一个概率值(另外两个的处理手法类似):
Pr [ x ∉ G , y ∈ G , ( x + y ) ∈ G ] = Pr [ x ∉ G ] ⋅ Pr [ y ∈ G , ( x + y ) ∈ G ∣ x ∉ G ] = δ ⋅ ( 1 − Pr [ y ∉ G o r ( x + y ) ∉ G ] ∣ x ∉ G ) \begin{aligned} \Pr[x\notin G,y\in G,(x+y)\in G] &=\Pr[x\notin G]\cdot\Pr[y\in G,(x+y)\in G|x\notin G]\\ &=\delta\cdot(1-\Pr[y\notin G{\space\rm or\space}(x+y)\notin G]|x\notin G) \end{aligned} Pr[x∈/G,y∈G,(x+y)∈G]=Pr[x∈/G]⋅Pr[y∈G,(x+y)∈G∣x∈/G]=δ⋅(1−Pr[y∈/G or (x+y)∈/G]∣x∈/G)
根据事件并的概率不等式(容斥原理),以及 y y y与 ( x + y ) (x+y) (x+y)都是均匀分布的事实,可得:
1 − Pr [ y ∉ G o r ∣ x ∉ G ] ≥ 1 − 2 Pr [ y ∉ G ∣ x ∉ G ] = 1 − 2 Pr [ y ∉ G ] = 1 − 2 δ 1-\Pr[y\notin G{\space\rm or\space}|x\notin G]\ge 1-2\Pr[y\notin G|x\notin G]=1-2\Pr[y\notin G]=1-2\delta 1−Pr[y∈/G or ∣x∈/G]≥1−2Pr[y∈/G∣x∈/G]=1−2Pr[y∈/G]=1−2δ
上式倒数第二个等号是由于 x , y x,y x,y是独立采样的;则可得 Pr [ x , y v i o l a t e ] ≥ 3 δ ( 1 − 2 δ ) \Pr[x,y\space{\rm violate}]\ge3\delta(1-2\delta) Pr[x,y violate]≥3δ(1−2δ);
- 备注:这里证明没有写完,一对顶点 x , y x,y x,y冲突的概率至少为 3 δ ( 1 − 2 δ ) 3\delta(1-2\delta) 3δ(1−2δ),则采样得到的 Θ ( 1 / ϵ ) \Theta(1/\epsilon) Θ(1/ϵ)个顶点中至少有一对顶点冲突的概率至少为 P ( δ , ϵ ) = 1 − ( 1 − 3 δ ( 1 − 2 δ ) ) Θ ( 1 / ϵ ) P(\delta,\epsilon)=1-(1-3\delta(1-2\delta))^{\Theta(1/\epsilon)} P(δ,ϵ)=1−(1−3δ(1−2δ))Θ(1/ϵ),注意 P ( δ , ϵ ) P(\delta,\epsilon) P(δ,ϵ)中如果固定 ϵ \epsilon ϵ,则关于 δ \delta δ是单调递增的( ϵ < δ < 0.25 \epsilon<\delta<0.25 ϵ<δ<0.25),则只需要考察 δ = ϵ \delta=\epsilon δ=ϵ的情况,显然可以证明是至少为 2 3 \frac23 32( ϵ \epsilon ϵ充分小时),这个证明应该是本文中最简单的一个证明了…
-
4.1.2 检验(低阶)多项式性 Testing (Low-Degree) Polynomials
-
定义 4.1.2 4.1.2 4.1.2: F F F是一个有限域(finite field),称函数 f : F → F f:F\rightarrow F f:F→F是一个单变量(univariate)的多项式,阶数为 d d d,若存在系数 c 0 , c 1 , . . . , c d ∈ F c_0,c_1,...,c_d\in F c0,c1,...,cd∈F,使得 f ( x ) = ∑ i = 0 d c i ⋅ x i f(x)=\sum_{i=0}^dc_i\cdot x^i f(x)=∑i=0dci⋅xi;
- 注意:若给定任意 d + 1 d+1 d+1对 { ( x i , y i ) } i = 0 d \{(x_i,y_i)\}_{i=0}^d {(xi,yi)}i=0d,其中 x i , y i ∈ F x_i,y_i\in F xi,yi∈F,则存在唯一的 d d d阶多项式 h h h,使得 h ( x i ) = y i h(x_i)=y_i h(xi)=yi对任意 i ∈ { 0 , 1 , . . . , d } i\in\{0,1,...,d\} i∈{0,1,...,d}成立,其中 h h h可以通过插值法(interpolation)得到;
-
低阶性检验:
-
做 m = 2 / ϵ m=2/\epsilon m=2/ϵ次检验:
-
在 F F F中独立均匀采样 d + 2 d+2 d+2个不同的点 x 0 , x 1 , . . . , x d + 1 ∈ F x_0,x_1,...,x_{d+1}\in F x0,x1,...,xd+1∈F;
-
检验(通过插值法)是否存在一个 d d d阶多项式 q q q满足 q ( x i ) = f ( x i ) q(x_i)=f(x_i) q(xi)=f(xi)对任意 i ∈ { 0 , 1 , . . . , d + 1 } i\in\{0,1,...,d+1\} i∈{0,1,...,d+1}成立;
-
-
若存在某一次检验发现 f f f不是 d d d阶多项式,则算法拒绝 f f f,否则算法接受 f f f;
-
-
定理 8 8 8:若 f f f距离任意 d d d阶多项式有 ϵ \epsilon ϵ远,则低阶性检验将以至少 2 / 3 2/3 2/3的概率拒绝它;
-
定理证明:
设 δ \delta δ是 f f f与一个最近的 d d d阶多项式之间的距离(显然 δ > ϵ \delta>\epsilon δ>ϵ),我们证明在低阶性检验的每一次检验中,检验失败的概率至少为 δ \delta δ,从而可以得出 ( 1 − δ ) 2 / ϵ < exp ( − 2 ) < 1 3 (1-\delta)^{2/\epsilon}<\exp(-2)<\frac13 (1−δ)2/ϵ<exp(−2)<31的结论;
设 g g g是距离 f f f最近的一个 d d d阶多项式(即 f f f到 g g g的距离是 δ \delta δ),我们固定 z 0 , z 1 , . . . , z d z_0,z_1,...,z_d z0,z1,...,zd,并令 h h h是那个使得 h ( z i ) = f ( z i ) h(z_i)=f(z_i) h(zi)=f(zi)都成立的唯一 d d d阶多项式
;则根据 δ \delta δ的定义,可知对于均匀采样的 z d + 1 ∈ F z_{d+1}\in F zd+1∈F, h ( z d + 1 ) = f ( z d + 1 ) h(z_{d+1})=f(z_{d+1}) h(zd+1)=f(zd+1)的概率至多为 1 − δ 1-\delta 1−δ,于是:
Pr x 0 , x 1 , . . . , x d + 1 [ 存 在 d 阶 多 项 式 q 使 得 ∀ i ∈ { 0 , 1 , . . . , d } 有 q ( x i ) = f ( x i ) 成 立 ] ≤ max x 0 , x 1 , . . . , x d Pr x d + 1 [ 一 个 与 f 在 x 0 , . . . , x d 上 取 值 相 等 的 d 阶 多 项 式 , 在 x d + 1 上 取 值 也 相 等 ] ≤ 1 − δ \begin{aligned} &\Pr_{x_0,x_1,...,x_{d+1}}[存在d阶多项式q使得\forall i\in\{0,1,...,d\}有q(x_i)=f(x_i)成立] \\ &\le\max_{x_0,x_1,...,x_d}\Pr_{x_{d+1}}[一个与f在x_0,...,x_d上取值相等的d阶多项式,在x_{d+1}上取值也相等]\\ &\le1-\delta \end{aligned} x0,x1,...,xd+1Pr[存在d阶多项式q使得∀i∈{0,1,...,d}有q(xi)=f(xi)成立]≤x0,x1,...,xdmaxxd+1Pr[一个与f在x0,...,xd上取值相等的d阶多项式,在xd+1上取值也相等]≤1−δ证毕。 ■ \blacksquare ■
-
4.1.3 其他代数性质检验 Testing Other Algebraic Properties
略;这里举了两个很不常见的性质检验,一个是函数方程(Functional Equations),详见参考文献[Rub99]
;另一个是群运算(Group Operations),详见参考文献[EKK98]
;
4.2 检验正则语言 Testing Regular Languages
本节内容来源于参考文献
[AKFS99]
;文献作者证明了对于任意一种正则语言 L ⊆ { 0 , 1 } ∗ L\subseteq\{0,1\}^* L⊆{0,1}∗,都存在针对 L L L的检验算法;‘这个算法接受 L L L中的每一个单词 w ∈ L w\in L w∈L,并以至少 2 3 \frac23 32的概率拒绝每一个与 L L L中所有单词都区别至少 ϵ ⋅ ∣ w ∣ \epsilon\cdot|w| ϵ⋅∣w∣个字节的单词 w w w;
算法的时间复杂度为 O ~ ( 1 / ϵ ) \tilde O(1/\epsilon) O~(1/ϵ),即与单词 w w w的长度 n n n是无关的;时间复杂度取决于接受 M M M的最小有穷自动机(finite automaton)的大小,但是这个自动机大小是一个关于 n n n的固定常数;
- 原文:The running time is dependent on the size of the (smallest) finite automaton accepting M M M, but this size is a fixed constant with respect to n n n.
新研究(参考文献
[New00]
)推广了上述结论,并给出了一种查询复杂度为 p o l y ( 1 / ϵ ) {\rm poly}(1/\epsilon) poly(1/ϵ)的算法;
-
定义 4.2.1 4.2.1 4.2.1:一个在字母表(alphabet) { 0 , 1 } \{0,1\} {0,1}上的确定有穷自动机(determinitic finite automaton,下简称为DFA) M M M,可以由以下几个集合与映射来定义:
- 状态(states)集合 Q = { q 0 , q 1 , . . . , q m − 1 } Q=\{q_0,q_1,...,q_{m-1}\} Q={q0,q1,...,qm−1},称 q 0 q_0 q0为初始(inital)状态;
- 接受状态(accepting states) F ⊆ Q F\subseteq Q F⊆Q,定义域为 { 0 , 1 } ∗ \{0,1\}^* {0,1}∗,并具有如下的性质: ∀ q ∈ Q , u ∈ { 0 , 1 } ∗ , σ ∈ { 0 , 1 } \forall q\in Q,u\in\{0,1\}^*,\sigma\in\{0,1\} ∀q∈Q,u∈{0,1}∗,σ∈{0,1},有 δ ( q , u σ ) = δ ( δ ( q , u ) , s i g m a ) \delta(q,u\sigma)=\delta(\delta(q,u),sigma) δ(q,uσ)=δ(δ(q,u),sigma),其中 δ ( q , l a m b d a ) = q \delta(q,lambda)=q δ(q,lambda)=q( λ \lambda λ表示空串);
- 转移方程(transition function) δ : Q × { 0 , 1 } → Q \delta:Q\times\{0,1\}\rightarrow Q δ:Q×{0,1}→Q;
对于单词 w ∈ { 0 , 1 } ∗ w\in\{0,1\}^* w∈{0,1}∗,称自动机 M M M接受单词 w w w,若 δ ( q 0 , w ) ∈ F \delta(q_0,w)\in F δ(q0,w)∈F,否则称自动 M M M拒绝单词 w w w;
下面我们将基于DFA给出正则语言定义;
-
定义 4.2.2 4.2.2 4.2.2:称一种语言 L ⊆ { 0 , 1 } ∗ L\subseteq\{0,1\}^* L⊆{0,1}∗是正则的(regular),若存在一个DFA M M M使得 M M M接受每一个 w ∈ L w\in L w∈L,且拒绝每一个 w ∉ L w\notin L w∈/L;
-
我们假定一种正则语言 L L L可以由一个接受它的(最小)DFA M M M给定;
给定一个DFA M M M,它可由以下的方式给出导出(induces)一个有向图 G ( M ) = ( V , E ) G(M)=(V,E) G(M)=(V,E):
- V = Q V=Q V=Q,即为状态;
- E = { ( q i , q j ) : ∃ σ ∈ { 0 , 1 } , δ ( q i , σ ) = q j } E=\{(q_i,q_j):\exist\sigma\in\{0,1\},\delta(q_i,\sigma)=q_j\} E={(qi,qj):∃σ∈{0,1},δ(qi,σ)=qj};
给定一个单词 w ∈ { 0 , 1 } n w\in\{0,1\}^n w∈{0,1}n,我们首先假定语言 L L L确然包含长度为 n n n的单词(否则 w w w直接就被拒绝了);
设 u u u是从第 w w w第 i i i个位置开始取的子单词(sub-word,可以理解为子串,但是要求是连续取字节),即 w = u ′ u u ′ ′ w=u'uu'' w=u′uu′′,其中 ∣ u ′ ∣ = i |u'|=i ∣u′∣=i;
称 u u u是从第 i i i个位置关于 M M M可行的(is feasible with respect to the DFA M M M starting from position i i i),若存在状态 q q q使得 q q q可以在 G ( M ) G(M) G(M)中从 q 0 q_0 q0出发被到达,即存在一条 q 0 → q q_0\rightarrow q q0→q的路径,且这条路径的长度恰好为 i − 1 i-1 i−1;不仅如此,还要求 G ( M ) G(M) G(M)中存在一条路径从 q ′ = δ ( q , w ) q'=\delta(q,w) q′=δ(q,w)到达一个可接受的状态(accepting state);
当位置索引 i i i根据上下文是清晰的,我们就称 u u u是可行的(原文:When the index i i i is clear from the contet we just say that u u u feasible.);
确定 u u u是否可行,需要的运行事件只依赖于 M M M的大小;具体而言,若单词 w w w包含某个不可行的子单词 u u u,则 w ∉ L w\notin L w∈/L,算法只需要检查 w w w所有的子单词即可判定 w w w是否可行;
根据参考文献
[AKNS99]
,我们描述正则语言的一种特殊情况,并证明对于这些语言,每个距离属于该语言 ϵ \epsilon ϵ远的单词(every word that is ϵ \epsilon ϵ-far from belonging to the language),都包含许多短的、不可行的子单词,因此算法只需要简单采样一些子单词并确定它们是否可行;文献作者通过分析说明一般情况都可以归约到这种特殊情况,详细情况见参考文献[AKNS99]
;我们做出如下关于DFA M M M的假设:首先, M M M包含一个单一的接受接受状态(a single accepting state) q a c c q_{\rm acc} qacc;其次状态集合 Q Q Q可以被划分为两个子集 C , D C,D C,D,使得满足:
- C C C包含 q 0 q_0 q0和 q a c c q_{\rm acc} qacc;
- G ( M ) G(M) G(M)由 C C C导出的子图 G ( C ) G(C) G(C)是强连通的(strongly connected),注意 G ( M ) G(M) G(M)是有向图,强连通指任意两个顶点之间都可以互相到达;
- G ( M ) G(M) G(M)中不存在从 D D D中状态指向 C C C中状态的边(反之不然);
为了简单考虑,我们进一步假设 G ( C ) G(C) G(C)中各个环的长度的最大公因子(greatest common divisor,下简称为GCD)是 1 1 1,即存在一个常数 r = r ( G ( C ) ) r=r(G(C)) r=r(G(C))( r r r可以理解为 G ( C ) G(C) G(C)的到达能力reachability),使得对于 G ( M ) G(M) G(M)中任意两个状态 x , y x,y x,y,以及任意 n ≥ r n\ge r n≥r,在 G ( C ) G(C) G(C)中都存在一条长度为 n n n的、 x → y x\rightarrow y x→y的有向路径;显然 r r r的大小至多为 O ( ∣ C ∣ 2 ) O(|C|^2) O(∣C∣2)(若GCD不为 1 1 1则reachability常数稍有区别);
-
-
引理 4.1.1 4.1.1 4.1.1:令 M M M具有如上的一系列约束,设 w w w是但一个长度为 n n n的单词,且距离被 M M M接受的语言 L L L有 ϵ \epsilon ϵ远(当然 M M M应当接受长度为 n n n的单词),则 w w w不可行的子单词至多有 4 r ϵ \frac{4r}\epsilon ϵ4r个,至少有 ϵ n 4 r \frac{\epsilon n}{4r} 4rϵn个;
备注:这里定义单词之间的距离就非常简单了,直接用二进制的汉明距离即可,因此单词 w w w距离语言 L L L有 ϵ \epsilon ϵ远即指距离 L L L中每一个单词都至少 ϵ \epsilon ϵ远;
-
引理证明:
我们将构造一系列 w w w的不相交的(disjoint)、最短长度的(minimal-length)、不可行子单词,即构造出来的每个子单词是不可行的,但是它的每一个前缀(prefixes,即从开头取任意多个字节),尤其是最长的那个前缀都是可行;
设第 j j j个子单词 u j u_j uj的起始位置为 s j s_j sj,则我们将选择一些子单词使得对于每一个 j j j满足 s j ≥ r + 1 s_j\ge r+1 sj≥r+1且 s j + ∣ u j ∣ ≤ n − r s_j+|u_j|\le n-r sj+∣uj∣≤n−r
我们将通过贪婪法构造这些子单词:
- 第一个子单词 u 1 u_1 u1的取法:从位置索引 s 1 = r + 1 s_1=r+1 s1=r+1开始,取出 w w w最短的一个不可行的子单词;
- 第二个子单词 u 2 u_2 u2的取法:从位置索引 s 2 = s 1 + ∣ u 1 ∣ s_2=s_1+|u_1| s2=s1+∣u1∣开始,取出 w w w最短的一个不可行的子单词;
- 一般地,第 j j j个单词的取法是从位置索引 s j = s j − 1 + ∣ u j − 1 ∣ s_j=s_{j-1}+|u_{j-1}| sj=sj−1+∣uj−1∣开始,取出 w w w最短的一个不可行的子单词;
- 算法直到运行到位置索引 n − r n-r n−r被到达,最后一个单词会在位置索引 n − r n-r n−r处被截断。因此最后一个子单词有可能是可行的,且每一个不可行的子单词的长度至少为1;
设子单词的数量为 h h h,则必然有:(截头截尾)
∣ w ∣ = n = 2 r + ∑ j = 1 h ∣ u j ∣ |w|=n=2r+\sum_{j=1}^h|u_j| ∣w∣=n=2r+j=1∑h∣uj∣
∀ 1 ≤ j ≤ h \forall1\le j\le h ∀1≤j≤h,令 u ˉ j \bar u_j uˉj表示 u j u_j uj长度为 ∣ u j ∣ − 1 |u_j|-1 ∣uj∣−1的前缀(因此 u ˉ j \bar u_j uˉj可能是一个空串),根据 u j u_j uj的定义, u ˉ j \bar u_j uˉj一定是可行的(否则与 u j u_j uj的最短性冲突); ∀ 1 ≤ j ≤ h \forall1\le j\le h ∀1≤j≤h,我们固定一个状态 q i j ∈ C q_{i_j}\in C qij∈C,使得 q i j q_{i_j} qij是可以从 q 0 q_0 q0起始在 s j − 1 s_j-1 sj−1步到达的,于是可知有 δ ( q i j , u ˉ j ) ∈ C \delta(q_{i_j},\bar u_j)\in C δ(qij,uˉj)∈C,- 注意 δ ( q i j , u ˉ j ) \delta(q_{i_j},\bar u_j) δ(qij,uˉj)在 C C C中一定是存在的,原因是 μ ˉ j \bar \mu_j μˉj是可行的,并且根据假设是没有从 D D D指向 C C C的,因此 u j u_j uj的最后一个字节强制会转移到 D D D集合中的状态,否则 μ j \mu_j μj依然可行;
对于给定的单词 w ′ ∈ { 0 , 1 } n w'\in\{0,1\}^n w′∈{0,1}n,设 d i s t ( w , w ′ ) {\rm dist}(w,w') dist(w,w′)为 w w w与 w ′ w' w′对应位置字节不同的数量(即汉明就),我们将证明存在长度为 n n n的 w ∗ ∈ L w^*\in L w∗∈L使得:
d i s t ( w , w ∗ ) ≤ 2 h r n {\rm dist}(w,w^*)\le\frac{2hr}n dist(w,w∗)≤n2hr
于是我们得到 h h h的一个下界;构造是通过归纳方法得到的:在第 j j j步,我们从位置 1 1 1开始得到一个长度为 s j − 1 s_j-1 sj−1的、可行的单词 w j w_j wj,基于对 M M M的假设,这就意味着给定 w j w_j wj,截断的状态序列都在 C C C中;
原文:
Based on our assumptions on M M M, this in particular means that the sequence of states tranversed given w j w_j wj are all in C C C.
基本想法是调整 w w w,使得每个导致从状态集合 C C C转移到状态集合 D D D中的字节(在一个不可行的子单词 u j u_j uj的末尾),都被一个字节(转移到 C C C中其他的一个状态)替换掉,为了更加明确的定义这些调整,以下给出详细的说明:
初始单词 w 0 w^0 w0,是从位置 1 1 1开始的、长度为 r r r的、可行的某个单词;
一般地,我们基于 w j − 1 w^{j-1} wj−1构造 w j w^j wj;
设 w ~ j − 1 \tilde w^{j-1} w~j−1是 w j − 1 w^{j-1} wj−1长度为 s j − 1 − r s_j-1-r sj−1−r的前缀,设 p j = δ ( q 0 , w ~ j − 1 ) p_j=\delta(q_0,\tilde w^{j-1}) pj=δ(q0,w~j−1),因此存在某条 p j → q i j p_j\rightarrow q_{i_j} pj→qij的、长度为 s j − 1 − r s_j-1-r sj−1−r的路径;通过调整(某些) w j − 1 w^{j-1} wj−1最后 r r r个字节,可以得到一个单词 z j z_j zj使得 δ ( q 0 , z j ) = q i j \delta(q_0,z_j)=q_{i_j} δ(q0,zj)=qij;
- 备注: q i j q_{i_j} qij是可以从 q 0 q_0 q0起始在 s j − 1 s_j-1 sj−1步到达的,定义在上文中;
若 j < h j<h j<h,我们设 w j w^j wj是 z j , u ˉ j z_j,\bar u_j zj,uˉj的连接,以及某个字节 b j b_j bj使得 δ ( q 0 , w j − 1 u ˉ j b j ) ∈ C \delta(q_0,w^{j-1}\bar u_jb_j)\in C δ(q0,wj−1uˉjbj)∈C(因为 G ( C ) G(C) G(C)是强连通的,这样一个字节 b j b_j bj是一定存在的;
若 j = h j=h j=h,我们设 w ∗ = w h w^*=w^h w∗=wh是 z h , u ˉ h z_h,\bar u_h zh,uˉh的连接,以及某个长度为 r r r单词 v v v使得 δ ( q 0 , w h − 1 u ˉ j v ) = q a c c \delta(q_0,w^{h-1}\bar u_jv)=q_{\rm acc} δ(q0,wh−1uˉjv)=qacc,从而推导出 w ∗ ∈ L w^*\in L w∗∈L;
根据上述构造,我们有:
d i s t ( w , w ∗ ) ≤ 1 n ( ( h − 1 ) ⋅ r + 2 r ) = h r + r n ≤ 2 h r n {\rm dist}(w,w^*)\le\frac1n((h-1)\cdot r+2r)=\frac{hr+r}{n}\le\frac{2hr}n dist(w,w∗)≤n1((h−1)⋅r+2r)=nhr+r≤n2hr
根据 w w w的假设, d i s t ( w , w ∗ ) ≥ ϵ {\rm}dist(w,w^*)\ge\epsilon dist(w,w∗)≥ϵ,于是有 h ≥ ϵ n 4 r h\ge\frac{\epsilon n}{4r} h≥4rϵn;又因为所有的不可行子单词 u 1 , u 2 , . . . , u h − 1 u_1,u_2,...,u_{h-1} u1,u2,...,uh−1,是不相交的,则长度大于 4 r ϵ \frac{4r}{\epsilon} ϵ4r不可行子单词的数量小于 n / ( 4 r / ϵ ) = ϵ n 4 r n/(4r/\epsilon)=\frac{\epsilon n}{4r} n/(4r/ϵ)=4rϵn,于是不可行的子单词至少为 ϵ n 2 r − 1 \frac{\epsilon n}{2r}-1 2rϵn−1,引理得证。 ■ \blacksquare ■;
-
4.3 检验单调性 Testing Monotonicity
本节内容来源于参考文献
[GGL00]
;
-
定义 4.3.1 4.3.1 4.3.1:称函数 f : { 0 , 1 } n → { 0 , 1 } n f:\{0,1\}^n\rightarrow\{0,1\}^n f:{0,1}n→{0,1}n是单调的(monotone),若 f ( x ) ≤ f ( y ) f(x)\le f(y) f(x)≤f(y)对于任意 x ≤ y x\le y x≤y成立(所谓二进制串 x ≤ y x\le y x≤y,指 x = x 1 x 2 . . . x n , y = y 1 y 2 . . . y n x=x_1x_2...x_n,y=y_1y_2...y_n x=x1x2...xn,y=y1y2...yn,有 x i ≤ y i x_i\le y_i xi≤yi对任意 1 ≤ i ≤ n 1\le i\le n 1≤i≤n成立);
-
单调性检验算法:检验单调性的算法的查询复杂度与时间复杂度关于 n n n和 1 / ϵ 1/\epsilon 1/ϵ是线性的,只需简单进行一个局部检验;
输入 n , e n,e n,e和一个 f : { 0 , 1 } n → { 0 , 1 } f:\{0,1\}^n\rightarrow\{0,1\} f:{0,1}n→{0,1},重复下面的流程直到 n / ϵ n/\epsilon n/ϵ次:
- 独立均匀选择 x = x 1 x 2 . . . x n ∈ { 0 , 1 } n x=x_1x_2...x_n\in\{0,1\}^n x=x1x2...xn∈{0,1}n以及 i ∈ { 1 , 2 , . . . , n } i\in\{1,2,...,n\} i∈{1,2,...,n};
- 计算 f ( x ) f(x) f(x)和 f ( y ) f(y) f(y),其中 y y y是由 x x x翻转第 i i i割字节得到,即 y = x 1 . . . x i − 1 x ˉ i x i + 1 . . . x n y=x_1...x_{i-1}\bar x_ix_{i+1}...x_n y=x1...xi−1xˉixi+1...xn;
- 若 x , y , f ( x ) , f ( y ) x,y,f(x),f(y) x,y,f(x),f(y)不满足单调性,则算法拒绝输入;
若在上述流程中算法没有拒绝输入,则算法接受输入;
该算法的查询复杂度与时间复杂度为 O ( n log ∣ Σ ∣ ϵ ) O\left(\frac{n\log|\Sigma|}{\epsilon}\right) O(ϵnlog∣Σ∣),其中 Σ \Sigma Σ是函数的定义域: Σ n → { 0 , 1 } \Sigma^n\rightarrow\{0,1\} Σn→{0,1},上面的情况就是 ∣ Σ ∣ = 2 |\Sigma|=2 ∣Σ∣=2
-
单调性的推广:unateness,单边性;
称函数 f : { 0 , 1 } n → { 0 , 1 } f:\{0,1\}^n\rightarrow\{0,1\} f:{0,1}n→{0,1}是单边的(unate);若 ∀ i ∈ { 1 , 2 , . . . , n } \forall i\in\{1,2,...,n\} ∀i∈{1,2,...,n},下列之一成立:
- 不论第 i i i个字节翻转从 0 0 0到 1 1 1,则 f f f的值不减;
- 不论第 i i i个字节翻转从 1 1 1到 0 0 0,则 f f f的值不减;
显然单边性事单调性的推广形式,检验定义在 { 0 , 1 } n \{0,1\}^n {0,1}n上的布尔函数的单调性可以推广为检验单边性,时间复杂度与 n \sqrt{n} n有关(参考文献
[GGL00]
);
4.4 使用随机样例检验 Testing using Random Examples
性质检验的研究的动机之一是它与计算机学习理论的练习;
-
假定检验算法给定了一些已标注的样本: { ( x 1 , f ( x 1 ) , ( x 2 , f ( x 2 ) ) , . . . , ( x m , f ( x m ) } \{(x^1,f(x^1),(x^2,f(x^2)),...,(x^m,f(x^m)\} {(x1,f(x1),(x2,f(x2)),...,(xm,f(xm)},其中 x i x^i xi是根据某个固定的(未知)分布 D D D在定义域 X X X上采样得到的;函数之间的距离定义为权重,根据 D D D计算函数之间的对称距离(symmetric distance),定义如下:
d i s t ( f , g ) = Pr x ∼ D [ f ( x ) ≠ g ( x ) ] {\rm dist}(f,g)=\Pr_{x\sim D}[f(x)\neq g(x)] dist(f,g)=x∼DPr[f(x)=g(x)]
我们一般考虑 D D D为均匀分布,尤其是在检验 [ 0 , 1 ] d [0,1]^d [0,1]d上的决策树问题(参考文献[KR98]
);属于 [ 0 , 1 ] d [0,1]^d [0,1]d上某一类别的决策树的性质,可以通过如下的方式定义:
- 至多有 s s s个节点;
- 给定输入 x ⃗ = ( x 1 , x 2 , . . . , x d ) \vec x=(x_1,x_2,...,x_d) x=(x1,x2,...,xd),在树中每个节点的二进制的决策是判断是否 ∃ i ∈ { 1 , 2 , . . . , d } \exist i\in\{1,2,...,d\} ∃i∈{1,2,...,d},使得 x i ≥ a x_i\ge a xi≥a,其中 a ∈ [ 0 , 1 ] a\in[0,1] a∈[0,1];
- 决策树的叶子节点取值为零一;
- 定义决策树的大小为其叶子节点的数量;
- 设 D T s d DT_s^d DTsd表示一类决策树,它们的大小至多为 s s s,定义在 [ 0 , 1 ] d [0,1]^d [0,1]d;那么每棵在 D T s d DT_s^d DTsd中的决策树决定了 [ 0 , 1 ] d [0,1]^d [0,1]d上的一个划分,至多划分为 s s s个轴对齐矩形(axis aligned rectangles),每个举行的维度为 d d d(即树叶的数量),其中所有属于同一矩形的点的标签相同;
针对决策树的检验算法决定是否接受或拒绝一个函数,方法是通过配对样本中的邻近(nearby)点,并检查这样的配对是否拥有共同的标签;
具体而言,算法将考虑某个将定义域划分为cells的 d d d维网格(grids)的集合(collections);对于每个网格,算法计算成对的点落入相同网格cell以及拥有相同标签的概率(fraction);若对于某个网格,这个概率(fraction)高于某一阈值,则接受,否则拒绝;分析的核心之处是一个组合参数(combinatorial argument),它证明了存在一个(不是很大) d d d维网格集合(相对粗糙) G 1 , G 2 , . . . , G k G_1,G_2,...,G_k G1,G2,...,Gk,使得满足:对于任意的函数 f ∈ D T s d f\in DT_s^d f∈DTsd,都存在一个网格 G i G_i Gi,使得 G i G_i Gi中的cells适应到(fit inside) f f f的叶子中的概率是显著的(significant fraction);
- 备注:这里已经不说人话了,作者给了解释,意思是
G
i
G_i
Gi中没有太多的cells与
f
f
f的决策边界(a decision boundary)相交;虽然相对简单一些,但是还是很难理解确切的含义,可能详细还是看参考文献
[KR98]
;
-
下面的定理在参考文献
[KR98]
中有证明,注意它使用了一个更加松弛的标记:首先算法需要区别 D T s d DT_s^d DTsd中的函数和距离 D T s ′ d DT_{s'}^d DTs′d很远的函数(其中 s ′ > s s'>s s′>s,虽然对于给定常数 d d d, s ′ s' s′不会大得太多);其次它并不对所有距离参数 ϵ \epsilon ϵ起效,只对远离 1 2 \frac12 21的值起效(类似弱学习,weak learning); -
定理 9 9 9:对于任意的大小 s s s,维度 d d d,常数 C ≥ 1 C\ge 1 C≥1,设 s ′ = s ′ ( s , d , C ) = d e f 2 d + 1 ( 2 s ) 1 + 1 C s'=s'(s,d,C)\overset{\rm def}=2^{d+1}(2s)^{1+\frac1C} s′=s′(s,d,C)=def2d+1(2s)1+C1,则存在一个算法,这个算法使用均匀分布的样例,并以至少 2 / 3 2/3 2/3的概率接受函数 f ∈ D T s d f\in{\rm DT}_s^d f∈DTsd,并一定拒绝那些和 D T s ′ d DT_{s'}^d DTs′d中的决策树有 ( 1 2 − 1 2 d + 5 ( C d ) d ) \left(\frac12-\frac1{2^{d+5}(Cd)^d}\right) (21−2d+5(Cd)d1)远的函数;该算法使用 O ~ ( ( 2 C d ) 2.5 d ⋅ s 1 2 ( 1 + 1 C ) ) \tilde O\left((2Cd)^{2.5d}\cdot s^{\frac12(1+\frac1C)}\right) O~((2Cd)2.5d⋅s21(1+C1))个样例,运行时间至多为使用的样例数量的 ( 2 log ( 2 s ) ) d (2\log(2s))^d (2log(2s))d倍;算法的查询复杂度与时间复杂度为 O ( ( 2 C d ) 2 d + 1 ⋅ log d + 1 ( s ) ) O\left((2Cd)^{2d+1}\cdot\log^{d+1}(s)\right) O((2Cd)2d+1⋅logd+1(s));
原文:
For any size s s s, dimension d d d and constant C ≥ 1 C\ge1 C≥1, let s ′ = s ′ ( s , d , C ) = d e f 2 d + 1 ( 2 s ) 1 + 1 C s'=s'(s,d,C)\overset{\rm def}=2^{d+1}(2s)^{1+\frac1C} s′=s′(s,d,C)=def2d+1(2s)1+C1. Then there exists an alogorithm that uses uniformly distributed examples, and with probability at least 2 / 3 2/3 2/3 accepts functions f ∈ D T s d f\in DT_s^d f∈DTsd and rejects functions that are ( 1 2 − 1 2 d + 5 ( C d ) d ) \left(\frac12-\frac1{2^{d+5}(Cd)^d}\right) (21−2d+5(Cd)d1)-far from any decision tree in D T s ′ d DT_{s'}^d DTs′d. The algorithm uses O ~ ( ( 2 C d ) 2.5 d ⋅ s 1 2 ( 1 + 1 C ) ) \tilde O\left((2Cd)^{2.5d}\cdot s^{\frac12(1+\frac1C)}\right) O~((2Cd)2.5d⋅s21(1+C1)) examples, and its running time is at most ( 2 log ( 2 s ) ) d (2\log(2s))^d (2log(2s))d times the number of examples used. A version of the algorithm that performs queries, has query complexity and running time O ( ( 2 C d ) 2 d + 1 ⋅ log d + 1 ( s ) ) O\left((2Cd)^{2d+1}\cdot\log^{d+1}(s)\right) O((2Cd)2d+1⋅logd+1(s)).
参考文献
[AK99] N. Alon and M. Krivelevich. Testing k-colorability. Manuscript, 1999.
[AKFS99]N. Alon, E. Fischer, M. Krivelevich, and M. Szegedy. Efficient testing of large graphs. In Proceedings of the Fortieth Annual Symposium on Foundations of Computer Science, pages 645-655, 1999.
[BLR93] M. Blum, M. Luby, and R. Rubinfeld. Self-testing/correcting with applications to numerical problems. JACM, 47:549-595, 1993.
[BR00] M. Bender and D.Ron. Testing acyclicity of directed graphs in sublinear time. In Proceedings of ICALP, pages 809-820, 2000.
[EKK98] F. Ergun, S. Kannan, S. R. Kumar, R. Rubinfeld, and M. Viswanathan. Spot-checkers. In Proceedings of the Thirty-Second Annual ACM Symposium on the Theory of Computing, pages 259-268, 1998.
[GGL00] O. Goldreich, S. Goldwasser, E. Lehman, D. Ron, and A. Samordinsky. Testing monotonicity. Combinatorica, 20(3):301-337, 2000.
[GGR98] O. Goldreich, S. Goldwasser, D. Ron. Property testing and its connection to learning and approximation. JACM, 45(4):653-750, 1998.
[GR97] O. Goldreich and D. Ron. Property testing in bounded degree graphs. In Proceedings of the Thirty-First Annual ACM Symposium on the Theory of Computing, pages 406-415, 1997.
[GR99] O. Goldreich and D. Ron. A sublinear bipartite tester for bounded degree graphs. Combinatorica, 19(3):335-373, 1999.
[KR98] M. Kearns and D. Ron. Testing problems with sub-learning sample complexity. In Proceedings of the Eleventh Annual ACM Conference on Computational Learning Theory, pages 268-277, 1998.
[New00] I. Newman. Testing of functions that have small width branching programs. In Proceedings of the Forty-First Annual Symposium on Foundations of Computer Science, pages 251-258, 2000.
[Rub99] R. Rubinfeld. Robust functional equations and their application to program testing. SIAM Journal on Computing, 28(6):1972-1997, 1999.