The principle of per-survivor processing: a general approach to approximate and adaptive MLSE