Class GeneticOptionsBase
Base class for common Genetic algorithm options.
Inherited Members
Namespace: BayesServer.Optimization.Genetic
Assembly: BayesServer.Optimization.dll
Syntax
public abstract class GeneticOptionsBase : IOptimizerOptions, INotifyPropertyChanged
Properties
Cancellation
Gets of sets the instance implementing ICancellation, used for cancellation.
Declaration
[Browsable(false)]
public ICancellation Cancellation { get; set; }
Property Value
Type | Description |
---|---|
ICancellation |
See Also
CausalEffectKind
Gets or sets the kind of causal effect to optimize. e.g. Total/Direct.
Declaration
[Browsable(false)]
public CausalEffectKind CausalEffectKind { get; set; }
Property Value
Type | Description |
---|---|
CausalEffectKind |
Remarks
Not all algorithms support direct effect calculations.
CrossoverProbability
The probability of parents being crossed. Must be in the range [0,1].
Declaration
[OverflowProperty(true)]
public double CrossoverProbability { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
InferenceFactory
Used to create one or more inference engines, used by the algorithm to determine the fitness of possible solutions.
Declaration
[Browsable(false)]
public IInferenceFactory InferenceFactory { get; set; }
Property Value
Type | Description |
---|---|
IInferenceFactory |
MaximumConcurrency
Gets or sets the maximum number of inference engines used during optimization.
Declaration
[OverflowProperty(true)]
public int? MaximumConcurrency { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
Remarks
During optimization, multiple inference engines may be used in parallel. However each inference engine has its own memory requirements for inference, and so this parameter allows the number to be limited, to avoid excessive memory consumption. The amount of memory used per inference engine, depends on the Network and also the evidence.
MutationProbability
The probability of genes being mutated. Must be in the range [0,1].
Declaration
[OverflowProperty(true)]
public double MutationProbability { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
PopulationSize
Gets or sets the number of chromosomes in each generation.
Declaration
public int PopulationSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
Progress
Gets of sets the instance implementing IOptimizerProgress, used for progress notifications.
Declaration
[Browsable(false)]
public IOptimizerProgress Progress { get; set; }
Property Value
Type | Description |
---|---|
IOptimizerProgress |
See Also
QueryDistributions
Determines which additional queries, if any, should be calculated by the inference engine when evaluating the fitness of a solution. For example, additional queries maybe referenced by function nodes.
Declaration
[Browsable(false)]
public IList<QueryDistribution> QueryDistributions { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<QueryDistribution> |
QueryFunctions
Determines which additional functions, if any, should be calculated by the inference engine when evaluating the fitness of a solution. For example, functions that are referenced by a function node optimization target/objective.
Declaration
[Browsable(false)]
public IList<QueryFunctionOutput> QueryFunctions { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<QueryFunctionOutput> |
QueryLogLikelihood
Determines whether the log-likelihood should be calculated by the inference engine when evaluating the fitness of a solution. For example, the log-likelihood maybe referenced by function nodes.
Declaration
[Browsable(false)]
public bool? QueryLogLikelihood { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
Seed
The seed for the random number generator used by the Genetic Algorithm.
Declaration
[OverflowProperty(true)]
public int? Seed { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
Stopping
Gets or sets the instance implementing IStop used for early stopping.
Declaration
[Browsable(false)]
public IStop Stopping { get; set; }
Property Value
Type | Description |
---|---|
IStop | The instance used for stopping. |
Remarks
Stopping is different to cancellation, as stopping will still return an objective value from the optimization process, albeit having performed fewer iterations.
Termination
Termination options.
Declaration
[TypeConverter(typeof(ExpandableObjectConverter))]
[OverflowProperty(true)]
public GeneticTerminationOptions Termination { get; }
Property Value
Type | Description |
---|---|
GeneticTerminationOptions |
Methods
RaisePropertyChanged(String)
Raises a PropertyChanged event.
Declaration
protected void RaisePropertyChanged(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the property that has changed. |
Events
PropertyChanged
Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
Type | Description |
---|---|
System.ComponentModel.PropertyChangedEventHandler |