For a deterministic finite automaton (DFA), some output tasks are easy when done in one direction, but difficult (or impossible?) when done in the reverse direction. Let’s take a simple example of outputting a word lower-case, or upper-case, depending on a control sequence included in the input. So the task
(where aNNa could be an arbitrary long word) seems to be quite easy for a DFA with output. The task in the reverse direction
however seems to be impossible for a DFA with output, at least for the commonly encountered definitions of DFA with output. On the other hand, a nondeterministic finite automaton (NFA) with unique output has no problems doing a task in the reverse direction, if it can do it in one direction.
Is the observation correct that a DFA with output can’t do the task in the reverse direction, if it is forced to consume its input one symbol at a time?
Would it be possible to relax the restrictions for DFA and NFA, such that a NFA (with unique output) would not gain any additional expressiveness from the relaxed restrictions, but the DFA with output (for the relaxed restrictions) would be able to match the expressiveness of a NFA with unique output?