Dynamic Programming for NP-Hard Problems | Synapse