Definición
Un paradigma declarativo de resolución de problemas donde los problemas de búsqueda se codifican como programas lógicos cuyos modelos estables (conjuntos de respuesta) corresponden a soluciones; la negación por defecto y las construcciones no monotónicas expresan alternativas y restricciones de forma compacta.

Principio

Principio
Codificar restricciones, elecciones combinatorias y valores por defecto como reglas de modo que la semántica de modelos estables seleccione subconjuntos de literales autoconsistentes; resolver equivale a computar modelos estables de un programa finitamente instanciado.

Demostración

Demostración
Codificación del 3-coloreado de un grafo: reglas asignan colores no determinísticamente a vértices, restricciones impiden que vértices adyacentes compartan color, y cada modelo estable corresponde a un coloreado válido.

Aplicación incorrecta

Aplicación incorrecta
Usar un grounding ingenuo sin considerar el tamaño del dominio provoca explosión combinatoria, o modelar problemas de optimización continua numérica sin extensiones adecuadas, abusando del marco discreto de modelos estables del ASP.

Consecuencia

Consecuencia
Con uso apropiado, ASP produce codificaciones compactas para problemas combinatorios difíciles, facilita la expresión de valores por defecto y excepciones, y se beneficia de solvers de modelos estables eficientes para prototipado y razonamiento rápido.

Inversión

Inversión
Invertir a búsqueda clásica de modelos o codificaciones SAT donde los modelos son modelos proposicionales clásicos en lugar de modelos estables; así se pierde el razonamiento por defecto no monotónico propio del ASP.

Límite

Límite
Más efectivo para espacios de búsqueda finitos y discretos y problemas combinatorios; excluye dominios continuos o problemas que requieran algoritmos numéricos iterativos procedurales a menos que se hibriden con otros solvers.

Tensión semántica

Tensión semántica
Tensiones con paradigmas relacionados (SAT, Programación por Restricciones): ASP enfatiza la representación no monotónica y los múltiples conjuntos de respuesta como soluciones, mientras que SAT/CP se centran en satisfacibilidad proposicional o dominios de restricciones con distintos compromisos operativos.

Síntesis

Síntesis
La Programación por Conjuntos de Respuesta es una forma declarativa de representar búsqueda y razonamiento por defecto de modo que el cálculo de modelos estables produce soluciones: cambia el control procedimental por codificaciones basadas en reglas bajo una semántica no monotónica.