

Solving the KAYAK crossword puzzle with code - stepanbujnak
https://github.com/stepanbujnak/kayak

======
nhstanley
Was the use of ANN necessary, or simply done because it was cool to do?
Because at least in my mind it looks like extracting the text and running a
brute force program on it would be faster, no?

~~~
biot
If my reading is correct, the neural network was used to OCR the image,
extracting the text. From there, it is indeed a simple brute-force string
search.

~~~
quadrature
Yeah, but the type is pretty regular and and the alphabet is small. I bet you
could just use convolution.

------
yen223
FWIW that's not a crossword puzzle. As a crossword enthusiast, I would be very
interested in the implementation of an AI-backed crossword puzzle solver!

~~~
skellystudios
For my masters thesis I wrote some software to solve UK-style cryptic
crosswords[1].

We're cleaning up the code now for release as an AI paper, so as soon as we're
done I'll release the code on Github.

[1]
[http://en.wikipedia.org/wiki/Cryptic_crossword](http://en.wikipedia.org/wiki/Cryptic_crossword)

~~~
bvm
What a great idea. What's your success rate like?

Cryptic crosswords (at least good ones) play with conventions so much, I
imagine it must be quite a challenge.

------
column
How I did it:

0\. Download and install Tesseract [https://code.google.com/p/tesseract-
ocr/](https://code.google.com/p/tesseract-ocr/)

1\. Crop and adjust curves of the image in Paint.Net (= get a better contrast)
to ease OCR

2\. Save as PNG in the folder of Tesseract

3\. Open cmd in Tesseract folder, type tesseract kayak.png kayak (produces
kayak.txt)

4\. Open kayak.txt in Notepad++, remove empty lines (to have correct indexes),
CTRL+F "KAYAK"

~~~
jjnoakes
Doesn't this only work if the word is west-to-east? Seems like it'd fail for
any other orientation (there are 7 others).

(Well, for a palindrome, it works for east-to-west too - so I guess you missed
6).

~~~
column
You are correct. However, it is stated that 'KAYAK' appears only once and it
seems to me that CTRL+Fing should be the first thing to do when searching for
a string in a relatively small text. The next step, had the CTRL+F failed,
would have been to search for "KAYAK" vertically/diagonally programmatically.

(on a sidenote, you're counting is incorrect, as it is a palindrome there
really is only 4 directions for the word to appear: W-E, N-S, NW-SE, NE-SW)

~~~
pacofvf
for vertical, you could transpose the crossword then Ctrl+F, just being aware
that the result has its columns and rows switched.

------
garethadams
This seems like a good place to link to the UsVsTh3m one-word-wordsearch
generator:

[http://games.usvsth3m.com/one-word-
wordsearch/#MTAsS0FZQUssN...](http://games.usvsth3m.com/one-word-
wordsearch/#MTAsS0FZQUssNzk3MjE=)

~~~
column
In the source: "bastardTouchMoveWhatTheHellIsWrongWithMobileBrowsersSeriously"

------
xigency
Found it in a couple minutes by hand. I started from the position (3,3) and
circled the board looking for "Y" surrounded by two A's, and checking for the
phrase. Working inward it's only a matter of time before you find it. There
are also the borders to check then.

------
gokhan
Similar:

[https://projecteuler.net/problem=11](https://projecteuler.net/problem=11)

