|
MOEA Framework 2.5 API Specification |
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.moeaframework.core.variable.Grammar
public class Grammar
Decision variable for grammars. This class represents the grammar as a
variable-length integer codon which is subsequently converted into a grammar
using ContextFreeGrammar.build(int[]).
ContextFreeGrammar,
Serialized Form| Constructor Summary | |
|---|---|
Grammar(int size)
Constructs a grammar variable with the specified initial size. |
|
Grammar(int[] codon)
Constructs a grammar variable with the specified integer codon representation. |
|
| Method Summary | |
|---|---|
Grammar |
copy()
Returns an independent copy of this decision variable. |
int[] |
cut(int start,
int end)
Removes the indices in the range [start, end] from the integer
codon representation, returning array of the values removed by this cut
operation. |
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
void |
fromArray(int[] codon)
Sets the integer codon representation of this grammar. |
int |
get(int index)
Returns the value at the specified index in the integer codon representation of this grammar. |
int |
getMaximumValue()
Returns the number of values that each codon can represent. |
int |
hashCode()
Returns a hash code value for the object. |
void |
insert(int insertIndex,
int[] array)
Inserts the specified array into this grammar's integer codon representation at the specified insert index. |
void |
set(int index,
int value)
Sets the specified index in the integer codon representation of this grammar to the specified value. |
void |
setMaximumValue(int maximumValue)
Sets the number of values that each codon can represent. |
int |
size()
Returns the length of the integer codon representation of this grammar. |
int[] |
toArray()
Returns the integer codon representation of this grammar. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Grammar(int size)
size - the initial size of this grammarpublic Grammar(int[] codon)
codon - the integer codon representation for this grammar| Method Detail |
|---|
public int getMaximumValue()
[0,
maximumValue-1]
public void setMaximumValue(int maximumValue)
[0,
maximumValue-1].
maximumValue - the number of values that each codon can representpublic int[] toArray()
public void fromArray(int[] codon)
codon - the new integer codon representation for this grammar
IllegalArgumentException - if any codon value is out of range (
(value < 0) || (value >= getMaximumValue()))public int size()
public void set(int index,
int value)
index - the index of the codon to be assignedvalue - the new value for the specified index
ArrayIndexOutOfBoundsException - if the index is out of range (
(index < 0) || (index >= size()))
IllegalArgumentException - if the value is out of range (
(value < 0) || (value >= getMaximumValue()))public int get(int index)
index - the index of the codon value to be returned
ArrayIndexOutOfBoundsException - if the index is out of range (
(index < 0) || (index >= size()))public Grammar copy()
Variablex.copy() is completely independent from x. This
means any method invoked on x.copy() in no way alters the state
of x and vice versa. It is typically the case that
x.copy().getClass() == x.getClass() and
x.copy().equals(x).
copy in interface Variable
public int[] cut(int start,
int end)
[start, end] from the integer
codon representation, returning array of the values removed by this cut
operation. For example,
Grammar grammar = new Grammar(new int[] { 0, 1, 2, 3, 4, 5 });
int[] removed = grammar.cut(2, 4);
results in grammar representing the array [2, 3, 4] and removed
containing [0, 1, 5].
start - the start index of the cut operationend - the end index of the cut operation
public void insert(int insertIndex,
int[] array)
Grammar grammar = new Grammar(new int[] { 0, 1, 2, 3, 4, 5 });
grammar.insert(2, new int[] { 6, 7 });
results in grammar representing the array [0, 1, 6, 7, 2, 3, 4,
5].
insertIndex - the index where the specified array is to be insertedarray - the array of integer codons to be insertedpublic int hashCode()
java.lang.Objectjava.util.Hashtable.
The general contract of hashCode is:
hashCode method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
hashCode in class ObjectObject.equals(java.lang.Object),
Hashtablepublic boolean equals(Object obj)
java.lang.Object
The equals method implements an equivalence relation
on non-null object references:
x, x.equals(x) should return
true.
x and y, x.equals(y)
should return true if and only if
y.equals(x) returns true.
x, y, and z, if
x.equals(y) returns true and
y.equals(z) returns true, then
x.equals(z) should return true.
x and y, multiple invocations of
x.equals(y) consistently return true
or consistently return false, provided no
information used in equals comparisons on the
objects is modified.
x,
x.equals(null) should return false.
The equals method for class Object implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x and
y, this method returns true if and only
if x and y refer to the same object
(x == y has the value true).
Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.
equals in class Objectobj - the reference object with which to compare.
true if this object is the same as the obj
argument; false otherwise.Object.hashCode(),
Hashtable
|
MOEA Framework 2.5 API Specification |
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||