Class DisjunctCombinatorics

java.lang.Object
com.knezevic.edaf.v3.problems.discrete.disjunct.DisjunctCombinatorics

public final class DisjunctCombinatorics extends Object
Combinatorial helpers used for exhaustive and sampled validation/evaluation of disjunct matrix properties.
  • Method Details

    • forEachCombination

      public static void forEachCombination(int n, int k, Consumer<int[]> visitor)
      Iterates all k-combinations of indices [0, n-1] in lexicographic order.
    • sampleCombination

      public static void sampleCombination(Random random, int n, int k, int[] output)
      Samples one k-combination uniformly without replacement into output. Output is sorted increasingly.
    • binomialCoefficientCapped

      public static long binomialCoefficientCapped(int n, int k, long cap)
      Returns n choose k capped to cap + 1 to avoid overflow.
    • binomialCoefficientAsDouble

      public static double binomialCoefficientAsDouble(int n, int k)
      Returns n choose k as double for ratio-based metrics.