#----------------------------------------
# esempio delle 6 scatole (esteso ad n)
#
# GdA, 4/3/2011
#----------------------------------------

np = 5     # nr di palline
ns = np +1 # nr di scatole

prior.unif  <- rep(1/ns, ns)              # prior uniforme
prior.binom <- dbinom(c(0:np), np, 1/2)   # prior binomiale

# usiamo uniforme
p.h <- prior.unif

# likelihoods:
likW <- c(0:np)/np
likB <- 1 - likW

#----------- prima di cominciare le estrazioni:
p.h              # prob composizioni
sum(likW * p.h)  # prob bianca

#----------- prima estrazione: Nera
p.h <- likB * p.h / sum(likB * p.h)   # teorema di Bayes
p.h              # prob composizioni
sum(likW * p.h)  # prob bianca

#----------- seconda estrazione: Nera
p.h <- likB * p.h / sum(likB * p.h)   # teorema di Bayes
p.h              # prob composizioni
sum(likW * p.h)  # prob bianca

#----------- terza estrazione: Bianca
p.h <- likW * p.h / sum(likW * p.h)   # teorema di Bayes
p.h              # prob composizioni
sum(likW * p.h)  # prob bianca

# etc. etc.

#------- esempio di plot ------

plot(c(0:np), p.h, ty='h')


#------- per continuare .......
# - provare a riscrivere mediante opportune funzioni
# - provare a vedere cosa succede quando np e' grande, ad es 100
# - cosa si impara facendo cambiando la scala dell'ascissa nel plot?
plot(c(0:np)/np, p.h, ty='h')
