stringtranslate.com

Problema de satisfacción de restricciones

Los problemas de satisfacción de restricciones ( CSP ) son cuestiones matemáticas definidas como un conjunto de objetos cuyo estado debe satisfacer una serie de restricciones o limitaciones . Los CSP representan las entidades de un problema como una colección homogénea de restricciones finitas sobre variables , que se resuelve mediante métodos de satisfacción de restricciones . Los CSP son objeto de investigación tanto en inteligencia artificial como en investigación de operaciones , ya que la regularidad en su formulación proporciona una base común para analizar y resolver problemas de muchas familias aparentemente no relacionadas. Los CSP suelen presentar una alta complejidad , lo que requiere una combinación de heurísticas y métodos de búsqueda combinatoria para resolverse en un tiempo razonable. La programación de restricciones (CP) es el campo de investigación que se centra específicamente en abordar este tipo de problemas. [1] [2] Además, el problema de satisfacibilidad booleano (SAT), las teorías de módulo de satisfacibilidad (SMT), la programación entera mixta (MIP) y la programación de conjuntos de respuestas (ASP) son todos campos de investigación centrados en la resolución de formas particulares del problema de satisfacción de restricciones.

Algunos ejemplos de problemas que pueden modelarse como un problema de satisfacción de restricciones incluyen:

Estos suelen incluir tutoriales de solucionadores CP , ASP, Boolean SAT y SMT. En el caso general, los problemas de restricción pueden ser mucho más difíciles y pueden no ser expresables en algunos de estos sistemas más simples. Los ejemplos de la "vida real" incluyen planificación automatizada , [6] [7] desambiguación léxica , [8] [9] musicología , [10] configuración de productos [11] y asignación de recursos . [12]

La existencia de una solución para un problema de solución de problemas puede considerarse un problema de decisión . Esto puede decidirse encontrando una solución, o no encontrando una solución después de una búsqueda exhaustiva ( los algoritmos estocásticos normalmente nunca llegan a una conclusión exhaustiva, mientras que las búsquedas dirigidas a menudo sí lo hacen, en problemas suficientemente pequeños). En algunos casos, se puede saber de antemano que el problema de solución de problemas puede tener soluciones, a través de algún otro proceso de inferencia matemática.

Definición formal

Formalmente, un problema de satisfacción de restricciones se define como un triple , donde [13]

Cada variable puede tomar los valores del dominio no vacío . Cada restricción es a su vez un par , donde es un subconjunto de variables y es una relación -aria en el subconjunto correspondiente de dominios . Una evaluación de las variables es una función de un subconjunto de variables a un conjunto particular de valores en el subconjunto correspondiente de dominios. Una evaluación satisface una restricción si los valores asignados a las variables satisfacen la relación .

Una evaluación es consistente si no viola ninguna de las restricciones. Una evaluación es completa si incluye todas las variables. Una evaluación es una solución si es consistente y completa; se dice que una evaluación de este tipo resuelve el problema de satisfacción de restricciones.

Solución

Los problemas de satisfacción de restricciones en dominios finitos se resuelven típicamente utilizando una forma de búsqueda . Las técnicas más utilizadas son variantes de backtracking , propagación de restricciones y búsqueda local . Estas técnicas también se combinan a menudo, como en el método VLNS , y la investigación actual involucra otras tecnologías como la programación lineal . [14]

El backtracking es un algoritmo recursivo. Mantiene una asignación parcial de las variables. Inicialmente, todas las variables están sin asignar. En cada paso, se elige una variable y se le asignan todos los valores posibles por turno. Para cada valor, se comprueba la coherencia de la asignación parcial con las restricciones; en caso de coherencia, se realiza una llamada recursiva . Cuando se han probado todos los valores, el algoritmo retrocede. En este algoritmo básico de backtracking, la coherencia se define como la satisfacción de todas las restricciones cuyas variables están todas asignadas. Existen varias variantes de backtracking. El backmarking mejora la eficiencia de la comprobación de la coherencia. El backjumping permite guardar parte de la búsqueda retrocediendo "más de una variable" en algunos casos. El aprendizaje de restricciones infiere y guarda nuevas restricciones que pueden utilizarse posteriormente para evitar parte de la búsqueda. El look-ahead también se utiliza a menudo en el backtracking para intentar prever los efectos de la elección de una variable o un valor, determinando así a veces de antemano cuándo un subproblema es satisfacible o no.

Las técnicas de propagación de restricciones son métodos utilizados para modificar un problema de satisfacción de restricciones. Más precisamente, son métodos que imponen una forma de consistencia local , que son condiciones relacionadas con la consistencia de un grupo de variables y/o restricciones. La propagación de restricciones tiene varios usos. En primer lugar, convierte un problema en uno que es equivalente pero que suele ser más sencillo de resolver. En segundo lugar, puede demostrar la satisfacibilidad o insatisfacibilidad de los problemas. No se garantiza que esto suceda en general; sin embargo, siempre sucede para algunas formas de propagación de restricciones y/o para ciertos tipos de problemas. Las formas más conocidas y utilizadas de consistencia local son la consistencia de arco , la consistencia de hiperarco y la consistencia de trayectoria . El método de propagación de restricciones más popular es el algoritmo AC-3 , que impone la consistencia de arco.

Los métodos de búsqueda local son algoritmos de satisfacibilidad incompleta. Pueden encontrar una solución a un problema, pero pueden fallar incluso si el problema es satisfacible. Funcionan mejorando iterativamente una asignación completa sobre las variables. En cada paso, se cambia el valor de una pequeña cantidad de variables, con el objetivo general de aumentar la cantidad de restricciones satisfechas por esta asignación. El algoritmo de conflictos mínimos es un algoritmo de búsqueda local específico para los CSP y se basa en ese principio. En la práctica, la búsqueda local parece funcionar bien cuando estos cambios también se ven afectados por elecciones aleatorias. Se ha desarrollado una integración de la búsqueda con la búsqueda local, lo que conduce a algoritmos híbridos .

Aspectos teóricos

Complejidad computacional

Los CSP también se estudian en la teoría de la complejidad computacional , la teoría de modelos finitos y el álgebra universal . Resultó que las preguntas sobre la complejidad de los CSP se traducen en importantes preguntas algebraicas universales sobre las álgebras subyacentes. Este enfoque se conoce como el enfoque algebraico de los CSP. [15]

Dado que cada problema de decisión computacional es equivalente en tiempo polinomial a un CSP con una plantilla infinita, [16] los CSP generales pueden tener una complejidad arbitraria. En particular, también hay CSP dentro de la clase de problemas NP-intermedios , cuya existencia fue demostrada por Ladner , bajo el supuesto de que P ≠ NP .

Sin embargo, una gran clase de CSP que surgen de aplicaciones naturales satisfacen una dicotomía de complejidad, lo que significa que cada CSP dentro de esa clase está en P o NP-completo . Estos CSP proporcionan así uno de los subconjuntos más grandes conocidos de NP que evita problemas NP-intermedios . Una dicotomía de complejidad fue probada por primera vez por Schaefer para CSP booleanos, es decir, CSP sobre un dominio de 2 elementos y donde todas las relaciones disponibles son operadores booleanos . Este resultado se ha generalizado para varias clases de CSP, más notablemente para todos los CSP sobre dominios finitos. Esta conjetura de dicotomía de dominio finito fue formulada por primera vez por Tomás Feder y Moshe Vardi, [17] y finalmente probada de forma independiente por Andrei Bulatov [18] y Dmitriy Zhuk en 2017. [19]

Otras clases para las que se ha confirmado una dicotomía de complejidad son

La mayoría de las clases de CSP que se sabe que son manejables son aquellas en las que el hipergrafo de restricciones tiene un ancho de árbol acotado , [27] o en las que las restricciones tienen una forma arbitraria pero existen polimorfismos ecuacionalmente no triviales del conjunto de relaciones de restricción. [28]

Se ha formulado una conjetura de dicotomía de dominio infinito [29] para todos los CSP de reductos de estructuras homogéneas finitamente acotadas, afirmando que el CSP de dicha estructura está en P si y solo si su clon de polimorfismo es ecuacionalmente no trivial, y NP-duro en caso contrario.

La complejidad de estos CSP de dominio infinito, así como de otras generalizaciones (CSP valorados, CSP cuantificados, CSP prometedores), sigue siendo un área de investigación activa. [30] [1][2]

Cada CSP también puede considerarse como un problema de contención de consultas conjuntivas . [31]

Problemas de función

Existe una situación similar entre las clases funcionales FP y #P . Por una generalización del teorema de Ladner , también hay problemas que no son ni FP ni #P-completos mientras FP ≠ #P. Como en el caso de decisión, un problema en el #CSP se define por un conjunto de relaciones. Cada problema toma una fórmula booleana como entrada y la tarea es calcular el número de asignaciones satisfactorias. Esto se puede generalizar aún más utilizando tamaños de dominio más grandes y adjuntando un peso a cada asignación satisfactoria y calculando la suma de estos pesos. Se sabe que cualquier problema #CSP ponderado complejo es FP o #P-duro. [32]

Variantes

El modelo clásico del problema de satisfacción de restricciones define un modelo de restricciones estáticas e inflexibles. Este modelo rígido es una deficiencia que dificulta la representación sencilla de los problemas. [33] Se han propuesto varias modificaciones de la definición básica de CSP para adaptar el modelo a una amplia variedad de problemas.

CSP dinámicos

Los CSP dinámicos [34] ( DCSP ) son útiles cuando la formulación original de un problema se altera de alguna manera, típicamente porque el conjunto de restricciones a considerar evoluciona debido al entorno. [35] Los DCSP se consideran como una secuencia de CSP estáticos, cada uno de ellos una transformación del anterior en el que se pueden agregar variables y restricciones (restricción) o eliminar (relajación). La información que se encuentra en las formulaciones iniciales del problema se puede utilizar para refinar las siguientes. El método de resolución se puede clasificar según la forma en que se transfiere la información:

CSP flexibles

Los CSP clásicos tratan las restricciones como duras, es decir, que son imperativas (cada solución debe satisfacerlas todas) e inflexibles (en el sentido de que deben satisfacerse por completo o, de lo contrario, se violan por completo). Los CSP flexibles relajan esos supuestos, relajando parcialmente las restricciones y permitiendo que la solución no cumpla con todas ellas. Esto es similar a las preferencias en la planificación basada en preferencias . Algunos tipos de CSP flexibles incluyen:

CSP descentralizados

En los DCSP [36] se considera que cada variable de restricción tiene una ubicación geográfica separada. Se imponen fuertes restricciones al intercambio de información entre variables, lo que requiere el uso de algoritmos completamente distribuidos para resolver el problema de satisfacción de restricciones.

Véase también

Referencias

  1. ^ Lecoutre, Christophe (2013). Redes de restricciones: técnicas y algoritmos . Wiley. pág. 26. ISBN. 978-1-118-61791-5.
  2. ^ "Restricciones, incluida la opción de publicar en acceso abierto". springer.com . Consultado el 3 de octubre de 2019 .
  3. ^ Chandra, Satish, et al. "Inferencia de tipos para compilación estática de JavaScript". ACM SIGPLAN Notices 51.10 (2016): 410-429.
  4. ^ Jim, Trevor y Jens Palsberg. "Inferencia de tipos en sistemas de tipos recursivos con subtipificación". Disponible en la página web de los autores (1999).
  5. ^ Farhi, Edward; Aram W Harrow (2016). "Supremacía cuántica a través del algoritmo de optimización aproximada cuántica". arXiv : 1602.07674 [quant-ph].
  6. ^ Malik Ghallab; Dana Nau; Paolo Traverso (21 de mayo de 2004). Planificación automatizada: teoría y práctica. Elsevier. pp. 1–. ISBN 978-0-08-049051-9.
  7. ^ Satisfacción de restricciones flexibles dinámicas y su aplicación a la planificación de IA, archivado el 6 de febrero de 2009 en Wayback Machine . Ian Miguel – diapositivas.
  8. ^ Demetriou, George C. "Desambiguación léxica mediante el manejo de restricciones en Prolog (CHIP)". Actas de la sexta conferencia sobre el capítulo europeo de la Asociación de Lingüística Computacional. Asociación de Lingüística Computacional, 1993.
  9. ^ MacDonald, Maryellen C. y Mark S. Seidenberg. "Explicaciones de la satisfacción de restricciones en la comprensión léxica y de oraciones". Handbook of Psycholinguistics (segunda edición). 2006. 581–611.
  10. ^ Mauricio Toro, Carlos Agon, Camilo Rueda, Gerard Assayag. "GELISP: UN MARCO PARA REPRESENTAR PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES MUSICALES Y ESTRATEGIAS DE BÚSQUEDA". Journal of Theoretical and Applied Information Technology 86 (2). 2016. 327–331.
  11. ^ Aplicación del enfoque de satisfacción de restricciones para resolver problemas de configuración de productos con reglas de configuración basadas en cardinalidad , Dong Yang y Ming Dong, Journal of Intelligent Manufacturing, volumen 24, páginas 99-111 (2013)
  12. ^ Modi, Pragnesh Jay, et al. "Un enfoque dinámico y distribuido de satisfacción de restricciones para la asignación de recursos". Conferencia internacional sobre principios y práctica de programación con restricciones. Springer, Berlín, Heidelberg, 2001.
  13. ^ Stuart Jonathan Russell; Peter Norvig (2010). Inteligencia artificial: un enfoque moderno . Prentice Hall. pág. Capítulo 6. ISBN 9780136042594.
  14. ^ Milano, Michela ; Van Hentenryck, Pascal, eds. (2011). Optimización híbrida: los diez años de CPAIOR . Conferencia internacional sobre integración de técnicas de IA y OR en programación con restricciones para problemas de optimización combinatoria. Nueva York: Springer. ISBN 9781441916440.OCLC 695387020  .
  15. ^ Barto, Libor; Brady, Zarathustra; Bulatov, Andrei; Kozik, Marcin; Zhuk, Dmitriy (15 de mayo de 2024). "Unificación de los tres enfoques algebraicos para el CSP a través de álgebras de Taylor mínimas". TheoretiCS . 3 : 11361. arXiv : 2104.11808 . doi :10.46298/theoretics.24.14. ISSN  2751-4838.
  16. ^ Bodirsky, Manuel; Grohe, Martin (2008). "No dicotomías en la complejidad de satisfacción de restricciones". En Aceto, Luca; Damgård, Ivan; Goldberg, Leslie Ann; Halldórsson, Magnús M.; Ingólfsdóttir, Anna; Walukiewicz, Igor (eds.). Autómatas, lenguajes y programación . Lecture Notes in Computer Science. Vol. 5126. Berlín, Heidelberg: Springer. págs. 184–196. doi :10.1007/978-3-540-70583-3_16. ISBN . 978-3-540-70583-3.
  17. ^ Feder, Tomás; Vardi, Moshe Y. (1998). "La estructura computacional del SNP monádico monótono y la satisfacción de restricciones: un estudio a través de la teoría de grupos y de registros de datos". Revista SIAM de Computación . 28 (1): 57–104. doi :10.1137/S0097539794266766. ISSN  0097-5397.
  18. ^ Bulatov, Andrei (2017). "Un teorema de dicotomía para CSP no uniformes". Actas del 58.º Simposio anual del IEEE sobre fundamentos de la informática, FOCS 2017. IEEE Computer Society. págs. 319–330. arXiv : 1703.03021 . doi :10.1109/FOCS.2017.37. ISBN. 978-1-5386-3464-6.
  19. ^ Zhuk, Dmitriy (2020). "Una prueba de la conjetura de dicotomía CSP". Revista de la ACM . 67 (5): 1–78. arXiv : 1704.01914 . doi :10.1145/3402029.
  20. ^ Bodirsky, Manuel; Kára, Jan (8 de febrero de 2010). "La complejidad de los problemas de satisfacción de restricciones temporales". J. ACM . 57 (2): 9:1–9:41. doi :10.1145/1667053.1667058. ISSN  0004-5411.
  21. ^ Bodirsky, Manuel; Pinsker, Michael (2011). "Teorema de Schaefer para grafos". Actas del 43.° Simposio Anual sobre Teoría de la Computación (STOC '11) . Association for Computing Machinery . págs. 655–664. arXiv : 1011.2894 . doi :10.1145/1993636.1993724. ISBN . 978-1-4503-0691-1. Número de identificación del sujeto  47097319.
  22. ^ Bodirsky, Manuel; Jonsson, Peter; Pham, Trung Van (2 de agosto de 2017). "La complejidad de los problemas de satisfacción de restricciones de filogenia". ACM Trans. Comput. Logic . 18 (3): 23:1–23:42. arXiv : 1503.07310 . doi :10.1145/3105907. ISSN  1529-3785.
  23. ^ Kompatscher, Michael; Pham, Trung Van (2017). "Una dicotomía de complejidad para la satisfacción de la restricción Poset". DROPS-IDN/V2/Document/10.4230/LIPIcs.STACS.2017.47 . Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi : 10.4230/LIPIcs.STACS.2017.47 .
  24. ^ Bodirsky, Manuel; Martin, Barnaby; Pinsker, Michael; Pongrácz, András (enero de 2019). "Problemas de satisfacción de restricciones para reducciones de grafos homogéneos". Revista SIAM de Computación . 48 (4): 1224–1264. arXiv : 1602.05819 . doi :10.1137/16M1082974. ISSN  0097-5397.
  25. ^ Bodirsky, Manuel; Mottet, Antoine (2018-05-20), "Una dicotomía para reducciones de primer orden de estructuras unarias", Métodos lógicos en informática , 14 (2), arXiv : 1601.04520 , doi :10.23638/LMCS-14(2:13)2018
  26. ^ Bodirsky, Manuel; Madelaine, Florent; Mottet, Antoine (9 de julio de 2018). "Una prueba algebraica universal de la dicotomía de la complejidad para SNP monádicos monótonos". Actas del 33.° simposio anual ACM/IEEE sobre lógica en informática . LICS '18. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 105–114. arXiv : 1802.03255 . doi :10.1145/3209108.3209156. ISBN . 978-1-4503-5583-4.
  27. ^ Barto, Libor; Kozik, Marcin (1 de enero de 2014). "Problemas de satisfacción de restricciones solucionables mediante métodos de consistencia local". J. ACM . 61 (1): 3:1–3:19. doi :10.1145/2556646. ISSN  0004-5411.
  28. ^ Bodirsky, Manuel (2021). Complejidad de la satisfacción de restricciones en el dominio infinito. Apuntes de clase sobre lógica. Cambridge: Cambridge University Press. ISBN 978-1-107-04284-1.
  29. ^ Bodirsky, Manuel; Pinsker, Michael; Pongrácz, András (marzo de 2021). "Homomorfismos de clones proyectivos". La revista de lógica simbólica . 86 (1): 148-161. arXiv : 1409.4601 . doi :10.1017/jsl.2019.23. ISSN  0022-4812.
  30. ^ Pinsker, Michael (31 de marzo de 2022). "Desafíos actuales en la satisfacción de restricciones de dominio infinito: dilemas de las ovejas infinitas". arXiv : 2203.17182 [cs.LO].
  31. ^ Kolaitis, Phokion G.; Vardi, Moshe Y. (2000). "Contención de consultas conjuntivas y satisfacción de restricciones". Revista de ciencias de la computación y de sistemas . 61 (2): 302–332. doi : 10.1006/jcss.2000.1713 .
  32. ^ Cai, Jin-Yi; Chen, Xi (2012). "Complejidad de contar CSP con pesos complejos". Actas del cuadragésimo cuarto simposio anual de la ACM sobre teoría de la computación (STOC '12) . págs. 909–920. arXiv : 1111.2384 . doi :10.1145/2213977.2214059. ISBN . 978-1-4503-1245-5.S2CID53245129  .​
  33. ^ Miguel, Ian (julio de 2001). Satisfacción de restricciones flexibles dinámicas y su aplicación a la planificación de IA (tesis doctoral). Facultad de Informática de la Universidad de Edimburgo . CiteSeerX 10.1.1.9.6733 . hdl :1842/326. 
  34. ^ Dechter, R. y Dechter, A., Mantenimiento de creencias en redes de restricciones dinámicas Archivado el 17 de noviembre de 2012 en Wayback Machine . En Proc. de AAAI-88, 37–42.
  35. ^ Reutilización de soluciones en problemas de satisfacción de restricciones dinámicas, Thomas Schiex
  36. ^ Duffy, KR; Leith, DJ (agosto de 2013), "Satisfacción descentralizada de restricciones", IEEE/ACM Transactions on Networking, 21(4) , vol. 21, págs. 1298–1308, arXiv : 1103.3240 , doi : 10.1109/TNET.2012.2222923, S2CID  11504393

Lectura adicional