|
For the recent Galactic puzzle hunt competition [0] there was a problem that involved generating 5x5 star battle [1] grids that had a number of unique solutions in the range of [1, 14]. We initially tried to get chatGPT to write a python script to do this, and couldn't get it to produce anything functional. Conceptually it's not a hard problem, and can be solved in ~50 lines of python or so. Interestingly, chatGPT can describe in natural language the basic approach that you should use (DFS with backtracking). Anyway, here's one prompt I used for the generation portion. Is there something one can do to make LLMs more likely to produce functional code output? ``` Write a python iterator to generate all 5x5 grids of integers that obey the following criteria:
1. the grid contains only numbers 1-5 inclusive
2. each number is included at least once
3. Each number 1-5 forms a continuous connecting region within the grid where two cells are considered connected if they share an edge. For example the following would be a valid grid subject to these rules:
[[1,5,3,3,3],
[1,5,3,3,3],
[1,5,3,3,3],
[1,5,3,3,4],
[1,5,2,3,3]] But the following would not be a valid grid because the `1` in the top right corner is not connected to the 1s along the left edge:
[[1,5,3,3,1],
[1,5,3,3,3],
[1,5,3,3,3],
[1,5,3,3,4],
[1,5,2,3,3]] ``` [0] https://2023.galacticpuzzlehunt.com/game/
[1] https://www.puzzle-star-battle.com/ |