Learning about Constraints
About learning constraints related matters.
Parameters
<!– To be moved –>
One major challenge of learning the features of constraints is exploring the domains of parameters. To tackle this issue, we provide some way to generate parameters from variables' domains.
ConstraintDomains.BoolParameterDomain Type
BoolParameterDomain <: AbstractDomain
A domain to store boolean values. It is used to generate random parameters.
ConstraintDomains.DimParameterDomain Type
DimParameterDomain <: AbstractDomain
A domain to store dimensions. It is used to generate random parameters.
ConstraintDomains.IdParameterDomain Type
IdParameterDomain <: AbstractDomain
A domain to store ids. It is used to generate random parameters.
ConstraintDomains.FakeAutomaton Type
FakeAutomaton{T} <: ConstraintCommons.AbstractAutomaton
A structure to generate pseudo automaton enough for parameter exploration.
ConstraintCommons.accept Function
accept(a::Union{Automaton, MDD}, w)
Return true
if a
accepts the word w
and false
otherwise.
ConstraintCommons.accept(fa::FakeAutomaton, word)
Implement the accept
methods for FakeAutomaton
.
ConstraintDomains.LanguageParameterDomain Type
LanguageParameterDomain <: AbstractDomain
A domain to store languages. It is used to generate random parameters.
ConstraintDomains.OpParameterDomain Type
OpParameterDomain{T} <: AbstractDomain
A domain to store operators. It is used to generate random parameters.
ConstraintDomains.PairVarsParameterDomain Type
PairVarsParameterDomain{T} <: AbstractDomain
A domain to store values paired with variables. It is used to generate random parameters.
ConstraintDomains.ValParameterDomain Type
ValParameterDomain{T} <: AbstractDomain
A domain to store one value. It is used to generate random parameters.
ConstraintDomains.ValsParameterDomain Type
ValsParameterDomain{T} <: AbstractDomain
A domain to store values. It is used to generate random parameters.
Base.rand Function
Base.rand(::Vector{IntervalsFold})
Extend the Base.rand
function to Vector{IntervalsFold}
.
rand(pf<:PatternFold)
Returns a random value of pf
as if it was unfolded.
Base.rand(::Vector{AbstractVectorFold})
Extend the `Base.rand` function to `Vector{AbstractVectorFold}`.
Base.rand(d::Union{Vector{D},Set{D}, D}) where {D<:AbstractDomain}
Extends Base.rand
to (a collection of) domains.
Base.rand(itv::Intervals)
Base.rand(itv::Intervals, i)
Return a random value from itv
, specifically from the i
th interval if i
is specified.
Base.rand(d::D) where D <: DiscreteDomain
Draw randomly a point in d
.
Base.rand(fa::FakeAutomaton)
Extends Base.rand
. Currently simply returns fa
.
ConstraintDomains.generate_parameters Function
generate_parameters(d<:AbstractDomain, param)
Generates random parameters based on the domain d
and the kind of parameters param
.