T
- The type of the evolved entities monitored by this component.public class EvolutionMonitor<T> extends Object implements IslandEvolutionObserver<T>
EvolutionEngine
to provide
real-time information (in a Swing GUI) about the current state of the
evolution.Constructor and Description |
---|
EvolutionMonitor()
Creates an EvolutionMonitor with a single panel that graphs the fitness scores
of the population from generation to generation.
|
EvolutionMonitor(boolean islands)
Creates an EvolutionMonitor with a single panel that graphs the fitness scores
of the population from generation to generation.
|
EvolutionMonitor(Renderer<? super T,JComponent> renderer,
boolean islands)
Creates an EvolutionMonitor with a second panel that displays a graphical
representation of the fittest candidate in the population.
|
Modifier and Type | Method and Description |
---|---|
JComponent |
getGUIComponent() |
void |
islandPopulationUpdate(int islandIndex,
PopulationData<? extends T> populationData)
Method called to notify the listener of the state of the population of an individual
island.
|
void |
populationUpdate(PopulationData<? extends T> populationData)
Invoked when the state of the population has changed (typically
at the end of a generation).
|
void |
showInDialog(JFrame owner,
String title,
boolean modal)
Displays the evolution monitor component in a new
JDialog . |
void |
showInFrame(String title,
boolean exitOnClose)
Displays the evolution monitor component in a new
JFrame . |
public EvolutionMonitor()
Creates an EvolutionMonitor with a single panel that graphs the fitness scores of the population from generation to generation.
If you are using IslandEvolution
,
use the EvolutionMonitor(boolean)
constructor instead, to enable island support.
public EvolutionMonitor(boolean islands)
islands
- Whether the monitor should be configured for displaying data from
IslandEvolution
. Set this
parameter to false when using a standard EvolutionEngine
or if you don't want to display island-specific data for island evolution.public EvolutionMonitor(Renderer<? super T,JComponent> renderer, boolean islands)
renderer
- Renders a candidate solution as a JComponent.islands
- Whether the monitor should be configured for displaying data from
IslandEvolution
. Set this
parameter to false when using a standard EvolutionEngine
public void populationUpdate(PopulationData<? extends T> populationData)
populationUpdate
in interface EvolutionObserver<T>
populationData
- Statistics about the state of the current generation.public void islandPopulationUpdate(int islandIndex, PopulationData<? extends T> populationData)
islandPopulationUpdate
in interface IslandEvolutionObserver<T>
islandIndex
- Identifies which individual island the data comes from.
Indices start at zero and are sequential.populationData
- The latest data from the evolution on the specified island.public JComponent getGUIComponent()
public void showInFrame(String title, boolean exitOnClose)
JFrame
. There is no
need to make sure this method is invoked from the Event Dispatch Thread, the
method itself ensures that the window is created and displayed from the EDT.title
- The title for the new frame.exitOnClose
- Whether the JVM should exit when the frame is closed. Useful
if this is the only application window.public void showInDialog(JFrame owner, String title, boolean modal)
JDialog
. There is no
need to make sure this method is invoked from the Event Dispatch Thread, the
method itself ensures that the window is created and displayed from the EDT.owner
- The owning frame for the new dialog.title
- The title for the new dialog.modal
- Whether the