library("extraDistr")
exact_probability <- function(n, p, x) {
dbinom(x, size = n, prob = p)
}
chebyshev_probability <- function(deviation, std_deviation) {
1 / (deviation^2)
}
main <- function() {
n <- 100
p <- 0.5
expected_heads <- n * p
std_deviation <- sqrt(n * p * (1 - p))
deviation <- 15
exact_prob <- exact_probability(n, p, expected_heads + deviation)
chebyshev_prob <- chebyshev_probability(deviation, std_deviation)
cat("Exact Probability:", exact_prob, "\n")
cat("Chebyshev's Probability Bound:", chebyshev_prob, "\n")
}
main()
## Exact Probability: 0.0008638557
## Chebyshev's Probability Bound: 0.004444444