Sub-Modular Maximization