learning SMC