Formal Verification Of Neural Networks: Algorithms And Applications