Grading Notes: Mark guidelines mistakes as $-1$ point. Questions pre-answered are freebies.


1. Simple Probability (4 Points)

The probability of an event or sample is written as $P(A)$, where $A$ is the event or sample. Answer the following problems symbolically and simplified. Each problem is worth 1 point.

  1. If we observe an event, what is the probability that the event is $A$ or $B$ assuming that $A$ and $B$ are mutually exclusive?

  2. If we observe a sample, what is the probability of observing $A$ or $B$ if they are the only two possible samples?

  3. What is the probability of observing samples or events $A$ and $B$ if they are independent?

  4. Question 1.2 and question 1.3 were ambiguous about the number of observations. Specifically how many observations occur in each question?


1.1 $P(A) + P(B)$

1.2 $P(A) + P(B)$ = 1

1.3 $P(A)P(B)$

1.4 1.2 is one observation, 1.3 is two sequential observations.

2. Die Probability (6 Points)

You are rolling a die with 6 sides. Event $A$ is that you roll an odd number. Event $B$ is that you roll a $2$. Event $C$ is all other events (i.e., 4 and 6). Answer these problems using python code. Make sure your numbers contain decimals (write 1.0 instead of 1) so python knows you want to have decimals. Each problem is worth 1 point.

  1. What is the probability of event $A$?
  2. If you roll once, what is the probability of rolling event $A$ or $C$?
  3. If you roll event $B$, on your next roll what is the probability of event $A$?
  4. What is the probability of rolling event $A$ followed by event $B$?
  5. What is the probability of rolling event $A$ and event $B$ in the course of two rolls?
  6. Why are your answers different for questions 2.4 and 2.5? Answer this in words using Markdown or Python.

2.1


In [4]:
print 3.0 / 6.0


0.5

2.2


In [5]:
print 3.0/6.0 + 2.0/6.0


0.833333333333

2.3


In [6]:
print 3.0 / 6.0


0.5

2.4


In [8]:
print (3.0 / 6.0) * (1.0 / 6.0)


0.0833333333333

2.5


In [9]:
print 2 * (3.0 / 6.0) * (1.0 / 6.0)


0.166666666667

2.6

Question 2.4 is a specific permutation, where as 2.5 asks for the probability of that combination, allowing for both possible permutations (answer is acceptable in either markdown or python code)

3. Sample Spaces (7 Points)

Answers these problems symbolically

Each problem is worth 1 point

  1. What is the size of the sample space for two dice?
  2. What is the sample space for classical thermodynamic temperature in Kelvin?
  3. What is the sample space for a cryptography key consisting of 16 bits (binary digits). If I double the number bits to 32, how much does the sample space size increase?
  4. If you're trying to discover a 16 bit cryptography key and you made one incorrect guess, what is the size of the sample space of keys left to guess? Assume you don't guess the same key twice.
  5. If you make 2 guesses in a row, what is the size of the sample space of those guesses. Assume you don't guess the same key twice. Hint: this is very similar to question 3.1.
  6. What is the sample space for 6 hydrogen and 2 oxygen indistinguishable atoms reacting assuming no radicals are formed? List the samples. One example is 3H$_2 + 1$O$_2$.
  7. What is the sample space of paths between the letters in the diagram below, assuming each letter can only occur in a path once. Sort the paths first alphabetically and then by length. For example the first few paths are:
  • AC
  • ACB
  • ACD

In [2]:
from IPython.display import Image
Image(url='data:image/png;base64,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')


Out[2]:

3.1 $6\times 6=36$

3.2 $(0,\infty)$

3.3 $[0,2^{16}-1]$ (Mark it wrong if $2^{16}$ but don't remove points). Sample size is squared. (Mark wrong if they give actual increase (~4 billion?) and note it must be answered symbolically. Don't remove points)

3.4 $2^{16} - 1$

3.5 $\left(2^{16}\right)\times\left(2^{16}-1\right)$

3.6 The first three below are required. Mark any other hydronium/hydroxyl ones as incorrect and note they do not conserve electrons but do not remove points. Other compounds should be marked as wrong, epecially hydronium/hydroxyl without charges.

  1. 3H$_2 + 1$O$_2$
  2. 2H$_2$O + 1H$_2$
  3. H$_2$O$_2$ + 2H$_2$
  4. H$_3$O$^+$ + OH$^-$ + H$_2$

3.7

  1. AC
  2. ACB
  3. ACD
  4. ACBD
  5. BD
  6. BDA
  7. BDC
  8. BDAC
  9. CB
  10. CD
  11. CBD
  12. CDA
  13. CBDA
  14. DA
  15. DC
  16. DAC
  17. DCB
  18. DACB

4. Combinations (27 Points)

Answer these problems symbolically. If you make any assumptions, state them.

If all samples are equally likely in a sample space, the probability of an event is the number of ways an event may occur ($n$) divided by the size of the sample space ($Q$). Referring the pevious problem (III), answer the following questions. Brackets indicate point values.

  1. [1] What is the probability of rolling a 4 from the sample space of question 3.1?
  2. [1] What is the probability of rolling a 7?
  3. [2] If I make one attempt to guess a 16 bit crpytographic key, what is the probability I found it?
  4. [2] After guessing once, if I guess again what is the probability I correctly guessed the key? Assume we do not repeat guesses.
  5. [3] What is the probability of guessing the key in exactly 2 guesses?
  6. [3] What is the probability of guessing the key in exactly $m$ guesses? We'll call this $P_e(m)$ Hint: It should not depend on $m$
  7. [3] What is the probability of guessing the key in 2 or less guesses?
  8. [3] $P(m)$ is the probability of guessing the key in $m$ or less guesses. If $P(m)$ is known, what is $P(m+1)$? Write your answer as an equation in terms of $P(m)$. Hint: $P(m+1)$ means guessing after $m$ or less OR guessing exactly on the $m+1$ attempt.
  9. [2] Use your formula above to write out $P(1)$ through $P(4)$. Based on inspection, what is $P(m)$? Hint: Make sure $P(2^{16}) = 1$, since you should guess the key correctly after guessing wrong $2^{16} - 1$ times.
  10. [2] How many guesses are required to have $P(m) > 0.5$ probability of correctly guessing the key?
  11. [1] How many guesses are requied to have $P(m) > 0.5$ if the key size is doubled to 32 bits?
  12. [2] Assuming that diatomic oxygen and diatomic hydrogen are the only gas molecule, what is the probability of forming 2 gas molecules in Question 3.4?
  13. [2] If all paths are equally likely in Question 3.5, what is the probability of starting in A and ending in D?

4.1 $n=3$, $Q=36$, $P(4)=1/12$


4.2 $n=6$, $Q=36$, $P(7)=1/6$


4.3 $n=1$, $Q=2^{16}$

$$P=\frac{1}{2^{16}}$$

4.4 $n=1$, $Q=2^{16} - 1$

$$P = \frac{1}{2^{16}-1}$$

4.5 This means guessing the key correctly on the second guess AND incorrectly on the first guess, which combines the previous two problems. Note we can combine the two results because we're using an AND.

$$P= \frac{2^{16} - 1}{2^{16}} \times \frac{1}{2^{16}-1} = \frac{1}{2^{16}}$$

4.6 This canceling of terms happens after $m$ guesses as well:

$$P_e(m)=\underbrace{ \frac{2^{16}-1}{2^{16}} \times \frac{2^{16}-2}{2^{16}-1} \times \ldots \times \frac{2^{16}-m}{2^{16}-(m-1)} }_{\textrm{Incorrect Guesses}} \times \underbrace{ \frac{1}{2^{16}-m} }_{\textrm{Correct Guess}}= \frac{1}{2^{16}}$$

4.7

$$\frac{1}{2^{16}} + \frac{2^{16} - 1}{2^{16}} \times \frac{1}{2^{16}-1} = \frac{2}{2^{16}}$$

4.8

$$P(m+1)= P(m) + P_e(m+1)$$

4.9

  1. $P(1) = 2^{-16}$
  2. $P(2) = 2^{-16} + 2^{-16} = 2\times 2^{-16}$
  3. $P(3) = 2\times2^{-16} + 2^{-16} = 3\times 2^{-16}$
  4. $P(4) = 3\times2^{-16} + 2^{-16} = 4\times 2^{-16}$
$$P(m) = \frac{m}{2^{16}}$$

4.10

$2^{15} + 1$. Mark $2^{15}$ as wrong, but do not remove points.

4.11

$2^{31} + 1$. Mark $2^{31}$ as wrong, again do not remove points.

4.12 $n=1$, $Q=4$, $P=1/4$

4.13 $n=2$, $Q=18$, $P=1/9$


In [ ]: