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?<p>```<p>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.<p>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]]<p>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]]<p>```<p>[0] <a href="https://2023.galacticpuzzlehunt.com/game/" rel="nofollow noreferrer">https://2023.galacticpuzzlehunt.com/game/</a>
[1] <a href="https://www.puzzle-star-battle.com/" rel="nofollow noreferrer">https://www.puzzle-star-battle.com/</a>