In computational complexity theory, a leaf language is a method of characterizing a complexity class by formalizing what it means for a machine to "accept" an input.
Several complexity classes are typically defined in terms of a polynomial-time nondeterministic Turing machine, where each branch can either accept or reject, and the entire machine accepts or rejects as some function of the branches' conditions. For example, a non-deterministic Turing machine accepts if at least one branch accepts, and rejects only if all branches reject. A co-non-deterministic Turing machine, on the other hand, accepts only if all branches accept, and rejects if any branch rejects. Many classes can be defined in this fashion.
We can then formalize this by examining the formal language associated with each acceptance condition. We assume that the tree is ordered, and read the accept/reject strings off the leaves of the computation tree. For example, the nondeterministic machine will accept iff the leaf string is in the language {0, 1}*1{0, 1}*, and will reject iff the leaf string is in the language 0*.
Famous quotes containing the words leaf and/or language:
“Once they came on a maple in a glade,
Standing alone with smooth arms lifted up,
And every leaf of foliage shed worn
Laid scarlet and pale pink about her feet.”
—Robert Frost (18741963)
“Our language has wisely sensed these two sides of mans being alone. It has created the word loneliness to express the pain of being alone. And it has created the word solitude to express the glory of being alone. Although, in daily life, we do not always distinguish these words, we should do so consistently and thus deepen our understanding of our human predicament.”
—Paul Tillich (18861965)