This section presents an algorithm for determining which switches to remove from the network in time. The algorithm is on-line in the sense that the computation is performed entirely by the switches, without the aid of any off-line computation. As in Section 3.2, the reconfiguration of the network consists of two parts. First, each splitter must determine if the number of faults in its input block exceeds an fraction, and, if so, then it must erase itself. This part is difficult because each splitter must count its own faults and distribute the count to its working switches, even though the splitter itself may contain many faults. Second, faults are propagated from the outputs of the network towards the inputs. A switch is declared faulty if more than of its upper or lower output edges lead to switches that are faulty, but not erased. After erasure and fault propagation, all of the remaining faulty switches are erased.
The erasure part consists of two tasks. First, we must identify those blocks that contain too many faults and must be erased. Then for each splitter, each input switch must be told whether either of the two output blocks in the splitter have been erased. To help with these tasks, we add some edges to the network. In particular, each switch is connected in a random fashion to other switches in the same block. These edges will be used solely for the purpose of counting, and not for routing. They increase the VLSI layout area of the network by at most a constant factor. For sufficiently small, but fixed, , with probability close to 1, every set S of switches in a block of size M will have at least neighbors [7, 12]. We will choose to be small so that will be close to .