Compare commits
4 Commits
199cd8709e
...
b9074076d2
Author | SHA1 | Date | |
---|---|---|---|
b9074076d2 | |||
73d45c38f6 | |||
273e503d3f | |||
5ef7d7b960 |
@ -29,8 +29,8 @@
|
|||||||
) = {
|
) = {
|
||||||
set page(
|
set page(
|
||||||
margin: 20mm,
|
margin: 20mm,
|
||||||
width: 8.5in,
|
width: 8in,
|
||||||
height: 11in,
|
height: 11.5in,
|
||||||
footer: align(
|
footer: align(
|
||||||
center,
|
center,
|
||||||
context counter(page).display(),
|
context counter(page).display(),
|
||||||
@ -38,28 +38,30 @@
|
|||||||
footer-descent: 5mm,
|
footer-descent: 5mm,
|
||||||
)
|
)
|
||||||
|
|
||||||
//
|
|
||||||
// Text style
|
|
||||||
set text(font: "New Computer Modern")
|
|
||||||
set par(
|
|
||||||
leading: 0.55em,
|
|
||||||
first-line-indent: 0mm,
|
|
||||||
justify: true,
|
|
||||||
spacing: 0.5em,
|
|
||||||
)
|
|
||||||
|
|
||||||
//
|
set par(leading: 0.55em, first-line-indent: 0mm, justify: true)
|
||||||
// List style
|
set text(font: "New Computer Modern")
|
||||||
|
set par(spacing: 0.5em)
|
||||||
show list: set block(spacing: 0.5em, below: 1em)
|
show list: set block(spacing: 0.5em, below: 1em)
|
||||||
|
set heading(numbering: (..nums) => nums.pos().at(0))
|
||||||
|
|
||||||
|
show ref: it => {
|
||||||
|
import "object.typ": ref_obj
|
||||||
|
|
||||||
|
// Custom impl for object references
|
||||||
|
let x = ref_obj(it)
|
||||||
|
if (x != none) { return x }
|
||||||
|
|
||||||
|
// Use default `ref` implementation otherwise
|
||||||
|
return it
|
||||||
|
}
|
||||||
|
|
||||||
set list(
|
set list(
|
||||||
tight: false,
|
tight: false,
|
||||||
indent: 5mm,
|
indent: 5mm,
|
||||||
spacing: 3mm,
|
spacing: 3mm,
|
||||||
)
|
)
|
||||||
|
|
||||||
//
|
|
||||||
// Heading style
|
|
||||||
set heading(numbering: (..nums) => nums.pos().at(0))
|
|
||||||
show heading.where(level: 1): it => {
|
show heading.where(level: 1): it => {
|
||||||
set align(center)
|
set align(center)
|
||||||
set text(weight: "bold")
|
set text(weight: "bold")
|
||||||
@ -68,18 +70,6 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Hack for custom references
|
|
||||||
show ref: it => {
|
|
||||||
import "object.typ": ref_obj
|
|
||||||
|
|
||||||
let x = ref_obj(it) // Custom impl for object references
|
|
||||||
if (x != none) { return x }
|
|
||||||
|
|
||||||
return it // Use default `ref` implementation otherwise
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Begin content
|
// Begin content
|
||||||
//
|
//
|
||||||
|
@ -1,76 +0,0 @@
|
|||||||
#import "@local/handout:0.1.0": *
|
|
||||||
|
|
||||||
#show: handout.with(
|
|
||||||
title: [Somewhat Random Numbers],
|
|
||||||
by: "Mark",
|
|
||||||
subtitle: "Based on a handout by Bryant Mathews",
|
|
||||||
)
|
|
||||||
|
|
||||||
#problem()
|
|
||||||
Alice generates 100 random numbers uniformly from $[0,1]$. \
|
|
||||||
Bob generates 101 random numbers from $[0, 1]$, but deletes the lowest result.
|
|
||||||
|
|
||||||
#v(2mm)
|
|
||||||
|
|
||||||
Say we have both of the resulting arrays, but do not know who generated each one. \
|
|
||||||
We would like to guess which of the two was generated by Bob. \
|
|
||||||
What is the optimal strategy, and what is its probability of guessing correctly?
|
|
||||||
|
|
||||||
|
|
||||||
#solution([
|
|
||||||
Looking at the mean seems like a good idea, but there's a better way: \
|
|
||||||
Assign the array with the smaller _minimum_ to Alice.
|
|
||||||
|
|
||||||
#v(3mm)
|
|
||||||
|
|
||||||
To compute the probability, generate 201 numbers. \
|
|
||||||
Assign the first 100 to Alice and the rest to Bob. \
|
|
||||||
Look at the lowest two numbers (of these 201, *before* Bob drops his lowest).
|
|
||||||
|
|
||||||
#v(8mm)
|
|
||||||
|
|
||||||
We'll use the following notation: \
|
|
||||||
`AB` means the lowest was owned by Alice, and the second-lowest, by Bob.
|
|
||||||
|
|
||||||
#v(2mm)
|
|
||||||
|
|
||||||
Probabilities are as follows: \
|
|
||||||
- `AA`: $100\/201 times 99\/200 approx 0.246$
|
|
||||||
- `AB`: $100\/201 times 101\/200 approx 0.251$
|
|
||||||
- `BA`: $101\/201 times 100\/200 approx 0.251$ // spell:disable-line
|
|
||||||
- `BB`: $101\/201 times 100\/200 approx 0.251$
|
|
||||||
|
|
||||||
#v(4mm)
|
|
||||||
Now, Bob drops his lowest number. \
|
|
||||||
We'll cross out the number he drops and box the new lowest number (i.e, the one we observe):
|
|
||||||
- #{
|
|
||||||
(
|
|
||||||
box(`A`, stroke: ored, inset: 1pt)
|
|
||||||
+ box(`A`, inset: 1pt)
|
|
||||||
+ box([: $approx 0.246$], inset: (top: 1pt, bottom: 1pt))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
- #{
|
|
||||||
(
|
|
||||||
box(`A`, stroke: ored, inset: 1pt)
|
|
||||||
+ box(strike(`B`), inset: 1pt)
|
|
||||||
+ box([: $approx 0.251$], inset: (top: 1pt, bottom: 1pt))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
- #{
|
|
||||||
(
|
|
||||||
box(strike(`B`), inset: 1pt)
|
|
||||||
+ box(`A`, stroke: ored, inset: 1pt)
|
|
||||||
+ box([: $approx 0.251$], inset: (top: 1pt, bottom: 1pt))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
- #{
|
|
||||||
(
|
|
||||||
box(strike(`B`), inset: 1pt)
|
|
||||||
+ box(`B`, stroke: ored, inset: 1pt)
|
|
||||||
+ box([: $approx 0.251$], inset: (top: 1pt, bottom: 1pt))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
#v(8mm)
|
|
||||||
Alice has the smallest number in 3 of 4 cases, which have a total probability of $approx 0.749$.
|
|
||||||
])
|
|
@ -1,6 +0,0 @@
|
|||||||
[metadata]
|
|
||||||
title = "Somewhat Random Numbers"
|
|
||||||
|
|
||||||
[publish]
|
|
||||||
handout = true
|
|
||||||
solutions = true
|
|
Loading…
x
Reference in New Issue
Block a user