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];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
int s,sx;
for(s=1;s<1001;s++){
t[s]=(int)(20*Math.random())+1;
r[s]=(int)(10*Math.random())+1;
point[s]=(int)(100*Math.random())+1;
}
number_group=3;
for(s=1;s<11;s++){
for(sx=1;sx<4;sx++){
p[s][sx]=Math.random();
}
}
for(s=1;s<11;s++){
double p1=0;
for(sx=1;sx<4;sx++){
p1=p1+p[s][sx];
}
for(sx=1;sx<4;sx++){
p[s][sx]=p[s][sx]/p1;
}
}
number_credit=4;
for(s=1;s<21;s++){
for(sx=1;sx<5;sx++){
q[s][sx]=Math.random();
}
}
for(s=1;s<21;s++){
double p1=0;
for(sx=1;sx<4;sx++){
p1=p1+q[s][sx];
}
for(sx=1;sx<5;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();
}
}
int tr;
for(tr=1;tr<11;tr++){
int[] subx=new int[1000];
int subnumber;
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;
for(g1=1;g1<number_group+1;g1++){
double py=1;
for(s=1;s<subnumber+1;s++){
sx=subx[s];
int s1=t[sx];
double px=0;
for(n=1;n<number_credit+1;n++){
double p4=q[s1][n]*f(point[sx],mu[g1][n],sig[g1][n]);
px=px+p4;
}
py=py*px;
}
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;
System.out.println(tr+","+g1+","+ps[tr][g1]);
}
}
}
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日 16:15