통일 vs. SAT 솔버


10

나는 Wikipedia에서 통일 이 만족스러운 문제를 해결하는 과정 이라고 읽었습니다 .

동시에, 그러한 솔버를 "SAT 솔버"또는 "SMT 솔버"라고합니다. 그래서 그들은 같은 것의 다른 이름입니까?

그들이 다르다고 말하면 내 치료에 결함이 있음을 지적하십시오.


컴퓨터 과학은 종종 "만족도 문제"를 언급하지만 실제로는 "위기 (wiki) 통일에 관한 기사"에 언급 된 일반적인 문제의 특별한 경우인데, "존재한다"및 "모두를위한 것"과 같이 더 복잡한 조항이있을 수 있습니다. 부울 변수 일뿐입니다. CS에서, "만족도 문제"에 대한 언급은 SAT (약칭 SAT) 인 제안 적 또는 부울 만족도 문제에 대한 속기 일 수있다 . SAT에서 통일 과정이라고 해상도
— vzn

답변:


12

SAT 솔버는 부울 만족도 문제를 해결 합니다. 이것은 "공식을 TRUE로 평가하는 방식으로 주어진 부울 수식의 변수를 할당 할 수 있는지를 결정하는 문제"입니다.

예 변수 진리 값의 할당을 찾는 것이다 , B를 , C 되도록 ( A는 ∨ ㄴ ∨ C ) ∧ ( ¬ ∨ ¬ ㄴ ∨ C ) ∧ ( ∨ ¬ ㄴ ∨ ¬ C ) ∧ ( ¬ ∨ b ∨ ¬ c ) 는 사실입니다. SAT 솔버는 a = t r u e 와 같은 솔루션을 반환 할 수 있습니다 .ㅏ,비,씨(ㅏ∨비∨씨)∧(¬ㅏ∨¬비∨씨)∧(ㅏ∨¬비∨¬씨)∧(¬ㅏ∨비∨¬씨)ㅏ=티아르 자형유이자형 , c = t r u e .비=티아르 자형유이자형씨=티아르 자형유이자형

SMT 솔버는보다 일반적인 문제, 즉 만족도 모듈로 이론을 해결합니다 . 이것은 "동일한 1 차 논리로 표현 된 배경 이론의 조합에 관한 논리식의 결정 문제"입니다. 이러한 이론에는 "실수 이론, 정수 이론 및 목록, 배열, 비트 벡터 등과 같은 다양한 데이터 구조 이론"이 포함될 수 있습니다.

예를 들어, 유형이 지정된 변수 및 y : i n t 및 f : i n t → i n t가 주어지면 다음이 f ( x + 2 ) ≠ f ( y − 1 ) ∧ x = ( y - 4 ) 만족할 만하다. SMT 솔버는 솔루션 x = − 2 , y로 예라고 대답합니다. 엑스:나는엔티와이:나는엔티에프:나는엔티→나는엔티에프(엑스+2)≠에프(와이−1)∧엑스=(와이−4)엑스=−2 , f ( 0 ) = 1 및 f ( 1 ) = 3 입니다.와이=2에프(0)=1에프(1)=삼

통일 은 두 가지 용어를 사용하고 해당 용어를 동일하게 만드는 대체 기법을 찾는 특정 기술입니다. 예를 들어, 및 b o o k ( D. ~ Smith , y , 2010 ) 용어 가 통일되면 통일은 대체 { x ↦ D. Smith , y ↦ "Fishing" } . 통일은 SMT 솔버 내에서 사용될 수 있습니다.비영형영형케이(엑스,"어업",2010 년)비영형영형케이(D. ~ 스미스,와이,2010 년){엑스↦스미스,와이↦"어업"}


통일은 아마도 SMT 솔버 (어쩌면 SAT 솔버에서 사용될 수 있습니다)라는 문장에 익숙하지만 이해가되지 않습니다. 또한 SAT에 대한 그러한 정의는 SAT가 특별한 경우인지 이해하기 어렵습니다.
— Val

SAT는 제안 논리를 다룹니다. SMT의 기반이되는 1 차 로직이 더 일반적입니다.
— Dave Clarke
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.