Eu acredito que existe um algoritmo poli (q) conhecido. Meu entendimento do algoritmo de Chudnovsky, Cornuéjols, Liu, Seymour e Vušković, "Reconhecendo gráficos de Berge", Combinatorica 2005 , é que ele encontra um buraco ímpar ou um anti-buraco estranho em qualquer gráfico não perfeito em tempo polinomial. Os autores escrevem na página 2 de seu artigo que o problema de encontrar buracos ímpares nos gráficos que os contêm permanece aberto, porque as etapas 1 e 3 de seu algoritmo encontram buracos, mas a etapa 2 pode encontrar um anti-furo. No entanto, no caso dos gráficos de Paley, se você encontrar um anti furo, basta multiplicar todos os vértices nele por um não resíduo para transformá-lo em um buraco ímpar.
Como alternativa, por analogia com o gráfico Rado, para cada k deve haver um N, de modo que os gráficos de Paley em N ou mais vértices devem ter a propriedade extension: para qualquer subconjunto com menos de k vértices e qualquer coloração 2 do subconjunto, existe outro vértice adjacente a todos os vértices de uma classe de cores e não adjacente a todos os vértices da outra classe de cores. Nesse caso, para k = 5, você pode construir um ímpar de 5 buracos com avidez no tempo polinomial por etapa. Talvez essa direção seja esperançosa para um algoritmo poli (log (q))? Se funcionar, mostraria pelo menos que existem pequenos buracos estranhos, aparentemente um pré-requisito necessário para encontrá-los rapidamente.
Na verdade, não me surpreenderia se o algoritmo a seguir fosse um poli (log (q)): se q for menor que alguma constante fixa, procure a resposta, caso contrário, crie avidamente um buraco de 5 buracos pesquisando sequencialmente os números 0, 1, 2, 3, ... para vértices que podem ser adicionados como parte de um 5 orifícios parciais. Mas talvez provar que ele funcione no tempo poli (log (q)) exija alguma teoria profunda dos números.
Pelos resultados de Chung, Graham e Wilson, "Gráficos quasi-aleatórios", Combinatorica 1989, o seguinte algoritmo aleatório resolve o problema em um número constante esperado de tentativas quando q é primo: se q for suficientemente pequeno, se q for suficientemente pequeno, procure a resposta, caso contrário, escolha repetidamente um conjunto aleatório de cinco vértices, verifique se eles formam um furo ímpar e, em caso afirmativo, devolva-o. Mas eles não dizem se funciona quando q não é um primo, mas um poder primo, então talvez você precise ter mais cuidado nesse caso.