Satisfiability Problem: Theory and Applications