package cn.edu.bjut.chapter5; import java.util.Random; import fr.lri.tao.apro.ap.Apro; import fr.lri.tao.apro.ap.AproBuilder; import fr.lri.tao.apro.data.DataProvider; import fr.lri.tao.apro.data.MatrixProvider; public class APClustering { public static void main(String[] args) { Random rand = new Random(20241015); double[][] similarity = new double[50][50]; for (int i = 0; i < similarity.length - 1; i++) { similarity[i][i] = 10.0; for (int j = i + 1; j < similarity[i].length; j++) { similarity[i][j] = similarity[j][i] = rand.nextDouble(); } } DataProvider provider = new MatrixProvider(similarity); AproBuilder builder = new AproBuilder(); builder.setFullAuto(); Apro apro = builder.build(provider); apro.run(200); int[] exemplars = apro.getExemplars(); for (int nodeId = 0; nodeId < exemplars.length; nodeId++) { System.out.println(nodeId + ": " + exemplars[nodeId]); } } }