Package ec.spatial

# Interface Space

All Known Implementing Classes:
  `Spatial1DSubpopulation`

public interface Space
In a spatially-embedded EA, the subpopulations of individuals are assumed to be spatially distributed in some sort of space, be it one-dimmensional, two- dimmensional, or whatever else. The space may or may not be toroidal (although it usually is). Each location in the space has a set of neighboring locations. Thus, each individual has an index in the subpopulation, and also a location in the space. This public interface provides a method to obtain the indexes of the neighbors of a location.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getIndex(int threadnum)`
  Functionality: retrieve the index for a specific threanum.
  `int`
  `getIndexRandomNeighbor(EvolutionState state, int threadnum, int distance)`
  Input: the maximum distance for neighbors.
  `void`
  `setIndex(int threadnum, int index)`
  Input: a threadnumber (either for evaluation or for breeding), and an index in a subpopulation (the index in the subpopulation is, of course, associated with a location in the space) Functionality: stores the index and the threadnumber for further accesses to the getIndexRandomNeighbor method.

- ## Method Details

  - ### setIndex

    void setIndex(int threadnum, int index)
    Input: a threadnumber (either for evaluation or for breeding), and an index in a subpopulation (the index in the subpopulation is, of course, associated with a location in the space) Functionality: stores the index and the threadnumber for further accesses to the getIndexRandomNeighbor method. All such accesses from the specific thread will use the exact same index, until this function is called again to change the index.

  - ### getIndex

    int getIndex(int threadnum)
    Functionality: retrieve the index for a specific threanum. Returns -1 if any error is encountered.

  - ### getIndexRandomNeighbor

    int getIndexRandomNeighbor(EvolutionState state, int threadnum, int distance)
    Input: the maximum distance for neighbors. Functionality: computes the location in space associated with the index, then computes the neighbors of that location that are within the specified distance. Output: returns one random neighbor within that distance (possibly including self)