Package edu.cmu.tetrad.search
Class Hungarian
java.lang.Object
edu.cmu.tetrad.search.Hungarian
The Hungarian algorithm for solving the N-Queens problem.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidclearCovers(int[] rowCover, int[] colCover) static voidconvertPath(int[][] mask, int[][] path, int count) static double[][]copyOf(double[][] original) static voiderasePrimes(int[][] mask) static doublefindLargest(double[][] array) static intfindPrimeInRow(int[][] mask, int row) static doublefindSmallest(double[][] cost, int[] rowCover, int[] colCover, double maxCost) static intfindStarInCol(int[][] mask, int col) static voidfindUncoveredZero(int[] row_col, double[][] cost, int[] rowCover, int[] colCover) static voidgenerateRandomArray(double[][] array, String randomMethod) static inthg_step1(double[][] cost) static inthg_step2(double[][] cost, int[][] mask, int[] rowCover, int[] colCover) static inthg_step3(int[][] mask, int[] colCover) static inthg_step4(int step, double[][] cost, int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC) static inthg_step5(int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC) static inthg_step6(double[][] cost, int[] rowCover, int[] colCover, double maxCost) static int[][]hgAlgorithm(double[][] array, String sumType) static voidstatic voidprintTime(double time) static intstatic double[][]transpose(double[][] array)
-
Constructor Details
-
Hungarian
public Hungarian()
-
-
Method Details
-
readInput
-
printTime
public static void printTime(double time) -
generateRandomArray
-
findLargest
public static double findLargest(double[][] array) -
transpose
public static double[][] transpose(double[][] array) -
copyOf
public static double[][] copyOf(double[][] original) -
hgAlgorithm
-
hg_step1
public static int hg_step1(double[][] cost) -
hg_step2
public static int hg_step2(double[][] cost, int[][] mask, int[] rowCover, int[] colCover) -
hg_step3
public static int hg_step3(int[][] mask, int[] colCover) -
hg_step4
public static int hg_step4(int step, double[][] cost, int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC) -
findUncoveredZero
public static void findUncoveredZero(int[] row_col, double[][] cost, int[] rowCover, int[] colCover) -
hg_step5
public static int hg_step5(int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC) -
findStarInCol
public static int findStarInCol(int[][] mask, int col) -
findPrimeInRow
public static int findPrimeInRow(int[][] mask, int row) -
convertPath
public static void convertPath(int[][] mask, int[][] path, int count) -
erasePrimes
public static void erasePrimes(int[][] mask) -
clearCovers
public static void clearCovers(int[] rowCover, int[] colCover) -
hg_step6
public static int hg_step6(double[][] cost, int[] rowCover, int[] colCover, double maxCost) -
findSmallest
public static double findSmallest(double[][] cost, int[] rowCover, int[] colCover, double maxCost) -
main
-