LBJ2.infer
Class PropositionalVariable

java.lang.Object
  extended by LBJ2.infer.Constraint
      extended by LBJ2.infer.PropositionalConstraint
          extended by LBJ2.infer.PropositionalVariable
All Implemented Interfaces:
java.lang.Cloneable

public class PropositionalVariable
extends PropositionalConstraint

Every propositional variable is Boolean and represents one possible prediction from a classifier application. If the variable is true, then the classifier application did result in the specified prediction value.


Field Summary
protected  Learner classifier
          The classifier being applied.
protected  java.lang.Object example
          The classifier is applied to this example object.
protected  java.lang.String prediction
          The prediction that the classifier must produce for this variable to be true.
 boolean value
          The value imposed on this variable.
 
Constructor Summary
PropositionalVariable(Learner c, java.lang.Object e, java.lang.String p)
          Initializing constructor; the value member variable is set to false.
 
Method Summary
 PropositionalConstraint CNF()
          Produces a new, logically simplified version of this constraint in conjunctive normal form (CNF).
 void consolidateVariables(java.util.AbstractMap m)
          Replaces all unquantified variables with the unique copy stored as a value of the given map; also instantiates all quantified variables and stores them in the given map.
 PropositionalConstraint DNF()
          Produces a new, logically simplified version of this constraint in disjunctive normal form (DNF).
 boolean equals(java.lang.Object o)
          Two PropositionalVariables are equivalent when the string representations of their classifiers are equivalent, they store the same example object, and their values are equivalent.
 boolean evaluate()
          Determines whether the constraint is satisfied.
 Constraint[] getChildren()
          Returns the children of this constraint in an array.
 Learner getClassifier()
          Retrieves the classifier.
 java.lang.Object getExample()
          Retrieves the example object.
 java.lang.String getPrediction()
          Retrieves the prediction.
 int hashCode()
          The hash code of a PropositionalVariable is the hash code of the string representation of the classifier plus the system's hash code for the example object plus the hash code of the prediction.
 boolean moreGeneralThan(PropositionalConstraint c)
          Compares topology to determine if this constraint is more general than the given constraint; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalAtLeast c)
          Compares topology to determine if this constraint is more specific than the given at-least; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalConjunction c)
          Compares topology to determine if this constraint is more specific than the given conjunction; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalConstant c)
          Compares topology to determine if this constraint is more specific than the given constant; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalDisjunction c)
          Compares topology to determine if this constraint is more specific than the given disjunction; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalDoubleImplication c)
          Compares topology to determine if this constraint is more specific than the given double implication; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalImplication c)
          Compares topology to determine if this constraint is more specific than the given implication; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalNegation c)
          Compares topology to determine if this constraint is more specific than the given negation; note: this method is not required to be correct when it answers false.
 boolean moreSpecificThan(PropositionalVariable c)
          Compares topology to determine if this constraint is more specific than the given variable; note: this method is not required to be correct when it answers false.
 PropositionalConstraint negate()
          Produces a new propositional constraint equivalent to this constraint and that contains no negated constraints other than variables.
 void runVisit(Inference infer)
          Calls the appropriate visit(·) method of the given Inference for this Constraint, as per the visitor pattern.
 PropositionalConstraint simplify()
          Produces a new, logically simplified version of this constraint, preserving variable consolidation.
 void write(java.lang.StringBuffer buffer)
          Creates a string respresentation of this constraint using the string representations of the objects involved.
 
Methods inherited from class LBJ2.infer.PropositionalConstraint
clone, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

classifier

protected Learner classifier
The classifier being applied.


example

protected java.lang.Object example
The classifier is applied to this example object.


prediction

protected java.lang.String prediction
The prediction that the classifier must produce for this variable to be true.


value

public boolean value
The value imposed on this variable.

Constructor Detail

PropositionalVariable

public PropositionalVariable(Learner c,
                             java.lang.Object e,
                             java.lang.String p)
Initializing constructor; the value member variable is set to false.

Parameters:
c - The classifier being applied.
e - The classifier is applied to this example object.
p - The prediction associated with this variable.
Method Detail

consolidateVariables

public void consolidateVariables(java.util.AbstractMap m)
Replaces all unquantified variables with the unique copy stored as a value of the given map; also instantiates all quantified variables and stores them in the given map.

Specified by:
consolidateVariables in class Constraint
Parameters:
m - The map in which to find unique copies of the variables.

getClassifier

public Learner getClassifier()
Retrieves the classifier.


getExample

public java.lang.Object getExample()
Retrieves the example object.


getPrediction

public java.lang.String getPrediction()
Retrieves the prediction.


evaluate

public boolean evaluate()
Determines whether the constraint is satisfied.

Specified by:
evaluate in class Constraint

simplify

public PropositionalConstraint simplify()
Produces a new, logically simplified version of this constraint, preserving variable consolidation.

Specified by:
simplify in class PropositionalConstraint
Returns:
A logically simplified version of this constraint.
See Also:
Constraint.consolidateVariables(java.util.AbstractMap)

negate

public PropositionalConstraint negate()
Produces a new propositional constraint equivalent to this constraint and that contains no negated constraints other than variables.

Specified by:
negate in class PropositionalConstraint
Returns:
A constraint representing the negation of this constraint.

CNF

public PropositionalConstraint CNF()
Produces a new, logically simplified version of this constraint in conjunctive normal form (CNF).

Specified by:
CNF in class PropositionalConstraint
Returns:
The conjunctive normal form of this constraint.

DNF

public PropositionalConstraint DNF()
Produces a new, logically simplified version of this constraint in disjunctive normal form (DNF).

Specified by:
DNF in class PropositionalConstraint
Returns:
The disjunctive normal form of this constraint.

getChildren

public Constraint[] getChildren()
Returns the children of this constraint in an array.

Specified by:
getChildren in class Constraint
Returns:
The children of this constraint in an array.

moreGeneralThan

public boolean moreGeneralThan(PropositionalConstraint c)
Compares topology to determine if this constraint is more general than the given constraint; note: this method is not required to be correct when it answers false.

Specified by:
moreGeneralThan in class PropositionalConstraint
Parameters:
c - The given constraint.
Returns:
true if a topological analysis determined that this constraint is more general than the given constraint.

moreSpecificThan

public boolean moreSpecificThan(PropositionalImplication c)
Compares topology to determine if this constraint is more specific than the given implication; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given implication.
Returns:
true if a topological analysis determined that this constraint is more specific than the given implication.

moreSpecificThan

public boolean moreSpecificThan(PropositionalDoubleImplication c)
Compares topology to determine if this constraint is more specific than the given double implication; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given double implication.
Returns:
true if a topological analysis determined that this constraint is more specific than the given double implication.

moreSpecificThan

public boolean moreSpecificThan(PropositionalConjunction c)
Compares topology to determine if this constraint is more specific than the given conjunction; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given conjunction.
Returns:
true if a topological analysis determined that this constraint is more specific than the given conjunction.

moreSpecificThan

public boolean moreSpecificThan(PropositionalDisjunction c)
Compares topology to determine if this constraint is more specific than the given disjunction; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given disjunction.
Returns:
true if a topological analysis determined that this constraint is more specific than the given disjunction.

moreSpecificThan

public boolean moreSpecificThan(PropositionalAtLeast c)
Compares topology to determine if this constraint is more specific than the given at-least; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given at-least.
Returns:
true if a topological analysis determined that this constraint is more specific than the given disjunction.

moreSpecificThan

public boolean moreSpecificThan(PropositionalNegation c)
Compares topology to determine if this constraint is more specific than the given negation; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given negation.
Returns:
true if a topological analysis determined that this constraint is more specific than the given negation.

moreSpecificThan

public boolean moreSpecificThan(PropositionalVariable c)
Compares topology to determine if this constraint is more specific than the given variable; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given variable.
Returns:
true if a topological analysis determined that this constraint is more specific than the given variable.

moreSpecificThan

public boolean moreSpecificThan(PropositionalConstant c)
Compares topology to determine if this constraint is more specific than the given constant; note: this method is not required to be correct when it answers false.

Specified by:
moreSpecificThan in class PropositionalConstraint
Parameters:
c - The given constant.
Returns:
true if a topological analysis determined that this constraint is more specific than the given constant.

hashCode

public int hashCode()
The hash code of a PropositionalVariable is the hash code of the string representation of the classifier plus the system's hash code for the example object plus the hash code of the prediction.

Overrides:
hashCode in class java.lang.Object
Returns:
The hash code of this PropositionalVariable.

equals

public boolean equals(java.lang.Object o)
Two PropositionalVariables are equivalent when the string representations of their classifiers are equivalent, they store the same example object, and their values are equivalent.

Overrides:
equals in class java.lang.Object
Parameters:
o - The object to test equivalence with.
Returns:
true iff this object is equivalent to the argument object.

runVisit

public void runVisit(Inference infer)
Calls the appropriate visit(·) method of the given Inference for this Constraint, as per the visitor pattern.

Specified by:
runVisit in class Constraint
Parameters:
infer - The inference visiting this constraint.

write

public void write(java.lang.StringBuffer buffer)
Creates a string respresentation of this constraint using the string representations of the objects involved.

Specified by:
write in class PropositionalConstraint
Parameters:
buffer - The output of this method will be appended to this buffer.