Data Streams, Dyck Languages, and Detecting Dubious Data Structures

Size: px
Start display at page:

Download "Data Streams, Dyck Languages, and Detecting Dubious Data Structures"

Transcription

1 Data Streams, Dyck Languages, and Detecting Dubious Data Structures Amit Chakrabarti! Graham Cormode! Ranganath Kondapally! Andrew McGregor! Dartmouth College AT&T Research Labs Dartmouth College University of Massachusetts, Amherst

2

3

4

5 At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted

6 5 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5)

7 5 3 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3)

8 extract min! 5 3 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3)

9 3 5 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3)

10 3 5 6 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6)

11 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7)

12 extract min! MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7)

13 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5)

14 extract min! MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5)

15 653 7 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5) ext(6)

16 extract min! MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5) ext(6)

17 5376 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5) ext(6) ext(7)

18 5376 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5) ext(6) ext(7)? Challenge: Without remembering all the interaction, can you verify the priority queue performed correctly?

19 5376 MEMORY At each step, user inserts a value into the memory or asks that the smallest currently stored value is extracted ins(5) ins(3) ext(3) ins(6) ins(7) ext(5) ext(6) ext(7)? Challenge: Without remembering all the interaction, can you verify the priority queue performed correctly? Motivation: Memory checking useful when using cheap commodity hardware. [Blum, Evans, Gemmell, Kannan, Naor 94]

20 PQ Language Problem

21 PQ Language Problem Let PQ be set of legitimate transcripts of a priority queue that starts and ends empty.

22 PQ Language Problem Let PQ be set of legitimate transcripts of a priority queue that starts and ends empty. ins(5), ins(3), ext(3), ins(7), ext(5), ext(7) PQ

23 PQ Language Problem Let PQ be set of legitimate transcripts of a priority queue that starts and ends empty. ins(5), ins(3), ext(3), ins(7), ext(5), ext(7) PQ ins(5), ext(3), ins(5), ins(7), ext(7), ext(5) PQ

24 PQ Language Problem Let PQ be set of legitimate transcripts of a priority queue that starts and ends empty. ins(5), ins(3), ext(3), ins(7), ext(5), ext(7) PQ ins(5), ext(3), ins(5), ins(7), ext(7), ext(5) PQ PQ Problem: Given streaming access to length N transcript, determine if it s in PQ using o(n) space.

25 PQ Language Problem Let PQ be set of legitimate transcripts of a priority queue that starts and ends empty. ins(5), ins(3), ext(3), ins(7), ext(5), ext(7) PQ ins(5), ext(3), ins(5), ins(7), ext(7), ext(5) PQ PQ Problem: Given streaming access to length N transcript, determine if it s in PQ using o(n) space. Previous results: If each extract is annotated with insert time, Õ( N) space suffices. [Chu, Kannan, McGregor 07] ins(5), ins(3), ext(3,2), ins(7), ext(5,1), ext(7,4) PQ+

26 PQ Language Problem Let PQ be set of legitimate transcripts of a priority queue that starts and ends empty. ins(5), ins(3), ext(3), ins(7), ext(5), ext(7) PQ ins(5), ext(3), ins(5), ins(7), ext(7), ext(5) PQ PQ Problem: Given streaming access to length N transcript, determine if it s in PQ using o(n) space. Previous results: If each extract is annotated with insert time, Õ( N) space suffices. [Chu, Kannan, McGregor 07] ins(5), ins(3), ext(3,2), ins(7), ext(5,1), ext(7,4) PQ+? Big Question: Is annotation necessary for sub-linear space?

27 Dyck Language Problem [Magniez, Mathieu, Nayak 10]

28 Dyck Language Problem [Magniez, Mathieu, Nayak 10] DYCK2 is the set of strings of balanced brackets when there are two different types of brackets: ((([])()[])) DYCK 2 ([([]])[])) DYCK2

29 Dyck Language Problem [Magniez, Mathieu, Nayak 10] DYCK2 is the set of strings of balanced brackets when there are two different types of brackets: ((([])()[])) DYCK 2 ([([]])[])) DYCK2 DYCK Problem: Given streaming access to length N string, determine if it s in DYCK2 using o(n) space.

30 Dyck Language Problem [Magniez, Mathieu, Nayak 10] DYCK2 is the set of strings of balanced brackets when there are two different types of brackets: ((([])()[])) DYCK 2 ([([]])[])) DYCK2 DYCK Problem: Given streaming access to length N string, determine if it s in DYCK2 using o(n) space. Previous results: Given one pass, Õ( N) space suffices. If you re allowed one forward pass followed by a reverse pass, Õ(log N) space suffices.

31 Dyck Language Problem [Magniez, Mathieu, Nayak 10] DYCK2 is the set of strings of balanced brackets when there are two different types of brackets: ((([])()[])) DYCK 2 ([([]])[])) DYCK2 DYCK Problem: Given streaming access to length N string, determine if it s in DYCK2 using o(n) space. Previous results: Given one pass, Õ( N) space suffices. If you re allowed one forward pass followed by a reverse pass, Õ(log N) space suffices.? Big Question: Does Õ(log N) space suffice if we re only allowed multiple forward passes?

32 Outline

33 Outline I. Priority Queues and Memory Checking Algorithms Õ( N) space algorithm for PQ with no annotations! Extensions to stacks, double-ended queues, etc.

34 Outline I. Priority Queues and Memory Checking Algorithms Õ( N) space algorithm for PQ with no annotations! Extensions to stacks, double-ended queues, etc. II. Multipass Stream Lower Bounds Any constant pass algorithm for DYCK2 or PQ that only uses forward passes requires Ω( N) space

35 Outline I. Priority Queues and Memory Checking Algorithms Õ( N) space algorithm for PQ with no annotations! Extensions to stacks, double-ended queues, etc. II. Multipass Stream Lower Bounds Any constant pass algorithm for DYCK2 or PQ that only uses forward passes requires Ω( N) space III. Information Complexity Trade-offs for Augmented Index Even multi-round protocol leak information.

36 I. Memory Checking II. Lower Bounds III. Augmented Indexing

37 I. Memory Checking

38 PQ Algorithm

39 PQ Algorithm Thm: There exists a O( N log N) space algorithm with O(log N) amortized update time for recognizing PQ.

40 PQ Algorithm Thm: There exists a O( N log N) space algorithm with O(log N) amortized update time for recognizing PQ. Prelim: Easy to check that set of values inserted equals set of values extracted using fingerprinting: f S (x) = a S(x a) mod p

41 PQ Algorithm Thm: There exists a O( N log N) space algorithm with O(log N) amortized update time for recognizing PQ. Prelim: Easy to check that set of values inserted equals set of values extracted using fingerprinting: f S (x) = a S(x a) mod p! For this talk: Assume inserted elements are distinct and that inserts come before their corresponding extract. I.e., we re trying to identify the following bad pattern: ins(u)... ext(v)... ext(u) for some u < v

42 Epochs and Local Bad Patterns...

43 Epochs and Local Bad Patterns... Increasing Value Increasing Time

44 Epochs and Local Bad Patterns... Increasing Value Increasing Time Split length N sequence into N epochs of length N

45 Epochs and Local Bad Patterns... Epoch-1 Epoch-2 Epoch-3 Epoch-4 Epoch-5 Epoch-6 Increasing Value Increasing Time Split length N sequence into N epochs of length N

46 Epochs and Local Bad Patterns... Epoch-1 Epoch-2 Epoch-3 Epoch-4 Epoch-5 Epoch-6 Increasing Value Increasing Time Split length N sequence into N epochs of length N Defn: Bad pattern ins(u)... ext(v)... ext(u) is local if ins(u) and ext(v) occur in same epoch and long-range otherwise.

47 Epochs and Local Bad Patterns... Epoch-1 Epoch-2 Epoch-3 Epoch-4 Epoch-5 Epoch-6 Increasing Value Increasing Time Split length N sequence into N epochs of length N Defn: Bad pattern ins(u)... ext(v)... ext(u) is local if ins(u) and ext(v) occur in same epoch and long-range otherwise. Using O( N) space, we can buffer each epoch and check for local bad patterns.

48 Catching Long-Range Bad Patterns... 1/2

49 Catching Long-Range Bad Patterns... 1/2 f(1) f(2) Defn: Let ft(i) be maximum value extracted between end of i-th epoch and present time t.

50 Catching Long-Range Bad Patterns... 1/2 f(1) f(2) Defn: Let ft(i) be maximum value extracted between end of i-th epoch and present time t.

51 Catching Long-Range Bad Patterns... 1/2 f(1) f(2) f(3) Defn: Let ft(i) be maximum value extracted between end of i-th epoch and present time t.

52 Catching Long-Range Bad Patterns... 1/2 f(1) f(2) f(3) Defn: Let ft(i) be maximum value extracted between end of i-th epoch and present time t.

53 Catching Long-Range Bad Patterns... 1/2 f(1) f(2) f(3) Defn: Let ft(i) be maximum value extracted between end of i-th epoch and present time t.

54 Catching Long-Range Bad Patterns... 1/2 f(1) f(2) f(3) Defn: Let ft(i) be maximum value extracted between end of i-th epoch and present time t. Defn: Each insert or extract is adopted by k-th epoch where k = min{j : f(j) u} where we assume f(current epoch)=0.

55 Catching Long-Range Bad Patterns... 2/2

56 Catching Long-Range Bad Patterns... 2/2 Lemma: If ins(u)... ext(v)... ext(u) is a long-range bad pattern then ins(u) and ext(u) are adopted by different epochs.

57 Catching Long-Range Bad Patterns... 2/2 Lemma: If ins(u)... ext(v)... ext(u) is a long-range bad pattern then ins(u) and ext(u) are adopted by different epochs. Proof: i. Let ins(u) be adopted by k-th epoch.

58 Catching Long-Range Bad Patterns... 2/2 Lemma: If ins(u)... ext(v)... ext(u) is a long-range bad pattern then ins(u) and ext(u) are adopted by different epochs. Proof: i. Let ins(u) be adopted by k-th epoch. ii. After v is extracted f(k) v>u and hence ext(u) will be adopted by k -th epoch for some k >k.

59 Catching Long-Range Bad Patterns... 2/2 Lemma: If ins(u)... ext(v)... ext(u) is a long-range bad pattern then ins(u) and ext(u) are adopted by different epochs. Proof: i. Let ins(u) be adopted by k-th epoch. ii. After v is extracted f(k) v>u and hence ext(u) will be adopted by k -th epoch for some k >k. Lemma: If there are no bad patterns, every ins(u) and ext(u) pair get adopted by the same epoch.

60 Catching Long-Range Bad Patterns... 2/2 Lemma: If ins(u)... ext(v)... ext(u) is a long-range bad pattern then ins(u) and ext(u) are adopted by different epochs. Proof: i. Let ins(u) be adopted by k-th epoch. ii. After v is extracted f(k) v>u and hence ext(u) will be adopted by k -th epoch for some k >k. Lemma: If there are no bad patterns, every ins(u) and ext(u) pair get adopted by the same epoch. Algorithm: Using fingerprinting to check: {(u,k) : ins(u) adopted by k} = {(u,k) : ext(u) adopted by k}.

61 Finishing Up

62 Finishing Up Some steps to removing assumptions: i. Within buffered epoch, rearrange terms such that all inserts follow a series of increasing extracts: ensures all extracts are adopted by previous epochs. ii. Keep track of number of times epoch k adopts ins(u) while f(k)<u and while f(k)=u separately and whether epoch k has ever adopted more ext(u) s than ins(u) s.

63 Finishing Up Some steps to removing assumptions: i. Within buffered epoch, rearrange terms such that all inserts follow a series of increasing extracts: ensures all extracts are adopted by previous epochs. ii. Keep track of number of times epoch k adopts ins(u) while f(k)<u and while f(k)=u separately and whether epoch k has ever adopted more ext(u) s than ins(u) s. Thm: There exists a O( N log N) space algorithm with O(log N) amortized update time for recognizing PQ.

64 Finishing Up Some steps to removing assumptions: i. Within buffered epoch, rearrange terms such that all inserts follow a series of increasing extracts: ensures all extracts are adopted by previous epochs. ii. Keep track of number of times epoch k adopts ins(u) while f(k)<u and while f(k)=u separately and whether epoch k has ever adopted more ext(u) s than ins(u) s. Thm: There exists a O( N log N) space algorithm with O(log N) amortized update time for recognizing PQ. Extensions: Sub-linear space streaming recognition of other data structures like stacks, double-ended queues...

65 I. Memory Checking II. Lower Bounds III. Augmented Indexing

66 II. Lower Bounds

67 Augmented Index

68 Augmented Index Many space lower bounds in data stream model are based on reductions from communication complexity.

69 Augmented Index x {0,1} n y {0,1} k-1, k [n], c {0,1}, Many space lower bounds in data stream model are based on reductions from communication complexity. Augmented Index: Alice has x {0,1} n and Bob has a prefix y {0,1} k-1 of x and c {0,1}. Bob wants to check if c=xk.

70 Augmented Index x {0,1} n y {0,1} k-1, k [n], c {0,1}, Many space lower bounds in data stream model are based on reductions from communication complexity. Augmented Index: Alice has x {0,1} n and Bob has a prefix y {0,1} k-1 of x and c {0,1}. Bob wants to check if c=xk. Thm: Any 1/3-error, one-way protocol from Alice to Bob for AIn requires Ω(n) bits sent. [Miltersen et al. JCSS 98]

71 Augmented Index x {0,1} n y {0,1} k-1, k [n], c {0,1}, Many space lower bounds in data stream model are based on reductions from communication complexity. Augmented Index: Alice has x {0,1} n and Bob has a prefix y {0,1} k-1 of x and c {0,1}. Bob wants to check if c=xk. Thm: Any 1/3-error, one-way protocol from Alice to Bob for AIn requires Ω(n) bits sent. [Miltersen et al. JCSS 98] Our main result concerns multi-way protocols but we ll cover the relevance to DYCK2 and PQ first...

72 Multi-player Augmented Index

73 Multi-player Augmented Index x 1 y 1, k 1, c 1 x 2 y 2, k 2, c 2 x 3 y 3, k 3, c 3 We now have 2m players A1,..., Am, B1,..., Bm where each Ai and Bi have an instance (x i,k i,c i ) of AIn

74 Multi-player Augmented Index x 1 y 1, k 1, c 1 x 2 y 2, k 2, c 2 x 3 y 3, k 3, c 3 x 3 x 2 x 1 We now have 2m players A1,..., Am, B1,..., Bm where each Ai and Bi have an instance (x i,k i,c i ) of AIn Want to determine if any of the AI instances are false using private messages communicated in the order A1 B1 A2 B2... Am Bm Am Am-1... A1

75 Multi-player Augmented Index x 1 y 1, k 1, c 1 x 2 y 2, k 2, c 2 x 3 y 3, k 3, c 3 x 3 x 2 x 1 We now have 2m players A1,..., Am, B1,..., Bm where each Ai and Bi have an instance (x i,k i,c i ) of AIn Want to determine if any of the AI instances are false using private messages communicated in the order A1 B1 A2 B2... Am Bm Am Am-1... A1 Thm: Any 1/3-error, p-round protocol for MULTI-AIm,n needs ps=ω(min m,n) where s is max message length.

76 Reduction to Dyck

77 Reduction to Dyck ([( ( [ (

78 Reduction to Dyck ([( )][( ( [ ( ) ( ][

79 Reduction to Dyck ([( )][( [[( ( [ ( ) ( ][ ( [ [

80 Reduction to Dyck ([( )][( [[( )])([( ( [ [ ) ( ] [ )( ( [ ( ) ( ][

81 Reduction to Dyck ([( )][( [[( )])([( (([ [ ( ( ( [ [ ) ( ] [ )( ( [ ( ) ( ][

82 Reduction to Dyck ([( )][( [[( )])([( (([ ][ [ ( ( ][ ( [ [ ) ( ] [ )( ( [ ( ) ( ][

83 Reduction to Dyck ([( )][( [[( )])([( (([ ][ ])) [ ( ( ][ ] ) ) ( [ [ ) ( ] [ )( ( [ ( ) ( ][

84 Reduction to Dyck ([( )][( [[( )])([( (([ ][ ])) )]] [ ( ( ][ ] ) ) ( [ [ ) ( ] [ )( ) ] ] ( [ ( ) ( ][

85 Reduction to Dyck ([( )][( [[( )])([( (([ ][ ])) )]] )]) [ ( ( ][ ] ) ) ( [ [ ) ( ] [ )( ) ] ] ( [ ( ) ( ][ ) ] )

86 Reduction to Dyck ([( )][( [[( )])([( (([ ][ ])) )]] )]) [ ( ( ][ ] ) ) ( [ [ ) ( ] [ )( ) ] ] ( [ ( ) ( ][ Ascension Problem [Magniez, Mathieu, Nayak 10] ) ] )

87 Reduction to Dyck

88 Reduction to Dyck Thm: A constant-pass, algorithm for DYCK2 that fail with probability at most 1/3 requires Ω( N) space.

89 Reduction to Dyck Thm: A constant-pass, algorithm for DYCK2 that fail with probability at most 1/3 requires Ω( N) space. Proof: i. Let A be a p-pass stream algorithm using s space.

90 Reduction to Dyck Thm: A constant-pass, algorithm for DYCK2 that fail with probability at most 1/3 requires Ω( N) space. Proof: i. Let A be a p-pass stream algorithm using s space. ii. Use A to construct a p-round protocol for MULTI-AI N, N where max message is s-bits: Each player simulates A on it s part of input using Magniez et al. reduction and forwards memory state to next player.

91 Reduction to Dyck Thm: A constant-pass, algorithm for DYCK2 that fail with probability at most 1/3 requires Ω( N) space. Proof: i. Let A be a p-pass stream algorithm using s space. ii. Use A to construct a p-round protocol for MULTI-AI N, N where max message is s-bits: Each player simulates A on it s part of input using Magniez et al. reduction and forwards memory state to next player. iii. Therefore s is Ω( N) as required.

92 Lower Bounds Summary

93 Lower Bounds Summary Thm: Any constant pass algorithm for recognizing PQ or DYCK2 requires a Ω( N) space.

94 Lower Bounds Summary Thm: Any constant pass algorithm for recognizing PQ or DYCK2 requires a Ω( N) space. Consequences: i. Multiple forward passes have no significant advantage for recognizing the languages considered. ii. One forward pass + one reverse pass is exponentially more powerful than two forward passes.

95 I. Memory Checking II. Lower Bounds III. Augmented Indexing

96 III. Augmented Indexing

97 Information Complexity [Chakrabarti, Shi, Wirth, Yao 01]

98 Information Complexity [Chakrabarti, Shi, Wirth, Yao 01] Entropy and Mutual Information: H(X ) = Σ Pr[X = x]lgpr[x = x] H(X Y ) = Σ Pr[X = x, Y = y]lgpr[x = x Y = y] I (X ; Y ) = H(X ) H(X Y ) = H(Y ) H(Y X ) I (X ; Y Z) = H(X Z) H(X Y, Z)

99 Information Complexity [Chakrabarti, Shi, Wirth, Yao 01] Entropy and Mutual Information: H(X ) = Σ Pr[X = x]lgpr[x = x] H(X Y ) = Σ Pr[X = x, Y = y]lgpr[x = x Y = y] I (X ; Y ) = H(X ) H(X Y ) = H(Y ) H(Y X ) I (X ; Y Z) = H(X Z) H(X Y, Z)

100 Information Complexity [Chakrabarti, Shi, Wirth, Yao 01] Entropy and Mutual Information: H(X ) = Σ Pr[X = x]lgpr[x = x] H(X Y ) = Σ Pr[X = x, Y = y]lgpr[x = x Y = y] I (X ; Y ) = H(X ) H(X Y ) = H(Y ) H(Y X ) I (X ; Y Z) = H(X Z) H(X Y, Z) Information cost method: Consider mutual information between random input for a communication problem and the communication transcript: I (transcript; input) length of transcript

101 Information Complexity [Chakrabarti, Shi, Wirth, Yao 01] Entropy and Mutual Information: H(X ) = Σ Pr[X = x]lgpr[x = x] H(X Y ) = Σ Pr[X = x, Y = y]lgpr[x = x Y = y] I (X ; Y ) = H(X ) H(X Y ) = H(Y ) H(Y X ) I (X ; Y Z) = H(X Z) H(X Y, Z) Information cost method: Consider mutual information between random input for a communication problem and the communication transcript: I (transcript; input) length of transcript

102 Information Complexity [Chakrabarti, Shi, Wirth, Yao 01] Entropy and Mutual Information: H(X ) = Σ Pr[X = x]lgpr[x = x] H(X Y ) = Σ Pr[X = x, Y = y]lgpr[x = x Y = y] I (X ; Y ) = H(X ) H(X Y ) = H(Y ) H(Y X ) I (X ; Y Z) = H(X Z) H(X Y, Z) Information cost method: Consider mutual information between random input for a communication problem and the communication transcript: I (transcript; input) length of transcript Can restrict to partial transcript and subsets of input: useful for proving direct-sum arguments.

103 Information Complexity of AIn

104 Information Complexity of AIn Defn: Let P be a protocol for AIn using public random string R. Let T be the transcript and (X, K, C)~ξ. Define icost A ξ (P) = I (T : X K, C, R) icost B ξ (P) = I (T : K, C X, R)

105 Information Complexity of AIn Defn: Let P be a protocol for AIn using public random string R. Let T be the transcript and (X, K, C)~ξ. Define icost A ξ (P) = I (T : X K, C, R) icost B ξ (P) = I (T : K, C X, R) Thm: Let P be a randomized protocol for AIn with error 1/3 under the uniform distribution μ. Then, icost A µ 0 (P) = Ω(n) or icost B µ 0 (P) = Ω(1) where μ0 is μ conditioned on XK=C.

106 MULTI-AIm,n versus AIn

107 MULTI-AIm,n versus AIn Defn: Let Q be a protocol for MULTI-AIm,n using public random string R. Let T be transcript and (X i,k i,c i )i [m]~ξ. icost ξ (Q) = I(T m :K 1,C 1,...,K m,c m X 1,...,X m,r) where Tm is the set of messages sent by Bm.

108 MULTI-AIm,n versus AIn Defn: Let Q be a protocol for MULTI-AIm,n using public random string R. Let T be transcript and (X i,k i,c i )i [m]~ξ. icost ξ (Q) = I(T m :K 1,C 1,...,K m,c m X 1,...,X m,r) where Tm is the set of messages sent by Bm. Thm (Direct Sum): If there exists a p-round, s-bit, ε-error protocol Q for MULTI-AIm,n then there exists a p-round, ε-error randomized protocol P for AIn where i. Alice sends at most ps bits ii. m icost B µ 0 (P) icost µ m 0 (Q)

109 Putting it all together...

110 Putting it all together... Thm: Any p-round, s-bit, 1/3-error protocol Q for MULTI- AIm,n requires ps=ω(min m,n).

111 Putting it all together... Thm: Any p-round, s-bit, 1/3-error protocol Q for MULTI- AIm,n requires ps=ω(min m,n). Proof: i. By direct sum theorem, there exists ε-error, p-pass protocol P for AIn such that: p s icost µ m(q) m icost B µ 0 0 (P) p s icost A µ 0 (P)

112 Putting it all together... Thm: Any p-round, s-bit, 1/3-error protocol Q for MULTI- AIm,n requires ps=ω(min m,n). Proof: i. By direct sum theorem, there exists ε-error, p-pass protocol P for AIn such that: p s icost µ m(q) m icost B µ 0 0 (P) p s icost A µ 0 (P) ii. By information complexity of AIn max(m icost B µ 0 (P), icost A µ 0 (P)) = Ω(min(m, n))

113 Summary Memory Checking: Sub-linear space recognition of various datastructure transcript languages is possible without annotation! Theory of Stream Computation: Forward + reverse pass can be much more useful than many forward passes! Further Work: Annotations, stream language recognition,... Thanks!

114

Proving Lower bounds using Information Theory

Proving Lower bounds using Information Theory Proving Lower bounds using Information Theory Frédéric Magniez CNRS, Univ Paris Diderot Paris, July 2013 Data streams 2 Massive data sets - Examples: Network monitoring - Genome decoding Web databases

More information

Joshua Brody and Amit Chakrabarti

Joshua Brody and Amit Chakrabarti Lower Bounds for Gap-Hamming-Distance and Consequences for Data Stream Algorithms Joshua Brody and Amit Chakrabarti Dartmouth College 24th CCC, 2009, Paris Joshua Brody 1 Counting Distinct Elements in

More information

Robust Lower Bounds for Communication and Stream Computation

Robust Lower Bounds for Communication and Stream Computation Robust Lower Bounds for Communication and Stream Computation! Amit Chakrabarti! Dartmouth College! Graham Cormode! AT&T Labs! Andrew McGregor! UC San Diego Communication Complexity Communication Complexity

More information

Checking and Spot-Checking the Correctness of Priority Queues

Checking and Spot-Checking the Correctness of Priority Queues Checking and Spot-Checking the Correctness of Priority Queues Matthew Chu 1, Sampath Kannan 1, and Andrew McGregor 2 1 Dept. of Computer and Information Science, University of Pennsylvania {mdchu,kannan}@cis.upenn.edu

More information

Superlinear Lower Bounds for Multipass Graph Processing

Superlinear Lower Bounds for Multipass Graph Processing Krzysztof Onak Superlinear lower bounds for multipass graph processing p. 1/29 Superlinear Lower Bounds for Multipass Graph Processing Krzysztof Onak IBM T.J. Watson Research Center Joint work with Venkat

More information

Homomorphic Sketches Shrinking Big Data without Sacrificing Structure. Andrew McGregor University of Massachusetts

Homomorphic Sketches Shrinking Big Data without Sacrificing Structure. Andrew McGregor University of Massachusetts Homomorphic Sketches Shrinking Big Data without Sacrificing Structure Andrew McGregor University of Massachusetts 4Mv 2 2 32 3 2 3 2 3 4 M 5 3 5 = v 6 7 4 5 = 4Mv5 = 4Mv5 Sketches: Encode data as vector;

More information

Optimisation While Streaming

Optimisation While Streaming Optimisation While Streaming Amit Chakrabarti Dartmouth College Joint work with S. Kale, A. Wirth DIMACS Workshop on Big Data Through the Lens of Sublinear Algorithms, Aug 2015 Combinatorial Optimisation

More information

Approximation Algorithms for Clustering Uncertain Data

Approximation Algorithms for Clustering Uncertain Data Approximation Algorithms for Clustering Uncertain Data Graham Cormode AT&T Labs - Research graham@research.att.com Andrew McGregor UCSD / MSR / UMass Amherst andrewm@ucsd.edu Introduction Many applications

More information

Analyze the obvious algorithm, 5 points Here is the most obvious algorithm for this problem: (LastLargerElement[A[1..n]:

Analyze the obvious algorithm, 5 points Here is the most obvious algorithm for this problem: (LastLargerElement[A[1..n]: CSE 101 Homework 1 Background (Order and Recurrence Relations), correctness proofs, time analysis, and speeding up algorithms with restructuring, preprocessing and data structures. Due Thursday, April

More information

Annotations For Sparse Data Streams

Annotations For Sparse Data Streams Annotations For Sparse Data Streams Justin Thaler, Simons Institute, UC Berkeley Joint Work with: Amit Chakrabarti, Dartmouth Graham Cormode, University of Warwick Navin Goyal, Microsoft Research India

More information

Binary Heaps in Dynamic Arrays

Binary Heaps in Dynamic Arrays Yufei Tao ITEE University of Queensland We have already learned that the binary heap serves as an efficient implementation of a priority queue. Our previous discussion was based on pointers (for getting

More information

Rank-Pairing Heaps. Bernard Haeupler Siddhartha Sen Robert E. Tarjan. SIAM JOURNAL ON COMPUTING Vol. 40, No. 6 (2011), pp.

Rank-Pairing Heaps. Bernard Haeupler Siddhartha Sen Robert E. Tarjan. SIAM JOURNAL ON COMPUTING Vol. 40, No. 6 (2011), pp. Rank-Pairing Heaps Bernard Haeupler Siddhartha Sen Robert E. Tarjan Presentation by Alexander Pokluda Cheriton School of Computer Science, University of Waterloo, Canada SIAM JOURNAL ON COMPUTING Vol.

More information

COMP Data Structures

COMP Data Structures COMP 2140 - Data Structures Shahin Kamali Topic 5 - Sorting University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 55 Overview Review: Insertion Sort Merge Sort Quicksort

More information

COMP Online Algorithms. Online Bin Packing. Shahin Kamali. Lecture 20 - Nov. 16th, 2017 University of Manitoba

COMP Online Algorithms. Online Bin Packing. Shahin Kamali. Lecture 20 - Nov. 16th, 2017 University of Manitoba COMP 7720 - Online Algorithms Online Bin Packing Shahin Kamali Lecture 20 - Nov. 16th, 2017 University of Manitoba COMP 7720 - Online Algorithms Online Bin Packing 1 / 24 Review & Plan COMP 7720 - Online

More information

Secure Message Transmission with Small Public Discussion. Juan Garay (AT&T Labs Research) Clint Givens (UCLA) Rafail Ostrovsky (UCLA)

Secure Message Transmission with Small Public Discussion. Juan Garay (AT&T Labs Research) Clint Givens (UCLA) Rafail Ostrovsky (UCLA) Juan Garay (AT&T Labs Research) Clint Givens (UCLA) Rafail Ostrovsky (UCLA) SMT by Public Discussion (SMT-PD) [GO08] Sender S Receiver R message Problem: Transmit a message privately and reliably S and

More information

Hashing Based Dictionaries in Different Memory Models. Zhewei Wei

Hashing Based Dictionaries in Different Memory Models. Zhewei Wei Hashing Based Dictionaries in Different Memory Models Zhewei Wei Outline Introduction RAM model I/O model Cache-oblivious model Open questions Outline Introduction RAM model I/O model Cache-oblivious model

More information

CS369G: Algorithmic Techniques for Big Data Spring

CS369G: Algorithmic Techniques for Big Data Spring CS369G: Algorithmic Techniques for Big Data Spring 2015-2016 Lecture 11: l 0 -Sampling and Introduction to Graph Streaming Prof. Moses Charikar Scribe: Austin Benson 1 Overview We present and analyze the

More information

Randomized Algorithms Part Four

Randomized Algorithms Part Four Randomized Algorithms Part Four Announcements Problem Set Three due right now. Due Wednesday using a late day. Problem Set Four out, due next Monday, July 29. Play around with randomized algorithms! Approximate

More information

Randomized Algorithms Part Four

Randomized Algorithms Part Four Randomized Algorithms Part Four Announcements Problem Set Three due right now. Due Wednesday using a late day. Problem Set Four out, due next Monday, July 29. Play around with randomized algorithms! Approximate

More information

MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS

MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS MANUEL FERNÁNDEZ, NICHOLAS SIEGER, AND MICHAEL TAIT Abstract. In 99, Bollobás and Frieze showed that the threshold for G n,p to contain a spanning

More information

1 (15 points) LexicoSort

1 (15 points) LexicoSort CS161 Homework 2 Due: 22 April 2016, 12 noon Submit on Gradescope Handed out: 15 April 2016 Instructions: Please answer the following questions to the best of your ability. If you are asked to show your

More information

On the Cell Probe Complexity of Dynamic Membership or

On the Cell Probe Complexity of Dynamic Membership or On the Cell Probe Complexity of Dynamic Membership or Can We Batch Up Updates in External Memory? Ke Yi and Qin Zhang Hong Kong University of Science & Technology SODA 2010 Jan. 17, 2010 1-1 The power

More information

6.856 Randomized Algorithms

6.856 Randomized Algorithms 6.856 Randomized Algorithms David Karger Handout #4, September 21, 2002 Homework 1 Solutions Problem 1 MR 1.8. (a) The min-cut algorithm given in class works because at each step it is very unlikely (probability

More information

On communication complexity of classification

On communication complexity of classification On communication complexity of classification Shay Moran (Princeton) Joint with Daniel Kane (UCSD), Roi Livni (TAU), and Amir Yehudayoff (Technion) Warmup (i): convex set disjointness Alice s input: n

More information

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast

More information

SAMPLING AND THE MOMENT TECHNIQUE. By Sveta Oksen

SAMPLING AND THE MOMENT TECHNIQUE. By Sveta Oksen SAMPLING AND THE MOMENT TECHNIQUE By Sveta Oksen Overview - Vertical decomposition - Construction - Running time analysis - The bounded moments theorem - General settings - The sampling model - The exponential

More information

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo CSE 431/531: Analysis of Algorithms Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast algorithms to solve

More information

CS154. Streaming Algorithms and Communication Complexity

CS154. Streaming Algorithms and Communication Complexity CS154 Streaming Algorithms and Communication Complexity 1 Streaming Algorithms 2 Streaming Algorithms 01 42 3 L = {x x has more 1 s than 0 s} Initialize: C := 0 and B := 0 When the next symbol x is read,

More information

Lecture Summary CSC 263H. August 5, 2016

Lecture Summary CSC 263H. August 5, 2016 Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

The Streaming Complexity of Validating XML Documents

The Streaming Complexity of Validating XML Documents The Streaming Complexity of Validating XML Documents Christian Konrad christian.konrad@liafa.jussieu.fr and Frédéric Magniez frederic.magniez@liafa.jussieu.fr LIAFA University Paris Diderot - Paris 7 Paris

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree Algorithms and Theory of Computation Lecture 5: Minimum Spanning Tree Xiaohui Bei MAS 714 August 31, 2017 Nanyang Technological University MAS 714 August 31, 2017 1 / 30 Minimum Spanning Trees (MST) A

More information

Randomized algorithms have several advantages over deterministic ones. We discuss them here:

Randomized algorithms have several advantages over deterministic ones. We discuss them here: CS787: Advanced Algorithms Lecture 6: Randomized Algorithms In this lecture we introduce randomized algorithms. We will begin by motivating the use of randomized algorithms through a few examples. Then

More information

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree Algorithms and Theory of Computation Lecture 5: Minimum Spanning Tree Xiaohui Bei MAS 714 August 31, 2017 Nanyang Technological University MAS 714 August 31, 2017 1 / 30 Minimum Spanning Trees (MST) A

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information

RANGE-EFFICIENT COUNTING OF DISTINCT ELEMENTS IN A MASSIVE DATA STREAM

RANGE-EFFICIENT COUNTING OF DISTINCT ELEMENTS IN A MASSIVE DATA STREAM SIAM J. COMPUT. Vol. 37, No. 2, pp. 359 379 c 2007 Society for Industrial and Applied Mathematics RANGE-EFFICIENT COUNTING OF DISTINCT ELEMENTS IN A MASSIVE DATA STREAM A. PAVAN AND SRIKANTA TIRTHAPURA

More information

What is a minimal spanning tree (MST) and how to find one

What is a minimal spanning tree (MST) and how to find one What is a minimal spanning tree (MST) and how to find one A tree contains a root, the top node. Each node has: One parent Any number of children A spanning tree of a graph is a subgraph that contains all

More information

Online Coloring Known Graphs

Online Coloring Known Graphs Online Coloring Known Graphs Magnús M. Halldórsson Science Institute University of Iceland IS-107 Reykjavik, Iceland mmh@hi.is, www.hi.is/ mmh. Submitted: September 13, 1999; Accepted: February 24, 2000.

More information

Group Secret Key Generation Algorithms

Group Secret Key Generation Algorithms Group Secret Key Generation Algorithms Chunxuan Ye and Alex Reznik InterDigital Communications Corporation King of Prussia, PA 9406 Email: {Chunxuan.Ye, Alex.Reznik}@interdigital.com arxiv:cs/07024v [cs.it]

More information

CSci 231 Final Review

CSci 231 Final Review CSci 231 Final Review Here is a list of topics for the final. Generally you are responsible for anything discussed in class (except topics that appear italicized), and anything appearing on the homeworks.

More information

Practice Midterm Exam Solutions

Practice Midterm Exam Solutions CSE 332: Data Abstractions Autumn 2015 Practice Midterm Exam Solutions Name: Sample Solutions ID #: 1234567 TA: The Best Section: A9 INSTRUCTIONS: You have 50 minutes to complete the exam. The exam is

More information

CS2223: Algorithms Sorting Algorithms, Heap Sort, Linear-time sort, Median and Order Statistics

CS2223: Algorithms Sorting Algorithms, Heap Sort, Linear-time sort, Median and Order Statistics CS2223: Algorithms Sorting Algorithms, Heap Sort, Linear-time sort, Median and Order Statistics 1 Sorting 1.1 Problem Statement You are given a sequence of n numbers < a 1, a 2,..., a n >. You need to

More information

Algorithms Dr. Haim Levkowitz

Algorithms Dr. Haim Levkowitz 91.503 Algorithms Dr. Haim Levkowitz Fall 2007 Lecture 4 Tuesday, 25 Sep 2007 Design Patterns for Optimization Problems Greedy Algorithms 1 Greedy Algorithms 2 What is Greedy Algorithm? Similar to dynamic

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Faster and Dynamic Algorithms For Maximal End-Component Decomposition And Related Graph Problems In Probabilistic Verification

Faster and Dynamic Algorithms For Maximal End-Component Decomposition And Related Graph Problems In Probabilistic Verification Faster and Dynamic Algorithms For Maximal End-Component Decomposition And Related Graph Problems In Probabilistic Verification Krishnendu Chatterjee Monika Henzinger Abstract We present faster and dynamic

More information

Better Streaming Algorithms for the Maximum Coverage Problem

Better Streaming Algorithms for the Maximum Coverage Problem Noname manuscript No. (will be inserted by the editor) Better Streaming Algorithms for the Maximum Coverage Problem Andrew McGregor Hoa T. Vu Abstract We study the classic NP-Hard problem of finding the

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

More information

Computer Science 210 Data Structures Siena College Fall Topic Notes: Priority Queues and Heaps

Computer Science 210 Data Structures Siena College Fall Topic Notes: Priority Queues and Heaps Computer Science 0 Data Structures Siena College Fall 08 Topic Notes: Priority Queues and Heaps Heaps and Priority Queues From here, we will look at some ways that trees are used in other structures. First,

More information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

More information

Big-O-ology 1 CIS 675: Algorithms January 14, 2019

Big-O-ology 1 CIS 675: Algorithms January 14, 2019 Big-O-ology 1 CIS 675: Algorithms January 14, 2019 1. The problem Consider a carpenter who is building you an addition to your house. You would not think much of this carpenter if she or he couldn t produce

More information

Introduction to Randomized Algorithms

Introduction to Randomized Algorithms Introduction to Randomized Algorithms Gopinath Mishra Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Organization 1 Introduction 2 Some basic ideas from

More information

Security Models: Proofs, Protocols and Certification

Security Models: Proofs, Protocols and Certification Security Models: Proofs, Protocols and Certification Florent Autrau - Yassine Lakhnech - Jean-Louis Roch Master-2 Security, Cryptology and Coding of Information Systems ENSIMAG/Grenoble-INP UJF Grenoble

More information

Integer Algorithms and Data Structures

Integer Algorithms and Data Structures Integer Algorithms and Data Structures and why we should care about them Vladimír Čunát Department of Theoretical Computer Science and Mathematical Logic Doctoral Seminar 2010/11 Outline Introduction Motivation

More information

Approximation Algorithms for Wavelength Assignment

Approximation Algorithms for Wavelength Assignment Approximation Algorithms for Wavelength Assignment Vijay Kumar Atri Rudra Abstract Winkler and Zhang introduced the FIBER MINIMIZATION problem in [3]. They showed that the problem is NP-complete but left

More information

Distributed Computing over Communication Networks: Leader Election

Distributed Computing over Communication Networks: Leader Election Distributed Computing over Communication Networks: Leader Election Motivation Reasons for electing a leader? Reasons for not electing a leader? Motivation Reasons for electing a leader? Once elected, coordination

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

More information

Feature Selection for Image Retrieval and Object Recognition

Feature Selection for Image Retrieval and Object Recognition Feature Selection for Image Retrieval and Object Recognition Nuno Vasconcelos et al. Statistical Visual Computing Lab ECE, UCSD Presented by Dashan Gao Scalable Discriminant Feature Selection for Image

More information

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m

More information

arxiv: v2 [cs.ds] 2 May 2016

arxiv: v2 [cs.ds] 2 May 2016 Towards Tight Bounds for the Streaming Set Cover Problem Sariel Har-Peled Piotr Indyk Sepideh Mahabadi Ali Vakilian arxiv:1509.00118v2 [cs.ds] 2 May 2016 Abstract We consider the classic Set Cover problem

More information

Shannon capacity and related problems in Information Theory and Ramsey Theory

Shannon capacity and related problems in Information Theory and Ramsey Theory Shannon capacity and related problems in Information Theory and Ramsey Theory Eyal Lubetzky Based on Joint work with Noga Alon and Uri Stav May 2007 1 Outline of talk Shannon Capacity of of a graph: graph:

More information

CSE 3101: Introduction to the Design and Analysis of Algorithms. Office hours: Wed 4-6 pm (CSEB 3043), or by appointment.

CSE 3101: Introduction to the Design and Analysis of Algorithms. Office hours: Wed 4-6 pm (CSEB 3043), or by appointment. CSE 3101: Introduction to the Design and Analysis of Algorithms Instructor: Suprakash Datta (datta[at]cse.yorku.ca) ext 77875 Lectures: Tues, BC 215, 7 10 PM Office hours: Wed 4-6 pm (CSEB 3043), or by

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

10. EXTENDING TRACTABILITY

10. EXTENDING TRACTABILITY 0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison

More information

Privacy and Communication Complexity

Privacy and Communication Complexity Privacy and Communication Complexity The Hardness of Being Private [ACC + 12] Lila (CSC 2429 lecture 10) 0 / 16 Communication complexity The model Matrix M f has entries M f [x, y] = f (x, y). A submatrix

More information

Algorithm Theory, Winter Term 2015/16 Problem Set 5 - Sample Solution

Algorithm Theory, Winter Term 2015/16 Problem Set 5 - Sample Solution Albert-Ludwigs-Universität, Inst. für Informatik Prof. Dr. Fabian Kuhn M. Ahmadi, O. Saukh, A. R. Molla November, 20 Algorithm Theory, Winter Term 20/6 Problem Set - Sample Solution Exercise : Amortized

More information

1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is:

1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is: CS 124 Section #8 Hashing, Skip Lists 3/20/17 1 Probability Review Expectation (weighted average): the expectation of a random quantity X is: x= x P (X = x) For each value x that X can take on, we look

More information

Optimal Parallel Randomized Renaming

Optimal Parallel Randomized Renaming Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously

More information

CSE 332 Winter 2015: Midterm Exam (closed book, closed notes, no calculators)

CSE 332 Winter 2015: Midterm Exam (closed book, closed notes, no calculators) _ UWNetID: Lecture Section: A CSE 332 Winter 2015: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will give

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)

More information

How many leaves on the decision tree? There are n! leaves, because every permutation appears at least once.

How many leaves on the decision tree? There are n! leaves, because every permutation appears at least once. Chapter 8. Sorting in Linear Time Types of Sort Algorithms The only operation that may be used to gain order information about a sequence is comparison of pairs of elements. Quick Sort -- comparison-based

More information

Test 1 Review Questions with Solutions

Test 1 Review Questions with Solutions CS3510 Design & Analysis of Algorithms Section A Test 1 Review Questions with Solutions Instructor: Richard Peng Test 1 in class, Wednesday, Sep 13, 2017 Main Topics Asymptotic complexity: O, Ω, and Θ.

More information

Minimum-Cost Flow Network

Minimum-Cost Flow Network Minimum-Cost Flow Network Smoothed flow network: G = (V,E) balance values: b : V Z costs: c : E R capacities: u : E N 2 1/2 3/1-1 1/3 3/2 3/1 1 3/1 1/2-2 cost/capacity 2/ 17 Smoothed 2 1 1/2 3/1 1 1 11/3

More information

CSE 373: Data Structures and Algorithms

CSE 373: Data Structures and Algorithms CSE 373: Data Structures and Algorithms Lecture 6: Finishing Amortized Analysis; Dictionaries ADT; Introduction to Hash Tables Instructor: Lilian de Greef Quarter: Summer 2017 Today: Finish up Amortized

More information

Today s Outline. CSE 326: Data Structures Asymptotic Analysis. Analyzing Algorithms. Analyzing Algorithms: Why Bother? Hannah Takes a Break

Today s Outline. CSE 326: Data Structures Asymptotic Analysis. Analyzing Algorithms. Analyzing Algorithms: Why Bother? Hannah Takes a Break Today s Outline CSE 326: Data Structures How s the project going? Finish up stacks, queues, lists, and bears, oh my! Math review and runtime analysis Pretty pictures Asymptotic analysis Hannah Tang and

More information

MCS-375: Algorithms: Analysis and Design Handout #G2 San Skulrattanakulchai Gustavus Adolphus College Oct 21, Huffman Codes

MCS-375: Algorithms: Analysis and Design Handout #G2 San Skulrattanakulchai Gustavus Adolphus College Oct 21, Huffman Codes MCS-375: Algorithms: Analysis and Design Handout #G2 San Skulrattanakulchai Gustavus Adolphus College Oct 21, 2016 Huffman Codes CLRS: Ch 16.3 Ziv-Lempel is the most popular compression algorithm today.

More information

CPSC 311 Lecture Notes. Sorting and Order Statistics (Chapters 6-9)

CPSC 311 Lecture Notes. Sorting and Order Statistics (Chapters 6-9) CPSC 311 Lecture Notes Sorting and Order Statistics (Chapters 6-9) Acknowledgement: These notes are compiled by Nancy Amato at Texas A&M University. Parts of these course notes are based on notes from

More information

Data Structures and Algorithms Key to Homework 1

Data Structures and Algorithms Key to Homework 1 Data Structures and Algorithms Key to Homework 1 January 31, 2005 15 Define an ADT for a set of integers (remember that a set may not contain duplicates) Your ADT should consist of the functions that can

More information

Algorithms (III) Yu Yu. Shanghai Jiaotong University

Algorithms (III) Yu Yu. Shanghai Jiaotong University Algorithms (III) Yu Yu Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the assumed

More information

Efficiently decodable insertion/deletion codes for high-noise and high-rate regimes

Efficiently decodable insertion/deletion codes for high-noise and high-rate regimes Efficiently decodable insertion/deletion codes for high-noise and high-rate regimes Venkatesan Guruswami Carnegie Mellon University Pittsburgh, PA 53 Email: guruswami@cmu.edu Ray Li Carnegie Mellon University

More information

String quicksort solves this problem by processing the obtained information immediately after each symbol comparison.

String quicksort solves this problem by processing the obtained information immediately after each symbol comparison. Lcp-Comparisons General (non-string) comparison-based sorting algorithms are not optimal for sorting strings because of an imbalance between effort and result in a string comparison: it can take a lot

More information

Algorithms (III) Yijia Chen Shanghai Jiaotong University

Algorithms (III) Yijia Chen Shanghai Jiaotong University Algorithms (III) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Tracking Frequent Items Dynamically: What s Hot and What s Not To appear in PODS 2003

Tracking Frequent Items Dynamically: What s Hot and What s Not To appear in PODS 2003 Tracking Frequent Items Dynamically: What s Hot and What s Not To appear in PODS 2003 Graham Cormode graham@dimacs.rutgers.edu dimacs.rutgers.edu/~graham S. Muthukrishnan muthu@cs.rutgers.edu Everyday

More information

Multi-Objective Combinatorial Optimization: The Traveling Salesman Problem and Variants

Multi-Objective Combinatorial Optimization: The Traveling Salesman Problem and Variants Multi-Objective Combinatorial Optimization: The Traveling Salesman Problem and Variants C. Glaßer 1 C. Reitwießner 1 H. Schmitz 2 M. Witek 1 1 University of Würzburg, Germany 2 Trier University of Applied

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Copyright Cengage Learning. All rights reserved. SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All rights reserved.

More information

COMP3121/3821/9101/ s1 Assignment 1

COMP3121/3821/9101/ s1 Assignment 1 Sample solutions to assignment 1 1. (a) Describe an O(n log n) algorithm (in the sense of the worst case performance) that, given an array S of n integers and another integer x, determines whether or not

More information

CHENNAI MATHEMATICAL INSTITUTE M.Sc. / Ph.D. Programme in Computer Science

CHENNAI MATHEMATICAL INSTITUTE M.Sc. / Ph.D. Programme in Computer Science CHENNAI MATHEMATICAL INSTITUTE M.Sc. / Ph.D. Programme in Computer Science Entrance Examination, 5 May 23 This question paper has 4 printed sides. Part A has questions of 3 marks each. Part B has 7 questions

More information

Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes

Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes Ke Yi HKUST 1-1 First Annual SIGMOD Programming Contest (to be held at SIGMOD 2009) Student teams from degree granting

More information

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

arxiv: v1 [cs.ds] 1 May 2015

arxiv: v1 [cs.ds] 1 May 2015 Strictly Implicit Priority Queues: On the Number of Moves and Worst-Case Time Gerth Stølting Brodal, Jesper Sindahl Nielsen, and Jakob Truelsen arxiv:1505.00147v1 [cs.ds] 1 May 2015 MADALGO, Department

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

Lecture 7: Primitive Recursion is Turing Computable. Michael Beeson

Lecture 7: Primitive Recursion is Turing Computable. Michael Beeson Lecture 7: Primitive Recursion is Turing Computable Michael Beeson Closure under composition Let f and g be Turing computable. Let h(x) = f(g(x)). Then h is Turing computable. Similarly if h(x) = f(g 1

More information

Sketching Probabilistic Data Streams

Sketching Probabilistic Data Streams Sketching Probabilistic Data Streams Graham Cormode AT&T Labs - Research graham@research.att.com Minos Garofalakis Yahoo! Research minos@acm.org Challenge of Uncertain Data Many applications generate data

More information

8.1. Optimal Binary Search Trees:

8.1. Optimal Binary Search Trees: DATA STRUCTERS WITH C 10CS35 UNIT 8 : EFFICIENT BINARY SEARCH TREES 8.1. Optimal Binary Search Trees: An optimal binary search tree is a binary search tree for which the nodes are arranged on levels such

More information

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 1 Dynamic Programming 1 Introduction An algorithm design paradigm like divide-and-conquer Programming : A tabular method (not writing computer code) Divide-and-Conquer (DAC):

More information

CSE 421 Greedy: Huffman Codes

CSE 421 Greedy: Huffman Codes CSE 421 Greedy: Huffman Codes Yin Tat Lee 1 Compression Example 100k file, 6 letter alphabet: File Size: ASCII, 8 bits/char: 800kbits 2 3 > 6; 3 bits/char: 300kbits a 45% b 13% c 12% d 16% e 9% f 5% Why?

More information

(67686) Mathematical Foundations of AI July 30, Lecture 11

(67686) Mathematical Foundations of AI July 30, Lecture 11 (67686) Mathematical Foundations of AI July 30, 2008 Lecturer: Ariel D. Procaccia Lecture 11 Scribe: Michael Zuckerman and Na ama Zohary 1 Cooperative Games N = {1,...,n} is the set of players (agents).

More information