SAT가 NP 완전하다는 증거는 건설적인 증거이므로 프로그램으로 구현할 수 있어야합니다. 아무도이 짓을 한거야? 나는 (true 또는 false를 반환하는) 프로그램으로 입력하고 SAT 수식을 출력하는 프로그램 (컴파일러)을 찾고있다. 예를 들어, 컴파일러는 다음 프로그램을 사용할 수 있습니다 (pythonic 구문으로 표시하지만 모든 언어는 저와 동일합니
다음과 같은 문제가 있습니다 : 나는 두 개의 명제식이 논리적으로 동일해야합니다. 오직 그 중 하나는 변수가 어떤 명제식으로 대체 될 수 있다는 의미에서 '변수'를 포함합니다. 이제 문제는 논리 대체가 사실이되도록 변수의 실제 대체 값을 찾아야한다는 것입니다. 예 : (a^~ b)는 x = 여기 는, x는 변수이다. 이 동치는^B와 X를 대체함으로써, 진정
그냥 호기심에 관한 질문입니다. 수업 그룹에서 교수가 사람들을 특정 숫자 (n)의 그룹으로 나눌 때를 기억합니까? 내 교수 중 일부는 하나가 각 학생에서 작동하지 않는 사람이 작업을하고 싶어 n명 및 n명의 목록을 다음 마술 학생들와 일치 될 수 n 그룹을 끌 것 선호하는 사람들은 선호하지 않는 사람들과 일하는 것을 피합니다. 제게이 알고리즘은 배낭 문제와
절 데이터베이스로 구성된 SAT 인스턴스를 사전 처리하는 동안 모든 변수에 단어를 할당해야합니다. 해시 함수는 각 변수에 대해 16 개의 최상위 비트 (MSB) 중 하나의 비트와 16 개의 최하위 비트 (LSB) 중 하나의 비트를 제외하고는 0으로만 구성된 32 비트 워드를 반환합니다. 변하기 쉬운. 절의 서명은 모든 변수의 해시 함수 값의 비트 OR입니다
부울의 만족도는 NP-Complete이지만 부울 표현식의 최소화/단순화라는 것을 알고 있습니다.이 표현식은 주어진 표현식을 상징적 형태로 가져 와서 상징 양식 NP-Complete에서 동등하지만 단순화 된 표현을 만드는 것을 의미합니다. 나는 satisfiability에서 최소화에 대한 감소가 있다는 것을 확신하지 못하지만, 아마 거기에있는 것처럼 느껴집니
Z3 SMT Solver를 사용하여 다음을 증명하려고합니다 : ((x*x) + x) = ((~x * ~x) + ~x). C 프로그래밍 언어의 오버플로 의미 때문에 올바릅니다. Z3에서 (declare-fun a() Int)
(define-fun myadd ((x Int) (y Int)) Int (mod (+ x y) 4294967296))
(defin