|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.hd.d.pg2k.ai.scorer.AbstractScorer
public abstract class AbstractScorer
Class to implement some common Scorer features in one place.
| Field Summary | |
|---|---|
private static java.lang.String |
DOUBLE_SEP
Double separator, not permitted in Scorer name-and-parameters. |
protected java.lang.String |
nameAndParameters
Name and parameters of this scorer always starting with our default name and syntactically valid; never null. |
static java.util.regex.Pattern |
parameterNameRegex
Regex pattern to match for Scorer parameter-name validity; never null. |
static java.util.regex.Pattern |
parameterSepRegex
Regex pattern to separate parameters; never null. |
static java.util.regex.Pattern |
scorerNameRegex
Regex pattern to match for Scorer name validity; never null. |
static char |
SEPARATOR
The character used to tokenise the scorer name-plus-parameters form ScorerName{:name=value}*. |
| Constructor Summary | |
|---|---|
protected |
AbstractScorer()
Default constructor uses class-based name and allows no parameterisation. |
protected |
AbstractScorer(java.lang.String nameAndParameters)
Construct instance with name and optional parameters. |
protected |
AbstractScorer(java.lang.String baseName,
java.util.List<ScorerParam> parameters)
|
| Method Summary | |
|---|---|
static java.lang.String |
canonicalise(ScorerIF scorer)
Create canonical form of Scorer (and any parameters); never null. |
ScorerIF |
createPerturbedVariant()
Create perturbed (gently mutated) variant. |
java.lang.String |
getBaseName()
Return the base name (the last component of the class name unless overridden); never null. |
protected java.lang.String |
getDefaultName()
Get default name for this Scorer; always a valid ScorerName. |
java.lang.String |
getNameAndParameters()
Return the name with any parameters for this instance; never null. |
java.util.List<ScorerParam> |
getParameterDefsAndValues()
Get (immutable, ordered) parameter definitions and current values (immutable) for this Scorer, empty by default; never null. |
java.util.List<ScorerParam> |
getPerturbedDefsAndValues()
Computes randomly-perturbed parameters (if any); never null. |
static boolean |
isValidParameterName(java.lang.String name)
Returns true iff the parameter name supplied is non-null and is valid. |
static boolean |
isValidScorerName(java.lang.String name)
Returns true iff the Scorer name supplied is non-null and is valid. |
static java.util.Map<java.lang.String,ScorerParam> |
paramListAsMap(java.util.List<ScorerParam> params)
Create parameter Map from parameter values; never null but may be empty. |
static java.lang.String |
paramListAsString(java.util.List<ScorerParam> params)
Create parameter String from in-order catenation of parameter values; never null but may be empty. |
static Tuple.Pair<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
parseNameAndParameters(java.lang.String nameAndParameters)
Parse name-and-parameters into name and name-value immutable Map; never null. |
static boolean |
similarNParams(ScorerIF scorerInstance1,
ScorerIF scorerInstance2,
int minSimilarParams)
Returns true if the two supplied Scorer instances are 'genetically'/'genotypically' similar. |
static boolean |
verySimilar(ScorerIF scorerInstance1,
ScorerIF scorerInstance2)
Returns true if the two supplied Scorer instances are 'genetically'/'genotypically' very similar. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.hd.d.pg2k.ai.scorer.ScorerIF |
|---|
computeScoreAndConfidence, createVariant, createVariant |
| Field Detail |
|---|
protected final java.lang.String nameAndParameters
public static final java.util.regex.Pattern parameterNameRegex
public static final java.util.regex.Pattern scorerNameRegex
public static final char SEPARATOR
private static final java.lang.String DOUBLE_SEP
public static final java.util.regex.Pattern parameterSepRegex
| Constructor Detail |
|---|
protected AbstractScorer()
protected AbstractScorer(java.lang.String nameAndParameters)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if parameter syntax or Scorer bad name is wrong
protected AbstractScorer(java.lang.String baseName,
java.util.List<ScorerParam> parameters)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException| Method Detail |
|---|
protected final java.lang.String getDefaultName()
public static java.lang.String paramListAsString(java.util.List<ScorerParam> params)
params - parameter list may be empty but is never null
public static java.util.Map<java.lang.String,ScorerParam> paramListAsMap(java.util.List<ScorerParam> params)
params - parameter list may be empty but is never null
public java.lang.String getBaseName()
getBaseName in interface ScorerIFpublic java.lang.String getNameAndParameters()
getNameAndParameters in interface ScorerIFpublic java.util.List<ScorerParam> getPerturbedDefsAndValues()
ScorerIFThe net effect is that most changes should be small and verging on insignificant, but some changes should be large enough to help escape from local minima/maxima.
getPerturbedDefsAndValues in interface ScorerIFpublic ScorerIF createPerturbedVariant()
createPerturbedVariant in interface ScorerIFpublic static java.lang.String canonicalise(ScorerIF scorer)
public java.util.List<ScorerParam> getParameterDefsAndValues()
getParameterDefsAndValues in interface ScorerIFpublic static boolean isValidParameterName(java.lang.String name)
public static boolean isValidScorerName(java.lang.String name)
public static Tuple.Pair<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> parseNameAndParameters(java.lang.String nameAndParameters)
throws java.lang.IllegalArgumentException
nameAndParameters - Scorer name-and-parameters; never null
IllegalArgmentException - for null/invalid argument
java.lang.IllegalArgumentException
public static boolean verySimilar(ScorerIF scorerInstance1,
ScorerIF scorerInstance2)
Always returns false for Scorers with different base names.
scorerInstance1 - non-null instancescorerInstance2 - non-null instance
public static boolean similarNParams(ScorerIF scorerInstance1,
ScorerIF scorerInstance2,
int minSimilarParams)
Always returns false for Scorers with different base names.
scorerInstance1 - non-null instancescorerInstance2 - non-null instanceminSimilarParams - minimum number of parameters that must be similar
for the two Scorers must be for this routine to return true;
non-negative (the result is always true for same-base-name Scorers if zero)
|
DHD Multimedia Gallery V1.50.55 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||