 Thus, an algorithmic characterization is matched with a logical one. This is one prominent direction in the study of algorithmic complexity. Consider now the most general abstract automata or computational devices, i.e., Turing machines. One (of many) interesting complexity classes is PTIME: a problem, identified with its corresponding set of words, is PTIME if there is a polynomial \(p(x)\) and a Turing machine accepting W such that whenever \(w \in W\) has length n, the accepting computation takes at most \(p(n)\) steps. PTIME problems are usually considered “tractable”, whereas more complex problems are “intractable”, such as EXPTIME ones, where the number of steps required may grow exponentially. An early result by Immerman and Vardi is that the PTIME sets of (words coding) finite models are precisely those describable by single sentences in \(\FO(\LFP)\), which is FO logic with an added mechanism for forming least  fixed-points.[19]  Here we need to represent not just monadic models but arbitrary ones. For example, a binary relation on the universe \(\{1,\ldots,m\}\) can be represented by a word \(w_{11}\cdots w_{1m}\# \ldots \#w_{m1}\cdots w_{mm}\), where the relation holds of \((i,j)\) iff \(w_{ij} = 1\). But this time the order does seem to matter, and in fact the Immerman and Vardi result just mentioned only holds for models with a given linear order and a binary predicate symbol standing for that order.