n <- 10000
alpha <- 2
beta <- 3
x <- runif(n)
p <- function(x) dunif(x)
q <- function(x) dbeta(x,alpha,beta)
w <- q(x)/p(x)
pi <- w/sum(w)
samp <- sample(x,size=n,prob=pi,replace=T)
print(mean(samp))
print(var(samp))
theta <- 0.1
le <- (1-theta)*n
lo <- 1:(n-le)
hi <- (le+1):n
y <- sort(samp)
r <- y[hi]-y[lo]
rm <- min(r)
lom <- min(lo[r==rm])
him <- min(hi[r==rm])
dd <- function(x) dbeta(x,alpha,beta)
plot(dd,xlim=c(0,1),ylim=c(0,2))
par(new=T)
plot(density(samp),xlim=c(0,1),ylim=c(0,2),
main="",xlab="",ylab="")
abline(v=y[lom])
abline(v=y[him])
print(y[lom])
print(y[him])