통일 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 tf : 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.