Word problem(Decision Problem), Complexity and computing models

Grammas describe languages as a set of words that the gramma could generate. The word problem is to determine, whether a given word belongs to the language.

German version of this post

Lecture scripts by Prof. Dr. Markus Krötzsch, TU Dresden

The Word problem

The Word Problem: to determine whether a word is in a language.

  • INPUT: a word $w \in \Sigma^\star$
  • OUTPUT: true when $w \in L$, false when $w \notin L$

It is also referred to as the Decision Problem.


A language $L \in \Sigma^\star$ is decidable if its characteristic function $\chi_L: \Sigma^\star \to {0,1}$ is computable: for every given word, it can be determined whether it IS or IS NOT in L.

$$\chi_L(w) = \begin{cases}1 , &w \in L \\ 0 , &w \notin L \end{cases}$$

A language $L \in \Sigma^\star$ is semi-decidable: a given word can be justified that it IS in L, but it can’t be decided whether it is NOT in L.

$$\chi_L(w) = \begin{cases} 1 , &w \in L \\ \text{undefined}, &w \notin \end{cases}$$

Or vice versa:

$$\chi_L(w) = \begin{cases} \text{undefined}, &w \in L\\ 0 , &w \notin L \end{cases}$$

Complexity and Computing Models

For some languages the word problem is easy. for example: $L: {a}\circ{b}^\star$

The word problem of L can be solved in linear time: first exam whether the first letter is a, then determine whether all following letters are b

However the word problem can be super hard.


Language Class Computing Model Complexity of Word Problem
Type 0 Turing machine (TM) semi(or non-)decidable(1)
Type 1, Context sensitive Nondeterministic TM with linear space PSpace-Complete(2)
Type 2, Context free Nondeterministic Pushdown Automaton Polynomial
Type 3, Regular Finite State Machine Polynomial(3)
  1. for type 0, acceptance of a word can be arbitrary long process, we don’t know if the process still goes on when there isn’t a match yet.
  2. Complexity of type 1 word problem is very possibly harder than NP. Every known algorithm needs exponential time in worst case.
  3. Word problem of Type 3 is actually much easier than Type 2.

further Problems to be discussed:

Description(or representation) of Languages

  • what different descriptions of languages are there (Grammas, Automaton etc.)?
  • how to translate among different descriptions of languages?
  • Do 2 descriptions of languages actually describe the same language?
  • Does a description describe a empty language?
  • how to simplify a Description of language?

Characteristics of languages

  • What will happen if we perform operations upon languages? For example: L1 and L2 are both regular, is $L1 \bigcap L2$ regular?
  • Closure