public class ShannonFeature extends java.lang.Object implements Feature
c ? f1 : f2, whereby the
 condition c determines whether the value of the whole
 expression is f1 (if c returns zero, or more
 general if c returns a distinguished value
 trueCost) or f2| Modifier and Type | Field and Description | 
|---|---|
private Feature | 
cond
The filter that decides which sub-feature is to be evaluated 
 | 
private Feature | 
elseFeature
The feature for negative results of  
filter | 
private Feature | 
thenFeature
The feature for positive results of  
filter | 
private RuleAppCost | 
trueCost
If the result of  
cond is this cost, then the condition
 is assumed to hold | 
| Modifier | Constructor and Description | 
|---|---|
private  | 
ShannonFeature(Feature p_cond,
              RuleAppCost p_trueCost,
              Feature p_thenFeature,
              Feature p_elseFeature)  | 
private final Feature cond
private final RuleAppCost trueCost
cond is this cost, then the condition
 is assumed to holdprivate final Feature thenFeature
filterprivate final Feature elseFeature
filterprivate ShannonFeature(Feature p_cond, RuleAppCost p_trueCost, Feature p_thenFeature, Feature p_elseFeature)
public RuleAppCost computeCost(RuleApp app, PosInOccurrence pos, Goal goal)
FeatureRuleApp.computeCost in interface Featureapp - the RuleApppos - position where app is to be appliedgoal - the goal on which app is to be appliedRuleAppCost object. TopRuleAppCost.INSTANCE
 indicates that the rule shall not be applied at all (it is discarded by
 the strategy).public static Feature createConditional(Feature cond, RuleAppCost trueCost, RuleAppCost thenValue)
cond - the feature that decides which value is to be returnedtrueCost - the value of cond that is regarded as
            true-valuethenValue - the value of the feature, if cond returns
            trueCostthenValue if cond returns
         trueCost, zero otherwisepublic static Feature createConditional(Feature cond, RuleAppCost trueCost, RuleAppCost thenValue, RuleAppCost elseValue)
cond - the feature that decides which value is to be returnedtrueCost - the value of cond that is regarded as
            true-valuethenValue - the value of the feature if cond returns
            trueCostelseValue - the value of the feature if cond does not
            return trueCostthenValue if cond returns
         trueCost, elseValue otherwisepublic static Feature createConditional(Feature cond, RuleAppCost trueCost, Feature thenFeature)
cond - the feature that decides which value is to be returnedtrueCost - the value of cond that is regarded as
            true-valuethenFeature - the value of the feature if cond returns
            trueCostthenFeature if cond
         returns trueCost, zero otherwisepublic static Feature createConditional(Feature cond, RuleAppCost trueCost, Feature thenFeature, RuleAppCost elseValue)
cond - the feature that decides which value is to be returnedtrueCost - the value of cond that is regarded as
            true-valuethenFeature - the value of the feature if cond returns
            trueCostelseValue - the value of the feature if cond does not
            return trueCostthenFeature if cond
         returns trueCost, elseValue
         otherwisepublic static Feature createConditional(Feature cond, RuleAppCost trueCost, Feature thenFeature, Feature elseFeature)
cond - the feature that decides which value is to be returnedtrueCost - the value of cond that is regarded as
            true-valuethenFeature - the value of the feature if cond returns
            trueCostelseFeature - the value of the feature if cond does not
            return trueCostthenFeature if cond
         returns trueCost, the value of
         elseFeature otherwisepublic static Feature createConditionalBinary(Feature cond, RuleAppCost thenValue)
cond - the feature that decides which value is to be returnedthenValue - the value of the feature if cond returns zerothenFeature if cond
         returns zero, zero otherwisepublic static Feature createConditionalBinary(Feature cond, RuleAppCost thenValue, RuleAppCost elseValue)
cond - the feature that decides which value is to be returnedthenValue - the value of the feature if cond returns zeroelseValue - the value of the feature if cond does not
            return zerothenValue if cond returns zero,
         elseValue otherwisepublic static Feature createConditionalBinary(Feature cond, Feature thenFeature, RuleAppCost elseValue)
cond - the feature that decides which value is to be returnedthenFeature - the value of the feature if cond returns zeroelseValue - the value of the feature if cond does not
            return zerothenFeature if cond
         returns zero, elseValue otherwisepublic static Feature createConditionalBinary(Feature cond, Feature thenFeature, Feature elseFeature)
cond - the feature that decides which value is to be returnedthenFeature - the value of the feature if cond returns zeroelseFeature - the value of the feature if cond does not
            return zerothenFeature if cond
         returns zero, the value of elseFeature otherwisepublic static Feature createConditionalBinary(Feature cond, Feature thenFeature)
cond - the feature that decides which value is to be returnedthenFeature - the value of the feature if cond returns zerothenFeature if cond
         returns zero, zero otherwise