Discrete distribution. Write a program DiscreteDistribution.java that takes an integer command-line argument m, followed by a sequence of positive integer command-line arguments A1, a2, . .., An, and prints m random indices (separated by whitespace), choosing each index i with probability proportional to a¡.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter13: Overloading And Templates
Section: Chapter Questions
Problem 20PE
icon
Related questions
Question
H
10:07
••.
o Define the cumulative sums
Si
= a1 + a2+...+ ai and
So = 0.
Pick a random integer r uniformly
between 0 and Sn – 1.
-
o Find the unique index i between 1
and n such that S;-1 <r < S;.
Geometrically, this subdivides the
interval [0, Sn) into n subintervals
[S;-1, S;), with the length of
subinterval i proportional to a¡. For
example, if the discrete distribution
is defined by
(а1, а2, аз, а4, аs , а6) — (10, 10, 10, 10, 1
then the cumulative sums are
(S1, S2, S3, S4, S5, S6) = (10, 20, 30, 40,
and the following diagram
illustrates the 6 subintervals:
Pick a random integer r between 0 and S, - 1.
1 if 0sr< 10
4 if 30 sr< 40
6 if 50 sr< 100
10
20
30
40
50
100
So
S2
S3
Ss
S6
In probability theory, this is known
as sampling from a discrete
distribution.
Transcribed Image Text:H 10:07 ••. o Define the cumulative sums Si = a1 + a2+...+ ai and So = 0. Pick a random integer r uniformly between 0 and Sn – 1. - o Find the unique index i between 1 and n such that S;-1 <r < S;. Geometrically, this subdivides the interval [0, Sn) into n subintervals [S;-1, S;), with the length of subinterval i proportional to a¡. For example, if the discrete distribution is defined by (а1, а2, аз, а4, аs , а6) — (10, 10, 10, 10, 1 then the cumulative sums are (S1, S2, S3, S4, S5, S6) = (10, 20, 30, 40, and the following diagram illustrates the 6 subintervals: Pick a random integer r between 0 and S, - 1. 1 if 0sr< 10 4 if 30 sr< 40 6 if 50 sr< 100 10 20 30 40 50 100 So S2 S3 Ss S6 In probability theory, this is known as sampling from a discrete distribution.
(€)
10:06
••.
1. Discrete distribution. Write a
program DiscreteDistribution.java
that takes an integer command-line
argument m, followed by a
sequence of positive integer
command-line arguments
a1, a2,..
random indices (separated by
whitespace), choosing each index i
with probability proportional to a¡.
An, and prints m
9 •• •
-/Desktop/arrays> java DiscreteDistribution 25 1 1 1 111
5 2 4 4 5 5 4 3 4 3 1 5 2 4 2 6 1 3 6 2 3 2 4 1 4
~ /Desktop/arrays> java DiscreteDistribution 25 10 10 10 10 10 50
3 6 6 16 6 2 4 6 6 3 6 6 6 6 4 5 6 2 2 66 2 6 2
-/Desktop/arrays> java DiscreteDistribution 25 80 20
1 2 1 2 1 1 2 1 1 1 1 1 1 11 2 2 2 1 111111
~/Desktop/arrays> java DiscreteDistribution 100 301 176 125 97 79 67 58 51 46
6 2 4 3 2 3 3 1 7 1 1 3 47 1 4 2 2 1 1 3 1 8 6 2
1 3 6 185 1 3 6 1 1 2 3 8 7 4 6 4 3 1 5 3 3 7 3
1 3 177 2 2 3 6 5 4 1 1 1 7 2 3 5 2 2 1 4 1 2 1
2 1 2 2 3 2 8 4 3 2 1 8 3 5 3 3 8 1 2 3 3 1 2 3 1
To generate a random index i with
probability proportional to a;:
o Define the cumulative sums
S; =
a1 + a2 +...+ a; and
0.
So
Pick a random integer r uniformly
between 0 and Sn – 1.
o Find the unique index i between 1
and n such that S;-1 < r < S¿.
-
Geometrically, this subdivides the
interval [0, Sn) into n subintervals
[S;-1, S;), with the length of
subinterval i proportional to aj. For
example, if the discrete distribution
is defined hy.
Transcribed Image Text:(€) 10:06 ••. 1. Discrete distribution. Write a program DiscreteDistribution.java that takes an integer command-line argument m, followed by a sequence of positive integer command-line arguments a1, a2,.. random indices (separated by whitespace), choosing each index i with probability proportional to a¡. An, and prints m 9 •• • -/Desktop/arrays> java DiscreteDistribution 25 1 1 1 111 5 2 4 4 5 5 4 3 4 3 1 5 2 4 2 6 1 3 6 2 3 2 4 1 4 ~ /Desktop/arrays> java DiscreteDistribution 25 10 10 10 10 10 50 3 6 6 16 6 2 4 6 6 3 6 6 6 6 4 5 6 2 2 66 2 6 2 -/Desktop/arrays> java DiscreteDistribution 25 80 20 1 2 1 2 1 1 2 1 1 1 1 1 1 11 2 2 2 1 111111 ~/Desktop/arrays> java DiscreteDistribution 100 301 176 125 97 79 67 58 51 46 6 2 4 3 2 3 3 1 7 1 1 3 47 1 4 2 2 1 1 3 1 8 6 2 1 3 6 185 1 3 6 1 1 2 3 8 7 4 6 4 3 1 5 3 3 7 3 1 3 177 2 2 3 6 5 4 1 1 1 7 2 3 5 2 2 1 4 1 2 1 2 1 2 2 3 2 8 4 3 2 1 8 3 5 3 3 8 1 2 3 3 1 2 3 1 To generate a random index i with probability proportional to a;: o Define the cumulative sums S; = a1 + a2 +...+ a; and 0. So Pick a random integer r uniformly between 0 and Sn – 1. o Find the unique index i between 1 and n such that S;-1 < r < S¿. - Geometrically, this subdivides the interval [0, Sn) into n subintervals [S;-1, S;), with the length of subinterval i proportional to aj. For example, if the discrete distribution is defined hy.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning