Regular Language
In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to many modern regular expression engines, which are Regular expression#Patterns for non-regular languages, augmented with features that allow the recognition of non-regular languages). Alternatively, a regular language can be defined as a language recognised by a finite automaton. The equivalence of regular expressions and finite automata is known as Kleene's theorem (after American mathematician Stephen Cole Kleene). In the Chomsky hierarchy, regular languages are the languages generated by regular grammar, Type-3 grammars. Formal definition The collection of regular languages over an Alphabet (formal languages), alphabet Σ is defined recursively as follows: * The empty language ∅ is a regular language. * For each ''a'' ∈ Σ (''a'' ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Theoretical Computer Science
Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation. It is difficult to circumscribe the theoretical areas precisely. The Association for Computing Machinery, ACM's Special Interest Group on Algorithms and Computation Theory (SIGACT) provides the following description: History While logical inference and mathematical proof had existed previously, in 1931 Kurt Gödel proved with his incompleteness theorem that there are fundamental limitations on what statements could be proved or disproved. Information theory was added to the field with A Mathematical Theory of Communication, a 1948 mathematical theory of communication by Claude Shannon. In the same decade, Donald Hebb introduced a mathematical model of Hebbian learning, learning in the brain. With mounting biological data supporting this hypothesis with some modification, the fields of neural networks and para ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Arden's Lemma
In theoretical computer science, Arden's rule, also known as Arden's lemma, is a mathematical statement about a certain form of language equations. Background A (formal) language is simply a set of strings. Such sets can be specified by means of some language equation, which in turn is based on operations on languages. Language equations are mathematical statements that resemble numerical equations, but the variables assume values of formal languages rather than numbers. Among the most common operations on two languages ''A'' and ''B'' are the set union ''A'' ∪ ''B'', and their concatenation ''A''⋅''B''. Finally, as an operation taking a single operand, the set ''A''* denotes the Kleene star of the language ''A''. Statement of Arden's rule Arden's rule states that the set ''A''*⋅''B'' is the smallest language that is a solution for ''X'' in the linear equation ''X'' = ''A''⋅''X'' ∪ ''B'' where ''X'', ''A'', ''B'' are sets of strings. Moreover, if the set ''A'' does no ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Monoid
In abstract algebra, a monoid is a set equipped with an associative binary operation and an identity element. For example, the nonnegative integers with addition form a monoid, the identity element being . Monoids are semigroups with identity. Such algebraic structures occur in several branches of mathematics. The functions from a set into itself form a monoid with respect to function composition. More generally, in category theory, the morphisms of an object to itself form a monoid, and, conversely, a monoid may be viewed as a category with a single object. In computer science and computer programming, the set of strings built from a given set of characters is a free monoid. Transition monoids and syntactic monoids are used in describing finite-state machines. Trace monoids and history monoids provide a foundation for process calculi and concurrent computing. In theoretical computer science, the study of monoids is fundamental for automata theory (Krohn–Rhodes ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
![]() |
Preimage
In mathematics, for a function f: X \to Y, the image of an input value x is the single output value produced by f when passed x. The preimage of an output value y is the set of input values that produce y. More generally, evaluating f at each element of a given subset A of its domain X produces a set, called the "image of A under (or through) f". Similarly, the inverse image (or preimage) of a given subset B of the codomain Y is the set of all elements of X that map to a member of B. The image of the function f is the set of all output values it may produce, that is, the image of X. The preimage of f is the preimage of the codomain Y. Because it always equals X (the domain of f), it is rarely used. Image and inverse image may also be defined for general binary relations, not just functions. Definition The word "image" is used in three related ways. In these definitions, f : X \to Y is a function from the set X to the set Y. Image of an element If x is a member of X, ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
Syntactic Monoid
In mathematics and computer science, the syntactic monoid M(L) of a formal language L is the minimal monoid that recognizes the language L. By the Myhill–Nerode theorem, the syntactic monoid is unique up to unique isomorphism. Syntactic quotient An alphabet is a finite set. The free monoid on a given alphabet is the monoid whose elements are all the strings of zero or more elements from that set, with string concatenation as the monoid operation and the empty string as the identity element. Given a subset S of a free monoid M, one may define sets that consist of formal left or right inverses of elements in S. These are called quotients, and one may define right or left quotients, depending on which side one is concatenating. Thus, the right quotient of S by an element m from M is the set :S \ / \ m=\. Similarly, the left quotient is :m \setminus S=\. Syntactic equivalence The syntactic quotient induces an equivalence relation on M, called the syntactic relation, o ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Recognizable Set
In computer science, more precisely in automata theory, a recognizable set of a monoid is a subset that can be distinguished by some homomorphism to a finite monoid. Recognizable sets are useful in automata theory, formal languages and algebra. This notion is different from the notion of recognizable language. Indeed, the term "recognizable" has a different meaning in computability theory. Definition Let N be a monoid, a subset S\subseteq N is recognized by a monoid M if there exists a homomorphism \phi from N to M such that S=\phi^(\phi(S)), and recognizable if it is recognized by some finite monoid. This means that there exists a subset T of M (not necessarily a submonoid of M) such that the image of S is in T and the image of N \setminus S is in M \setminus T. Example Let A be an alphabet: the set A^* of words over A is a monoid, the free monoid on A. The recognizable subsets of A^* are precisely the regular languages. Indeed, such a language is recognized by the transitio ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Lecture Notes In Computer Science
''Lecture Notes in Computer Science'' is a series of computer science books published by Springer Science+Business Media since 1973. Overview The series contains proceedings, post-proceedings, monographs, and Festschrifts. In addition, tutorials, state-of-the-art surveys, and "hot topics" are increasingly being included. The series is indexed by DBLP. See also *'' Monographiae Biologicae'', another monograph series published by Springer Science+Business Media *'' Lecture Notes in Physics'' *'' Lecture Notes in Mathematics'' *'' Electronic Workshops in Computing'', published by the British Computer Society image:Maurice Vincent Wilkes 1980 (3).jpg, Sir Maurice Wilkes served as the first President of BCS in 1957. The British Computer Society (BCS), branded BCS, The Chartered Institute for IT, since 2009, is a professional body and a learned ... References External links * Academic journals established in 1973 Computer science books Series of non-fiction books ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Büchi–Elgot–Trakhtenbrot Theorem
In formal language theory, the Büchi–Elgot–Trakhtenbrot theorem states that a language is regular if and only if it can be defined in monadic second-order logic (MSO): for every MSO formula, we can find a finite-state automaton defining the same language, and for every finite-state automaton, we can find an MSO formula defining the same language. The theorem is due to Julius Richard Büchi, Calvin Elgot, and Boris Trakhtenbrot. See also *Trakhtenbrot's theorem *Courcelle's theorem In the study of graph algorithms, Courcelle's theorem is the statement that every graph property definable in the monadic second-order logic of graphs can be decided in linear time on graphs of bounded treewidth. The result was first proved by B ... References Formal languages Mathematical logic Theorems in the foundations of mathematics {{logic-stub ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Monadic Second-order Logic
In mathematical logic, monadic second-order logic (MSO) is the fragment of second-order logic where the second-order quantification is limited to quantification over sets. It is particularly important in the logic of graphs, because of Courcelle's theorem, which provides algorithms for evaluating monadic second-order formulas over graphs of bounded treewidth. It is also of fundamental importance in automata theory, where the Büchi–Elgot–Trakhtenbrot theorem gives a logical characterization of the regular languages. Second-order logic allows quantification over Predicate (mathematical logic), predicates. However, MSO is the Fragment (logic), fragment in which second-order quantification is limited to monadic predicates (predicates having a single argument). This is often described as quantification over "sets" because monadic predicates are equivalent in expressive power to sets (the set of elements for which the predicate is true). Variants Monadic second-order logic come ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
![]() |
Turing Machine
A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algorithm. The machine operates on an infinite memory tape divided into discrete mathematics, discrete cells, each of which can hold a single symbol drawn from a finite set of symbols called the Alphabet (formal languages), alphabet of the machine. It has a "head" that, at any point in the machine's operation, is positioned over one of these cells, and a "state" selected from a finite set of states. At each step of its operation, the head reads the symbol in its cell. Then, based on the symbol and the machine's own present state, the machine writes a symbol into the same cell, and moves the head one step to the left or the right, or halts the computation. The choice of which replacement symbol to write, which direction to move the head, and whet ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
Prefix Grammar
In theoretical computer science and formal language theory, a prefix grammar is a type of string rewriting system, consisting of a set of string rewriting rules, and similar to a formal grammar or a semi-Thue system. What is specific about prefix grammars is not the shape of their rules, but the way in which they are applied: only prefixes are rewritten. The prefix grammars describe exactly all regular languages. Formal definition A prefix grammar ''G'' is a 3-tuple, (Σ, ''S'', ''P''), where *Σ is a finite alphabet *''S'' is a finite set of base strings over Σ *''P'' is a finite set of production rules of the form ''u'' → ''v'' where ''u'' and ''v'' are strings over Σ For strings ''x'', ''y'', we write ''x'' →''G'' ''y'' (and say: ''G'' can derive ''y'' from ''x'' in one step) if there are strings ''u, v, w'' such that , and ''v'' → ''w'' is in ''P''. Note that is a binary relation on the strings of Σ. The ''language'' of ''G'', denoted , is the set of strings deriv ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |
|
Two-way Finite Automaton
In computer science, in particular in automata theory, a two-way finite automaton is a finite automaton that is allowed to re-read its input. Two-way deterministic finite automaton A two-way deterministic finite automaton (2DFA) is an abstract machine, a generalized version of the deterministic finite automaton (DFA) which can revisit characters already processed. As in a DFA, there are a finite number of states with transitions between them based on the current character, but each transition is also labelled with a value indicating whether the machine will move its position in the input to the left, right, or stay at the same position. Equivalently, 2DFAs can be seen as read-only Turing machines with no work tape, only a read-only input tape. 2DFAs were introduced in a seminal 1959 paper by Rabin and Scott, who proved them to have equivalent power to one-way DFAs. That is, any formal language which can be recognized by a 2DFA can be recognized by a DFA which only examines and ... [...More Info...] [...Related Items...] OR: [Wikipedia] [Google] [Baidu] |