L'answer set programming (ASP) è una forma di programmazione logica di tipo dichiarativo utilizzato per problemi di ricerca complessi (in primis NP-difficili), basata sulla semantica del modello stabile (o answer set).[1] In ASP i problemi di ricerca sono ridotti al calcolo di modelli stabili; per generare tali modelli vengono utilizzati programmi appositi noti come answer set solvers. Il linguaggio tipico di questo modello di programmazione è l'Answer Set Programming in Logic (AnsProlog), sottoinsieme del Prolog, ed è impiegato in particolare per risolvere problemi di pianificazione (planning) e rappresentazione della conoscenza.[1]