アットウィキロゴ

mcmc

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