但在符号逻辑当中,目前为止最好的算法可能就是DPLL(数字锁相环,可参见文章Satisfiability solvers的例子)。逻辑问题存在有 n个变量,求解大约需要2"步The intractability ofresolution。(而证明这点则需要根据消解规则,对DPLL进行变体(A machine-oriented logic based on the resolution principle ), 文中已经提到)。这就是说,即使是最快的计算机,对于只有100个变量的逻辑问题也无能为力。
这又引出了两个问题。首先,我们在想是否会有比DPLL更好的算法。在数学领域,这个问题的精确版就是著名的P=NP问题,这个问题由斯蒂芬·库克(Stephen Cook)于20世纪70年代首次提出(参见 The complexity of theorem-proving procedures)。从那时起到现在,虽然已有成千上万名计算机科学家和数学家竭尽全力,试图攻克难题,但是依然没有答案。由于这个问题与其他众多题目息息相关,因此被视为计算机科学领域最为重要的开放问题(参见文章 The status of the P versus NP problem)。
第二个问题涉及前一章提到的长尾现象。DPLL的工作方式是系统性地搜索逻辑上的所有可能。有趣的是,在随机构建的测试当中,DPLL执行此类操作所需的步骤却都很少。实际上,上述测试所需的步骤与上一章中的长尾数字非常相似。因为样本测试案例越多,平均值就越高,所以在实践中,根本不可能估算出DPLL所要求的步数。有关详情,请参阅Heavy-tailed phenomenain satisfiability and constraint satisfaction problems —文。
人工智能的进化
186