Table of Contents

Class ClientSelectionRequest

Namespace
AiDotNet.Models
Assembly
AiDotNet.dll

Represents a request to select participating clients for a federated learning round.

public class ClientSelectionRequest
Inheritance
ClientSelectionRequest
Inherited Members

Remarks

For Beginners: This object packages up the information needed to decide which clients should join the next training round (who is available, how many to pick, and any optional hints like groups).

Properties

CandidateClientIds

Gets or sets the full set of candidate client IDs.

public IReadOnlyList<int> CandidateClientIds { get; set; }

Property Value

IReadOnlyList<int>

ClientAvailabilityProbabilities

Gets or sets optional client availability probabilities (0.0 to 1.0).

public IReadOnlyDictionary<int, double>? ClientAvailabilityProbabilities { get; set; }

Property Value

IReadOnlyDictionary<int, double>

ClientEmbeddings

Gets or sets optional per-client embeddings for cluster-based selection.

public IReadOnlyDictionary<int, double[]>? ClientEmbeddings { get; set; }

Property Value

IReadOnlyDictionary<int, double[]>

ClientGroupKeys

Gets or sets optional group keys for stratified selection.

public IReadOnlyDictionary<int, string>? ClientGroupKeys { get; set; }

Property Value

IReadOnlyDictionary<int, string>

ClientPerformanceScores

Gets or sets optional per-client performance scores (higher is better).

public IReadOnlyDictionary<int, double>? ClientPerformanceScores { get; set; }

Property Value

IReadOnlyDictionary<int, double>

ClientWeights

Gets or sets client weights (typically proportional to sample count).

public IReadOnlyDictionary<int, double> ClientWeights { get; set; }

Property Value

IReadOnlyDictionary<int, double>

FractionToSelect

Gets or sets the fraction of clients to select (0.0 to 1.0).

public double FractionToSelect { get; set; }

Property Value

double

Random

Gets or sets the random number generator to use for selection.

public Random Random { get; set; }

Property Value

Random

RoundNumber

Gets or sets the round number (0-based) for which selection is being performed.

public int RoundNumber { get; set; }

Property Value

int