Controlled Randomized Rounding Benjamin Doerr joint work with Tobias Friedrich, Christian Klein, Ralf Osbild
ADFOCS Benjamin DoerrControlled Randomized Rounding August 21 - August 25, 2006, Saarbrücken, Germany Advanced Course on the Foundations of Computer Science Tamal Dey Joel SpencerIngo 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 DoerrControlled Randomized Rounding
Introduction Benjamin DoerrControlled Randomized Rounding Application 1: Increase Readability SPDCDUDie GrünenFDPDie Linkesum Saarbrücken Saarlouis St. Wendel Homburg sum Bundestagswahl 2005, Zweitstimmen in den vier Wahlkreisen im Saarland
Introduction Benjamin DoerrControlled Randomized Rounding Application 1: Increase Readability SPDCDUDie GrünenFDPDie Linkesum Saarbrücken Saarlouis St. Wendel Homburg sum SPDCDUDie GrünenFDPDie Linkesum Saarbrücken Saarlouis St. Wendel Homburg sum Bundestagswahl 2005, Zweitstimmen in den vier Wahlkreisen im Saarland
Introduction Benjamin DoerrControlled Randomized Rounding Application 2: Confidentiality Protection k-100k100k-1M1M k-100k100k-1M1M 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 DoerrControlled 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 DoerrControlled Randomized Rounding Unbiased = Randomized: Pr(y ij = 1) = x ij, Pr(y ij = 0) = 1 – x ij. Result: Unbiased controlled roundings exist. Cox 87. Follows also from GKPS (FOCS 02). Problem: Extension 1
Introduction Benjamin DoerrControlled 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 year olds with income 10k-100k? Problem: Extension 2 8 i 8 b : ¯ ¯ ¯ ¯ b P j = 1 ( x ij ¡ y ij ) ¯ ¯ ¯ ¯ < 1 8 j 8 b : ¯ ¯ ¯ ¯ b P i = 1 ( x ij ¡ y ij ) ¯ ¯ ¯ ¯ < 1 8 i 8 a 8 b : ¯ ¯ ¯ ¯ b P j = a ( x ij ¡ y ij ) ¯ ¯ ¯ ¯ < 2 8 j 8 a 8 b : ¯ ¯ ¯ ¯ b P i = a ( x ij ¡ y ij ) ¯ ¯ ¯ ¯ < 2
Introduction Benjamin DoerrControlled 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 b 2 ), if numbers are multiples of 1/b; [Confidentiality protection: rounding integers to multiples of b] Our Result:
The Algorithms Benjamin DoerrControlled Randomized Rounding Simplifying assumptions: Row/columns sums integral Only aim at low errors in whole rows/columns (all intervals: more technical). Alternating Cycle Trick: Choose an alternating cycle (of non-zeroes). 2.Compute possible modifications: ε min = -0.1, ε max = (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 ). +ε+ε +ε+ε -ε-ε -ε-ε
The Algorithms Benjamin DoerrControlled Randomized Rounding Assumptions: All number have finite binary expansion. Simplifications as before. Fast Alternating Cycle Trick: Choose an alternating cycle (with 1s in last digit). 2.Allow only modifications ε 1 = and ε 2 = (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). +ε+ε +ε+ε +ε+ε +ε+ε -ε-ε -ε-ε -ε-ε -ε-ε
The Algorithms Benjamin DoerrControlled Randomized Rounding Assumptions: All numbers multiples of 1/b. Simplifications as before. Multiples of 1/b (here b=5): 1/53/54/52/50 3/54/503/50 2/5 4/51/54/53/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(b 2 ) to fully round one entry. Total: O(mn b 2 ). Proof: Entries perform random walk in {0, 1/5, 2/5, 3/5, 4/5, 1}. -ε-ε -ε-ε +ε+ε +ε+ε 2/5 1
Benjamin DoerrControlled 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 b 2 ), if numbers are multiples of 1/b; Summary: Thank you!