ConstraintLearning.ICNConfig
— Typestruct ICNConfig{O <: ICNOptimizer}
A structure to hold the metric and optimizer configurations used in learning the weights of an ICN.
ConstraintLearning.ICNConfig
— MethodICNConfig(; metric = :hamming, optimizer = ICNGeneticOptimizer())
Constructor for ICNConfig
. Defaults to hamming metric using a genetic algorithm.
ConstraintLearning.ICNGeneticOptimizer
— MethodICNGeneticOptimizer(; kargs...)
Default constructor to learn an ICN through a Genetic Algorithm. Default kargs
TBW.
ConstraintLearning.ICNLocalSearchOptimizer
— TypeICNLocalSearchOptimizer(options = LocalSearchSolvers.Options())
Default constructor to learn an ICN through a CBLS solver.
ConstraintLearning.ICNOptimizer
— Typeconst ICNOptimizer = CompositionalNetworks.AbstractOptimizer
An abstract type for optmizers defined to learn ICNs.
ConstraintLearning.QUBOGradientOptimizer
— MethodQUBOGradientOptimizer(; kargs...)
A QUBO optimizer based on gradient descent. Defaults TBW
ConstraintLearning.QUBOOptimizer
— Typeconst QUBOOptimizer = QUBOConstraints.AbstractOptimizer
An abstract type for optimizers used to learn QUBO matrices from constraints.
CompositionalNetworks.optimize!
— MethodCompositionalNetworks.optimize!(icn, solutions, non_sltns, dom_size, metric, optimizer::ICNGeneticOptimizer; parameters...)
Extends the optimize!
method to ICNGeneticOptimizer
.
CompositionalNetworks.optimize!
— MethodCompositionalNetworks.optimize!(icn, solutions, non_sltns, dom_size, metric, optimizer::ICNLocalSearchOptimizer; parameters...)
Extends the optimize!
method to ICNLocalSearchOptimizer
.
ConstraintLearning._optimize!
— Method_optimize!(icn, X, X_sols; metric = hamming, pop_size = 200)
Optimize and set the weights of an ICN with a given set of configuration X
and solutions X_sols
.
ConstraintLearning.domain_size
— Methoddomain_size(ds::Number)
Extends the domain_size function when ds
is number (for dispatch purposes).
ConstraintLearning.generate_population
— Methodgenerate_population(icn, pop_size
Generate a pôpulation of weights (individuals) for the genetic algorithm weighting icn
.
ConstraintLearning.icn
— Methodicn(X,X̅; kargs..., parameters...)
TBW
ConstraintLearning.loss
— Methodloss(x, y, Q)
Loss of the prediction given by Q
, a training set y
, and a given configuration x
.
ConstraintLearning.make_df
— Methodmake_df(X, Q, penalty, binarization, domains)
DataFrame arrangement to output some basic evaluation of a matrix Q
.
ConstraintLearning.make_set_penalty
— Methodmake_set_penalty(X, X̅, args...; kargs)
Return a penalty function when the training set is already split into a pair of solutions X
and non solutions X̅
.
ConstraintLearning.make_training_sets
— Methodmake_training_sets(X, penalty, args...)
Return a pair of solutions and non solutions sets based on X
and penalty
.
ConstraintLearning.mutually_exclusive
— Methodmutually_exclusive(layer, w)
Constraint ensuring that w
encode exclusive operations in layer
.
ConstraintLearning.no_empty_layer
— Methodno_empty_layer(x; X = nothing)
Constraint ensuring that at least one operation is selected.
ConstraintLearning.optimize!
— Methodoptimize!(icn, X, X_sols, global_iter, local_iter; metric=hamming, popSize=100)
Optimize and set the weights of an ICN with a given set of configuration X
and solutions X_sols
. The best weights among global_iter
will be set.
ConstraintLearning.parameter_specific_operations
— Methodparameter_specific_operations(x; X = nothing)
Constraint ensuring that at least one operation related to parameters is selected if the error function to be learned is parametric.
ConstraintLearning.predict
— Methodpredict(x, Q)
Return the predictions given by Q
for a given configuration x
.
ConstraintLearning.preliminaries
— Methodpreliminaries(args)
Preliminaries to the training process in a QUBOGradientOptimizer
run.
ConstraintLearning.qubo
— Functionqubo(X,X̅; kargs..., parameters...)
TBW
ConstraintLearning.sub_eltype
— Methodsub_eltype(X)
Return the element type of of the first element of a collection.
ConstraintLearning.train!
— Methodtrain!(Q, X, penalty, η, precision, X_test, oversampling, binarization, domains)
Training inner method.
ConstraintLearning.train
— Methodtrain(X, penalty[, d]; optimizer = QUBOGradientOptimizer(), X_test = X)
Learn a QUBO matrix on training set X
for a constraint defined by penalty
with optional domain information d
. By default, it uses a QUBOGradientOptimizer
and X
as a testing set.
ConstraintLearning.δ
— Methodδ(X[, Y]; discrete = true)
Compute the extrema over a collection X
or a pair of collection
(X, Y)`.