This monograph, aimed at students, researchers and practitioners in information theory and communications, provides a thorough and clear survey of the topic and highlights a variety of applications and connections with other prominent information theory problems.