Reduced-state BCJR-type algorithms