QFBV SMT 솔버의 성능 이해


9

Z3 또는 Boolector와 같은 SMT 솔버는 복잡한 휴리스틱을 사용하여 문제를 해결합니다. 그러나 이것은 또한 주어진 문제에 대한 그러한 솔버의 성능을 예측하는 것을 매우 어렵게 만듭니다. 내 질문은 따라서 :

질문

QFBV (Quantifier-free Bitvectors) 이론에서 특정 SMT 솔버의 성능을 이해하거나 통찰력을 얻는 방법이 있습니까?

여기에는 솔버가 "고정 된"위치를 이해하는 데 도움이되는 시각화 도구도 포함됩니다.

응용

  • 동일한 문제의 서로 다른 인코딩이 솔버 성능에 어떤 영향을 미치는지 미리 이해하십시오 (여기서 최신 기술은 "몇 가지 다른 인코딩을 시도하고 속도가 충분히 빠르기를 바랍니다").

  • 시간 제약으로 인해 SMT 솔버로 주어진 문제를 해결할 수없는 경우 문제를 다르게 표현할 수있는 방법을 찾아서 해결할 수 있습니다.

  • 솔버 성능에 전혀 영향을 미치지 않거나 솔버 성능에 부정적인 영향을 줄 수있는 도메인 별 문제 단순화에 시간을 낭비하지 마십시오.

기존 연구

나는이 주제에 관한 연구를 찾으려고했지만 많이 찾지 못했다. 아직 SAT / SMT 솔버 분야에 대한 경험이 많지 않으므로 무언가를 놓친 경우 사과드립니다.

  • SATzilla : 기계 학습 기술을 사용하여 문제에서 추출 된 기능을 기반으로 최상의 성능의 솔버를 예측합니다.

    이는 SMT 대신 SAT에만 적용되며 솔버 성능의 이유를 설명하지 않습니다.

  • Z3 공리 프로파일 러 Z3 인스턴스화 그래프의 시각화 및 매칭 루프 분석

    이것은 정량화 된 이론에만 초점을 둔 것 같습니다.

답변:


3

짧은 대답은 아니요, 우리는 이해하지 못합니다. 긴 대답은 그렇습니다. 우리에게는 한계가 있지만 그 한계는별로 도움이되지 않습니다. 최악의 경우 실행 시간이 기하 급수적이라는 것은 분명합니다. 우리는 일부 / 많은 실제 상황에서 상당히 빠르게 실행되는 것처럼 보이므로 그다지 도움이되지 않습니다.

QFBV는 물론 SAT 솔버에 왜 이것이 사실인지 알 수 없습니다. QFBV 솔버가 빠른 이유를 이해하는 것은 SAT 솔버가 왜 빠른지 이해하는 것만 큼 어렵습니다. 이는 이미 현재 이해 수준을 넘어 섭니다. 이 사이트에서 더 많은 것을 검색하면 후자의 주제를 이해하려는 현재 시도의 요약을 찾을 수 있습니다.


답변 주셔서 감사합니다! 나는 이미 그럴 수도 있습니다. 일반적인 규칙을 찾으려고 시도하지 않고 sat / smt 솔버의 성능 저하 이유를 시각화하거나 다른 방법으로 사용자가 문제의 일부와 SMT를 이해하도록 돕는 연구가 있는지 알고 있습니까? 해결사 touble)
bennofs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.