Distributed (Local) Monotonicity Reconstruction Michael Saks Rutgers University C. Seshadhri Princeton University (Now IBM Almaden) 1 Overview Introduce a new class of algorithmic problems: Distributed Property Reconstruction (extending framework of program self-correction, robust property testing locally decodable codes) A solution for the property Monotonicity 2 Data Sets Data set = function f : Γ V Γ = finite index set V = value set In this talk, Γ = [n]d = {1,…,n}d V = nonnegative integers f = d-dimensional array of nonnegative integers 3 Distance between two data sets For f,g with common domain Γ: dist(f,g) = fraction of domain where f(x) ≠ g(x) 4 Properties of data sets Focus of this talk: Monotone: nondecreasing along every line (Order preserving) When d=1, monotone = sorted 5 Some Algorithmic problems for P Given data set f (as input): Recognition: Does f satisfy P? RobustTesting: (Define ε(f) = min{ dist(f,g) : g satisfies P}) For some 0 ≤ ε1 < ε2 < 1, output either ε(f) > ε1 :f is far from P ε(f) < ε2: f is close to P (If ε1 < ε(f) ≤ ε2 then can decide either) 6 Property Reconstruction Setting: Given f We expect f to satisfy P (e.g. we run algorithms on f that assume P) but f may not satisfy P Reconstruction problem for P: Given data set f, produce data set g that satisfies P is close to f: d(f,g) is not much bigger than ε(f) 7 What does it mean to produce g? Offline computation Input: function table for f Output: function table for g 8 Distributed monotonicity reconstruction Want algorithm A that on input x, computes g(x) may query f(y) for any y has access to a short random string s and is otherwise deterministic. 9 Distributed Property Reconstruction Goal: WHP (with probability close to 1) (over choices of random string s): g has property P d(g,f) = O( ε(f) ) Each A(x) runs quickly in particular only reads f(y) for a small number of y. 10 Distributed Property Reconstruction Precursors: Online Data Reconstruction Model (Ailon-Chazelle-Liu-Seshadhri)[ACCL] Locally Decodable Codes and Program selfcorrection (Blum-Luby-Rubinfeld; Rubinfeld-Sudan; etc ) Graph Coloring (Goldreich-Goldwasser-Ron) Monotonicity Testing (Dodis-Goldreich- LehmanRaskhodnikova-Ron-Samorodnitsky; Goldreich-GoldwasserLehman-Ron-Samorodnitsky;Fischer;Fischer-Lehman-NewmanRaskhodnikova-Rubinfeld-Samorodnitsky;Ergun-Kannan-KumarRubinfeld-Vishwanathan; etc) Tolerant Property Testing (Parnas, Ron, Rubinfeld) 11 Example: Local Decoding of Codes Data set f = boolean string of length n Property = is a Code word of a given error correcting code C Reconstruction = Decoding to a close code word Distributed reconstruction = Local decoding 12 Key issue: making answers consistent For error correcting code, can assume input f decodes to a unique g. The set of positions that need to be corrected is determined by f. For general property, many different g (even exponentially many) that are close to f may have the property We want to ensure that A produces one of them. 13 An example Monotonicity with input array: 1,….,100, 111,…,120,101,…,110,121,…,200. 14 Monotonicity Reconstruction: d=1 f is a linear array of length n First attempt at distributed reconstruction: A(x) looks at f(x) and f(x-1) If f(x) ≥ f(x-1), then g(x) = f(x) Otherwise, we have a non-monotonicity g(x) = max { f(x) , f(x-1) } 15 Monotonicity Reconstruction: d=1 Second attempt Set g(x) = max{ f(1), f(2),…, f(x) } g is monotone but A(x) requires time Ω(x) dist(g,f) may be much larger than ε(f) 16 Our results (for general d ) A distributed monotonicity reconstruction algorithm for general dimension d such that: Time to compute g(x) is (log n)O(d) dist(f,g) = C1(D) (f) Shared random string s has size (d log n)O(1) (Builds on prior results on monotonicity testing and online monotonicity reconstruction.) 17 Which array values should be changed? A subset S of Γ is f-monotone if f restricted to S is monotone. For each x in Γ, A(x) must: Decide whether g(x) = f(x) If not , then determine g(x) Preserved = { x : g(x) = f(x) } Corrected = { x : g(x) ≠ f(x) } In particular, Preserved must be f-monotone 18 Identifying Preserved The partition (Preserved, Corrected) must satisfy: Preserved is f-monotone |Corrected|/|Γ| = O(ε(f)) Preliminary algorithmic problem: 19 Classification problem Classify each y in Γ as Green or Red Green is f - monotone Red has size O(ε(f)|Γ|) Need subroutine Classify(y). 20 A sufficient condition for f-monotonicity A pair (x,y) in Γ × Γ is a violation if x < y and f(x) > f(y) To guarantee that Green is f - monotone: Red should hit all violations: For every violation (x,y) at least one of x,y is Red 21 Classify: 1-dimensional case d=1: Γ={1,…,n} f is a linear array. For x in Γ, and subinterval J of Γ: violations(x,J)=|{y in J : (x,y) is a violation}| 22 Constructing a large f-monotone set The set Bad: x in Bad if for some interval J containing x |violations(x,J)|≥|J|/2 Lemma. 1)Good=Γ - Bad is f-monotone 2)|Bad| ≤ 4 ε(f)|Γ| . Proof: 1) If x,y are a violation then one of them is Bad for the interval [x,y]. 23 Lemma. Good=Γ \ Bad is f-monotone |Bad| ≤ 4 ε(f)|Γ| . So we’d like to take: Green=Good Red = Bad 24 How do we compute Good? To test whether y in Good: For each interval J containing y, check violations(y,J)< |J|/2 Difficulties There are (n) intervals J containing y For each J, computing violations(y,J) takes time (|J|) . 25 Speeding up the computation Estimate violations(y,J) by random sampling sample size polylog(n) is sufficient violations* (y,J) denotes the estimate Compute violations* (y,J) only for a carefully chosen set of test intervals 26 The Test Set T Assume n=|Γ|=2k k layers of intervals Layer j consists of 2k-j+1-1 intervals of size 2j 28 Subroutine classify To classify y If for each J in T containing y violations*(y,J) < .1 |J| then y is Green else y is Red 30 Where are we? We have a subroutine Classify On input x, Classify outputs Green or Red Runs in time polylog(n) WHP Green is f-monotone |Red| ≤ 20ε(f)|Γ| 31 Defining g(x) for Red x The natural way to define g(x) is: Green(x) = { y : y ≤x and y Green} g(x) = max{f(y) : y in Green(x))} = f(max{Green(x)}) In particular, this gives g(x) = f(x) for Green x 32 Computing m(x) m(x) x Can search back from x to find first Green Inefficient if x is preceded by a long Red stretch 34 Approximating m(x)? m*(x) x Pick random Sample(x) of points less than x Density inversely proportional to distance from x Size is polylog(n) Green* (x) = { y: y in Sample(x) , y Green} m*(x) = max {y in Green* (x)} 35 Is m*(x) good enough? m*(x) y x Suppose y is Green and m*(x) ≤ y ≤ x Since y is Green: g(y) = f(y) and g(x) = f(m*(x)) < f(y) = g(y) g is not monotone 36 Is m*(x) good enough? m*(x) y x To ensure monotonicity we need: x < y implies m*(x) < m*(y) Requires relaxing the requirement: for all Green z, m*(z) = z 37 Thinning out Green* (x) y x z Plan: Eliminate certain unsafe points from Green*(x) Roughly, y is unsafe for x if for some z>x Some interval beginning with y and containing x has a high density of Reds. (There is a non-trivial chance that Sample(z) has no Green points ≥ y.) 38 Thinning out Green* (x) Green* (x) = { y: y in Sample(x) , y Green} m*(x) = max {y in Green* (x)} Green^(x) = { y: y in Green* (x) , y safe for x} m^(x) = max {y in Green^ (x)} (Hiding: Efficient implementation of Green^(x)) 39 Redefining Green^(x) WHP if x ≤ y, then m^(x) ≤ m^(y) {x: m^(x) ≠ x} is O(ε(f) |Γ|). 40 Summary of 1-dimensional case Classify points as Green and Red For each x, choose Sample(x) size polylog(n) All points less than x Density inversely proportional to distance from x Green^ (x) from Sample(x) that are safe for x Few Red points f restricted to Green is f-monotone m^(x) is the maximum of Green^(x) Output g(x)=f(m^(x)) 41 Dimension greater than 1 y x For x < y, want g(x) < g(y) 42 Red/Green Classification Extend the Red/Green classification to higher dimensions: f restricted to Green is Monotone Red is small Straightforward (mostly) extension of 1-dimensional case 43 Given Red/Green classification In the one-dimensional case, Green^ (x) = sampled Green points safe for x g(x) = f(max {y : y in Green^ (x) } . 44 The Green points below x 0 x 1 Set of Green maxima could be very large Sparse Random Sampling will only roughly capture the frontier Finding an appropriate definition of unsafe points is much harder than in the one dimensional case 45 Further work The g produced by our algorithm has d(g,f) ≤ C(d)ε(f)|Γ| Our C(d) is exp(d2) . What should C(d) be? (Guess: C(d) = exp(d) ) Distributed reconstruction for other interesting properties? (Reconstructing expanders, Kale,Peres, Seshadhri, FOCS 08) 46