Changelog of @hackage/set-cover 0.1.1

Change log for the set-cover package

0.1

  • SetCover.Exact.decisionTree, SetCover.Exact.Priority.decisionTree: Allow the programmer to generate human-friendly solutions.

  • SetCover.Cuboid: dx, dy, dz -> rotX, rotY, rotZ

  • SetCover.Bit: method complement replaced by difference. This way, we do not need the cumbersome SetCover.IntSet module anymore.

  • SetCover.BitMap made private.

  • SetCover.BitPriorityQueue made public.

  • SetCover.Exact.State.usedSubsets: Only store labels, not assignments. This is consistent with SetCover.Exact.Priority.State.

  • SetCover.Exact.minimize: allow an empty list of available subsets SetCover.Exact.step, SetCover.Exact.Priority.step: They do not need to test for an empty availableSubset anymore.

  • SetCover.Exact.step: Require non-empty set of free elements. This is consistent with SetCover.Exact.Priority.step. Until now, step returned an empty list if the were no free elements. This is not very helpful since it will throw away already completed solutions. The test is also redundant when step is called from search.

0.0.8

  • SetCover.Exact.Priority implements the Algorithm X using a priority queue that registers the sets each element is contained in. This allows for drastic speedup of the Nonogram example.

0.0.7

  • ESC.bitVectorFromSetAssigns allows to turn sets into bit vectors without manual bit position gymnastics.

  • Use it in Sudoku and Nonogram examples.

0.0.6

  • Add SetCover.Exact.Set instances for Map, Integer, IntSet.

0.0.5.1

  • example/Nonogram: explore different encodings of the problem