┌─────────────────────────────────────────┐ │These are examples of │ ┌──────────────────────────────────────────────────┐ ┌────────┐ ├─────────────────────────────────────────┤ │This class is used when you want a kotlin project.│ │Runnable│ │that can be solved by the framework. │ ├──────────────────────────────────────────────────┤ ├────────┤ │To use the framework, │ └──────────────────────────────────────────────────┘ └────────┘ │make an extention of the Lifeform class. │ | | │ │ | | └─────────────────────────────────────────┘ | | | | | ┌─────────────────────────────────────────────────────┐ | │Lifeform │ | ├─────────────────────────────────────────────────────┤ | │ │ | ┌────────────────────────────────────────────────────────┐ │ T genome │ | │Main │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ | ├────────────────────────────────────────────────────────┤ │ +Lifeform(final T genome) │ │Habitat │ ┌─────────┐ │ │ │ │ ├─────────────────────────────────────────────────────────────────────┤ │Starterkt│ │ + {static} void main(String[] args) │ │ +{abstract} T mutate(final T genome1, final T genome2) │ │ ├─────────┤ │ │ │ │ │ # {abstract} void start(Class lifeformClass) │ │ │---│ # {static} Class loadClass(String s) │---│ +{abstract} T mutate(final T genome) │---------------------------│ │ └─────────┘ │ │ │ │ │ # Lifeform newInstance(Collection genome, Class lifeformClass)│ │ # {static} Lifeform newInstance(Class lifeformClass)│ │ +{abstract} double getScore() │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ └────────────────────────────────────────────────────────┘ │ +{abstract} void output() │ | │ │ | │ +{abstract} T newGenome() │ | │ │ | │ +void start() │ | └─────────────────────────────────────────────────────┘ | | | ┌───────────┐ ┌────────┐ ┌──────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ ┌───────────────────┐ ┌──────────────────┐ ┌──────────────┐ ┌─────────────┐ │TSPLifeform│ │LungLife│ │VindtunnelLife│ │BallWeight│ │KotlinLife│ │TextClassifierLifeform│ │OptimalCylinderLife│ │OptimalPyramidLife│ │HighEndHabitat│ │RobustHabitat│ ├───────────┤ ├────────┤ ├──────────────┤ ├──────────┤ ├──────────┤ ├──────────────────────┤ ├───────────────────┤ ├──────────────────┤ ├──────────────┤ ├─────────────┤ └───────────┘ └────────┘ └──────────────┘ └──────────┘ └──────────┘ └──────────────────────┘ └───────────────────┘ └──────────────────┘ └──────────────┘ └─────────────┘