In computer science and mathematical logic, an alphabet is a non-empty set of symbols or letters, e.g. characters or digits.[1] For example a common alphabet is {0,1}, the binary alphabet. A finite string is a finite sequence of letters from an alphabet; for instance a binary string is a string drawn from the alphabet {0,1}. An infinite sequence of letters may be constructed from elements of an alphabet as well.
Given an alphabet
, we write
to denote the set of all finite strings over the alphabet
. Here, the
denotes the Kleene star operator, so
is also called the Kleene closure of
. We write
(or occasionally,
or
) to denote the set of all infinite sequences over the alphabet
.
For example, if we use the binary alphabet {0,1}, the strings (ε, 0, 1, 00, 01, 10, 11, 000, etc.) would all be in the Kleene closure of the alphabet (where ε represents the empty string)
Alphabets are important in the use of formal languages, automata and semiautomata. In most cases, for defining instances of automata, such as deterministic finite automata (DFAs), it is required to specify an alphabet from which the input strings for the automaton are built.
| P ≟ NP | This theoretical computer science-related article is a stub. You can help Wikipedia by expanding it. |
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)