General
Cursuri
Laboratoare
Teme
General
Cursuri
Laboratoare
Teme
Aceasta e o versiune anterioară a paginii.
O problemă de satisfacere a restricțiilor este descrisă printr-un set de variabile V, o mulțime de domenii finite de valori pentru acestea D și un set de constrângeri C. Vom nota D(X) domeniul variabilei X ∈ V. O constrângere c va fi reprezentată printr-o relație între
Să se scrie un predicat gac3/5
pentru revizuirea domeniilor de valori ale unor variabile folosind algoritmul GAC3 descris mai sus.
gac3(+Vars, +Domains, +Constraints, +HyperArcs, -RevisedDomains)
unde:
Vars
reprezintă mulțimea tuturor variabilelor problemei (o listă de variabile PrologDomains
reprezintă lista domeniilor de valori pentru variabilele Vars
Constraints
reprezintă lista tuturor restricțiilor problemei. O constrângere va fi reprezentată printr-o structură constraint(CVars, Expression)
undeCVars
reprezintă lista variabilelor implicate de acea constrângere (o listă de variabile Prolog)Expression
reprezintă un scop Prolog ce va putea fi verificat după instanțierea variabilelor din CVars
[constraint([X], X > 0), constraint([X, Y, Z], X =:= Y + Z)]