[ library(tentative) | Reference Manual | Alphabetic Index ]
vs_random_violated(+VS, -X)
Retrieve a random violated variable from a varset
- VS
- A varset
- X
- Tentative variable (output)
Description
Retrieve a variable from a varset whose violation count is
nonzero. If there are more than one, a random candidate is returned.
Modes and Determinism
- vs_random_violated(+, -) is semidet
Fail Conditions
The varset does not contain a violated variable
Examples
?- Vars=[A,B,C], tent_set(Vars, [a,b,c]), vs_create(Vars, VS),
var_inc_violations(A, 2),
var_inc_violations(C, 1),
vs_random_violated(VS, Var).
Vars = [Var{a -> 2}, B{b -> 0}, C{c -> 1}]
VS = ...
Var = Var{a -> 2} % A or C, the result is random!
Yes (0.00s cpu)
See Also
vs_all_violated / 2, vs_violated / 2, vs_random_violated_index / 2