private void initializeClusters() { if (m_uniqueInitSamplesList.size() == 0) { throw new RuntimeException(); } for (int i = 0; i < m_numClusters; i++) { int randomIndex = (int) Math.floor(m_uniqueInitSamplesList.size() * Math.random()); m_clusters[i] = initSmoothClusterRandomly((IntTouple) m_uniqueInitSamplesList.get(randomIndex)); m_uniqueInitSamplesList.remove(randomIndex); } m_state = state_updating; for (int i = 0; i < m_initCounter; i++) { addSample(m_initSamples[i]); } }