Distributed resource allocation algorithms for multi-operator cognitive communication systems