# ΜΣΜ70, 5η Εργασία
# Κώστας Κούδας
# Η παρακάτω συνάρτηση προσομοιώνει τις αφήξεις οχημάτων στη διάρκεια μιας ώρας.
# Καταμετράει το πλήθος των κενών διαστημάτων διάρκειας μικρότερης των 20s
traffic <- function(){
N <- 0
arrival_time <- rexp(1, rate = 1/15)
S <- arrival_time
while (S <= 3600) {
if (arrival_time < 20){
N <- N+1
}
arrival_time <- rexp(1, rate = 1/15)
S <- S+arrival_time
}
return(N)
}
# Εδώ καθορίζουμε τον αριθμό των προσομοιώσεων που θέλουμε να εκτελέσουμε
experiments <- 100000
# Σε αυτό το σημείο φτιάχνουμε μια λίστα που να περιέχει
# το πλήθος των κενών διαστημάτων διάρκειας μικρότερης των 20s
# για κάθε μία προσομοίωση που εκτελέσαμε
arrivals <- c(traffic())
for (j in 1:experiments) {
arrivals <- c(arrivals,traffic())
}
# Εδώ βρίσκουμε τη μέση τιμή από τα παραπάνω πλήθη.
mean(arrivals)
# Εδώ φτιάχνουμε ένα ιστόγραμμα με τη γραμμή της μέσης τιμής.
hist(arrivals)
abline(v = mean(arrivals),
col = "red",
lwd = 3)
# Εδώ φτιάχνουμε ένα θηκόγραμμα
boxplot(arrivals)