Advanced Monte Carlo methods with applications to filtering theory