150 likes | 262 Views
Benjamin Doerr. Controlled Randomized Rounding. joint work with Tobias Friedrich, Christian Klein , Ralf Osbild. ADFOCS. Advanced Course on the Foundations of Computer Science. August 21 - August 25, 2006, Saarbrücken, Germany. Tamal Dey. Joel Spencer. Ingo Wegener.
E N D
Benjamin Doerr Controlled Randomized Rounding joint work with Tobias Friedrich, Christian Klein, Ralf Osbild
ADFOCS Advanced Course on the Foundations of Computer Science August 21 - August 25, 2006, Saarbrücken, Germany 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 Benjamin Doerr Controlled Randomized Rounding
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 Application 1: Increase Readability Bundestagswahl 2005, Zweitstimmen in den vier Wahlkreisen im Saarland Benjamin Doerr Controlled Randomized Rounding
Introduction Application 1: Increase Readability Bundestagswahl 2005, Zweitstimmen in den vier Wahlkreisen im Saarland Benjamin Doerr Controlled Randomized Rounding
Introduction Application 2: Confidentiality Protection Dr. Hein Blød, born 1941, has a 1M+ annual income! Kleinkleckersdorf income statistics 2000 Kleinkleckersdorf income statistics 2001 Solution: Round all number to multiples of 5. Benjamin Doerr Controlled Randomized Rounding
Introduction Basic Problem • 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. Benjamin Doerr Controlled Randomized Rounding
Introduction Problem: Extension 1 • “Unbiased” = Randomized: • Pr(yij = 1) = xij, • Pr(yij = 0) = 1 – xij. • Result: Unbiased controlled roundings exist. • Cox ’87. • Follows also from GKPS (FOCS ‘02). Benjamin Doerr Controlled Randomized Rounding
¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ b b b b ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ P P P P ( ( ( ( ) ) ) ) 8 8 8 8 8 8 8 8 b b 8 8 b b j j i i 1 1 2 2 ¡ ¡ ¡ ¡ < < < < a a : : : : x x x x y y y y i i j j i i j j i i j j i i j j ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ j i j i 1 1 a a = = = = Introduction Problem: Extension 2 • 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”? Benjamin Doerr Controlled Randomized Rounding
Introduction Our Result: • Unbiased strongly controlled roundings exist. • Can be generated in time • O((mn)2); • O(mn l), if numbers have binary length at most l; • O(mn b2), if numbers are multiples of 1/b; [Confidentiality protection: ‘rounding’ integers to multiples of b] Benjamin Doerr Controlled Randomized Rounding
The Algorithms Alternating Cycle Trick: • Simplifying assumptions: • Row/columns sums integral • Only aim at low errors in whole rows/columns (all intervals: more technical). 0.4 0.9 -ε +ε +ε 0.0 -ε 0.4 • Choose an alternating cycle (of non-zeroes). • Compute possible modifications: εmin= -0.1, εmax= 0.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). Benjamin Doerr Controlled Randomized Rounding
The Algorithms Fast Alternating Cycle Trick: • Assumptions: • All number have finite binary expansion. • Simplifications as before. 0.110 0.100 +ε -ε 0.010 0.110 +ε -ε 0.100 0.000 -ε +ε 0.100 0.010 -ε +ε • Choose an alternating cycle (with 1s in last digit). • Allow only modifications ε1 = -0.001 and ε2 = +0.001. • (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). Benjamin Doerr Controlled Randomized Rounding
The Algorithms Multiples of 1/b (here b=5): • Assumptions: • All numbers multiples of 1/b. • Simplifications as before. -ε 2/5 +ε 2/5 2/5 -ε 1 +ε • Choose an alternating cycle (of non-zeroes). • Allow only modifications. ε1 = -1/b and ε2 = +1/b. • (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}. Benjamin Doerr Controlled Randomized Rounding
Summary: • 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 l), if numbers have binary length at most l; • O(mn b2), if numbers are multiples of 1/b; Thank you! Benjamin Doerr Controlled Randomized Rounding