public void randomize(){
  int nProbs=m_fProbs[0].length;
  Random random=new Random();
  for (int i=0; i < m_fProbs.length; i++) {
    for (int j=0; j < nProbs - 1; j++) {
      m_fProbs[i][j]=random.nextDouble();
    }
    for (int j=0; j < nProbs - 1; j++) {
      for (int k=j + 1; k < nProbs - 1; k++) {
        if (m_fProbs[i][j] > m_fProbs[i][k]) {
          double h=m_fProbs[i][j];
          m_fProbs[i][j]=m_fProbs[i][k];
          m_fProbs[i][k]=h;
        }
      }
    }
    double sum=m_fProbs[i][0];
    for (int j=1; j < nProbs - 1; j++) {
      m_fProbs[i][j]=m_fProbs[i][j] - sum;
      sum+=m_fProbs[i][j];
    }
    m_fProbs[i][nProbs - 1]=1.0 - sum;
  }
}

public void randomize ( ) { int nProbs = m_fProbs [ 0 ] . length ; Random random = new Random ( ) ; for ( int i = 0 ; i < m_fProbs . length ; i ++ ) { for ( int j = 0 ; j < nProbs - 1 ; j ++ ) { m_fProbs [ i ] [ j ] = random . nextDouble ( ) ; } for ( int j = 0 ; j < nProbs - 1 ; j ++ ) { for ( int k = j + 1 ; k < nProbs - 1 ; k ++ ) { if ( m_fProbs [ i ] [ j ] > m_fProbs [ i ] [ k ] ) { double h = m_fProbs [ i ] [ j ] ; m_fProbs [ i ] [ j ] = m_fProbs [ i ] [ k ] ; m_fProbs [ i ] [ k ] = h ; } } } double sum = m_fProbs [ i ] [ 0 ] ; for ( int j = 1 ; j < nProbs - 1 ; j ++ ) { m_fProbs [ i ] [ j ] = m_fProbs [ i ] [ j ] - sum ; sum += m_fProbs [ i ] [ j ] ; } m_fProbs [ i ] [ nProbs - 1 ] = 1.0 - sum ; } }
method that generates random cpts
