Name : Mst Nigar Sultana

n = 5        # Number of coin flips
p = 0.5      # Probability of heads
i_vals = 0:5 # Possible values for number of heads (0 to 5)

theoretical_prob = dbinom(i_vals, size = n, prob = p)

set.seed(123)  # Set seed for reproducibility
n_trials = 1000  # Number of trials

results = replicate(n_trials, sum(sample(c(0, 1), n, replace = TRUE)))

outcomes <- table(factor(results, levels = 0:5))

# Empirical probabilities (frequency / total trials)
empirical_prob = outcomes / n_trials

# Comparison between theoretical and empirical probabilities
comparison = data.frame(
  Heads = i_vals,
  Theoretical = theoretical_prob,
  Empirical = as.numeric(empirical_prob)
)

print(comparison)

library(ggplot2)

comparison = data.frame(
  Heads = factor(i_vals),  # Treat Heads as a categorical variable
  Theoretical = theoretical_prob,
  Empirical = as.numeric(empirical_prob)
)
# Reshape data for easy plotting with ggplot
comparison_melted <- reshape2::melt(comparison, id.vars = "Heads")

ggplot(comparison_melted, aes(x = Heads, y = value, fill = variable)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Comparison of Theoretical and Empirical Probabilities",
       x = "Number of Heads",
       y = "Probability") +
  scale_fill_manual(values = c("Theoretical" = "#9999CC", "Empirical" = "#66CC99"),
                    name = "Type",
                    labels = c("Theoretical", "Empirical")) +
  theme_minimal()

LS0tDQp0aXRsZTogIlNUQVQgNTEwNCBIVzEiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KIyBOYW1lIDogTXN0IE5pZ2FyIFN1bHRhbmENCg0KDQpgYGB7cn0NCm4gPSA1ICAgICAgICAjIE51bWJlciBvZiBjb2luIGZsaXBzDQpwID0gMC41ICAgICAgIyBQcm9iYWJpbGl0eSBvZiBoZWFkcw0KaV92YWxzID0gMDo1ICMgUG9zc2libGUgdmFsdWVzIGZvciBudW1iZXIgb2YgaGVhZHMgKDAgdG8gNSkNCg0KdGhlb3JldGljYWxfcHJvYiA9IGRiaW5vbShpX3ZhbHMsIHNpemUgPSBuLCBwcm9iID0gcCkNCg0Kc2V0LnNlZWQoMTIzKSAgIyBTZXQgc2VlZCBmb3IgcmVwcm9kdWNpYmlsaXR5DQpuX3RyaWFscyA9IDEwMDAgICMgTnVtYmVyIG9mIHRyaWFscw0KDQpyZXN1bHRzID0gcmVwbGljYXRlKG5fdHJpYWxzLCBzdW0oc2FtcGxlKGMoMCwgMSksIG4sIHJlcGxhY2UgPSBUUlVFKSkpDQoNCm91dGNvbWVzIDwtIHRhYmxlKGZhY3RvcihyZXN1bHRzLCBsZXZlbHMgPSAwOjUpKQ0KDQojIEVtcGlyaWNhbCBwcm9iYWJpbGl0aWVzIChmcmVxdWVuY3kgLyB0b3RhbCB0cmlhbHMpDQplbXBpcmljYWxfcHJvYiA9IG91dGNvbWVzIC8gbl90cmlhbHMNCg0KIyBDb21wYXJpc29uIGJldHdlZW4gdGhlb3JldGljYWwgYW5kIGVtcGlyaWNhbCBwcm9iYWJpbGl0aWVzDQpjb21wYXJpc29uID0gZGF0YS5mcmFtZSgNCiAgSGVhZHMgPSBpX3ZhbHMsDQogIFRoZW9yZXRpY2FsID0gdGhlb3JldGljYWxfcHJvYiwNCiAgRW1waXJpY2FsID0gYXMubnVtZXJpYyhlbXBpcmljYWxfcHJvYikNCikNCg0KcHJpbnQoY29tcGFyaXNvbikNCg0KbGlicmFyeShnZ3Bsb3QyKQ0KDQpjb21wYXJpc29uID0gZGF0YS5mcmFtZSgNCiAgSGVhZHMgPSBmYWN0b3IoaV92YWxzKSwgICMgVHJlYXQgSGVhZHMgYXMgYSBjYXRlZ29yaWNhbCB2YXJpYWJsZQ0KICBUaGVvcmV0aWNhbCA9IHRoZW9yZXRpY2FsX3Byb2IsDQogIEVtcGlyaWNhbCA9IGFzLm51bWVyaWMoZW1waXJpY2FsX3Byb2IpDQopDQojIFJlc2hhcGUgZGF0YSBmb3IgZWFzeSBwbG90dGluZyB3aXRoIGdncGxvdA0KY29tcGFyaXNvbl9tZWx0ZWQgPC0gcmVzaGFwZTI6Om1lbHQoY29tcGFyaXNvbiwgaWQudmFycyA9ICJIZWFkcyIpDQoNCmdncGxvdChjb21wYXJpc29uX21lbHRlZCwgYWVzKHggPSBIZWFkcywgeSA9IHZhbHVlLCBmaWxsID0gdmFyaWFibGUpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiLCBwb3NpdGlvbiA9ICJkb2RnZSIpICsNCiAgbGFicyh0aXRsZSA9ICJDb21wYXJpc29uIG9mIFRoZW9yZXRpY2FsIGFuZCBFbXBpcmljYWwgUHJvYmFiaWxpdGllcyIsDQogICAgICAgeCA9ICJOdW1iZXIgb2YgSGVhZHMiLA0KICAgICAgIHkgPSAiUHJvYmFiaWxpdHkiKSArDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoIlRoZW9yZXRpY2FsIiA9ICIjOTk5OUNDIiwgIkVtcGlyaWNhbCIgPSAiIzY2Q0M5OSIpLA0KICAgICAgICAgICAgICAgICAgICBuYW1lID0gIlR5cGUiLA0KICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJUaGVvcmV0aWNhbCIsICJFbXBpcmljYWwiKSkgKw0KICB0aGVtZV9taW5pbWFsKCkNCg0KYGBgDQoNCg==