Large Deviations and Applications