## 4 Threading Statistical Disclosure Attack Algorithm with EM (TSDA-EM)
### Removing Unnecessary Values with Proposed Tables  
Proposed tables are defined as a set of tables with the same properties as rounds. This means that for each round, there will be a proposed table. The difference from each other is that rounds only contains participants and _marginals_. Otherwise, proposed tables, besides the participants and marginals, will contain a specific cell value that is more likely to be the real number of messages sent by a pair of senders and receivers. A proposed table is an inference generated by a set of Poisson distributions \(\lambda_{s,r}\), where each cell value (number of messages) has a high probability of being the real number of messages sent and received by the pair of communication. The more refined \(\lambda_{s,r}\) for each cell is, the more accurately the proposed tables will describe the communication in a round. These proposed tables will also help to remove those excess \(\mathbf{1}\)s from the fixed values table. Since the fixed values table (Table 3) knows which communication pair has a \(\mathbf{1}\) (which means, the corresponding cell on every round where this pair appears must have assigned a value different to \(\mathbf{0}\)), we can remove such \(\mathbf{1}\) when we finish the proposed table and the cell \([s_{i},r_{i}]\) does not have a value different to \(\mathbf{0}\). That is, the fixed values table for pair \([s_{i},r_{i}]\) recommends putting a value different from \(\mathbf{0}\), but the proposed table was complete with no need to assign a value for this cell. The final objective of these tables is to infer each round with no random values in every cell. Table 4 is an example of how to set each value.  
Now notice that we have to put in a great effort to complete the tables, assigning values for every cell. For example, in the column of \(r_{7}\), we must set three values for each cell, but only assigning a \(1\) on the column will complete that row. So the other two cells of the column can be set to \(0\). In the same way with the sender \(s_{3}\) and recipient \(r_{4}\).  
It is important to find the most appropriate value for each cell that does not exceed the _marginals_. This means selecting a random number that falls between the lowest and highest possible values for each cell according to the _marginals_. Additionally, this number must take into account the values stored in the other rows. The BA introduced at [17] runs first and obtains all feasible tables. Then, a rate parameter must be calculated. This parameter, denoted as \(\lambda_{s,r}\), represents the probability that there is communication between a sender \(s\) and a receiver \(r\). It follows a Poisson distribution and needs to be calculated for each cell across the rounds.  
The \(\lambda_{s,r}\) is the number of messages delivered by sender \(s\) to recipient \(r\) in every round, and it follows a Poisson distribution. It is motivated because rounds constructed by the  
\begin{table}
\begin{tabular}{|c|c|c  
attacker are based on batches of messages or time periods. The Poisson distribution is a discrete probability distribution, through which it is possible to know the probability that, within a large sample and during a certain interval, an event whose probability is small will occur. Through this methodology, the number of messages delivered by a sender \(s\) in a round will follow a Poisson distribution with parameter \(\lambda_{s}\). And the number of messages received by recipient \(r\) in a round is defined with parameter \(\lambda_{r}\). Of course, pairs of users \(r,s\) that do not communicate will have a value \(\lambda_{s,r}=0\).