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 gran complejidad y requieren 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 booleano de satisfacibilidad (SAT), las teorías del módulo de satisfacibilidad (SMT), la programación entera mixta (MIP) y la programación de conjuntos de respuestas (ASP) son campos de investigación que se centran en la resolución de formas particulares de la problema de satisfacción de restricciones.

Ejemplos de problemas que se pueden modelar como un problema de satisfacción de restricciones incluyen:

Estos suelen contar con tutoriales de solucionadores de CP , ASP, SAT booleano y SMT. En el caso general, los problemas de restricciones 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 CSP puede verse como un problema de decisión . Esto se puede decidir encontrando una solución, o no logrando encontrar 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 CSP tiene soluciones, mediante algún otro proceso de inferencia matemática.

Definicion formal

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

Cada variable puede tomar los valores en el 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 correspondiente subconjunto 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 de dominios correspondiente. 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 está completa si incluye todas las variables. Una evaluación es una solución si es consistente y completa; Se dice que tal evaluación resuelve el problema de satisfacción de restricciones.

Solución

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

El retroceso es un algoritmo recursivo. Mantiene una asignación parcial de las variables. Inicialmente, todas las variables están desasignadas. En cada paso, se elige una variable y se le asignan todos los valores posibles por turno. Para cada valor, se verifica 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 retroceso, la coherencia se define como la satisfacción de todas las restricciones cuyas variables están asignadas. Existen varias variantes de retroceso. El backmarking mejora la eficiencia a la hora de comprobar la coherencia. El salto hacia atrás 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 usarse posteriormente para evitar parte de la búsqueda. La anticipación también se utiliza a menudo para retroceder para intentar prever los efectos de elegir una variable o un valor, determinando así a veces de antemano cuándo un subproblema es satisfactorio o insatisfactorio.

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 equivalente pero normalmente más sencillo de resolver. En segundo lugar, puede demostrar la satisfacibilidad o insatisfacción de los problemas. No se garantiza que esto suceda en general; sin embargo, siempre ocurre con algunas formas de propagación de restricciones y/o con ciertos tipos de problemas. Las formas de consistencia local más conocidas y utilizadas son la consistencia de arco , la consistencia de hiperarco y la consistencia de ruta . El método de propagación de restricciones más popular es el algoritmo AC-3 , que impone la coherencia del arco.

Los métodos de búsqueda local son algoritmos de satisfacibilidad incompletos. Pueden encontrar una solución a un problema, pero pueden fracasar incluso si el problema es satisfactoria. 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 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 ha dado lugar a algoritmos híbridos .

Aspectos teóricos

Problemas de decisión

Los CSP también se estudian en la teoría de la complejidad computacional y la teoría de modelos finitos . Un importante teorema de dicotomía establece que para cada conjunto de relaciones, el conjunto de todos los CSP que pueden representarse utilizando únicamente relaciones elegidas de ese conjunto está en P o NP-completo . Los CSP proporcionan así uno de los subconjuntos más grandes conocidos de NP que evita problemas intermedios de NP , cuya existencia fue demostrada por el teorema de Ladner bajo el supuesto de que P ≠ NP . El teorema de dicotomía de Schaefer maneja el caso en el que todas las relaciones disponibles son operadores booleanos , es decir, para un tamaño de dominio 2. El teorema de dicotomía de Schaefer se generalizó posteriormente a una clase más amplia de relaciones, [15] y por primera vez se conjeturó un teorema de dicotomía completo como el de Feder. –Conjetura de Vardi [16] y finalmente demostrada de forma independiente por Andrei Bulatov [17] y Dmitriy Zhuk. [18]

La mayoría de las clases de CSP que se sabe que son manejables son aquellas en las que el hipergráfico de restricciones tiene un ancho de árbol limitado (y no hay restricciones en el conjunto de relaciones de restricciones), o donde las restricciones tienen forma arbitraria pero existen polimorfismos esencialmente no unarios . aclaración necesaria ] del conjunto de relaciones de restricción.

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

Problemas de función

Existe una situación similar entre las clases funcionales FP y #P . Por una generalización del teorema de Ladner , tampoco hay problemas ni en FP ni en #P-completo siempre que FP ≠ #P. Como en el caso de la 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 asignando un peso a cada asignación satisfactoria y calculando la suma de estos pesos. Se sabe que cualquier problema #CSP ponderado complejo está en FP o #P-hard. [20]

Variantes

El modelo clásico de problema de satisfacción de restricciones define un modelo de restricciones estáticas e inflexibles. Este modelo rígido es una deficiencia que dificulta representar los problemas fácilmente. [21] 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 [22] ( DCSP ) son útiles cuando la formulación original de un problema se altera de alguna manera, generalmente porque el conjunto de restricciones a considerar evoluciona debido al entorno. [23] Los DCSP se ven como una secuencia de CSP estáticos, cada uno de los cuales es una transformación del anterior en el que se pueden agregar variables y restricciones (restricción) o eliminar (relajación). La información encontrada en las formulaciones iniciales del problema se puede utilizar para perfeccionar 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, lo que significa que son imperativas (cada solución debe satisfacerlas todas) e inflexibles (en el sentido de que deben satisfacerse completamente o, de lo contrario, serán violadas por completo). Los CSP flexibles relajan esos supuestos, relajando parcialmente las restricciones y permitiendo que la solución no las cumpla todas. Esto es similar a las preferencias en la planificación basada en preferencias . Algunos tipos de CSP flexibles incluyen:

CSP descentralizados

En los DCSP [24] 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.

Ver también

Referencias

  1. ^ Lecoutre, Christophe (2013). Redes de restricciones: técnicas y algoritmos . Wiley. pag. 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 y otros. "Inferencia de tipos para compilación estática de JavaScript". Avisos ACM SIGPLAN 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 y Harrow, Aram. "Supremacía cuántica a través del algoritmo de optimización cuántica aproximada". arXiv:1602.07674
  6. ^ Malik Ghallab; Dana Nau; Paolo Traverso (21 de mayo de 2004). Planificación automatizada: teoría y práctica. Elsevier. págs.1–. ISBN 978-0-08-049051-9.
  7. ^ Satisfacción de restricciones dinámicas y flexibles y su aplicación a la planificación de la IA, archivado el 6 de febrero de 2009 en Wayback Machine Ian Miguel - diapositivas.
  8. ^ Demetriou, George C. "Desambiguación léxica mediante 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. "Relatos de satisfacción de restricciones de comprensión léxica y de oraciones". Manual de psicolingüística (segunda edición). 2006. 581–611.
  10. ^ Mauricio Toro, Carlos Agón, Camilo Rueda, Gerard Assayag. "GELISP: UN MARCO PARA REPRESENTAR PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES MUSICALES Y ESTRATEGIAS DE BÚSQUEDA". Revista de Tecnología de la Información Teórica y Aplicada 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 & Ming Dong, Journal of Intelligent Manufacturing volumen 24, páginas 99-111 (2013)
  12. ^ Modi, Pragnesh Jay y otros. "Un enfoque dinámico de satisfacción de restricciones distribuidas para la asignación de recursos". Conferencia internacional sobre principios y práctica de la programación de restricciones. Springer, Berlín, Heidelberg, 2001.
  13. ^ Estuardo Jonathan Russell; Peter Norvig (2010). Inteligencia artificial: un enfoque moderno . Prentice Hall. pag. Capítulo 6. ISBN 9780136042594.
  14. ^ Milán, 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 de restricciones para problemas de optimización combinatoria. Nueva York: Springer. ISBN 9781441916440. OCLC  695387020.
  15. ^ Bodirsky, Manuel; Pinsker, Michael (2011). "Teorema de Schaefer para gráficas". Actas del 43º Simposio Anual sobre Teoría de la Computación (STOC '11) . Asociación para Maquinaria de Computación . págs. 655–664. arXiv : 1011.2894 . Código Bib : 2010arXiv1011.2894B. doi :10.1145/1993636.1993724. ISBN 978-1-4503-0691-1. S2CID  47097319.
  16. ^ 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 del registro de datos y la teoría de grupos". Revista SIAM de Computación . 28 (1): 57–104. doi :10.1137/S0097539794266766. ISSN  0097-5397.
  17. ^ 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 . Sociedad de Computación IEEE. págs. 319–330. doi :10.1109/FOCS.2017.37.
  18. ^ Zhuk, Dmitriy (2020). "Una prueba de la conjetura de la dicotomía CSP". Revista de la ACM . 67 (5): 1–78. arXiv : 1704.01914 . doi :10.1145/3402029.
  19. ^ Kolaítis, 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 .
  20. ^ Cai, Jin-Yi; Chen, Xi (2012). "Complejidad de contar CSP con pesos complejos". Actas del cuadragésimo cuarto simposio anual de 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. S2CID  53245129.
  21. ^ Miguel, Ian (julio de 2001). Satisfacción de restricciones dinámicas y flexibles y su aplicación a la planificación de la IA (tesis doctoral). Escuela de Informática de la Universidad de Edimburgo . CiteSeerX 10.1.1.9.6733 . hdl : 1842/326. 
  22. ^ 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.
  23. ^ Reutilización de soluciones en problemas de satisfacción de restricciones dinámicas, Thomas Schiex
  24. ^ Duffy, KR; Leith, DJ (agosto de 2013), "Satisfacción de restricciones descentralizadas", IEEE/ACM Transactions on Networking, 21(4) , vol. 21, págs. 1298–1308, arXiv : 1103.3240 , doi : 10.1109/TNET.2012.2222923, S2CID  11504393

Otras lecturas