Per-survivor processing: a general approach to MLSE in uncertain environments