Dominating Set Theory and Algorithms