NO 1
#NO 1
G <- function(s, lambda=1.5) {
exp(lambda * (s - 1))
}
lambda <- 1.5
q_before <- 0
toleransi <- 1e-8
jumlah_iterasi <- 0
repeat {
q_after <- G(q_before)
jumlah_iterasi <- jumlah_iterasi + 1
if (abs(q_after - q_before) < toleransi) {
break
}
q_before <- q_after
}
cat("Probabilitas kepunahan (extinction probability):", q_after, "\n")
## Probabilitas kepunahan (extinction probability): 0.4171883
cat("Jumlah iterasi hingga konvergen:", jumlah_iterasi, "\n")
## Jumlah iterasi hingga konvergen: 35
NO 2
simulasi <- function(max_gen = 10) {
populasi <- 1
for (gen in 1:max_gen) {
anak <- sum(sample(0:4, populasi, replace = TRUE))
if (anak == 0) {
return(gen)
}
populasi <- anak
}
return(NA)
}
set.seed(432)
n_simulasi <- 10000
hasil_simulasi <- replicate(n_simulasi, simulasi(max_gen = 3))
jumlah_punah <- sum(!is.na(hasil_simulasi))
peluang_punah_3 <- jumlah_punah / n_simulasi
cat("Estimasi peluang punah ≤ generasi ke-3:", peluang_punah_3, "\n")
## Estimasi peluang punah ≤ generasi ke-3: 0.2582
hasil_simulasi_10 <- replicate(n_simulasi, simulasi(max_gen = 10))
jumlah_punah_10 <- sum(!is.na(hasil_simulasi_10))
peluang_kepunahan <- jumlah_punah_10 / n_simulasi
cat("Estimasi peluang kepunahan sampai generasi ke-10:", peluang_kepunahan, "\n")
## Estimasi peluang kepunahan sampai generasi ke-10: 0.2809