code in python (A) please Solve the so-called "Birthday Problem". Write a program that takes an integer ?N and uses the function np.random.randint (low = 0, high = N) from numpy to generate a random sequence of integers between 00 and ?−1N−1. Run experiments to validate the hypothesis that the number of integers generated until the first repeated value is approximately ?∗?2⎯⎯⎯⎯⎯⎯⎯√π∗N2. a) Write a function birthday(N) that returns the number of values generated until a value is repeated as a function of the range of possible values ?N (from 00 to ?−1N−1); b) Write a function birthday_sim(N) that repeats birthday(N) a total of n_sim = 20000 times and returns the average of all the numbers generated; c) Show on one plot that as ?N increases (with a doubl
code in python
(A) please
Solve the so-called "Birthday Problem". Write a program that takes an integer ?N and uses the function np.random.randint (low = 0, high = N) from numpy to generate a random sequence of integers between 00 and ?−1N−1. Run experiments to validate the hypothesis that the number of integers generated until the first repeated value is approximately ?∗?2⎯⎯⎯⎯⎯⎯⎯√π∗N2.
a) Write a function birthday(N) that returns the number of values generated until a value is repeated as a function of the range of possible values ?N (from 00 to ?−1N−1);
b) Write a function birthday_sim(N) that repeats birthday(N) a total of n_sim = 20000 times and returns the average of all the numbers generated;
c) Show on one plot that as ?N increases (with a doubling experiment), from ?=2N=2 to ?=1000N=1000, the value of birthday_sim(N) approaches ?∗?2⎯⎯⎯⎯⎯⎯⎯√π∗N2.
Step by step
Solved in 2 steps with 2 images