Removed neighbour generation out of the core library
[riddle-generator.git] / README.md
1 # Riddle solving and generation
2
3 > My first is in crankshaft but not in camshaft<br />
4 > My second is in sincere but not in cancer<br />
5 > My third is in hardtop but not in carton<br />
6 > My fourth is in deliberation but not in celebration<br />
7 > My fifth is in flail but not in await<br />
8 > My sixth is in both beetling and nestling<br />
9 > What am I?
10 >
11 > Answer: riddle
12
13 This repository is code written to solve and generate riddles of the form above. These programs are fully discussed on my blog in a three-part series. You should read those articles to understand how this code works and why I organised it like I did.
14
15 1. [Solving riddles](https://work.njae.me.uk/2023/08/15/solving-riddles/)
16 2. [Generating riddles](https://work.njae.me.uk/2023/08/30/generating-riddles/)
17 3. [Optimising riddle generation](https://work.njae.me.uk/2023/09/01/optimising-riddle-generation/)
18
19 The files here are:
20
21 * [Riddle solver](riddle_solver.md): solves riddles given in text
22 * [Riddle creator](riddle_creator.md): generates new riddles, from given or random words
23 * [A faster riddle creator](riddle_creator_filtered.md)
24 * [A much faster riddle creator](riddle_creator_lazy.md)
25 * [Riddle definitions](riddle_definitions.md): some definitions used across the code base
26
27 The last two creation programs use a pre-processed word list; the [pre-processor program](riddle_dict_builder.md) is also here. There is a [file that analyses the performance of the different riddle creation programs](creation_analysis.md).
28
29 You can find the code on [my Git server](https://git.njae.me.uk/?p=riddle-generator.git;a=summary) or on [Gitlab](https://gitlab.com/NeilNjae/riddle-generator).
30
31 ## Licence
32
33 The code here is published under the [Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/) licence.