package mcmc;
public class pro {
int[] x=new int[101];
int s,n,sx;
int[] count=new int[11];
int y;
public static void main(String[] args) {
pro test=new pro();
}
pro(){
for(s=1;s<101;s++){
n=trial();
x[s]=n;
}
for(s=1;s<11;s++){
count[s]=0;
}
for(s=1;s<101;s++){
sx=x[s];
count[sx]=count[sx]+1;
}
int page;
for(page=1;page<1000;page++){
y=trial();
int t,r1;
double minv,e1;
minv=9999;
r1=0;
for(t=1;t<101;t++){
e1=replacev(t,y);
if(e1<minv)r1=t;
if(e1<minv)minv=e1;
}
x[r1]=y;
for(s=1;s<11;s++){
count[s]=0;
}
for(s=1;s<101;s++){
sx=x[s];
count[sx]=count[sx]+1;
}
System.out.println(sumx());
}
}
double replacev(int t,int y){
int s;
for(s=1;s<11;s++){
count[s]=0;
}
for(s=1;s<101;s++){
sx=x[s];
if(s==t)sx=y;
count[sx]=count[sx]+1;
}
double e1=sumx();
return e1;
}
double sumx(){
double e1;
e1=0;
for(s=1;s<11;s++){
e1=e1+(count[s]-10)*(count[s]-10);
}
return e1;
}
int trial(){
int n;
n=(int)(10*Math.random())+1;
return n;
}
}
最終更新:2014年04月01日 11:09