1 Distributed Monotonicity Restoration Michael Saks Rutgers University C. Seshadhri Princeton...
-
Upload
percival-gaines -
Category
Documents
-
view
215 -
download
0
description
Transcript of 1 Distributed Monotonicity Restoration Michael Saks Rutgers University C. Seshadhri Princeton...
1
Distributed Monotonicity Restoration
Michael SaksRutgers University
C. SeshadhriPrinceton University
2
Overview Introduce a new class of algorithmic
problems:Distributed Property Restoration
A solution for the case of theMonotonicity Property
3
Data Sets
Data set = function f : Γ V
Γ = finite index setV = value set
In this talk,Γ = [n]d = {1,…,n}d
f is a d-dimensional array
4
Data Sets: Examples
Directed Graphsboolean valued matrix
This talk: Nonnegative integer-valued arrays
5
For f,g with common domain Γ:
dist(f,g) = fraction of domain where f(x) ≠ g(x)
= relative Hamming distance
Distance between two data sets
6
Properties of data setsExamples
Graphs: planarity, Hamiltonicity, etc.
For multidimensional arrays Linear mod n Distinct entries Monotone: nondecreasing along every line
(Order preserving) When d=1, monotone = sorted
7
Some Algorithmic problems for PGiven data set f (as input): Recognition: Does f satisfy P? Testing:
(Define ε(f) = min{ dist(f,g) : g satisfies P})Decide either ε(f) > 0: f does not satisfy P ε(f) ≤ δ: f is close to P
(If 0 < ε(f) ≤ δ then can decide either)
8
Property RestorationSetting:
Given f We expect f to satisfy P
(e.g. we run algorithms on f that assume P) but f may not satisfy P
Restoration 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)
9
What does it mean to produce g? Offline computation
Input: function table for f
Output: function table for g
10
Distributed monotonicity restoration For each domain value x in Γ,
Processor Px computes g(x) works independently of other processors may access f(y) for (not too many) y has access to a short random string s
(common to all processors)
and is otherwise deterministic.
11
Distributed Property RestorationGoal:
WHP (with probability close to 1) (over choices of random string s):
g has property P d(g,f) = O( ε(f) ) Each Px runs quickly
in particular only reads f(y) for a small number of y.
12
Distributed Property Restoration
Precursor to this work: Online Data Reconstruction Model
(Ailon, Chazelle, Liu, Seshadhri)
13
Example: Error Correcting Codes Data set f = boolean string of length n
Property = Code word of a given error correcting code C
Recognition: Does f belong to C?Restoration = Decoding to a close code wordDistributed restoration = Local decoding
14
Monotonicity Restoration: d=1 f is a linear array of length n
First attempt at distributed restoration: Px 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 Restoration: d=1 Second attempt
Set g(x) = max{ f(1), f(2),…, f(x) }
g is monotone but
Px requires time Ω(x) dist(g,f) may be much larger than ε(f)
16
Our results (for general d )A distributed monotonicity restoration 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 similar results of Ailon, et al for 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 Γ, Px 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-monotonicityA 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 setThe set Bad:
x in Bad if for some interval J containing x|violations(x,J)|≥|J|/2
Lemma. Good=Γ \ Bad is f-monotone |Bad| ≤ 4 ε(f)|Γ| .
So we’d like to take:Green=Good Red = Bad
23
How do we compute Good?
To test whether y in Good:For each interval J containing y,
check violations(y,J)< |J|/2Difficulties
There are (n) intervals J containing y For each J, computing violations(y,J)
takes time (|J|) .
24
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
25
Set of test intervals
Want set T of intervals of [n] with:
Each x is in few ( O(log n) ) intervals of T
If S is any subset of T, then S has a subfamily C such that:
each x in US belongs to 1 or 2 sets of C.
For any interval I, there is a J in T containing I,of length at most 4|I|.
26
The Test Set T
Assume n=|Γ|=2k
k layers of intervalsLayer 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 Greenelse y is Red
29
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)|Γ|
30
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 givesg(x) = f(x) for Green x
32
Computing m(x)
Can search back from x to find first Green
Inefficient if x is preceded by a long Red stretch
xm(x)
33
Approximating 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)}
m*(x)
34
Is m*(x) good enough?
xm*(x) y
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
35
Is m*(x) good enough?
To ensure monotonicity we need:x < y implies m*(x) < m*(y)
Requires relaxing the requirement: for all Green y, m*(y) = y
xm*(x) y
36
Thinning out Green* (x)
Plan: Eliminate certain unsafe points from Green*(x)
Roughly, y is unsafe for x if for some z > x
(There is a non-trivial chance that Sample(z)has no Green points ≥ y.)
Some interval beginning with y and containing x has a high density of Reds.
xy z
37
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))
38
Redefining Green^(x)
WHP
if x ≤ y, then m^(x) ≤ m^(y)
{x: m^(x) ≠ x} is O(ε(f) |Γ|).
39
Summary of 1-dimensional case Classify points as Green and Red
Few Red points f restricted to Green is f-monotone
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 m^(x) is the maximum of Green^(x)
Output g(x)=f(m^(x))
40
Dimension greater than 1
For x < y, want g(x) < g(y)
x
y
41
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
42
Given Red/Green classificationIn the one-dimensional case,
Green^ (x) = sampled Green points safe for x
g(x) = f(max {y : y in Green^ (x) }
.
43
The Green points below x
Set of Green maxima could be very large Sparse Random Sampling will only roughly capture the frontier Identifying the unsafe points is much harder than in the one
dimensional case
01
x
44
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) )
Monotonicity restoration for general posets
Distributed restoration for other properties(Graph Properties?)