|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectLBJ2.infer.Constraint
LBJ2.infer.PropositionalConstraint
LBJ2.infer.PropositionalNAryConstraint
LBJ2.infer.PropositionalAtLeast
public class PropositionalAtLeast
Represents the constraint that at least m of the children
constraints must be true.
| Field Summary | |
|---|---|
protected PropositionalConstraint[] |
children
The children are stored in an array in this class. |
protected int |
m
The number of child constraints that must be true. |
| Constructor Summary | |
|---|---|
private |
PropositionalAtLeast()
Default constructor. |
|
PropositionalAtLeast(PropositionalConstraint[] c,
int m)
Initializing constructor. |
| Method Summary | |
|---|---|
java.lang.Object |
clone()
This method returns a shallow clone. |
PropositionalConstraint |
CNF()
Produces a new, logically simplified version of this constraint in conjunctive normal form (CNF). |
boolean |
contains(PropositionalConstraint c)
Determines whether the given constraint is a term of this constraint. |
PropositionalConstraint |
DNF()
Produces a new, logically simplified version of this constraint in disjunctive normal form (DNF). |
boolean |
equals(java.lang.Object o)
Two PropositionalAtLeasts are equivalent when they are
topologically equivalent; this implementation currently does not respect
the associativity and commutativity of at-least. |
boolean |
evaluate()
Determines whether the constraint is satisfied. |
Constraint[] |
getChildren()
Returns the children of this constraint in an array. |
int |
getM()
Returns the value of m. |
int |
hashCode()
The hash code of a PropositionalAtLeast is the sum of
the hash codes of its children plus two. |
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()
The negation of an at-least(m) is the at-least(n-m+1) of the negated children. |
protected static boolean |
nextChoice(int[] I,
int max)
Given a particular choice of k of the first n non-negative integers, this method computes the next logical choice of k integers, modifying the input array to contain that choice. |
void |
remove(int r)
Replaces the children array with a new array containing all
the same elements except the element with the given index. |
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. |
int |
size()
Returns the number of terms in this constraint. |
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.PropositionalNAryConstraint |
|---|
consolidateVariables |
| Methods inherited from class LBJ2.infer.PropositionalConstraint |
|---|
toString |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected PropositionalConstraint[] children
protected int m
| Constructor Detail |
|---|
private PropositionalAtLeast()
public PropositionalAtLeast(PropositionalConstraint[] c,
int m)
c - A collection of children constraints.m - The number of children that must be true.| Method Detail |
|---|
public Constraint[] getChildren()
getChildren in class PropositionalNAryConstraintpublic int getM()
m.
public boolean contains(PropositionalConstraint c)
contains in class PropositionalNAryConstraintc - The given constraint.
true iff the given constraint is contained in
this constraint.public int size()
size in class PropositionalNAryConstraintpublic boolean evaluate()
evaluate in class Constraintpublic void remove(int r)
children array with a new array containing all
the same elements except the element with the given index.
r - The index of the child to remove.public PropositionalConstraint simplify()
simplify in class PropositionalConstraintConstraint.consolidateVariables(java.util.AbstractMap)public PropositionalConstraint negate()
negate in class PropositionalConstraintpublic PropositionalConstraint CNF()
CNF in class PropositionalConstraintpublic PropositionalConstraint DNF()
DNF in class PropositionalConstraint
protected static boolean nextChoice(int[] I,
int max)
I
contains the current choice, and it must be sorted in ascending order.
The parameter max contains the largest allowable value for
any integer in I. Therefore, n = max + 1, and
k = I.length. It is also assumed that the "first" choice
is the integers 0 through k - 1 inclusive and the "last" choice is
max - k + 1 through max inclusive.
I - The current choice of k out of the first n non-negative
integers, sorted in decreasing order.max - The largest value allowed to appear in I (n -
1).
true iff the input did not represent the last
choice.public boolean moreGeneralThan(PropositionalConstraint c)
false.
moreGeneralThan in class PropositionalConstraintc - The given constraint.
true if a topological analysis determined that
this constraint is more general than the given constraint.public boolean moreSpecificThan(PropositionalImplication c)
false.
moreSpecificThan in class PropositionalConstraintc - The given implication.
true if a topological analysis determined that
this constraint is more general than the given implication.public boolean moreSpecificThan(PropositionalDoubleImplication c)
false.
moreSpecificThan in class PropositionalConstraintc - The given double implication.
true if a topological analysis determined that
this constraint is more general than the given double
implication.public boolean moreSpecificThan(PropositionalConjunction c)
false.
moreSpecificThan in class PropositionalConstraintc - The given conjunction.
true if a topological analysis determined that
this constraint is more general than the given conjunction.public boolean moreSpecificThan(PropositionalDisjunction c)
false.
moreSpecificThan in class PropositionalConstraintc - The given disjunction.
true if a topological analysis determined that
this constraint is more general than the given disjunction.public boolean moreSpecificThan(PropositionalAtLeast c)
false.
moreSpecificThan in class PropositionalConstraintc - The given at-least.
true if a topological analysis determined that
this constraint is more specific than the given disjunction.public boolean moreSpecificThan(PropositionalNegation c)
false.
moreSpecificThan in class PropositionalConstraintc - The given negation.
true if a topological analysis determined that
this constraint is more general than the given negation.public boolean moreSpecificThan(PropositionalVariable c)
false.
moreSpecificThan in class PropositionalConstraintc - The given variable.
true if a topological analysis determined that
this constraint is more general than the given variable.public boolean moreSpecificThan(PropositionalConstant c)
false.
moreSpecificThan in class PropositionalConstraintc - The given constant.
true if a topological analysis determined that
this constraint is more general than the given constant.public int hashCode()
PropositionalAtLeast is the sum of
the hash codes of its children plus two.
hashCode in class java.lang.ObjectPropositionalConjunction.public boolean equals(java.lang.Object o)
PropositionalAtLeasts are equivalent when they are
topologically equivalent; this implementation currently does not respect
the associativity and commutativity of at-least.
equals in class java.lang.Objecttrue iff the argument is an equivalent
PropositionalAtLeast.public void runVisit(Inference infer)
visit(·) method of the given
Inference for this Constraint, as per the
visitor pattern.
runVisit in class Constraintinfer - The inference visiting this constraint.public void write(java.lang.StringBuffer buffer)
write in class PropositionalConstraintbuffer - The output of this method will be appended to this buffer.public java.lang.Object clone()
clone in class PropositionalNAryConstraint
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||