class
Crowbar::MutatorPool
- Crowbar::MutatorPool
- Reference
- Object
Overview
Registry and adaptive selection engine for mutators. Supports both adaptive score weighting and UCB1 Multi-Armed Bandit credit assignment.
Defined in:
crowbar/mutators/pool.crConstructors
Instance Method Summary
- #bandit : Evolution::Bandit | Nil
- #bandit=(bandit : Evolution::Bandit | Nil)
-
#find!(name : String) : Mutator
Finds mutator by name or raises an exception
-
#find?(name : String) : Mutator | Nil
Finds mutator by short or full name or alias
-
#mutate(context : Context, buffer : Buffer, target_range : Tuple(Int32, Int32) | Nil = nil, preferred_mutator : Mutator | Nil = nil, bandit_override : Evolution::Bandit | Nil = nil) : Bool
Executes a mutation round, dynamically adjusting the selected mutator's score
- #mutators : Array(Mutator)
- #register(mutator : Mutator)
- #register_defaults
-
#select_mutator(prng : PRNG, bandit_override : Evolution::Bandit | Nil = nil) : Mutator
Selects a mutator based on weighted distribution or UCB1 bandit score
- #use_bandit : Bool
- #use_bandit=(use_bandit : Bool)
Constructor Detail
Instance Method Detail
def mutate(context : Context, buffer : Buffer, target_range : Tuple(Int32, Int32) | Nil = nil, preferred_mutator : Mutator | Nil = nil, bandit_override : Evolution::Bandit | Nil = nil) : Bool
#
Executes a mutation round, dynamically adjusting the selected mutator's score
Selects a mutator based on weighted distribution or UCB1 bandit score