public void randomInit(){
  do {
    m_bits=new boolean[m_nNodes * m_nNodes];
    for (int i=0; i < m_nNodes; i++) {
      int iPos;
      do {
        iPos=m_random.nextInt(m_nNodes * m_nNodes);
      }
 while (isSquare(iPos));
      m_bits[iPos]=true;
    }
  }
 while (hasCycles());
  calcScore();
}

public void randomInit ( ) { do { m_bits = new boolean [ m_nNodes * m_nNodes ] ; for ( int i = 0 ; i < m_nNodes ; i ++ ) { int iPos ; do { iPos = m_random . nextInt ( m_nNodes * m_nNodes ) ; } while ( isSquare ( iPos ) ) ; m_bits [ iPos ] = true ; } } while ( hasCycles ( ) ) ; calcScore ( ) ; }
initialize with a random structure by randomly placing m_nnodes arcs .
