There is no way to determine a good network topology just from the number of inputs and outputs. It depends critically on the number of training examples and the complexity of the classification you are trying to learn. There are problems with one input and one output that require millions of hidden units, and problems with a million inputs and a million outputs that require only one hidden unit, or none at all. Such rules are only concerned with overfitting and are unreliable as well. There are many many learning methods for NNs by now.
Nobody knows exactly how many.
What exactly these properties are, that the network can learn to recognise, depends on the particular network model and learning method. There is a newsgroup that is dedicated to the field of evolutionary computation called comp.ai.genetic. That FAQ also contains lots of pointers to relevant literature, software, other sources of information, et cetera et cetera. Please see the comp.ai.genetic FAQ for further information. Fuzzy Logic is an area of research based on the work of L.A. Zadeh.