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 <: AbstractDomainA domain to store boolean values. It is used to generate random parameters.
ConstraintDomains.DimParameterDomain Type
DimParameterDomain <: AbstractDomainA domain to store dimensions. It is used to generate random parameters.
ConstraintDomains.IdParameterDomain Type
IdParameterDomain <: AbstractDomainA domain to store ids. It is used to generate random parameters.
ConstraintDomains.FakeAutomaton Type
FakeAutomaton{T} <: ConstraintCommons.AbstractAutomatonA 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 <: AbstractDomainA domain to store languages. It is used to generate random parameters.
ConstraintDomains.OpParameterDomain Type
OpParameterDomain{T} <: AbstractDomainA domain to store operators. It is used to generate random parameters.
ConstraintDomains.PairVarsParameterDomain Type
PairVarsParameterDomain{T} <: AbstractDomainA domain to store values paired with variables. It is used to generate random parameters.
ConstraintDomains.ValParameterDomain Type
ValParameterDomain{T} <: AbstractDomainA domain to store one value. It is used to generate random parameters.
ConstraintDomains.ValsParameterDomain Type
ValsParameterDomain{T} <: AbstractDomainA 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 ith interval if i is specified.
Base.rand(d::D) where D <: DiscreteDomainDraw 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.