(M,L) algorithms for reduced-complexity decoding of convolutional codes