陈国良-大数据计算理论基础-精简版[2014-10]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EXPSPACE EXPTIME PSPACE
NP
P NC
7
2、大数据可计算性
(1) 可(能)解(Tractable)与不可(用)解(Intractable)
• • 可(能)解(Tractable: meaning “easily managed” )问题:经典定义是在多项式时 间内可以解决的问题。 不可(用)解(Intractable)问题:系指理论上能够解(在无限制时间内,have no limits),但实际上求解时间太长而无法用的问题。因此缺乏多项式时间解的问题 被视为不可(用)解的问题。 完全问题不可解性:在P≠NP时,NPC问题是不可(用)解的问题;在P≠NC时, PC问题是不可(用)解的问题。 在大数据时有些问题是可(能)解的,例如布尔选择查询;但很多问题是不可 (能)解的,例如图的宽度优先搜索[2] (是P完全的)。 在大数据时,传统的可(能)解问题,可能成为不可(用)解问题:例如采用速 度可达6Gbps的快速硬盘,线性扫描1EB(E=1018字节)的数据,这本是线性复杂 度的可(能)解问题,但实际需要长达5.28年时间,这就变成了不可(用)解问题 了。 大数据查询类可(能)解问题(Wenfei Fan) 对于数据库D中的查询Q,如果存在着一个多项式时间PTIME的预处理函数Π,使 得D’= Π(D),即将D分解成多项式数目个D’,在对数多项式时间(Polylogarithmic Time)内可完成对D’的并行查询,这就是所谓的大数据查询类的可(能)解问题。 在大数据时,串行多项式时间的算法所需的时间太长而不实用,变成不可解的了; 但在并行NC类计算时,因计算时间是对数多项式的,所以在大数据时,NC类计算 仍是可解的。
① 采用多个有利点 ② 每个有利点定义多个半径进行数据划分
d(VP2, x)
Βιβλιοθήκη BaiduVP1
VP2
d(VP1, x)
度量空间
支撑点空间
14
3、大数据可计算原理
3) 包络球(Bounding Sphere)划分
① 选择中心点C1,以其为圆心、R(C1)为半径画一圆,包含了所有数据; ② 在上述圆内另选中心点C2、C3,再以其为圆心,以R(C2)和R(C3)为半径画圆,将 数据划分成两部分;此两圆均在以C1为圆心的圆内,且所有点均在两圆内;
①选择支撑点:令(X, d)是一个度量空间,S = {xi|xi∈X, i=1,2,…,n}是X中的一个 数据集,S ⊆ X;在S中选择k个支撑点(Pivots),P={pj|j = 1,2,…,k}, P ⊆ S。
②将数据集S映射到k维实数空间: M → Rk : IP,d(x) = (d(x,p1), d(x,p2), … , d(x,pk)), x∈S 其中d(x,pi)是x到pi的距离。这样,度量空间M中数据集S的元素xi都赋予了坐标。
NC-算法:在PRAM模型上,一个求解问题的算法使用了多项式数目的处理器,花 费了对数多项式时间,则称此算法为NC-算法。 NC-归约:对于问题L1和L2,如果存在一个NC-算法,可将L1的求解转换成L2的求 解,则称L1可NC-归约到L2,简记为L1 ≤NC L2。 P完全(PC)问题:对于L∈P,且P中的任意L’均可NC-归约到L,则称L是P完全 的。
① 在GHT的基础上,使用多个中心点 ② 以中心点形成的Voronoi 图进行数据划分
C2 C1 C6
度量空间
C1, C2, …, Cn
C3 C8 C7 C4
Cell of C1 Cell of C2 … Cell of Cn
C5
划分树逻辑结构
高维的支撑点空间
11
3、大数据可计算原理
• 完全超平面树(Complete General Hyper-plane Tree)
③ 因为以C2、C3为圆心的圆是从以C1为圆心的圆衍生出来的,划分可能重叠是其 明显缺点。
C1,R(C1)
C2
C1
C3
C2,R(C2)
C3,R(C3)
15
3、大数据可计算原理
(3) 大数据NC-类计算
1) NC计算时空复杂度
• • • 并行化所瞄准的问题是具有W(n)=多项式求解时间的P类问题。 并行计算的目标是降低求解问题的时间,针对P类问题的并行化,应将其求解 时间T(n)减少到低于多项式时间(例如对数多项式时间)。 根据P(n)· T(n)≥W(n),当W(n)为多项式和T(n)低于多项式时,P(n)应选择为多 项式的。 并非所有P类问题均可有效地在并行机上求解,其中NC类问题(NC ⊆ P)被 认为能有效地在并行机上求解:它使用了P(n)=多项式数目处理器,T(n)=对数 多项式求解时间。 常见有NC类问题包括:整数+、-、×、÷运算;矩阵运算;前缀计算;选 择和排序;图的双连通、连通片、极大匹配;串匹配;计算几何中的一些问 题等。 许多NC类问题是成本最优的,例如并行扫描T(n)=O(logn),P(n)=n/logn, W(n)=O(n);有些成本最优的NC类算法是超快的,例如并行字符串匹配算法 T(n)=O(loglogn),P(n)=n/logn。
P NC
PC
当P≠NC时,PC问题 不能在多项式时间内求解。
6
1、计算理论与计算复杂性
(3) 复杂类关系
• • 串行空间与并行时间关系 Sequential-PSPACE = Parallel-PTIME 复杂类包含关系 NC ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXPTIME ⊆ EXPSPACE
2
目 录
1. 计算理论与计算复杂性
(1) 可计算性与计算复杂性 (2) 计算复杂类 (3) 复杂类关系
2.
大数据可计算性
(1) 可(能)解与不可(用)解 (2) 大数据可(能)解与不可(用)解问题
3.
大数据可计算原理
(1) 大数据统一化抽象表示:度量空间 (2) 大数据的划分
(3) 大数据NC-类计算 (4) 大数据计算模式 4. 结论

任何在图灵机上可求解的问题都是可计算的!
4
1、计算理论与计算复杂性
(2) 计算复杂类
• • • • P类问题:在确定图灵机上多项式(Polynomial)时间内可求解的一类问题。 NP类问题:在非确定图灵机上多项式时间内可求解的一类问题(所有NP问题均必 须在有限步内是可判定的)。 NPC问题:对于L∈NP的问题,且NP类中的每一个L’均可在多项式时间内归约 (转换)到L,L’≤P L,则称L为NPC(NP完全)的(第一个被证明是NPC问题的 是布尔满足性问题:Boolean Satisfiability Problem,SAT)。 NPH(难)问题:一个问题H称为NP难的,当且仅当存在着一个NPC问题L,L可 在多项式时间内图灵归约(Turing-Reduction)到H。简记之为:L(NPC) ≤T H(NPH)。
令d1, d2表示数据到C1, C2的距离,GHT的划分边界为d1-d2 =0 扩展GHT,充分利用d1, d2所包含信息:
① ② 采用多个不同的截距: 考虑变量d1+d2: d1-d2 =Hi,即双曲线划分 d1+d2 =Ei,即椭圆划分
d2=d(C2, xi)
C1
C2
度量空间
支撑点空间
d1=d(C1, xi)
2) NC类计算



[注]:“NC类”一词系由Cook杜撰的,它源于研究均衡电路的Nick Pipenger。
16
3、大数据可计算原理
3) P类问题的并行化
• P中的有些问题(例如MC2上前缀计算)其并行求解时间是亚线性的( T(n)=O(nx), 0<x<1),这类能被并行化的P类问题不在NC类中。例如当 n<0.5×109时,√n < log3n,此类亚线性的并行算法可能比NC类算法还要快。
VP21 R21 VP1
VP1,R1
d(VP1, x)≤R1
d(VP1, x)>R1
R1
VP22 R22 r q
VP21,R21 …
VP22,R22
d(VP22, x)>R22
d(VP22, x)≤R22
R1
d(VP1, x)

度量空间
划分树逻辑结构
支撑点空间
13
3、大数据可计算原理
• 多有利点树(Multiple Vantage Point Tree, MVPT) 扩充VPT:
8

(2) 大数据可(能)解与不可(用)解问题
• •


3、大数据可计算原理
(1) 大数据统一化抽象表示:度量空间
• • 距离和度量:在数学上,度量空间是一个集合,集合中的元 素之间的距离(Distance)叫做度量(Metric)。 度量与度量空间: 设X为非空集合,d: X × X → R,(x, y) → d(x, y)为映射,如果∀x,y,z∈X满 足:
(1) 大数据处理应对策略 (2) 变革思维研究大数据
3
1、计算理论与计算复杂性
(1) 可计算性与计算复杂性
• 可计算性:对于一个问题,如果存在一个机械过程,对给定的输入,能 够在有限步内给出结果,则称此问题是可计算的。所谓机械的过程,系 指在描述计算的某种设备上(例如图灵机上),实施该计算过程,而给 出计算结果。 • • 计算复杂性:用数学方法研究各类问题计算的复杂性质。也可理解为利 用计算机求解问题的难易程度。通常用时空复杂性度量。 图灵计算模型:图灵机就是对一条两端可无限延长的纸带上的0和1执行 读写操作,一步一步地改变纸带上的0或1值,经过有限步骤最终得到一 个满足预先要求的符号串变换。 图灵可计算性:图灵的研究成果认为“可计算性 = 图灵可计算性”,即
① d(x, y) = d(y, x)(对称性); ② d(x, y) ≥ 0 和 d(x, y) = 0 iff x = y(半正定性); ③ d(x, z) ≤ d(x, y) + d(y, z)(三角不等式)。
则称d为X上的一个度量(距离),偶对(X,d)为度量空间,d(x,y)称为是x 与y间的距离。 • 度量空间的坐标化
大数据计算理论基础
Computing Theory Foundations of Big Data
陈国良,毛睿,陆克中 深圳大学计算机与软件学院
2014年10月
Version 1: 06/2014 ... Version 4: 10/2014
摘要: 大数据是当前 IT 信息技术研究和应用的热 点。但是,目前的研究多集中于系统和应用层面, 理论基础方面的探讨相对较少。本文以计算复杂性 理论为基础,着重研究大数据的可计算性及其可计 算原理:主要包括大数据的可解与不可解问题;大 数据统一化抽象表示;大数据划分技术;大数据 NC 类计算理论;大数据计算模式等。最后,根据 大数据的 4V 特性,提出大数据处理应对策略和变 革思维方法研究大数据。
12
3、大数据可计算原理
2)有利点(Vantage Point)划分
• 有利点树(Vantange Point Tree, VPT):有利点划分的基本形式
① 选择有利点VP1,以VP1为圆心、R1为半径画圆; ② 数据按位于圆内、外划分之;
③ 再从圆内、外分别选择有利点VP21、VP22,分别以R21和R22为圆心画圆。
NPH NP NPC P NP P NPC
当P≠NP时,NPH问题 不能在多项式时间内求解。
当P≠NP时,NPC问题 不能在多项式时间内求解。
5
1、计算理论与计算复杂性

• • •
NC-类问题:在PRAM模型上,使用多项式数目(Polynomial size)的处理器,运 行在对数多项式时间(Polylog time)内的一类问题。


P中的有些问题具有“固有(天然)的串行性”,例如P完全问题,它不能通 过并行显著加速,所以被认为是“难并行化的问题”。
注:支撑点应选择得使支撑点间的距离要足够远,同时其应与其余点的距离亦足够远。
9
3、大数据可计算原理
(2) 大数据的划分 在度量空间中,我们可按数据到支撑点的远近距离进行如下3种划分
1) 超平面(Hyper-plane)划分
• 超平面树(General Hyper-plane Tree,GHT):超平面划分的基本形式
① 选择中心点C1和C2;
② 划一超平面L(将C1和C2的连线垂直平分); ③ 数据按距离C1和C2的远近划分之。
y=d(C2, xi) L: y = x
C1,C2
C1
C2
Left of L
Right of L
L
0
x=d(C1, xi)
度量空间
划分树逻辑结构
支撑点空间
10
3、大数据可计算原理
• SAT(Spatial Approximation Tree)
相关文档
最新文档