If I was going to think about the receiver's side, then analogously the receiver should characterise the medium, find out what kind of energy distribution in the channel exists, and in the adjourning channel, recognise what kind of transmissional strategy has been followed for the signal which I am going to receive and configure itself appropriately to deliver the lowest bit error rate information to the user.
Today it seems to be fantastic, but it is possible that one day it might become reality. The concepts in software radio are towards the realisation of that.