Java implementation of various algorithms of some well known problems (e.g. knapsack, SAT...)