Hybrid Monte-Carlo (HMC)