sofya.mutator.selectors
Class RandomOperatorMutationSelector

java.lang.Object
  extended by sofya.mutator.selectors.RandomOperatorMutationSelector
All Implemented Interfaces:
MutationSelector

public class RandomOperatorMutationSelector
extends java.lang.Object
implements MutationSelector

Mutation selector that randomly selects by mutation operator.

Version:
05/12/2006
Author:
Alex Kinneer

Constructor Summary
RandomOperatorMutationSelector(java.util.List opChoices, int num)
          Creates a new mutation selector to select a given number of mutation operators randomly; mutations corresponding to selected operators will be selected.
RandomOperatorMutationSelector(java.lang.String[] opChoices, int num)
          Creates a new mutation selector to select a given number of mutation operators randomly; mutations corresponding to selected operators will be selected.
 
Method Summary
 Mutation.Variant getVariant(Mutation mutation)
          Gets the selected variant.
 boolean isSelected(Mutation mutation)
          Reports whether a mutation is selected.
 void setMutationCount(int count)
          Sets the total number of mutations that may be passed to this selector (typically the number of mutations in a mutation table).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RandomOperatorMutationSelector

public RandomOperatorMutationSelector(java.lang.String[] opChoices,
                                      int num)
Creates a new mutation selector to select a given number of mutation operators randomly; mutations corresponding to selected operators will be selected.

Parameters:
opChoices - Array of available mutation operators, as operator abbreviation strings (e.g. "AOC", "AOP", etc.).
num - Number of mutation operators to be randomly selected.

RandomOperatorMutationSelector

public RandomOperatorMutationSelector(java.util.List opChoices,
                                      int num)
Creates a new mutation selector to select a given number of mutation operators randomly; mutations corresponding to selected operators will be selected.

Parameters:
opChoices - List of selected mutation operators, as operator abbreviation strings (e.g. "AOC", "AOP", etc.). For best efficiency, the list should support random access.
num - Number of mutation operators to be randomly selected.
Method Detail

isSelected

public boolean isSelected(Mutation mutation)
Description copied from interface: MutationSelector
Reports whether a mutation is selected.

Specified by:
isSelected in interface MutationSelector
Parameters:
mutation - Mutation to be checked for selection.
Returns:
true if this selector implements a selection criteria that the given mutation meets, false otherwise.

getVariant

public Mutation.Variant getVariant(Mutation mutation)
Description copied from interface: MutationSelector
Gets the selected variant.

Some mutation operators, such as the arithmetic operator change (AOP), generate multiple variants at a single location.

Specified by:
getVariant in interface MutationSelector
Parameters:
mutation - Mutation for which to retrieve the selected variant.
Returns:
The selected mutation variant.

setMutationCount

public void setMutationCount(int count)
Description copied from interface: MutationSelector
Sets the total number of mutations that may be passed to this selector (typically the number of mutations in a mutation table).

This is useful for some selectors, such as those that implement random selection criteria.

Specified by:
setMutationCount in interface MutationSelector
Parameters:
count - Total number of mutations from which this selector may select.