37 | 38 |
39 | 40 |
41 | 42 |
43 | 44 |
45 |

46 | Combine is an OCaml library for combinatorics problem solving formed by several 47 | modules: 48 |

    49 |
  • Dlx: implements Knuth's dancing links
  • 50 |
  • Zdd: implements Zero-suppressed binary decision diagrams
  • 51 |
  • Emc: a common interface to modules Dlx and Zdd to solve the 52 | Exact Matrix Cover problem
  • 53 |
  • Tiling: converts a 2D tiling problem into an EMC problem
  • 54 | 55 |
    56 | 57 |

    58 | Several combinatorics problems can easily be encoded as EMC problems, e.g. 59 | Sudoku or N-queens. 60 |

    61 | 62 |

    63 | Combine also contains an interpreter for a language (combine) to describe 2D 64 | tiling problems (such as Pentominos) and solve them or counting their 65 | solutions. The archive contains some examples. 66 |

    67 | 68 |
69 |

70 | 71 |
72 | 73 |
74 | 75 | 76 |