アットウィキロゴ

lda9

package lda;
 
 
 
public class pro {
int[][] v=new int[7][7];
double[][] th=new double[3][7];
double[][] paper=new double[7][3];
double[][] ps=new double[7][3];
 
    public static void main(String[] args) {
        pro y=new pro();
    }
 
    pro(){
 
v[1][1]=1;
v[1][2]=1;
v[2][2]=1;
v[2][3]=1;
v[3][1]=1;
v[3][3]=1;
v[4][4]=1;
v[4][5]=1;
v[5][5]=1;
v[5][6]=1;
v[6][4]=1;
v[6][6]=1;
 
int s,sx;
 
for(s=1;s<3;s++){
for(sx=1;sx<7;sx++){
th[s][sx]=Math.random();    
}    
}
 
for(s=1;s<7;s++){
paper[s][1]=Math.random();        
paper[s][2]=1-paper[s][1];
}  
 
 
int k;
for(k=1;k<11;k++){
 
for(s=1;s<7;s++){
double p1=paper[s][1];
for(sx=1;sx<7;sx++){
if(v[s][sx]==0)p1=p1*0.01;  
if(v[s][sx]==1)p1=p1*th[1][sx];    
}
ps[s][1]=p1;
}    
 
for(s=1;s<7;s++){
double p1=paper[s][2];
for(sx=1;sx<7;sx++){
if(v[s][sx]==0)p1=p1*0.01;  
if(v[s][sx]==1)p1=p1*th[2][sx];    
}
ps[s][2]=p1;
}    
 
for(s=1;s<7;s++){
double p1=ps[s][1]+ps[s][2];
paper[s][1]=ps[s][1]/p1;
paper[s][2]=1-paper[s][1];
}
 
int s1,s2;
 
double[] q=new double[3];
 
int tr;
 
for(tr=1;tr<3;tr++){
q[tr]=0;
for(s=1;s<7;s++){
q[tr]=q[tr]+paper[s][tr];    
}
q[tr]=q[tr]/6;
}
 
 
 
double[] w=new double[7];
 
 
for(tr=1;tr<7;tr++){
w[tr]=0;
for(s=1;s<7;s++){
if(v[s][tr]==1)w[tr]=w[tr]+1;    
}
w[tr]=w[tr]/6;
}
int tx;
 
double[][] delta=new double[7][3];
 
for(s=1;s<7;s++){
for(sx=1;sx<3;sx++){
 
double m1=0;    
double m2=0;    
for(tx=1;tx<7;tx++){
if(v[tx][s]==1)m1=m1+1;    
if(v[tx][s]==1)m2=m2+paper[tx][sx];  
}    
delta[s][sx]=m2/m1; 
}        
}
 
 
for(s=1;s<3;s++){
for(sx=1;sx<7;sx++){
th[s][sx]=delta[sx][s]*w[sx]/q[s];    
}    
}
 
}
 
 
for(s=1;s<7;s++){
System.out.println(s+","+paper[s][1]);
    }
 
for(s=1;s<7;s++){
System.out.println(th[1][s]);
    }
 
 
 }
 
 
 
}
 
最終更新:2016年05月12日 12:09