Abstract
Since the problem of disproving a tautology is as hard as the problem of proving it, no polynomial time algorithm for falsification(or testing invalidity) is feasible. Previous algorithms are mostly based on either divide-and-conquer or graph representation. Most of them demonstrated satisfactory results on a variety of input under certain constraints. However, they have experienced difficulties dealing with big input. We propose a new falsification algorithm using a Merge Rule to produce a counterexample by constructing a minterm which is not satisfied by an input expression in DNF(Disjunctive Normal Form). We also show that the algorithm is consistent and sound. The algorithm is based on a greedy method which would seek to maximize the number or terms falsified by the assignment made at each step of the falsification process. Empirical results show practical performance on big input to falsify randomized nontautological problem instances, consuming O(nm$^2$) time, where n is the number of variables and m is number of terms.
항진을 반증하는 문제는 항진을 검증하는 문제와 같은 난이도를 갖기 때문에 반증(또는 부당성 검증)을 위한 다항식 시간 알고리즘은 가능하지 않다. 이제까지의 그러한 알고리즘들은 가능하지 않다. 이제까지의 그러한 알고리즘들은 분할 및 정복이나 그래프 표현에 기반 한 것이 대부분이다. 대부분의 알고리즘들은 어떤 제약조건 하에서 다양한 입력에 대한 만족할 만한 결과를 보여 주었다. 그러나, 규모가 큰 입력에 대하여 이들 알고리즘들은 어려움을 경험하고 있다. 이 논문에서는 DNF(선언표준형)로 표현된 입력식을 만족하지 못하는 최소항을 구성함으로써 반례를 산출하는 병합 규칙 기반의 새로운 반증 알고리즘을 제안한다. 또한, 제안된 알고리즘의 일관성과 건전성을 증명한다. 제안된 알고리즘은 반증 과정의 각 단계에서 이루어진 할당을 통하여 반증된 항의수를 최대화하도록 greedy 방법을 기반으로 하고 있다. 실험 결과는 큰 입력의 무작위 비항진 문제 사례들을 반증하는 실용적 성능을 보여 주며 O(n$m^2$) 시간을 소비한다. 여기수 n은 변수이고 m은 항의 개수이다.