CS 574: Randomized Algorithms Lecture 1. Introduction to Randomness - - PowerPoint PPT Presentation

cs 574 randomized algorithms
SMART_READER_LITE
LIVE PREVIEW

CS 574: Randomized Algorithms Lecture 1. Introduction to Randomness - - PowerPoint PPT Presentation

Administrativia and Syllabus Why Randomness? Randomness in Computer Science CS 574: Randomized Algorithms Lecture 1. Introduction to Randomness August 25, 2015 Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms


slide-1
SLIDE 1

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

CS 574: Randomized Algorithms

Lecture 1. Introduction to Randomness August 25, 2015

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-2
SLIDE 2

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Administrativia

Lecture is 12:30-13:45 in room 1105 SC.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-3
SLIDE 3

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Administrativia

Lecture is 12:30-13:45 in room 1105 SC. Instructor: Alexandra Kolla (akolla), 3222 SC. Office hours by appointment.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-4
SLIDE 4

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Administrativia

Lecture is 12:30-13:45 in room 1105 SC. Instructor: Alexandra Kolla (akolla), 3222 SC. Office hours by appointment. TA: Konstantinos Koiliaris (koiliar2), 3217 SC. Office hours TBD.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-5
SLIDE 5

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Administrativia

Lecture is 12:30-13:45 in room 1105 SC. Instructor: Alexandra Kolla (akolla), 3222 SC. Office hours by appointment. TA: Konstantinos Koiliaris (koiliar2), 3217 SC. Office hours TBD. Class webpage: https://courses.engr.illinois.edu/cs574/fa2015/

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-6
SLIDE 6

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

CS 374 (Advanced undergraduate algorithms) or equivalent.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-7
SLIDE 7

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

CS 374 (Advanced undergraduate algorithms) or equivalent. Math 461/Stat 400 (Probability theory and statistics) or equivalent.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-8
SLIDE 8

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

CS 374 (Advanced undergraduate algorithms) or equivalent. Math 461/Stat 400 (Probability theory and statistics) or equivalent. For example, if you have never heard what is a probability distribution, expectation, variance, Bernoulli distribution, Binomial distribution, Gaussian distribution, Union Bound (as a small sample) then probably taking the class won’t be a good idea for you.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-9
SLIDE 9

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

CS 374 (Advanced undergraduate algorithms) or equivalent. Math 461/Stat 400 (Probability theory and statistics) or equivalent. For example, if you have never heard what is a probability distribution, expectation, variance, Bernoulli distribution, Binomial distribution, Gaussian distribution, Union Bound (as a small sample) then probably taking the class won’t be a good idea for you. Talk to the instructor at the end of class today if you think you don’t meet the requirements.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-10
SLIDE 10

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

CS 374 (Advanced undergraduate algorithms) or equivalent. Math 461/Stat 400 (Probability theory and statistics) or equivalent. For example, if you have never heard what is a probability distribution, expectation, variance, Bernoulli distribution, Binomial distribution, Gaussian distribution, Union Bound (as a small sample) then probably taking the class won’t be a good idea for you. Talk to the instructor at the end of class today if you think you don’t meet the requirements. By the end of second week of classes (September 8), you must have filled all possible prerequisite gaps. You will be tested on (some of) those skills in the first homework.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-11
SLIDE 11

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

CS 374 (Advanced undergraduate algorithms) or equivalent. Math 461/Stat 400 (Probability theory and statistics) or equivalent. For example, if you have never heard what is a probability distribution, expectation, variance, Bernoulli distribution, Binomial distribution, Gaussian distribution, Union Bound (as a small sample) then probably taking the class won’t be a good idea for you. Talk to the instructor at the end of class today if you think you don’t meet the requirements. By the end of second week of classes (September 8), you must have filled all possible prerequisite gaps. You will be tested on (some of) those skills in the first homework.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-12
SLIDE 12

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

Grades are 70% homeworks (3-4 total) and 30% final exam (take-home).

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-13
SLIDE 13

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

Grades are 70% homeworks (3-4 total) and 30% final exam (take-home). New homework will be assigned by the end of a conceptual topics cycle (on average every 3 weeks). You will have one week to complete each homework. You can work in groups of two or three for the homeworks (and submit one copy jointly) but not for the exam.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-14
SLIDE 14

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Prerequisites/Grading

Grades are 70% homeworks (3-4 total) and 30% final exam (take-home). New homework will be assigned by the end of a conceptual topics cycle (on average every 3 weeks). You will have one week to complete each homework. You can work in groups of two or three for the homeworks (and submit one copy jointly) but not for the exam.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-15
SLIDE 15

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Tentative Syllabus

Weeks 1-6, Discrete Probability: First and Second Moment method, coupon collector problem, Probabilistic Method, Chernoff Bound and applications, Martingales and Azuma. Lovasz Local Lemma, Method of Conditional Probabilities (perhaps if time). 2 homework assignments corresponding to those topics.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-16
SLIDE 16

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Tentative Syllabus

Weeks 7-9, High-dimensional probability: Bourgain’s embedding, Curse of Dimensionality, Dimension Reduction, Matrix Concentration (Golden-Thompson, Bernstein), Random Graph eigenvalues via matrix concentration, Spectral Graph Sparsification via Sampling. 1 homework assignment.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-17
SLIDE 17

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Tentative Syllabus

Weeks 10-12, Random Walk topics: Random Walks: hitting times, cover times etc, Markov Chains and Mixing, Eigenvalues, Expanders and Mixing. 1 homework assignment.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-18
SLIDE 18

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Remaining time, Special Topics: Including but not limited to Lifts and expansion, Algorithms for Stochastic Block Models, Random Graph Spectra.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-19
SLIDE 19

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Class Format

Class slides will be provided for some lectures (but not all) but they are meant to give only the lecture skeleton. Most of the material will be covered on the board, so please take notes.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-20
SLIDE 20

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Class Format

Class slides will be provided for some lectures (but not all) but they are meant to give only the lecture skeleton. Most of the material will be covered on the board, so please take notes. I will post the sildes (if applicable) and supplementary reading material for each lecture on the webpage.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-21
SLIDE 21

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Class Format

Class slides will be provided for some lectures (but not all) but they are meant to give only the lecture skeleton. Most of the material will be covered on the board, so please take notes. I will post the sildes (if applicable) and supplementary reading material for each lecture on the webpage. There is no fixed textbook, but most of the material we will cover can be found in “ Probability and Computing: Randomized Algorithms and Probabilistic Analysis” by Mitzenmacher and Upfal.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-22
SLIDE 22

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Class Format

Class slides will be provided for some lectures (but not all) but they are meant to give only the lecture skeleton. Most of the material will be covered on the board, so please take notes. I will post the sildes (if applicable) and supplementary reading material for each lecture on the webpage. There is no fixed textbook, but most of the material we will cover can be found in “ Probability and Computing: Randomized Algorithms and Probabilistic Analysis” by Mitzenmacher and Upfal. We will have class assignments in almost every class, where you will work in groups and solve a question relevant to the lecture topic. Those will NOT contribute to the grade, it is just for a comprehensive exercise.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-23
SLIDE 23

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Why Randomness?

Nature is random (quantum physics)!

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-24
SLIDE 24

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Why Randomness?

Nature is random (quantum physics)! Flip a coin 1000 times, comes out heads about 500 ± 35 times.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-25
SLIDE 25

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Why Randomness?

Nature is random (quantum physics)! Flip a coin 1000 times, comes out heads about 500 ± 35 times. For n coin tosses, about n/2 ± √n. Converges to 1/2 quickly.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-26
SLIDE 26

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Why Randomness?

Nature is random (quantum physics)! Flip a coin 1000 times, comes out heads about 500 ± 35 times. For n coin tosses, about n/2 ± √n. Converges to 1/2 quickly. Random Cooking works well: Randomly cook one side of the

  • nion each time. Expect half the time on each side.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-27
SLIDE 27

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Why Randomness?

Nature is random (quantum physics)! Flip a coin 1000 times, comes out heads about 500 ± 35 times. For n coin tosses, about n/2 ± √n. Converges to 1/2 quickly. Random Cooking works well: Randomly cook one side of the

  • nion each time. Expect half the time on each side.

Polling for elections. Huge population. Sample size independent of population.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-28
SLIDE 28

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Why Randomness?

Nature is random (quantum physics)! Flip a coin 1000 times, comes out heads about 500 ± 35 times. For n coin tosses, about n/2 ± √n. Converges to 1/2 quickly. Random Cooking works well: Randomly cook one side of the

  • nion each time. Expect half the time on each side.

Polling for elections. Huge population. Sample size independent of population. Final exams: large size of material, choose problems independently.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-29
SLIDE 29

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Randomness in Computer Science

Random algorithms make random choices during their execution.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-30
SLIDE 30

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Randomness in Computer Science

Random algorithms make random choices during their execution. Can be much faster than deterministic counterparts.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-31
SLIDE 31

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Randomness in Computer Science

Random algorithms make random choices during their execution. Can be much faster than deterministic counterparts. Simpler and easier to program.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-32
SLIDE 32

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Randomness in Computer Science

Random algorithms make random choices during their execution. Can be much faster than deterministic counterparts. Simpler and easier to program. Uses in cryptography (eg. primality testing), NP-hard problems, average case complexity...

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-33
SLIDE 33

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Randomness in Computer Science

Random algorithms make random choices during their execution. Can be much faster than deterministic counterparts. Simpler and easier to program. Uses in cryptography (eg. primality testing), NP-hard problems, average case complexity... They come with a price (running time, error).

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-34
SLIDE 34

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Randomness in Computer Science

Random algorithms make random choices during their execution. Can be much faster than deterministic counterparts. Simpler and easier to program. Uses in cryptography (eg. primality testing), NP-hard problems, average case complexity... They come with a price (running time, error). This class: analyze running time, complexity, techniques...

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-35
SLIDE 35

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-36
SLIDE 36

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

He wants to check if he has the same file as Alice, but

  • bviously they don’t want to send back another 4 GB file.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-37
SLIDE 37

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

He wants to check if he has the same file as Alice, but

  • bviously they don’t want to send back another 4 GB file.

The solution is hashing!

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-38
SLIDE 38

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

He wants to check if he has the same file as Alice, but

  • bviously they don’t want to send back another 4 GB file.

The solution is hashing! For two n-bit strings A and B, Alice picks random prime number p ∈ {2, 3, · · · , T} (where T t.b.d later) and sends Bob the hash Hp(A) = A mod p.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-39
SLIDE 39

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

He wants to check if he has the same file as Alice, but

  • bviously they don’t want to send back another 4 GB file.

The solution is hashing! For two n-bit strings A and B, Alice picks random prime number p ∈ {2, 3, · · · , T} (where T t.b.d later) and sends Bob the hash Hp(A) = A mod p. Bob accepts that they have the same string if Hp(B) = Hp(A). Length of message is log T bits.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-40
SLIDE 40

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

He wants to check if he has the same file as Alice, but

  • bviously they don’t want to send back another 4 GB file.

The solution is hashing! For two n-bit strings A and B, Alice picks random prime number p ∈ {2, 3, · · · , T} (where T t.b.d later) and sends Bob the hash Hp(A) = A mod p. Bob accepts that they have the same string if Hp(B) = Hp(A). Length of message is log T bits. Otherwise, Bob REJECTS and is really annoyed cause a main character is dead and doesn’t even know it!

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-41
SLIDE 41

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

A little probability of error goes a long way

Suppose Bob just spent hours downloading the season finale

  • f Game of Thrones (approx 4GB file) from Alice’s database.

He wants to check if he has the same file as Alice, but

  • bviously they don’t want to send back another 4 GB file.

The solution is hashing! For two n-bit strings A and B, Alice picks random prime number p ∈ {2, 3, · · · , T} (where T t.b.d later) and sends Bob the hash Hp(A) = A mod p. Bob accepts that they have the same string if Hp(B) = Hp(A). Length of message is log T bits. Otherwise, Bob REJECTS and is really annoyed cause a main character is dead and doesn’t even know it! One-sided error.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-42
SLIDE 42

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Probabillity Technique: Counting

We hope that if A = B then Bob almost always rejects!

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-43
SLIDE 43

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Probabillity Technique: Counting

We hope that if A = B then Bob almost always rejects! Claim If A = B then Pr[Hp(A) = Hp(B)] ≤ 1.26n ln T T ln n

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-44
SLIDE 44

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Probabillity Technique: Counting

We hope that if A = B then Bob almost always rejects! Claim If A = B then Pr[Hp(A) = Hp(B)] ≤ 1.26n ln T T ln n Example: setting T = n2, we get an O(log n) bit message with error probability O(1/n).

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-45
SLIDE 45

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Probabillity Technique: Counting

We hope that if A = B then Bob almost always rejects! Claim If A = B then Pr[Hp(A) = Hp(B)] ≤ 1.26n ln T T ln n Example: setting T = n2, we get an O(log n) bit message with error probability O(1/n). How to choose a uniformly random prime?

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-46
SLIDE 46

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Probabillity Technique: Counting

We hope that if A = B then Bob almost always rejects! Claim If A = B then Pr[Hp(A) = Hp(B)] ≤ 1.26n ln T T ln n Example: setting T = n2, we get an O(log n) bit message with error probability O(1/n). How to choose a uniformly random prime? Use randomized primality testing algorithm (Miller-Rabin)!

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-47
SLIDE 47

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Pattern Matching

Given two strings X = x1x2 · · · xn and Y = y1y2 · · · ym, with m < n we want to check whether Y = X(j) for some j ∈ {1, · · · , n − m + 1}. Here X(j) = xjxj+1 · · · xj+m−1.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-48
SLIDE 48

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Pattern Matching

Given two strings X = x1x2 · · · xn and Y = y1y2 · · · ym, with m < n we want to check whether Y = X(j) for some j ∈ {1, · · · , n − m + 1}. Here X(j) = xjxj+1 · · · xj+m−1. Naive algorithm too slow, there are O(n + m) deterministic algorithms but we will see a simple random one (Karp-Rabin).

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-49
SLIDE 49

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Karp-Rabin Algorithm

Choose a prime p ∈ {1, 3, · · · , T} at random.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-50
SLIDE 50

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Karp-Rabin Algorithm

Choose a prime p ∈ {1, 3, · · · , T} at random. Compute Hp(Y ) = Y mod p

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-51
SLIDE 51

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Karp-Rabin Algorithm

Choose a prime p ∈ {1, 3, · · · , T} at random. Compute Hp(Y ) = Y mod p For j = 1, · · · , n − m + 1 compute Hp(X(j)) and check if Hp(X(j)) = Hp(Y ). If yes, output “matched at position j”

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-52
SLIDE 52

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Karp-Rabin Algorithm

Choose a prime p ∈ {1, 3, · · · , T} at random. Compute Hp(Y ) = Y mod p For j = 1, · · · , n − m + 1 compute Hp(X(j)) and check if Hp(X(j)) = Hp(Y ). If yes, output “matched at position j” Output “no match”.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-53
SLIDE 53

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Karp-Rabin Algorithm

Choose a prime p ∈ {1, 3, · · · , T} at random. Compute Hp(Y ) = Y mod p For j = 1, · · · , n − m + 1 compute Hp(X(j)) and check if Hp(X(j)) = Hp(Y ). If yes, output “matched at position j” Output “no match”. One sided error again, can be converted to zero error if it checks the match.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-54
SLIDE 54

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

Karp-Rabin Algorithm

Choose a prime p ∈ {1, 3, · · · , T} at random. Compute Hp(Y ) = Y mod p For j = 1, · · · , n − m + 1 compute Hp(X(j)) and check if Hp(X(j)) = Hp(Y ). If yes, output “matched at position j” Output “no match”. One sided error again, can be converted to zero error if it checks the match. Still O(nm) running time. Can we do something more clever?

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-55
SLIDE 55

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-56
SLIDE 56

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking. Given n × n real matrices A, B, C we want to check if A = BC.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-57
SLIDE 57

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking. Given n × n real matrices A, B, C we want to check if A = BC. Expensive to multiply matrices.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-58
SLIDE 58

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking. Given n × n real matrices A, B, C we want to check if A = BC. Expensive to multiply matrices. Choose a random vector instead v ∈ {−1, 1}n and check if Av = (BC)v.

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-59
SLIDE 59

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking. Given n × n real matrices A, B, C we want to check if A = BC. Expensive to multiply matrices. Choose a random vector instead v ∈ {−1, 1}n and check if Av = (BC)v. Claim If A = BC then Pr[Av = BCv] ≤ 1/2

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-60
SLIDE 60

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking. Given n × n real matrices A, B, C we want to check if A = BC. Expensive to multiply matrices. Choose a random vector instead v ∈ {−1, 1}n and check if Av = (BC)v. Claim If A = BC then Pr[Av = BCv] ≤ 1/2 Principle of deferred decisions

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms

slide-61
SLIDE 61

Administrativia and Syllabus Why Randomness? Randomness in Computer Science

When the Answer is Everywhere

Consider a task known as program checking. Given n × n real matrices A, B, C we want to check if A = BC. Expensive to multiply matrices. Choose a random vector instead v ∈ {−1, 1}n and check if Av = (BC)v. Claim If A = BC then Pr[Av = BCv] ≤ 1/2 Principle of deferred decisions Probability Technique: Error Amplification. Can choose k independent vectors...

Lecture 1. Introduction to Randomness CS 574: Randomized Algorithms