Sublinear Algorithms Lecture 6 Sofya Raskhodnikova Penn State University Thanks to Madhav Jha (Penn State) for help with creating these slides. 1
Communication Complexity A Method for Proving Lower Bounds [Blais Brody Matulef 11 ] Use known lower bounds for other models of computation Partially based on slides by Eric Blais
(Randomized) Communication Complexity πβππ ππ π πππππ π‘π’π πππ 1101000101110101110101010110 β¦ Alice Bob 0100 11 001 β― 0011 π½πππ£π’: π¦ Input: π§ Compute π· π¦, π§ Goal: minimize the number of bits exchanged. Communication complexity of a protocol is t he maximum number of bits β’ exchanged by the protocol. Communication complexity of a function π· , denoted π(π·) , is the β’ communication complexity of the best protocol for computing C. 3
Example: Set Disjointness πΈπ½ππΎ π 1101000101110101110101010110 β¦ Alice Bob π½πππ£π’: π β [π] , π = π . Input: π β [π] , π = π Compute πΈπ½ππΎ π π, π = ππ π πππ if π β© π = β πππππ π otherwise Theorem [Hastad Wigderson 07 ] π π DISJ π β₯ Ξ© π for all π β€ 2 . 4
A lower bound using CC method Testing if a Boolean function is a k-parity
Linear Functions Over Finite Field πΎ 2 A Boolean function π: 0,1 π β {0,1} is linear (also called parity ) if π π¦ 1 , β¦ , π¦ π = π 1 π¦ 1 + β― + π π π¦ π for some π 1 , β¦ , π π β {0,1} no free term β’ Work in finite field πΎ 2 β Other accepted notation for πΎ 2 : π»πΊ example 2 and β€ 2 β Addition and multiplication is mod 2 001001 β π = π¦ 1 , β¦ , π¦ π , π = π§ 1 , β¦ , π§ π , that is, π, π β 0,1 π + 011001 π + π = π¦ 1 + π§ 1 , β¦ , π¦ π + π§ π 010000 6
Linear Functions Over Finite Field πΎ 2 A Boolean function π: 0,1 π β {0,1} is linear (also called parity ) if π π¦ 1 , β¦ , π¦ π = π 1 π¦ 1 + β― + π π π¦ π for some π 1 , β¦ , π π β {0,1} β [π] is a shorthand for {1, β¦ π} π π¦ 1 , β¦ , π¦ π = π¦ π for some π β π . πβS Notation: π π π¦ = π¦ π . πβπ 7
Testing if a Boolean function is Linear Input: Boolean function π: 0,1 π β {0,1} Question: Is the function linear or π -far from linear ( β₯ π2 π values need to be changed to make it linear)? Later in the course: 1 Famous BLR (Blum Lubi Rubinfeld 90) test runs in π π time 8
k-Parity Functions π -Parity Functions A function π βΆ 0,1 π β {0,1} is a π -parity if π π¦ = π π π¦ = π¦ π πβπ for some set π β π of size π = π . 9
Testing if a Boolean Function is a k-Parity Input: Boolean function π: 0,1 π β {0,1} and an integer π Question: Is the function a π -parity or π -far from a π -parity ( β₯ π2 π values need to be changed to make it a π -parity)? Time: O π log π [Chakraborty GarciaβSoriano Matsliah] W min (π, π β π ) [Blais Brody Matulef 11] β’ Today: Ξ©(π) for π β€ π/2 β’ Todayβs bound implies W min (π, π β π ) 10
Important Fact About Linear Functions Two different linear functions disagree on half of the values. Fact. β’ Consider functions π π and π π where π β π . 0 0 β Let π be an element on which π and π differ 1 1 (w.l.o.g. π β π β π ) 1 0 β Pair up all π -bit strings: (π, π π ) π π π 0 1 where π π is π with the π th bit flipped. β β β For each such pair, π π (π) β π π (π π ) β β but π π (π) = π π (π π ) β β π π 1 β π So, π π and π π differ on exactly one of π, π π . π 0 0 β Since all π βs are paired up, 1 0 π π and π π differ on half of the values. 0 1 π π (x) π π (x) A π β² - parity function, where π β² β π, is Β½-far from any k-parity. Corollary. 11
Reduction from πΈπ½ππΎ π/π to Testing k-Parity β’ Let π be the best tester for the π -parity property for π = 1/2 β query complexity of T is π testing πβparity . β’ We will construct a communication protocol for πΈπ½ππΎ π/π that runs π and has communication complexity 2 β π (testing π βparity) . holds for CC of every protocol for πΈπ½ππΎ π [Hastad Wigderson 07] β’ T hen 2 β π (testing π βparity) β₯ π DISJ π/2 β₯ Ξ© π/2 for π β€ π/2 β π (testing π -parity) β₯ Ξ© π for π β€ π/2 12
Reduction from πΈπ½ππΎ π/π to Testing k-Parity 1101000101110101110101010110 β¦ β = π + π (πππ 2) β π¦ ? π π¦ + π π¦ πππ 2 Alice Bob T ππ π πππ/πππππ π π(π¦) π(π¦) π½πππ£π’: π β [π] , π = π/2 . Input: π β [π] , π = π/2 Compute: π = π π Compute: π = π π Output Tβs answer β’ π receives its random bits from the shared random string. 13
Analysis of the Reduction Queries: Alice and Bob exchange 2 bits for every bit queried by π Correctness: β’ β = π + π πππ 2 = π π + π π πππ 2 = π πΞπ β’ πΞπ = π + π β 2 π β© π π if Sβ©T = β β’ SΞπ = π β 2 if Sβ©T β β β€ β is πβparity if Sβ©T = β π β² βparity where π β² β π if Sβ©T β β 1/2-far from every π -parity Summary: π (testing π -parity) β₯ Ξ© π for π β€ π/2 14
Testing Lipschitz Property on Hypercube Lower Bound
Lipschitz Property of Functions f : 0,1 π β R 1 [Jha Raskhodnikova] 1 2 2 β’ A function π βΆ 0,1 π β R is Lipschitz 1 1 0 if changing a bit of π¦ changes π(π¦) by at most 1. 0 Lipschitz β’ Is π Lipschitz or π -far from Lipschitz 0 ( π has to change on many points to become Lipschitz)? β Edge π¦ β π§ is violated by π if π π¦ β π(π§) > 1 . 0 0 2 2 0 2 Time: β π(π 2 /π) , logarithmic in the size of the input, 2 π 1 2 2 -far from Lipschitz β Ξ©(π) 16
Testing Lipschitz Property Theorem Testing Lipschitz property of functions f: 0,1 π β {0,1,2} requires Ξ©(π) queries. Prove it. 17
Summary of Lower Bound Methods β’ Yaoβs Principle β testing membership in 1*, sortedness of a list and monotonicity of Boolean functions β’ Reductions from communication complexity problems β testing if a Boolean function is a π -parity 20
Other Models of Sublinear Computation
Tolerant Property Tester [Rubinfeld Parnas Ron] Randomized Algorithm Tolerant Property Tester YES YES Accept with Accept with probability β₯ π/π probability β₯ π/π πΊ -close to YES Donβt care NO Reject with π» -far from Reject with ο³ probability 2/3 ο³ probability 2/3 YES 22
Sublinear- Time βRestorationβ Models Local Decoding Input: A slightly corrupted codeword Requirement: Recover individual bits of the closest codeword with a constant number of queries per recovered bit. Program Checking Input: A program π computing π correctly on most π inputs. π Requirement: Self-correct program π : for a given input π¦ , compute π(π¦) by making a few calls to P . Local Reconstruction Input: Function π nearly satisfying some property π Requirement: Reconstruct function π to ensure that the reconstructed function π satisfies π , changing π π only when necessary. For each input π¦ , compute π(π¦) with a few queries to π. 23
Generalization: Local Computation [Rubinfeld Tamir Vardi Xie 2011] β’ Compute the π -th character π§ π of a legal output π§ . β’ If there are several legal outputs for a given input, be consistent with one. β’ Example: maximal independent set in a graph. 24
Sublinear-Space Algorithms What if we cannot get a sublinear-time algorithm? Can we at least get sublinear space? Note: sublinear space is broader (for any algorithm, space complexity β€ time complexity) 25
Data Stream Model B L A - B L A - B L A - B L A - B L A - B L A - B L A - Streaming (1) Quickly process each element Algorithm (2) Limited working memory (3) Quickly produce output Motivation: internet traffic analysis Model the stream as π elements from [π] , e.g., π¦ 1 , π¦ 2 , β¦ , π¦ π = 3, 5, 3, 7, 5, 4, β¦ Goal: Compute a function of the stream, e.g., median, number of distinct elements, longest increasing sequence. Based on Andrew McGregorβs slides: http://www.cs.umass.edu/~mcgregor/slides/10-jhu1.pdf 26
Streaming Puzzle A stream contains π β 1 distinct elements from π in arbitrary order. Problem: Find the missing element, using π(log π) space. 27
Recommend
More recommend