130 likes | 140 Views
Explore the concept of symmetry in crosswords and its impact on puzzle solvability. Learn about heavily constrained puzzles and their totally symmetric solutions. Examples and use of bit arrays for efficient data representation and manipulation. Discover the difference in difficulty levels between various crossword types.
E N D
Fast, Solvable Crosswords James Connor, John Duchi, Bruce Lo
Symmetry • Heavily constrained puzzles often exhibit symmetry • All five by five and six by six puzzles had totally symmetric solutions • Many of the provided crosswords had symmetric solutions
Symmetry Examples The important one
Bit Arrays • Allow for compact data representation in spite of empty space (20,000 words ~2 MB) • Bit-wise manipulations are very fast • We feel cool for using things at such a low level
Bit Arrays • Call all the words of length 6 a class • Each class is represented by a collection of bit arrays. • Each letter ch at each position p gets a bit array • These bit arrays represent the words with letter ch in position p.
Bit Array Example • ‘a’ in position 1: 001011 • The third, fifth and sixth words in the lexicon have an ‘a’ in position 1. • ‘c’ in position 4: 001000 • The third word in the lexicon has a ‘c’ in position 4.
Bit Array Example (cont’d) ‘a’: 001011 ‘c’: 001000 *a**c*: 001000 Result: The third word in the lexicon has an ‘a’ in the first position, a ‘c’ in the fourth
Timing Results • Solved in an average of one-tenth of a second 13 x 13 crossword with 60 variables
Easy vs. Hard • Constraint Satisfaction is NP-Complete Solve in around 6 seconds median Never Solve!
New York Times Wednesday • Proves very difficult to solve • Solution rate of 60% • Average solution time (when successful) 180 seconds
New York Times Thursday • Significantly Easier • 100% solution rate • Average solution time 10 seconds
Why Easier? • Long words intersect with relatively few long words in the Thursday puzzle. • Forward checking with conflict-directed backjumping can focus on a few words. • Allows, basically, local search for the big words. • Humans just are not good at big words.