controlled randomized rounding benjamin doerr joint work with tobias friedrich, christian klein,...
TRANSCRIPT
Controlled Randomized Rounding Benjamin Doerr
joint work with Tobias Friedrich, Christian Klein, Ralf Osbild
ADFOCS
Benjamin Doerr Controlled Randomized Rounding
August 21 - August 25, 2006, Saarbrücken, Germany
Advanced Course on the Foundations of Computer Science
Tamal Dey Joel Spencer Ingo Wegener
Surface Reconstruction and Meshing: Algorithms with Mathematical Analysis
Erdős Magic,Erdős-Rényi Phase Transition
Randomized Search Heuristics: Concept and Analysis
Overview
Introduction Two Applications
Problem: Matrix rounding with small errors in row and columns
Previous and new results
The Algorithms Alternating cycle trick.
Two speed-ups.
Summary
Benjamin Doerr Controlled Randomized Rounding
Introduction
Benjamin Doerr Controlled Randomized Rounding
Application 1: Increase ReadabilitySPD CDU Die Grünen FDP Die Linke sum
Saarbrücken 51.231 41.846 12.517 12.502 33.021 151.117
Saarlouis 55.839 53.774 9.014 12.789 30.142 161.558
St. Wendel 50.048 50.000 6.925 10.127 25.286 142.386
Homburg 54.083 45.447 9.033 11.770 28.640 148.973
sum 211.201 191.067 37.489 47.188 117.089 604.034
Bundestagswahl 2005, Zweitstimmen in den vier Wahlkreisen im Saarland
Introduction
Benjamin Doerr Controlled Randomized Rounding
Application 1: Increase Readability
SPD CDU Die Grünen FDP Die Linke sum
Saarbrücken 51.000 42.000 12.000 13.000 33.000 151.000
Saarlouis 56.000 54.000 9.000 13.000 30.000 162.000
St. Wendel 50.000 50.000 6.000 11.000 25.000 142.000
Homburg 54.000 45.000 9.000 12.000 29.000 149.000
sum 211.000 191.000 36.000 49.000 117.000 604.000
SPD CDU Die Grünen FDP Die Linke sum
Saarbrücken 51.231 41.846 12.467 12.552 33.021 151.117
Saarlouis 55.839 53.774 9.264 12.539 30.142 161.558
St. Wendel 50.048 50.000 6.495 10.557 25.286 142.386
Homburg 54.083 45.447 9.263 11.540 28.640 148.973
sum 211.201 191.067 37.489 47.188 117.089 604.034
Bundestagswahl 2005, Zweitstimmen in den vier Wahlkreisen im Saarland
Introduction
Benjamin Doerr Controlled Randomized Rounding
Application 2: Confidentiality Protection0-9999 10k-100k 100k-1M 1M+
0-39 257 312 0 0
40-59 178 411 81 15
60+ 210 309 41 14
0-9999 10k-100k 100k-1M 1M+
0-39 232 340 4 0
40-59 171 398 83 14
60+ 245 355 51 15
Kleinkleckersdorf income statistics 2000
Kleinkleckersdorf income statistics 2001
Dr. Hein Blød, born 1941, has a 1M+ annual income!
Solution: Round all number to multiples of 5.
Introduction
Benjamin Doerr Controlled Randomized Rounding
Round a [0,1] matrix to a {0,1} matrix s.t. rounding errors in row totals are less than one;
rounding errors in column totals are less than one;
rounding error in grand total is less than one.
“Controlled Rounding”
Classical result: All matrices have controlled roundings.
Bacharach ’66, Cox&Ernst ’82: Statistics.
Baranyai ’75: Hypergraph coloring.
Basic Problem
Introduction
Benjamin Doerr Controlled Randomized Rounding
“Unbiased” = Randomized: Pr(yij = 1) = xij,
Pr(yij = 0) = 1 – xij.
Result: Unbiased controlled roundings exist. Cox ’87.
Follows also from GKPS (FOCS ‘02).
Problem: Extension 1
Introduction
Benjamin Doerr Controlled Randomized Rounding
Small errors in initial intervals of row/columns:
“Strongly controlled roundings”
Observation: Errors less than two in arbitrary intervals.
Allows reliable range queries. “# of 20-59 year olds with income 10k-100k”?
Problem: Extension 2
8i 8b:¯¯¯¯
bP
j =1(xi j ¡ yi j )
¯¯¯¯< 1 8j 8b:
¯¯¯¯
bP
i=1(xi j ¡ yi j )
¯¯¯¯< 1
8i 8a 8b:¯¯¯¯
bP
j =a(xi j ¡ yi j )
¯¯¯¯< 2 8j 8a 8b:
¯¯¯¯
bP
i=a(xi j ¡ yi j )
¯¯¯¯< 2
Introduction
Benjamin Doerr Controlled Randomized Rounding
Unbiased strongly controlled roundings exist.
Can be generated in time O((mn)2);
O(mn ), if numbers have binary length at most ;
O(mn b2), if numbers are multiples of 1/b;[Confidentiality protection: ‘rounding’ integers to multiples
of b]
Our Result:
The Algorithms
Benjamin Doerr Controlled Randomized Rounding
Simplifying assumptions:
Row/columns sums integral
Only aim at low errors in whole rows/columns (all intervals: more technical).
Alternating Cycle Trick:
0.6 0.7 0.2 0.9 0.6
0.3 0.1 0.5 0.3 0.2
0.9 0.4 0.7 0.2 0.8
0.2 0.8 0.6 0.6 0.4
1. Choose an alternating cycle (of non-zeroes).2. Compute possible modifications: εmin= -0.1, εmax= 0.3.3. (a) Non-randomized: Modify with any ε [here: ε =
εmax].(b) Unbiased: Suitable random choice.
Result: At least one entry becomes 0 or 1.Time complexity: One iteration O(mn), total O((mn)2).
+ε
+ε-ε
-ε0.9
0.0
0.4
0.4
The Algorithms
Benjamin Doerr Controlled Randomized Rounding
Assumptions:
All number have finite binary expansion.
Simplifications as before.
Fast Alternating Cycle Trick:
0.101 0.101 0.100 0.110 0.100
0.000 0.001 0.100 0.100 0.111
0.001 0.010 0.011 0.110 0.100
0.010 0.000 0.101 0.000 0.001
1. Choose an alternating cycle (with 1s in last digit).2. Allow only modifications ε1 = -0.001 and ε2 = +0.001.3. (a) Non-randomized: Modify with either value.
(b) Unbiased: Pick each value with 50% chance [here: ε = ε2].
Result: Bit-length in whole cycle reduces.Time complexity: Amortized O(1) to reduce bit-length of one entry.
Total: O(mn bit_length).
+ε
+ε
+ε
+ε
-ε
-ε
-ε
-ε
0.110
0.000 0.100
0.100 0.010
0.1100.010
0.100
The Algorithms
Benjamin Doerr Controlled Randomized Rounding
Assumptions:
All numbers multiples of 1/b.
Simplifications as before.
Multiples of 1/b (here b=5):
1/5 3/5 4/5 2/5 0
3/5 4/5 0 3/5 0
2/5 2/5 2/5 2/5 2/5
4/5 1/5 4/5 3/5 3/5
1. Choose an alternating cycle (of non-zeroes).2. Allow only modifications. ε1 = -1/b and ε2 = +1/b.3. (a) Non-randomized: Be clever (derandomize!).
(b) Unbiased: Pick each value with 50% chance [here: ε = ε2].
Time complexity: Amortized O(b2) to fully round one entry. Total: O(mn b2).
Proof: Entries perform random walk in {0, 1/5, 2/5, 3/5, 4/5, 1}.
-ε
-ε +ε
+ε2/5
2/5
2/5
1
Benjamin Doerr Controlled Randomized Rounding
Unbiased strongly controlled roundings: “randomized roundings”
rounding errors in initial intervals of rows/column: < 1.
Result: Can be generated in time O((mn)2);
O(mn ), if numbers have binary length at most ;
O(mn b2), if numbers are multiples of 1/b;
Summary:
Thank you!