Byzantine Fault Tolerance – PBFT Algorithm – How do we know how many nodes are flawed?

I am reading this article about PBFT and have trouble understanding how it can be used in practice. If we do not know how many nodes are faulty (which I think is a valid assumption), how can we calculate the number of laps in which processes send messages to each other?

The linked article shows an example n = 7 and m = 2 This example performs two rounds of messaging and then calculates the output values. But how can we know that? m = 2 first of all? Can the algorithm find it out during execution?