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 void
clearCovers
(int[] rowCover, int[] colCover) static void
convertPath
(int[][] mask, int[][] path, int count) static double[][]
copyOf
(double[][] original) static void
erasePrimes
(int[][] mask) static double
findLargest
(double[][] array) static int
findPrimeInRow
(int[][] mask, int row) static double
findSmallest
(double[][] cost, int[] rowCover, int[] colCover, double maxCost) static int
findStarInCol
(int[][] mask, int col) static void
findUncoveredZero
(int[] row_col, double[][] cost, int[] rowCover, int[] colCover) static void
generateRandomArray
(double[][] array, String randomMethod) static int
hg_step1
(double[][] cost) static int
hg_step2
(double[][] cost, int[][] mask, int[] rowCover, int[] colCover) static int
hg_step3
(int[][] mask, int[] colCover) static int
hg_step4
(int step, double[][] cost, int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC) static int
hg_step5
(int[][] mask, int[] rowCover, int[] colCover, int[] zero_RC) static int
hg_step6
(double[][] cost, int[] rowCover, int[] colCover, double maxCost) static int[][]
hgAlgorithm
(double[][] array, String sumType) static void
static void
printTime
(double time) static int
static 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
-