アットウィキロゴ

321

package ken;
 
public class pro {
 
int[] t=new int[9000];
int[] r=new int[9000];  
int[] point=new int[9000];
 
double[][] p=new double[20][11];
    double[][] mu=new double[11][11];
    double[][] sig=new double[11][11];
    double[][] q=new double[50][11];
    int number_group;
    int number_credit;
    int numberx;
   double[][] ps=new double[20][11];
   int number,number_r,number_t;
 
 
    public static void main(String[] args) {
       pro t=new pro();
    }
    pro(){
 
        number=1000;
        number_t=10;
        number_r=10;
        int s,sx;
 for(s=1;s<number+1;s++){
 t[s]=(int)(10*Math.random())+1;    
 r[s]=(int)(10*Math.random())+1; 
 point[s]=(int)(100*Math.random())+1;
 }
 
number_group=3;
 
 for(s=1;s<number_r+1;s++){
for(sx=1;sx<4;sx++){
p[s][sx]=Math.random();
 }
 }       
 
 for(s=1;s<number_r+1;s++){
double p1=0;
for(sx=1;sx<number_group+1;sx++){
p1=p1+p[s][sx];
 }
for(sx=1;sx<number_group+1;sx++){
p[s][sx]=p[s][sx]/p1; 
}
}    
 
number_credit=4;
 
 
 for(s=1;s<number_t+1;s++){
for(sx=1;sx<number_credit+1;sx++){
q[s][sx]=Math.random();
 }
 }       
 
 for(s=1;s<number_t+1;s++){
double p1=0;
for(sx=1;sx<number_credit+1;sx++){
p1=p1+q[s][sx];
 }
for(sx=1;sx<number_credit+1;sx++){
q[s][sx]=q[s][sx]/p1; 
}
}    
 
 
for(s=1;s<number_group+1;s++){
for(sx=1;sx<number_credit+1;sx++){
mu[s][sx]=50+10*Math.random();
sig[s][sx]=10+3*Math.random();
}
}
 
 
nobu sub=new nobu();
sub.point=point;
sub.mu=mu;
sub.sig=sig;
sub.p=p;
sub.q=q;
 
 
 
 
 
 
 
 
 
    }
 
 
 
 
 
}
 
 
 
 
 
package ken;
 
 
public class nobu {
int[] t=new int[9000];
int[] r=new int[9000];  
int[] point=new int[9000];
 
double[][] p=new double[20][11];
    double[][] mu=new double[11][11];
    double[][] sig=new double[11][11];
    double[][] q=new double[50][11];
    int number_group;
    int number_credit;
    int numberx;
   double[][] ps=new double[11][11];
 
void makedata(){
 
    int tr;
 
for(tr=1;tr<11;tr++){    
 
int[] subx=new int[1000];
int subnumber;
int sx,s;
sx=0;
for(s=1;s<1001;s++){
if(r[s]==tr)sx=sx+1;
if(r[s]==tr)subx[sx]=s;
}
 
subnumber=sx;
int n;
int g1,c1;
for(g1=1;g1<number_group+1;g1++){
double py=1;
for(s=1;s<subnumber+1;s++){
sx=subx[s];
int t1=t[sx];
double sump=0;
for(c1=1;c1<number_credit+1;c1++){
double p4=q[t1][c1]*f(point[sx],mu[g1][c1],sig[g1][c1]);    
sump=sump+p4;
}
py=py*sump;
}
ps[tr][g1]=py;
}
 
 
double p7=0;
for(g1=1;g1<number_group+1;g1++){
p7=p7+ps[tr][g1];
}
 
for(g1=1;g1<number_group+1;g1++){
ps[tr][g1]=ps[tr][g1]/p7;
}
 
 
 
 
} 
 
 
 
}
 
    double f(double x1,double mux,double sigx){
double pi,f1,f2;
 
        pi=Math.PI;
 
        f2=Math.sqrt(2*pi*sigx*sigx);
        f1=-(x1-mux)*(x1-mux)/(2*sigx*sigx);
 
        return Math.exp(f1)/f2;
}  
}
 
 
package ken;
 
 
 
public class hide {
 
    int[] t=new int[9000];
int[] r=new int[9000];  
int[] point=new int[9000];
 
double[][] p=new double[20][11];
    double[][] mu=new double[11][11];
    double[][] sig=new double[11][11];
    double[][] q=new double[50][11];
    int number_group;
    int number_credit;
    int numberx;
   double[][] ps=new double[11][11];
     double[] pon=new double[1001];
  double[][] mus=new double[11][11];
    double[][] sigs=new double[11][11];
 
     void maedata(){
 
    int s,g1,c1;
  for(g1=1;g1<number_group+1;g1++){     
  for(c1=1;c1<number_credit+1;c1++){     
 
    for(s=1;s<1001;s++){
        int t1=t[s];    
        int r1=r[s]; 
  double p1=p[r1][g1];      
  double q1=q[t1][c1];       
  pon[s]=p1*q1;
  }
double a1=0; 
 double a2=0; 
for(s=1;s<1001;s++){
  a1=a1+pon[s]*point[s];
   a2=a2+pon[s];
  }
mus[g1][c1]=a1/a2;    
a1=0;
a2=0;
for(s=1;s<1001;s++){
  a1=a1+pon[s]*(point[s]-mus[g1][c1])*(point[s]-mus[g1][c1]);
  a2=a2+pon[s];
  }
sigs[g1][c1]=Math.sqrt(a1/a2);
 
 
 
 
  }}
 
 
 
 
 
 
}
 
 
 
}
 
 
package ken;
class toku{
 
int[] t=new int[9000];
int[] r=new int[9000];  
int[] point=new int[9000];
 
double[][] p=new double[20][11];
    double[][] mu=new double[11][11];
    double[][] sig=new double[11][11];
    double[][] q=new double[50][11];
    int number_group;
    int number_credit;
    int numberx;
   double[][] qs=new double[11][11];
 
void makedata(){
 
    int tr;
 
for(tr=1;tr<11;tr++){    
 
int[] subx=new int[1000];
int subnumber;
int sx,s;
sx=0;
for(s=1;s<1001;s++){
if(t[s]==tr)sx=sx+1;
if(t[s]==tr)subx[sx]=s;
}
 
subnumber=sx;
int n;
int g1,c1;
for(c1=1;c1<number_credit+1;c1++){
double py=1;
for(s=1;s<subnumber+1;s++){
sx=subx[s];
int r1=r[sx];
double sump=0;
for(g1=1;g1<number_group+1;g1++){
double p4=p[r1][g1]*f(point[sx],mu[g1][c1],sig[g1][c1]);    
sump=sump+p4;
}
py=py*sump;
}
qs[tr][c1]=py;
}
 
 
double p7=0;
for(c1=1;c1<number_credit+1;c1++){
p7=p7+qs[tr][c1];
}
 
for(c1=1;c1<number_credit+1;c1++){
qs[tr][c1]=qs[tr][c1]/p7;
}
 
 
 
 
} 
 
 
 
}
 
    double f(double x1,double mux,double sigx){
double pi,f1,f2;
 
        pi=Math.PI;
 
        f2=Math.sqrt(2*pi*sigx*sigx);
        f1=-(x1-mux)*(x1-mux)/(2*sigx*sigx);
 
        return Math.exp(f1)/f2;
}  
}
 
最終更新:2016年08月15日 18:38