Evolutionary approaches to adaptive protocol design