Crate ingrid_core

source ·

Modules§

  • This module contains a crossword-specific implementation of the AC-3 algorithm for establishing and maintaining arc consistency. For our purposes, a grid is arc-consistent when:
  • This module implements grid-filling using a backtracking search algorithm that’s mostly based on recommendations in “Adaptive Strategies for Solving Constraint Satisfaction Problems” by Thanasis Balafoutis. In addition to maintaining arc consistency using AC-3 and ordering variables with a variant of the dom/wdeg heuristic, we incorporate Balafoutis’s “adaptive branching” concept and randomized restarts.
  • This module implements code for configuring a crossword-filling operation, independent of the specific fill algorithm.

Constants§

  • The expected maximum number of distinct characters/rebuses/whatever appearing in a grid.
  • The expected maximum number of slots appearing in a grid.
  • The expected maximum length for a single slot.