Let $\{0,1\}$ be the input alphabet of a finite Moore automaton and $n$ the number of its internal states. When for each binary input sequence of length $k$ after being applied to the initial state the automaton outputs a different symbol out of $2^k$ different symbols, we would say that the automaton has (time-)memory depth $k$ because it can distinguish sequences of length $k$.
Note that (for Moore automata) $k \leq \log_2 n$, i.e. memory depth is bounded from above by the number of states.
The definition above is rather restrictive. The automaton may output only $2^k - 1$ different symbols after having applied the $2^k$ input sequences of length $k$ and we would still say that it has memory depth $k$, wouldn't we?
Question 1
For which finite automata is $k = \log_2 n$?
Question 2
How is memory depth (in the sense above) defined in practice?
Question 3
Given a good definition of memory depth, which graph properties of the state diagram determine the memory depth of a finite automaton (which may be $k < \log_2 n$).