There are many ideas of code-golf challenges out there that are abandoned because a part of them are just too hard to implement with a reasonable amount of effort. For instance, requiring to parse complicated stuff (this can be avoided by flexible input format), big number arithmetic (avoided by keeping the input range small), etc.

Also, one can conceive of potential golf challenges that build on impossible subroutines, such as hyper-computation (maybe a challenge that requires a subroutine that decides the halting problem, there might be interesting ones!).

So, the question is: is it a good idea to provide an "oracle" function in a challenge? An example:

Challenge: Input a positive integer n, and a list of sets \$S_0, \dots, S_m \subseteq \{1,\cdots, n\} \$. Determine that, if \$n\$ points on a plane are arranged so that \$P_{k_i}(k_i \in S_j)\$ are collinear for each \$j > 0\$, whether the points \$P_{k_i}(k_i \in S_0)\$ are collinear.

You are given a function that computes the Gröbner basis of a given polynomial set, with your desired input format.

Test cases: rhubarb rhubarb

  • 9
    \$\begingroup\$ We already do something like this with dictionary-related challenges, by allowing the word list to be passed as input so the byte count isn't used up in just storing loads of data. I think I remember seeing a prime-related challenge that allowed a prime-checking "oracle", to use your terminology, to be used. I see no reason why not. As always, post in the sandbox and you'll get people's feedback on the specific case \$\endgroup\$
    – pxeger
    Commented Jun 9, 2021 at 16:36


You must log in to answer this question.

Browse other questions tagged .