Z3 C++ API를 사용하여 일부 부울 변수 (b0, ..., bn)를 참이라고하는 만족스러운 수식을 찾습니다.Z3 마지막 유효 모델 가져 오기
나는 부울 변수 b0, ..., bn을 포함하는 수식을 가지고 있으며 b0, ..., bn의 수가 최소 인 만족스러운 수식을 찾고 싶습니다.
처음에는 b0, ..., bn의 하위 집합을 찾아서 내 수식을 만족시킬 수 있습니다. 그리고 나는 점진적으로 더 작은 부분 집합을 찾습니다. 즉,이 부울 변수 중 하나가 거짓으로 뒤집 혔음).
더 작은 하위 집합을 찾을 수 없을 때 로컬 최소값을 찾았습니다. 즉, Z3에서 결과를 얻지 못했습니다. 이 시점에서 마지막 유효 모델에 액세스하려고합니다.
그럴 수 있습니까? "check"에 대한 호출이 불충분 할 때 Z3이 모델을 수정합니까? 그렇다면 어떻게 C++ API를 사용하여이 작업을 수행 할 수 있습니까? 솔버 반환 "앉아"당신은 모델을 검색 할 수 있습니다
대단히 감사합니다. – Pedro