Nwlapcug.com


Principi di programmazione a vincoli

La programmazione a vincoli è un approccio alternativo alla programmazione informatica che coinvolge una combinazione di tecniche di calcolo e logica o ragionamento. Il principio di base della programmazione a vincoli è specificare problemi con informazioni incomplete, imprevedibile e risolvere quei problemi affermando condizioni o proprietà--altrimenti nota come vincoli - soddisfatti dalla soluzione.

Vincolo

La programmazione a vincoli è basata sull'idea di un vincolo: una relazione, spesso un rapporto di uguaglianza o di disuguaglianza, tra i valori delle due variabili matematiche. In altre parole, un vincolo può essere pensato come un requisito che indica quali combinazioni di valori della gamma di valori possibili per ogni variabile sono ricevibili; "x > 3," ad esempio, è un vincolo sulla "x".

Sistema di vincolo

Un sistema di vincolo specifica formalmente le norme che disciplinano correttamente formavano formule, o sintassi e la verità o falsità o semantica, dei vincoli di interesse. Un sistema di vincolo specifica la lingua in cui i vincoli sono espressi, quali sono i simboli di vincolo, come sono definiti e quali formule di vincolo vengono utilizzate per la logica nel vincolo di linguaggio di programmazione.

Soddisfazione di vincolo

In teoria, la programmazione a vincoli è costituito da due fasi: generazione di una rappresentazione di un problema e risolvere il problema. In pratica, ognuna di queste fasi può essere suddiviso in una serie di passaggi più piccoli, che possono essere eseguite in modo alternato. Per risolvere un problema utilizzando la programmazione a vincoli, il problema deve prima essere specificato o formulato, come un problema di soddisfacimento di vincoli, che consiste di un numero finito di vincoli che ciascuno si applica a una specifica sequenza di variabili. Soddisfazione di vincolo tenta di assegnare valori alle variabili in modo che tutti i vincoli sono veri. In genere, un problema di soddisfacimento di vincoli può essere rappresentato in più modi; programmazione a vincoli è altamente flessibile, perché i vincoli possono essere aggiunti, modificati o rimossi.

Risolutore dei vincoli di

Risolutore un vincolo implementa una formula matematica o algoritmo, che raccoglie i vincoli da uno o più programmi in esecuzione, semplifica loro e, se possibile, li risolve. Il risultato finale è conosciuto come il vincolo di risposta.

Applicazioni

Problemi risolti utilizzando la programmazione a vincoli in genere sono formulati in termini di requisiti, proprietà o leggi. Tali problemi si verificano frequentemente nell'industria e commercio, tra cui analisi, progettazione, pianificazione, allocazione delle risorse e trasporto. La programmazione a vincoli si applica con successo a numerosi altri campi, come l'ingegneria elettrica, biologia molecolare e ricerca operativa.