package ids.test; import java.util.Arrays; import cern.colt.matrix.DoubleMatrix2D; import ids.clustering.model.ConstraintType; import ids.utils.CommonUtils; import ids.utils.ConstraintsUtils; public class TestTransitiveClosure { /** * @param args */ public static void main(String[] args) { heartTC(); } private static void heartTC() { CommonUtils utils = new CommonUtils(false); ConstraintsUtils constraintsUtils = new ConstraintsUtils(true); double[][] ndata = utils.readDataFile("datasets/heart/ndata.csv"); int n = ndata.length; double[][] constraints = utils.readDataFile("datasets/heart/constraints.csv"); DoubleMatrix2D d_constraints = constraintsUtils.ParseConstraints(constraints, n, ConstraintType.MUST_LINK); DoubleMatrix2D tc = constraintsUtils.TransitiveClosure(d_constraints); int[] neighborhoodLambda = constraintsUtils.getNeighborhood(); System.out.println("Neighborhood Lambda: "); //utils.printVector(neighborhoodLambda); int[] rand_index = utils.getRandomPermutation(10, 10); System.out.println("Test random permutations"); utils.printVector(rand_index); } private static void testIris() { CommonUtils c_utils = new CommonUtils(true); double[][] A = c_utils.readDataFile("C:\\_Research\\Datasets\\Iris\\a.data", 10, 10); ConstraintsUtils utils = new ConstraintsUtils(true); double[][] tc = utils.TransitiveClosure(A); System.out.println("Dense Transitive Closure"); c_utils.printMatrix(tc, 10, 10); System.out.println("Neibh"); int[] neigh = utils.getNeighborhood(); System.out.println(Arrays.toString(neigh)); // SPARSE DoubleMatrix2D sA = c_utils.readSparseDataFile("C:\\_Research\\Datasets\\Iris\\a.data", 10, 10); DoubleMatrix2D stc = utils.TransitiveClosure(sA); System.out.println("Sparse Transitive Closure"); c_utils.printMatrix(stc, 10, 10); System.out.println("Neibh"); int[] sneigh = utils.getNeighborhood(); System.out.println(Arrays.toString(sneigh)); } }