Finds the weak Nash equilibirium of the data bots for one epoch depending on a radius, which requires the setting of constants, grid, and so on in, see Pswarm.
AllDataBotsPos: Complex vector [1:n] of the current positions for the databots on a 2d and real plane in complex numbers.
MyDistanceMatrix: Numeric vector with vectorized distance matrix of the datapoints in the original (high-dimensional) data space
IndPossibleDBPosR: Numeric vector containing the possible positions around a databot dependent on the radius.
AllFreePosR0: NumericMatrix, see AllallowedDBPosR0 in setPolarGrid.
NumAllDB: Integer total number of databots
Lines: Integer stating the number of Lines the polar grid consists of.
Columns: Integer stating the number of columns the polar grid consists of.
Origin: Numeric origin of the positions of grid in two dimensions
Happiness: Numeric value indicating the global happiness over all databots
GridRadii: Numeric matrix with radius information of polar transformation for each grid position
GridAngle: Numeric matrix with angle information of polar transformation for each grid position
QuadOrHexa: optional, bool: If TRUE prints status every 100 iterations
RadiusVector: Numeric vector stating all moving radius in a descending order (cooling down scheme).
Rmin: Integer stating minimum radius.
Rmax: Integer stating maximum radius.
Cls: Integer vector stating the classification vector for each datapoints/databots.
Debug: optional, bool: If TRUE prints information for debugging.
pp: Numeric vector stating ratio of number of jumping simultaneously DataBots of one eppoch (per nash-equilibirum), this vector is linearly monotonically decreasing.
PlotIt: optional, bool: If TRUE creates plot of projection after each epoch.
Verbose: optional, integer stating degree of textual feedback. 0 = no output, 1 = basic notifications, 2 = progress bar, 3 = details.
Returns
list of - AllDataBotsPosRe: Numeric vector [1:n] of the current positions for the databots on first of two dimensions.
AllDataBotsPosIm: Numeric vector [1:n] of the current positions for the databots on second of two dimensions.
CourseOfHappiness: NumericVector, states the global happiness value per epoch.
RadiusPerEpoch: NumericVector, stating the radius used per epoch in order of computation.
Details
Algorithm is described in [Thrun, 2018, p. 95, Listing 8.1].
References
[Thrun, 2018] Thrun, M. C.: Projection Based Clustering through Self-Organization and Swarm Intelligence, doctoral dissertation 2017, Springer, Heidelberg, ISBN: 978-3-658-20539-3, tools:::Rd_expr_doi("10.1007/978-3-658-20540-9") , 2018.