  The avoidability, or unavoidability of patterns in words over finite
alphabets has been studied extensively. A word (pattern) over a finite set is
said to be unavoidable if, for all but finitely many words, there exists a
morphism mapping the pattern into every word. We present various
complexity-related properties of unavoidable words. For words that are
unavoidable, we provide an upper bound to the lengths of words that avoid them.
A natural subsequent question is how many unavoidable words there are. We show
that the fraction of words that are unavoidable drops exponentially fast in the
length of the word. This allows us to calculate an upper bound on the number of
unavoidable patterns for any given finite alphabet. Subsequently, we
investigate computational aspects of unavoidable words. In particular, we
exhibit concrete algorithms for determining whether a word is unavoidable. We
also prove results on the computational complexity of the problem of
determining whether a given word is unavoidable.
