[논문 리뷰] AllSAT for Combinational Circuits
이 논문은 기반 클래스 C의 CNF 인코딩을 잎으로 사용하는 새로운 지식 컴파일링 언어인 백도어 분해 가능 단조 회로(Backdoor Decomposable Monotone Circuits, BDMCs)를 소개한다. 주요 기여는 C가 전파 완전성(Propagation-Complete, PC) 인코딩인 PC-BDMCs가 PC 인코딩과 다항 시간 동치임을 증명한 것으로, 이는 효율적인 질의 응답과 조작을 가능하게 하면서도 DNNFs와 일반화된 PC 백도어 트리보다 더 높은 압축성(성능)을 제공한다.
Motivated by the need to improve the scalability of Intel’s in-house Static Timing Analysis (STA) tool, we consider the problem of enumerating all the solutions of a single-output combinational Boolean circuit, called AllSAT-CT. While AllSAT-CT is immediately reducible to enumerating the solutions of a Boolean formula in Conjunctive Normal Form (AllSAT-CNF), our experiments had shown that such a reduction, followed by applying state-of-the-art AllSAT-CNF tools, does not scale well on neither our industrial AllSAT-CT instances nor generic circuits, both when the user requires the solutions to be disjoint or when they can be non-disjoint. We focused on understanding the reasons for this phenomenon for the well-known iterative blocking family of AllSAT-CNF algorithms. We realized that existing blocking AllSAT-CNF algorithms fail to generalize efficiently for AllSAT-CT, since they are restricted to Boolean logic. Consequently, we introduce three dedicated AllSAT-CT algorithms that are ternary-logic-aware: a ternary simulation-based algorithm TALE, a dual-rail&MaxSAT-based algorithm MARS, and their combination. Specifically, we introduce in MARS two novel blocking clause generation approaches for the disjoint and non-disjoint cases. We implemented our algorithms in our new tool HALL. We show that HALL scales substantially better than any reduction to existing AllSAT-CNF tools on our industrial STA instances as well as on publicly available families of combinational circuits for both the disjoint and the non-disjoint cases.
연구 동기 및 목표
- DNNFs와 백도어 트리와 같은 기존 지식 컴파일링 언어를 통합하는 프레임워크를 제안하기 위해 기반 클래스 C의 CNF 인코딩을 잎으로 사용하는 통합된 접근 방식을 도입한다.
- 기반 클래스 C의 CNF 인코딩을 매개변수로 하는 백도어 분해 가능 단조 회로(BDMCs)를 정의하고 체계화한다.
- PC-BDMCs가 PC 인코딩과 다항 시간 동치임을 보여주어, 질의 응답 및 변환 작업에서 동일한 효율성을 확보한다.
- PC 인코딩의 논리합 언어가 PC 인코딩 언어와 다항 시간 동치임을 보이며, 이는 URC 및 CC 인코딩에 대한 이전 결과를 일반화한다.
- PC-BDMCs가 DNNFs와 일반화된 PC 백도어 트리보다 엄격히 더 압축된 표현을 제공함을 입증하여 표현 효율성을 향상시킨다.
제안 방법
- 기반 클래스 C의 CNF 인코딩을 잎으로 사용하는 분해 가능성과 스무스함을 만족하는 단조 회로로 C-BDMCs를 정의한다.
- 단일 전파가 전체 일致성을 유지하고 모든 유도된 리터럴을 도출할 수 있도록 보장하는 CNF 인코딩의 전파 완전성(PC) 개념을 도입한다.
- 보조 변수와 철저히 설계된 절들을 사용하여 PC-BDMC 문장을 단일 PC 인코딩으로 변환하는 변환 과정을 구축한다.
- 하나의 계층적 구성에서 변수 z와 v를 사용하여 하위 회로 간의 종속성을 인코딩하고 전파 완전성을 보장한다.
- 유도되지 않은 모든 리터럴을 확장할 수 있도록, 결과 공식에서 단일 전파에 의해 닫혀 있는 부분 할당에 대해 전파 완전성을 확립한다.
- Bova 등(2014, 2016)의 결과를 활용하여 PC-BDMCs가 DNNFs보다 엄격히 더 압축된 표현을 제공함을 증명한다.
실험 결과
연구 질문
- RQ1DNNFs, 백도어 트리, 그리고 강력한 전파 성질을 지닌 CNF 인코딩을 통합하는 일반적인 컴파일링 언어를 정의할 수 있는가?
- RQ2URC 및 CC 인코딩에 대해 보여진 바와 같이, PC 인코딩의 논리합 언어가 PC 인코딩 언어와 다항 시간 동치인가?
- RQ3PC-BDMCs를 구성함으로써 PC 인코딩과 다항 시간 동치가 되면서도 지식 컴파일 맵의 모든 효율적 연산을 유지할 수 있는가?
- RQ4PC-BDMCs의 압축성은 DNNFs와 일반화된 PC 백도어 트리보다 어떻게 비교되는가?
- RQ5기본 인코딩인 소수 2-CNF나 재명명 가능 허니 공식 등에서 멈추는 방식으로, CNF에서 PC-BDMC로의 컴파일 과정이 PC 인코딩으로의 컴파일보다 더 효율적일 수 있는가?
주요 결과
- PC-BDMCs는 PC 인코딩과 다항 시간 동치이므로, PC 인코딩에서 이용 가능한 모든 효율적 질의 및 변환 연산이 PC-BDMCs에서도 동일하게 가능하다.
- PC 인코딩의 논리합 언어는 PC 인코딩 언어와 다항 시간 동치이며, 이는 URC 및 CC 인코딩에 대한 이전 결과를 일반화한다.
- Bova 등(2014, 2016)의 결과에 기반해, 복잡한 제약 조건을 압축적으로 표현할 수 있는 능력 덕분에 PC-BDMCs는 DNNFs보다 엄격히 더 압축된 표현을 제공한다.
- PC-BDMCs는 외부 방향 트리(Out-arborescence)를 가진 특수한 경우인 일반화된 PC 백도어 트리보다 엄격히 더 압축된 표현을 제공한다.
- PC-BDMC에서 PC 인코딩으로의 변환 과정은 전파 완전성을 유지하므로, 단일 전파가 일관성을 정확히 탐지하고 모든 유도된 리터럴을 도출함을 보장한다.
- PC-BDMC에서 PC 인코딩으로의 변환은 효과적이며, 지식 컴파일링에 필요한 모든 의미론적 및 문법적 성질을 유지한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.