classifierLibrary
Interface Situation

All Superinterfaces:
java.lang.Cloneable
All Known Implementing Classes:
StandardSituation

public interface Situation
extends java.lang.Cloneable

Library classifierLibrary, Interface Situation

Copyright by Klaus Hufschlag 2004,2005,2006

This file is part of the Generic Classifier Library. The Generic Classifier Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Generic Classifier Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the Generic Classifier Library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Version:
1.4
Author:
Klaus Hufschlag

Method Summary
 java.lang.Object clone()
          Retuns a copy(clone) of the situation as a new object.
 int compare(Situation sit)
          Compares the Situation with another one.
 int compareSubsumtive(Situation sit)
          Compares the Situation with another one.
 boolean compatibility(Situation sit)
          Method checks compatitbility with another situation, e.g. if Languages match.
 Situation cross(Situation sit, int Position)
          Method for crossover at given position, returns new Situation after crossover.
 void debug_out()
          Output for Debugging.
 Language getLanguage()
          getLanguageReturns the Language defined for the Situation.
 int getLength()
          Returns the size of the situation, for sets this should be the maximum size / size of the defined basic set.
 boolean isMatched(Situation sit)
          Criterion for a situation to be matched by another situation, should be used for specifying different types of Situations in subclasses.
 boolean isMatchedSubsumtive(Situation sit)
          Criterion for a situation to be matched by another situation, should be used for specifying different types of Situations in subclasses.
 Situation mutation(double probability)
          Method for mutation with given probability.
 void randomizeSituation()
          Changes the situation to a random situation based on the given language
 void randomizeSituation(double wildprob)
          Changes the situation to a random situation based on the given language, using a given probability for wildcard symbols.
 void setLanguage(Language lang)
          Sets the Language to be used for the Situation.
 int size()
          Returns the size of the situation, can be dynamic if situation is a set.
 int specificMembers()
          Returns the number of elements in the Situation that are not wildcards.
 

Method Detail

clone

public java.lang.Object clone()
Retuns a copy(clone) of the situation as a new object.

Returns:
Copy of the Situation

size

public int size()
Returns the size of the situation, can be dynamic if situation is a set.

Returns:
Size of the situation as int.

getLength

public int getLength()
Returns the size of the situation, for sets this should be the maximum size / size of the defined basic set.

Returns:
Length of the situation as int.

getLanguage

public Language getLanguage()
getLanguageReturns the Language defined for the Situation.

Returns:
Language of the Situation

setLanguage

public void setLanguage(Language lang)
Sets the Language to be used for the Situation.

Parameters:
lang - Language to be set

compatibility

public boolean compatibility(Situation sit)
Method checks compatitbility with another situation, e.g. if Languages match.

Parameters:
sit - Situation to compare with
Returns:
true, if compatible, else false

cross

public Situation cross(Situation sit,
                       int Position)
Method for crossover at given position, returns new Situation after crossover.

Parameters:
sit - Situation to cross with
Position - Position for crossover
Returns:
new Situation after crossover

mutation

public Situation mutation(double probability)
Method for mutation with given probability.

Parameters:
probability - Probability for mutation
Returns:
new Situation after Mutation

randomizeSituation

public void randomizeSituation()
Changes the situation to a random situation based on the given language


randomizeSituation

public void randomizeSituation(double wildprob)
Changes the situation to a random situation based on the given language, using a given probability for wildcard symbols.

Parameters:
wildprob - Probability for wildcards.

debug_out

public void debug_out()
Output for Debugging.


compare

public int compare(Situation sit)
Compares the Situation with another one. Returns the number of exact matches, without using wildcards.

Parameters:
sit - Situation to compare with
Returns:
Absolute number of matches

compareSubsumtive

public int compareSubsumtive(Situation sit)
Compares the Situation with another one. Returns the number of matches using wildcards, i.e. counting a symbol that is subsumed by another symbol as a match.

Parameters:
sit - Situation to compare with
Returns:
Absolute number of matches

isMatched

public boolean isMatched(Situation sit)
Criterion for a situation to be matched by another situation, should be used for specifying different types of Situations in subclasses.

Parameters:
sit - Situation to compare with
Returns:
true, if Situation is mached, otherwise false.

isMatchedSubsumtive

public boolean isMatchedSubsumtive(Situation sit)
Criterion for a situation to be matched by another situation, should be used for specifying different types of Situations in subclasses.

Parameters:
sit - Situation to compare with
Returns:
true, if Situation is mached, otherwise false.

specificMembers

public int specificMembers()
Returns the number of elements in the Situation that are not wildcards.

Returns:
Number of non-wildcards as int