私はパリのコンピューティング・サイエンスの学生です。今年の数学では、問題を解決するためにK平均アルゴリズムを使用する必要があります(セルフサービス自転車ステーションの再補給に適用されるクラスター容量車両ルーティング問題)。ここに私のアルゴリズムです:K-Meansアルゴリズムの結果をグラフィカルにシミュレートする方法は?
public void run() {
boolean hasConverged = false;
List<Integer> nearestClusters = null;
//A list used to check if the nearestClusters list has evolved
//If it isn't the case, the algorithm is finish
List<Integer> previousList = new ArrayList<Integer>();
//Random initialization of the clusters' centroids
for (int i = 0; i < clustersNumber; ++i) {
clusters.add(ClusterGenerator.Generate(stationsList,colorList.get(i) ,latMin, latMax, lngMin, lngMax));
}
while (!hasConverged) {
if (nearestClusters != null) {
previousList.clear();
previousList.addAll(nearestClusters);
}
nearestClusters= new ArrayList<Integer>();
//Each point is connected to it nearest cluster
for (int j = 0; j < stationsList.size(); ++j) {
nearestClusters.add(getIndexOfTheNearestCluster(stationsList.get(j)));
}
//We move the clusters centroids to the center of the points they are connected to
for (int k = 0; k < clusters.size(); ++k) {
clusters.get(k).setCentre(stationsCenters(getStationsOfCluster(clusters.get(k), nearestClusters)));
}
if (!nearestClusters.isEmpty() && previousList.equals(nearestClusters))
hasConverged = true;
}
}
しかし、私は、クラスタが形成されると私のアルゴリズムの結果を示したかったと私は、インターネット上でこの作品が見つかりました:https://github.com/ertugrulozcan/K-Means-Simulation
私は私のプロジェクトのクラスClusterGeneratorにインポートしていますクラスItem、クラスGraphic(私はそこに何も触れていませんでした)、すべてのグラフィック要素を初期化するクラスMainWindowなど、ランダムな要素とともにクラスターを作成します。
私はプロットを表示することはできませんでしたが、Eclipseには何の手がかりも与えないエラーはありません。
誰かが私に説明してください問題がどこにありますか?
おかげ
これはEclipseプロジェクトなので、ソースフォルダを取得してプロジェクトを自分で作成することをお勧めします。プロジェクトは彼の設定ファイルと同じです。また、Java 1.8を使用しています。 –
また、あなたの質問 - タイトルと質問内のあなたの質問は、2つの全く異なるものです! – sascha
引用したプログラムが正しく同期されていません。どんな結果も可能です。 [* Initial Threads *](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html)を参照してください。また、 "Swingプログラムは' paint() 'を無効にするのではなく' paintComponent() 'をオーバーライドする必要があります。" - [* AWTとSwingのペイント:ペイントメソッド*](http://www.oracle.com/technetwork/java /painting-140037.html#callbacks)。 – trashgod