NPC Approximation Algorithm