考虑以下阿贝尔亚组成员资格测试问题。
输入:
具有任意大的有限阿贝尔群并具有任意大的。
子组的生成集。
的元素。
输出:如果 'yes',其他地方为'no'。
问题:可以在传统计算机中有效解决此问题吗?如果在传统图灵机的通常意义上使用时间和内存资源,我认为该算法有效。注意,对于任何子组,我们都可以假设。此问题的输入大小为。
有点动力。从直觉上看,似乎可以使用算法来解决同余线性系统或线性双色子方程组(请参阅下文)。但是,似乎在使用整数进行计算时会使用不同的计算效率概念,例如:强多项式时间与弱多项式时间,代数与位复杂度。我不是这些定义的专家,我找不到明显解决此问题的参考。
更新:问题的答案是“是”。
在一个较晚的答案中,我提出了一种基于史密斯范式的方法,该方法对于具有规定格式的任何组都是有效的。
Blondin的答案表明,在所有都为且的形式的特殊情况下是“微小整数”,那么问题就属于。微小的整数随输入大小呈指数减小。ð 我 = Ñ Ë 我我 Ñ 我,ë 我NC 3 ⊂ P ø (日志的日志|甲|)
在我的回答中,我使用“正交子组”来解决此问题,但是我认为这不是必需的。将来,我将基于我正在阅读的连续梯形表格方法,尝试提供更直接的答案。
一些可能的方法
该问题与求解全等线性系统和/或线性双色子方程密切相关。为了简单起见,我简要总结了这些连接。
以为矩阵,其生成集的元素 。以下方程组{ h 1,… ,h n }
当且仅当有一个解。
如果所有循环因子都具有相同的维数,则存在一种基于Smith范式的算法,可以解决多项式时间内的问题。在这种情况下,[1]中的高效算法 找到了的史密斯范式 :它返回对角矩阵以及两个可逆矩阵和,使得。这减少了解决具有对角线的等效系统。我们可以有效地决定系统是否具有使用欧几里得算法的解决方案。 A D U V D = U A V D Y = U bD
上面的示例表明,在一般情况下,可以使用类似的技术有效地解决问题。我们可以尝试将系统求解为模块化运算,或者将系统转换为更大的线性双色子方程组。解决我能想到的问题的一些可能技术是:
- 计算的Smith范式。
- 计算的行梯形形式。
- 整数高斯消除。