@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
27 lines • 1.3 kB
TypeScript
/**
* @param {MultiNode<T>[]} node_array
* @param {number} k
* @param {number} random_seed
* @param {number[]|Uint32Array} node_cluster_assignments pre-filled with UNASSIGNED_CLUSTER
* @param {Map<T, number>} node_index_map
* @param {Graph<MultiNode<T>>} graph
* @returns {number[][]}
*/
export function graph_k_means_cluster_detailed(node_array: MultiNode<T>[], k: number, random_seed: number, node_cluster_assignments: number[] | Uint32Array, node_index_map: Map<T, number>, graph: Graph<MultiNode<T>>): number[][];
/**
* Partition graph into K parts using K-medoids (graph K-means).
* Iteratively reassigns nodes to the nearest medoid, then recomputes medoids
* as the within-cluster node minimising the sum of distances to other members.
* Stops when medoids stabilise or MAX_ITERATIONS is reached.
*
* Distances are BFS-based and so treat all edges as unit-weight; see
* {@link graph_compute_distance_matrix}.
*
* @template T
* @param {Graph<T>} graph
* @param {number} k number of desired parts
* @param {number} random_seed seed for random number generator, useful for restarting partitioning
* @returns {number[][]}
*/
export function graph_k_means_cluster<T>(graph: Graph<T>, k: number, random_seed: number): number[][];
//# sourceMappingURL=graph_k_means_cluster.d.ts.map