  One of the most important features observed in real networks is that, as a
network's topology evolves so does the network's ability to perform various
complex tasks. To explain this, it has also been observed that as a network
grows certain subnetworks begin to specialize the function(s) they perform.
Here, we introduce a class of models of network growth based on this notion of
specialization and show that as a network is specialized using this method its
topology becomes increasingly sparse, modular, and hierarchical, each of which
are important properties observed in real networks. This procedure is also
highly flexible in that a network can be specialized over any subset of its
elements. This flexibility allows those studying specific networks the ability
to search for mechanisms that describe the growth of these particular networks.
As an example, we find that by randomly selecting these elements a network's
topology acquires some of the most well-known properties of real networks
including the small-world property, disassortativity, power-law like degree
distributions, and power-law like clustering coefficients. As far as the
authors know, this is the first such class of models that creates an
increasingly modular and hierarchical network topology with these properties.
