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

agent

agent to execute the algorithm

Type

Agent

x0

initial condition

Type

numpy.ndarray

x

current value of the local solution

Type

numpy.ndarray

shape

shape of the variable

Type

tuple

x_neigh

dictionary containing the local solution of the (in-)neighbors

Type

dict

enable_log

True for enabling log

Type

bool

measure()[source]

Takes a new measurement and updates parameter_set

set_measure_generator(generator)[source]

set the measure generator

Parameters

generator (Callable) – measure generator

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

agent

agent to execute the algorithm

Type

Agent

x0

initial condition

Type

numpy.ndarray

x

current value of the local solution

Type

numpy.ndarray

shape

shape of the variable

Type

tuple

x_neigh

dictionary containing the local solution of the (in-)neighbors

Type

dict

enable_log

True for enabling log

Type

bool

timestamp_sequence

list of timestamps

Type

list

measure()[source]

Takes a new measurement and updates parameter_set

set_measure_generator(generator)[source]

set the measure generator

Parameters

generator (Callable) – measure generator

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.