My question is whether a specific decision problem—finding a computation path through a "leapfrog automaton"—is in P or not. It's straightforwardly in NP, and it resembles the hamiltonian path problem in some respects, but it also seems a little easier and I haven't been able to find a reduction.
Definition. A leapfrog automaton is a special kind of machine. A leapfrog automaton consists of a finite number of registers each of which contains a nonempty word from $\Sigma^*$. There is also a special start register containing the empty word. At any given point, exactly one of the registers is marked as active; initially, it is the special start register.
Like a DFA or NFA, a leapfrog automaton can consume words, accepting or rejecting them. Given a word $w$, if the word is empty, the automaton accepts. Otherwise, the automaton consumes the next symbol $\alpha$ in the word: if there is a register other than the active register whose word contains $\alpha$, the automaton nondeterministically picks one such register and sets it to active. It also nondeterministically picks one instance of the symbol $\alpha$ in the register and marks it as "visited". On the other hand, if none of the other registers have $\alpha$ in their word, the automaton rejects the word $w$.
Path problems. If a leapfrog automaton $M$ accepts a word $w$, we can examine all of the symbols that were marked as visited in all the registers during the computation. Suppose the machine maintains a record of which symbols in which registers were visited, in which order; this is called a computation path.
The Blackout Decision Problem is: "Given a leapfrog automaton $M$ and a word $w$, is there an accepting computation path for $w$ which visits every symbol in every register at least once?" (Alternatively: exactly once?)
This Blackout Decision Problem is straightfowardly in NP; we nondeterministically choose a computation path and accept if it visits each symbol in each register exactly once, which is checkable in P.
On the other hand, I'm not sure whether the problem is in P or not. I've been trying to construct a reduction from, say, HAMPATH, which would establish that the problem is NP-complete and would therefore convince me it isn't in P.
Such a reduction might look like: Given a graph, construct a leapfrog automaton with one register for every node in the graph. The word in each register lists the nodes that are neighbors of that node. (Not sure where to go from here.)
So, to reiterate, is the blackout decision problem in P? Alternatively, can we show that it's NP complete?
Examples: A leapfrog automaton has two nonempty registers, containing VNS and ED, respectively. Among other words, it accepts VEND, EVEN, SEVEN, and the empty word. (Note how the order of letters in a register is irrelevant, and letters may be reused, and the first letter may come from any register.) It rejects the word SEVER, because the symbol R doesn't appear in any register. It rejects the words DEN and SEEN, because each letter must come from a different register than the one before.
Because the registers of this particular automaton have no letters in common, every computation path is unique and unambiguous[*]. In contrast, suppose we have a new automaton with three nonempty registers: HP AX A. The word HAX has exactly one accepting computation path, since each letter must come from a new register. The word HAPAX, however, has two accepting computation paths. One of those computation paths visits the third register "A" twice. The other path visits both letter "A"s. That other path is an example of a path that visits every symbol in every register at least once.
Because such a computational path exists, the Blackout Decision procedure, for this machine and this word HAPAX, answers yes (i.e. there is an accepting computational path for this word which visits every letter in every register at least once.)
ETA: If the alphabet is unary ($\Sigma = \{\mathtt{a}\}$) then the blackout problem is in P. The problem becomes finding a tour that visits each register the appropriate number of times while obeying the "different registers" constraint. Starting from the initial (empty) register, my algorithm is to iteratively visit whichever other register currently has the most unvisited letters (break ties arbitrarily). If there is a tour that satisfies the different-registers constraint, this procedure will find it.
Such a tour does not always exist when there are big disparities between the register sizes. For example, if the automaton has two nonempty registers AAAAAA and AAA, there is no accepting path (for any word!) that visits each letter in each register exactly once.
I haven't figured out whether the problem is efficiently solvable when the alphabet has two letters in it {A,B}.
[*] This implies that the Blackout Decision Problem for leapfrog automata is in P when we restrict to machines whose registers have no letters in common. The general case has branching factors which may make it harder than P.