Interface IClientSelectionStrategy
- Namespace
- AiDotNet.Interfaces
- Assembly
- AiDotNet.dll
Selects which clients participate in a federated learning round.
public interface IClientSelectionStrategy
Remarks
For Beginners: In federated learning, the server usually does not use every client in every round. Instead, it picks a subset of clients to reduce communication cost and handle device availability.
Different selection strategies optimize for different goals:
- Uniform: simple and fair
- Weighted: prefer clients with more data
- Stratified: ensure each group is represented
- Availability-aware: prefer clients likely to be online
- Performance-aware: prefer clients that historically help training
- Cluster-based: sample across diverse client behaviors
Methods
GetStrategyName()
Gets the name of the selection strategy.
string GetStrategyName()
Returns
SelectClients(ClientSelectionRequest)
Selects the clients to participate for the current round.
List<int> SelectClients(ClientSelectionRequest request)
Parameters
requestClientSelectionRequestThe selection request containing available clients and selection context.