我相信有一个已知的poly(q)算法。我对Chudnovsky,Cornuéjols,Liu,Seymour和Vušković的算法的理解(Combinatorica 2005,“识别边界图”)是,它在多项式时间内在任何非完美图中都发现了一个奇数孔或一个奇数反孔。作者在论文的第2页上写道,在具有它们的图形中查找奇数孔的问题仍然存在,因为算法的步骤1和3找到了孔,而步骤2可能找到了反孔。但是,对于Paley图,如果找到一个反孔,只需将其中的所有顶点乘以一个非残差即可将其变成奇数孔。
或者,类似于Rado图,对于每个k,应该有一个N,这样N个或多个顶点上的Paley图应具有可扩展性:对于少于k个顶点的任何子集,以及该子集的任何2种着色,在一个颜色类别中的每个顶点附近都有一个顶点,在另一个颜色类别中的每个顶点附近不存在另一个顶点。如果是这样,则对于k = 5,您可以在每一步的多项式时间内贪婪地构建一个奇数的5孔。也许这个方向对poly(log(q))算法是有希望的?如果可行,它至少表明存在短奇孔,这似乎是快速找到它们的必要先决条件。
实际上,如果以下是poly(log(q))算法,这不会令我感到惊讶:如果q小于某个固定常数,请查找答案,否则将通过依次搜索数字贪婪地构建一个奇数的5孔0、1、2、3,...表示可以作为部分5孔的一部分添加的顶点。但是也许要证明它可以在poly(log(q))时间内起作用,就需要一些深数理论。
根据Chung,Graham和Wilson的结果,“准随机图”(Combinatorica,1989年),以下随机算法在q为质数时以恒定的预期试验次数解决了该问题:如果q足够小,则查找答案,否则,重复选择五个顶点的随机集合,检查它们是否形成奇数个孔,如果是,则将其返回。但是他们没有说q不是质数而是质数幂时是否有效,因此在这种情况下,您可能需要格外小心。