Skip to content

[Joseph] Implemented Fuzzy C Means Clustering#193

Open
Joseph0120 wants to merge 2 commits intoPisterLab:masterfrom
Joseph0120:joseph/fuzzy-cmeans
Open

[Joseph] Implemented Fuzzy C Means Clustering#193
Joseph0120 wants to merge 2 commits intoPisterLab:masterfrom
Joseph0120:joseph/fuzzy-cmeans

Conversation

@Joseph0120
Copy link

Implemented fuzzy c‑means clustering with membership overlap and multi‑rate hierarchy refresh so swarms and sub‑clusters update over time and can share threats for redundancy. Accounts for drifting threats as well (interceptor to interceptor, swarm to swarm, or launcher to launcher)

  1. Added new clustering output type and logic for warm‑starts + overlap in FuzzyCMeansResult.cs and FuzzyCMeansClusterer.cs.
  2. Stored per‑threat membership weights on clusters in Cluster.cs.
  3. Swapped hierarchy clustering to FCM and added periodic refresh/rebuild in HierarchicalBase.cs.
  4. Rebuilt top‑level swarms every 5s and refreshed sub‑hierarchies every 1s in IADS.cs.

Files added:

  1. FuzzyCMeansResult.cs
  2. FuzzyCMeansClusterer.cs

Files modified

  1. Cluster.cs
  2. HierarchicalBase.cs
  3. IADS.cs
Screenshot 2026-01-14 at 11 49 24 PM Screenshot 2026-01-14 at 11 50 48 PM Screenshot 2026-01-14 at 11 51 31 PM

@stacklane-pr-stack-visualizer
Copy link

stacklane-pr-stack-visualizer bot commented Jan 16, 2026

🧱 Stack PR · Base of stack

Stack Structure:

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a robust implementation of Fuzzy C-Means (FCM) clustering and integrates it into the existing hierarchical system. The key enhancements include the new FuzzyCMeansClusterer, storing membership weights in Cluster objects, and replacing the previous clustering logic in HierarchicalBase with FCM. A significant improvement is the introduction of multi-rate hierarchy updates in IADS, allowing for periodic rebuilding of top-level swarms and more frequent refreshing of sub-hierarchies to handle dynamic threats and drift. The implementation is of high quality, with thorough validation and handling of edge cases. My review includes a couple of minor suggestions in FuzzyCMeansClusterer.cs to improve the robustness of some loops. Overall, this is an excellent and well-executed feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant