Set Membership Algorithms¶
Distributed Set Membership¶
- class disropt.algorithms.setmembership.SetMembership(agent, initial_condition, enable_log=False)[source]¶
Bases:
disropt.algorithms.consensus.Consensus
Distributed Set Membership Algorithm [FaGa18]
From the perspective of agent \(i\) the algorithm works as follows. For \(k=0,1,\dots\)
\[ \begin{align}\begin{aligned}X_i^{k+1} &= X_i^k \cap M_i^{k+1}\\z_i^{k} &= \sum_{j=1}^N w_{ij} x_j^k\\x_i^{k+1} &= \Pi_{X_i^{k+1}}[z_i^k]\end{aligned}\end{align} \]where \(x_i,z_i\in\mathbb{R}^n\), \(M_i^{k+1},X_i^{k+1}\subseteq\mathbb{R}^n\) are the current feasible (measurement) set and the feasible (parameter) set respectively, and \(\Pi_X[]\) denotes the projection operator over the set \(X\).
- Parameters
agent (Agent) – agent to execute the algorithm (must be a Agent)
initial_condition (numpy.ndarray) – initial condition
enable_log (bool) – True for enabling log
- x0¶
initial condition
- Type
- x¶
current value of the local solution
- Type
Asynchronous Distributed Set Membership¶
- class disropt.algorithms.setmembership.AsynchronousSetMembership(agent, initial_condition, **kwargs)[source]¶
Bases:
disropt.algorithms.consensus.AsynchronousConsensus
Asynchronous Distributed Set Membership Algorithm [FaGa19]
- Parameters
agent (Agent) – agent to execute the algorithm (must be a Agent)
initial_condition (numpy.ndarray) – initial condition
enable_log (bool) – True for enabling log
- x0¶
initial condition
- Type
- x¶
current value of the local solution
- Type
References
- FaGa18
Farina, Francesco; Garulli, Andrea; Giannitrapani, Antonio: Distributed interpolatory algorithms for set membership estimation: IEEE Transactions on Automatic Control (2018).
- FaGa19
Farina, Francesco; Garulli, Andrea; Giannitrapani, Antonio: Distributed set membership estimation with time-varying graph topology: IEEE Control and Decision Conference (2019). To appear.