Results taken from a simulated peer-to-peer network are described, in which genetic programming is utilized to evolve routing strategies that optimize resource location in various traffic flow scenarios. In all cases the evolved strategies result in more numerous resource locations than a pure, non-adaptive peer-to-peer protocol such as the Gnutella protocol. The resulting evolved strategies are described, and empirical validation of the Gnutella protocol is given via both its creation through machine-learning techniques, and through the analysis of real-world constants used in the protocol.