Seol mar théacs é seo: Approximation algorithms for NP hard problems