An O(n) winner-take-all circuit using successive elimination

An efficient hardware solution to the winner-take-all problem which is frequently encountered in the literature of artificial neural networks is presented. The winner-take-all mechanism is an operation that identifies the identity of largest member from a set of n scalars, each taking values in the interval (0, 1). The principle underlying the circuit is quite straightforward: from a set of n scalar inputs, those with magnitudes less than the average are eliminated iteratively until the winner emerges. Analysis proved that the circuit converges to the unique equilibrium given any input vector, is of O(n) complexity, and is robust with respect to variations in component values.<<ETX>>