제약 만족 문제

Constraint satisfaction problem

CSP(Constraint Satfaction Problems)는 상태가 여러 제약 또는 제한충족해야 하는 객체 집합으로 정의된 수학적 질문입니다.CSP는 변수에 대한 유한 제약의 동질적인 집합으로서 문제 내의 실체를 나타내며, 이는 제약 만족 방법에 의해 해결된다.CSP는 인공 지능운영 연구 모두에서 연구의 대상이다. CSP의 공식화의 규칙성은 관련이 없어 보이는 많은 가족의 문제를 분석하고 해결하기 위한 공통 기반을 제공하기 때문이다.CSP는 종종 매우 복잡하기 때문에 합리적인 시간 내에 발견적 검색과 조합적 검색 방법을 조합해야 합니다.제약 프로그래밍(CP)은 [1][2]이러한 문제를 해결하는 데 특히 초점을 맞춘 연구 분야입니다.또한 부울 만족도 문제(SAT), 만족도 모듈로 이론(SMT), 혼합 정수 프로그래밍(MIP) 및 응답 세트 프로그래밍(ASP)은 모두 제약 만족도 문제의 특정 형식의 해결에 초점을 맞춘 연구 분야이다.

제약조건 만족 문제로 모델링할 수 있는 문제의 예는 다음과 같습니다.

CP, ASP, Boolean SAT 및 SMT 솔버의 튜토리얼과 함께 제공되는 경우가 많습니다.일반적인 경우, 제약 문제는 훨씬 더 어려울 수 있으며 이러한 단순한 시스템 중 일부에서는 표현되지 않을 수 있습니다.「실생활」의 에는, [6][7]자동 계획, 어휘명확화,[8][9] [10]음악학[11], 제품 구성,[12] 자원 할당등이 있습니다.

CSP에 대한 솔루션의 존재는 의사결정 문제로 볼 수 있습니다.이는 해결책을 찾거나 철저한 검색 후 해결책을 찾지 못하는 방법으로 결정할 수 있습니다(확실한 알고리즘은 일반적으로 충분히 작은 문제에 대해 완전한 결론에 도달하는 경우가 많습니다).경우에 따라서는 CSP가 다른 수학적 추론 프로세스를 통해 사전에 해결책을 가지고 있는 것으로 알려져 있을 수 있습니다.

형식적 정의

정식적으로는 제약조건 만족 문제는 C로 정의됩니다(\ X,

  • { 1 , , X { X = \ { _ { , \, _ { } } a, 。
  • { 1 , , { D = \ { _ { { 1 , , D _ { n} } d 、 , of of of of 。
  • { 1 , , m { C = \ { C _ { , \, _ { } } a 、 제약사항 세트입니다.

})는 공백이 아닌 의 값을 취할 수 있습니다.각 C { C \stylej} {\} {j} { } {J} } } }입니다.는 k k , })는 의 대응하는 서브셋에 k(\ kary 관계입니다.변수 평가는 변수의 서브셋에서 대응하는 서브셋에 대한 특정 값 집합으로의 함수입니다.의 도메인입니다. {\j}에 할당된 이 Rj {j 관계를 하는 경우 v v 제약 조건 t, j {를 충족합니다.

어떤 제약 조건도 위반하지 않는 한 평가는 일관됩니다.평가는 모든 변수를 포함하는 경우 완료됩니다.평가는 일관되고 완전하다면 해결책이다. 이러한 평가는 제약조건 만족 문제를 해결한다고 한다.

솔루션

유한 도메인의 제약 조건 만족 문제는 일반적으로 검색 형식을 사용하여 해결됩니다.가장 많이 사용되는 기술은 백트랙킹, 제약조건 전파로컬 검색의 변형입니다.이러한 기술은 VLNS 방법과 같이 종종 결합되며, 현재 연구는 선형 프로그래밍[14]같은 다른 기술을 포함합니다.

백트랙킹은 재귀 알고리즘입니다.변수의 부분 할당을 유지합니다.처음에는 모든 변수가 할당 해제됩니다.각 단계에서 변수가 선택되고 가능한 모든 값이 차례로 할당됩니다.각 값에 대해 부분 할당과 제약조건의 일관성이 체크되고 일관성이 있는 경우 재귀 호출이 실행됩니다.모든 값이 시행되면 알고리즘은 역추적합니다.이 기본 역추적 알고리즘에서 일관성은 변수가 모두 할당된 모든 제약 조건을 만족시키는 것으로 정의됩니다.백트랙에는 몇 가지 종류가 있습니다.백마킹은 일관성 확인의 효율성을 향상시킵니다.백점프를 사용하면 경우에 따라 "여러 변수"를 백트래킹하여 검색의 일부를 저장할 수 있습니다.제약 조건 학습은 나중에 검색의 일부를 피하는 데 사용할 수 있는 새로운 제약 조건을 추론하고 저장합니다.예측은 또한 변수 또는 값 선택의 효과를 예측하기 위해 역추적에서 종종 사용되며, 따라서 때로는 하위 문제가 언제 충족되거나 만족스럽지 못한지를 미리 판단합니다.

제약 조건 전파 기술은 제약 조건 만족 문제를 수정하기 위해 사용되는 방법입니다.보다 정확하게는 변수 그룹 및/또는 제약 조건의 일관성과 관련된 조건인 로컬 일관성의 형태를 적용하는 방법이다.제약 전파에는 다양한 용도가 있습니다.첫째, 그것은 문제를 동등하지만 보통 해결하기가 더 쉬운 문제로 바꾼다.둘째, 문제의 만족도와 불만족도를 증명할 수 있습니다.이것은 일반적으로 발생하는 것을 보증하는 것은 아닙니다.다만, 반드시, 제약 전파의 일부나 특정 종류의 문제에 대해서 발생합니다.로컬 일관성의 가장 잘 알려져 사용되고 있는 형태는 아크 일관성, 하이퍼 아크 일관성경로 일관성입니다.가장 일반적인 제약 전파 방식은 AC-3 알고리즘으로 아크 일관성을 적용합니다.

로컬 검색 방법은 불완전한 만족도 알고리즘입니다.그들은 문제의 해결책을 찾을 수 있지만, 문제가 만족스럽더라도 실패할 수 있습니다.이들은 변수에 대한 완전한 할당을 반복적으로 개선함으로써 작동합니다.각 단계에서 이 할당에 의해 충족되는 제약조건의 수를 증가시키기 위해 소수의 변수 값이 변경됩니다.min-conflicts 알고리즘은 CSP 고유의 로컬 검색 알고리즘으로, 이 원칙에 근거하고 있습니다.실제로 로컬 검색은 이러한 변경사항이 랜덤 선택 사항의 영향을 받는 경우에도 잘 작동하는 것으로 보입니다.검색과 로컬 검색의 통합이 개발되어 하이브리드 알고리즘이 도입되었습니다.

이론적인 측면

의사결정 문제

CSP는 계산 복잡도 이론과 유한 모델 이론에서도 연구된다.중요한 문제는 각 관계 집합에 대해 해당 집합에서 선택된 관계만 사용하여 나타낼 수 있는 모든 CSP 집합이 P인지 NP-완전인지 여부입니다.만약 그러한 이분법 정리가 참이라면, CSP는 NP-중간 문제를 회피하는 NP의 가장 큰 알려진 부분 집합 중 하나를 제공한다. 그 존재는 모든 이용 가능한 관계가 부울 연산자일 때, 즉, 크기 2에 대한 경우를 처리하는 가정 하에 래드너의 정리에 의해 증명되었다.섀퍼의 이분법 정리는 최근에 더 큰 부류의 [15]관계들로 일반화되었다.

다루기 쉬운 것으로 알려진 CSP의 대부분의 클래스는 제약의 하이퍼그래프가 나무 너비에 경계를 두거나(및 제약 관계의 집합에는 제한이 없음), 또는 제약 조건이 임의의 형태를 가지지만 제약 관계의 집합에는 본질적으로 비단일 다형성이[clarification needed] 존재하는 클래스입니다.

모든 CSP는 접속 쿼리 억제 [16]문제로 간주할 수도 있습니다.

기능상의 문제

기능 클래스 FP와 #P 사이에도 같은 상황이 존재합니다.라드너의 정리를 일반화하면 FP # #P인 한 FP도 #P-완전도 문제가 없다.의사결정 사례와 마찬가지로 #CSP의 문제는 일련의 관계에 의해 정의됩니다.각 문제는 부울 공식을 입력으로 사용하며 작업은 만족스러운 할당 수를 계산하는 것입니다.이는 더 큰 도메인 크기를 사용하여 각각의 만족스러운 할당에 가중치를 부여하고 이러한 가중치의 합계를 계산함으로써 더욱 일반화할 수 있다.복잡한 가중치 부여 #CSP 문제는 모두 FP [17]또는 #P-hard에 있는 것으로 알려져 있습니다.

변종

제약 만족 문제의 고전적 모델은 정적, 유연하지 않은 제약의 모델을 정의합니다.이 경직된 모델은 문제를 [18]쉽게 표현하기 어려운 단점입니다.모델을 다양한 문제에 적응시키기 위해 기본 CSP 정의의 몇 가지 수정이 제안되었습니다.

동적 CSP

동적 CSP[19](DCSP)는 일반적으로 고려해야 할 제약 조건이 [20]환경에 따라 진화하기 때문에 문제의 원래 공식이 어떤 식으로든 변경될 때 유용합니다.DCSP는 스태틱 CSP의 시퀀스로 간주되며, 각 CSP는 변수와 제약조건을 추가(제한) 또는 삭제(완화)할 수 있는 앞의 CSP의 변환입니다.문제의 초기 공식에서 발견된 정보를 사용하여 다음 정보를 구체화할 수 있습니다.해결 방법은 정보가 전송되는 방식에 따라 분류할 수 있습니다.

  • Oracles: 시퀀스에서 이전 CSP에 대해 발견된 솔루션은 현재 CSP의 해결을 처음부터 안내하기 위한 휴리스틱으로 사용됩니다.
  • 로컬 복구: 각 CSP는 이전 CSP의 부분 솔루션에서 시작하여 로컬 검색으로 일관되지 않은 제약 조건을 복구합니다.
  • 제약사항 기록: 검색의 각 단계에서 새로운 제약사항이 정의되어 일관성 없는 의사결정 그룹의 학습을 나타냅니다.이러한 제약은 새로운 CSP 문제로 이어집니다.

유연한 CSP

기존의 CSP는 제약조건을 엄격히 취급합니다.즉, 제약조건은 반드시 필요한 것(각 솔루션이 모든 것을 만족시킬 필요가 있다)과 유연성이 없는 것(완전히 만족해야 한다, 그렇지 않으면 완전히 위반된다)을 의미합니다.유연한 CSP는 이러한 전제 조건을 완화하고 제약 조건을 부분적으로 완화하며 솔루션이 모든 조건을 준수하지 않도록 합니다.는 선호 기반 계획의 선호도와 유사합니다.유연한 CSP에는 다음과 같은 종류가 있습니다.

  • MAX-CSP: 다수의 제약조건을 위반할 수 있으며 솔루션의 품질은 충족된 제약조건의 수에 따라 측정됩니다.
  • Weighted CSP: 사전 정의된 프리퍼런스에 따라 각 제약 위반에 가중치가 부여되는 MAX-CSP.따라서 더 많은 무게로 구속조건을 만족시키는 것이 선호된다.
  • 퍼지 CSP 모델 제약조건은 제약조건의 만족도가 변수 값의 연속 함수인 퍼지 관계로서 완전 만족에서 완전 위반으로 변화한다.

분산형 CSP

DCSP에서는[21] 각 제약 변수는 별도의 지리적 위치를 갖는 것으로 간주됩니다.변수 간의 정보 교환에는 강력한 제약이 가해져 제약 만족 문제를 해결하기 위해 완전히 분산된 알고리즘을 사용해야 한다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Lecoutre, Christophe (2013). Constraint Networks: Techniques and Algorithms. Wiley. p. 26. ISBN 978-1-118-61791-5.
  2. ^ "Constraints – incl. option to publish open access". springer.com. Retrieved 2019-10-03.
  3. ^ 찬드라, 사티쉬 등"JavaScript 정적 컴파일을 위한 유형 추론"ACM SIGPLAN 통지 51.10 (2016) : 410-429
  4. ^ 짐, 트레버, 옌스 팔스버그입니다"서브타이핑이 있는 재귀형 시스템의 유형 추론"저자의 Web 페이지(1999년)에서 입수할 수 있습니다.
  5. ^ 파히, 에드워드, 해로우, 아람."양자 근사 최적화 알고리즘을 통한 양자 우위" arXiv:1602.07674
  6. ^ Malik Ghallab; Dana Nau; Paolo Traverso (21 May 2004). Automated Planning: Theory and Practice. Elsevier. pp. 1–. ISBN 978-0-08-049051-9.
  7. ^ 동적 유연성 제약 만족도와 AI 계획에 대한 적용, 2009-02-06년 Wayback Machine Ian Miguel에서 아카이브 - 슬라이드
  8. ^ Demetriou, George C. "프롤로그(CHIP)에서의 제약처리를 사용한 어휘적 모호성 해소."컴퓨팅언어학회 유럽지부 제6회 회의 진행.컴퓨터 언어학 협회, 1993.
  9. ^ 맥도날드, 메리엘런 C., 마크 S.세이덴버그."어휘와 문장 이해의 제약 만족 설명"심리언어학 핸드북(제2판).2006. 581–611.
  10. ^ Mauricio Toro, Carlos Agen, Camilo Ruea, Gerard Assayag. "GELISP: 음악적 제약 만족 문제와 검색 전략을 나타내는 프레임워크." 이론 및 응용 정보기술 저널 86(2016.7-331)
  11. ^ 카디널리티 기반 구성 규칙에 따른 제품 구성 문제를 해결하기 위해 제약 만족 접근법 적용, 동양 & 명동, Journal of Intelligent Manufacturing volume 24, 99 ~ 111 페이지 (2013)
  12. ^ Modi, Pragnesh Jay 등"자원 할당에 대한 동적 분산 제약 조건 만족 접근 방식"제약 프로그래밍의 원칙과 실천에 관한 국제 회의스프링거, 베를린, 하이델베르크, 2001년
  13. ^ Stuart Jonathan Russell; Peter Norvig (2010). Artificial Intelligence: A Modern Approach. Prentice Hall. p. Chapter 6. ISBN 9780136042594.
  14. ^ Hybrid optimization : the ten years of CPAIOR. Milano, Michela., Van Hentenryck, Pascal., International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimisation Problems. New York: Springer. 2011. ISBN 9781441916440. OCLC 695387020.{{cite book}}: CS1 유지보수: 기타 (링크)
  15. ^ Bodirsky, Manuel; Pinsker, Michael (2011). "Schaefer's theorem for graphs". Proceedings of the 43rd Annual Symposium on Theory of Computing (STOC '11). Association for Computing Machinery. pp. 655–664. arXiv:1011.2894. Bibcode:2010arXiv1011.2894B. doi:10.1145/1993636.1993724. ISBN 978-1-4503-0691-1. S2CID 47097319.
  16. ^ Kolaitis, Phokion G.; Vardi, Moshe Y. (2000). "Conjunctive-Query Containment and Constraint Satisfaction". Journal of Computer and System Sciences. 61 (2): 302–332. doi:10.1006/jcss.2000.1713.
  17. ^ Cai, Jin-Yi; Chen, Xi (2012). "Complexity of counting CSP with complex weights". Proceedings of the Forty-Fourth Annual ACM Symposium on Theory of Computing (STOC '12). pp. 909–920. arXiv:1111.2384. doi:10.1145/2213977.2214059. ISBN 978-1-4503-1245-5. S2CID 53245129.
  18. ^ Miguel, Ian (July 2001). Dynamic Flexible Constraint Satisfaction and its Application to AI Planning (Ph.D. thesis). University of Edinburgh School of Informatics. CiteSeerX 10.1.1.9.6733. hdl:1842/326.
  19. ^ Dechter, R. 및 Dechter, A., Dynamic Constraint Networks신념 유지보수AAAI-88의 Proc., 37-42의 Wayback Machine에서 2012-11-17로 아카이브되었습니다.
  20. ^ 동적 제약 조건 만족 문제에서의 솔루션 재사용, Thomas Schiex
  21. ^ Duffy, K.R.; Leith, D.J. (August 2013), "Decentralized Constraint Satisfaction", IEEE/ACM Transactions on Networking, 21(4), vol. 21, pp. 1298–1308, arXiv:1103.3240, doi:10.1109/TNET.2012.2222923, S2CID 11504393

추가 정보