Languages, Grammars, and Automata Theory
Discrete Mathematics
Linda Chalk
Colorado Technical University
Professor Timothy Manzke
December 17, 2010

Languages, grammars and automata theory are all related to computer applications. Grammar is the rule for language structure regardless of the meaning. For computer programming languages context free grammar (CFG) is commonly used. Formal language as opposed to natural language must be used with computer applications because natural language is too vague for computer applications. Automata is a way to test an expression to determine if it is part of the language (Pfeifer, 2005). A deterministic finite automata (DFA) is a machine that is the most simple to understand which will help with the more complicated machines because many important properties of the DFA are found in the more complicated machines. DFA’s are found in many things like vending machines and elevators. The DFA works starting in a ‘start state’ then by reading a string, then producing an output of true or false according to how the machine is setup. As long as there is data entering the machine the output will change according to what was read in and how the configuration of the machine states what the output reports. A deterministic algorithm will always run the same way each time with the input of identical information (Sedgewick, n.d.). The difference between deterministic finite state automata and nondeterministic finite state automata is a DFA can only be in one state at a time when the nondeterminism happens when there is more than one choice of state (LaValle, 2006). A formal language is defined by alphabet and formation rules. The alphabet is built on a set of symbols that can have special meaning. The formation of the symbols will define well-formed strings which are called words, expressions, formulas or terms (Sakharov, n.d.). Examples of language formation rules are the proposition, p^q, and negation, ~p V ~q. The...

...Finite Automata
Finite Automata
• Two types – both describe what are called regular languages
– Deterministic (DFA) – There is a fixed number of states and we can only be in one state at a time – Nondeterministic (NFA) –There is a fixed number of states but we can be in multiple states at one time
• While NFA’s are more expressive than DFA’s, we will see that adding nondeterminism does not let us define any language that cannot be defined by a DFA. • One way to think of this is we might write a program using a NFA, but then when it is “compiled” we turn the NFA into an equivalent DFA.
1
Informal Example
• Customer shopping at a store with an electronic transaction with the bank
– The customer may pay the e-money or cancel the emoney at any time. – The store may ship goods and redeem the electronic money with the bank. – The bank may transfer any redeemed money to a different party, say the store.
• Can model this problem with three automata
Bank Automata
Actions in bold are initiated by the entity. Otherwise, the actions are initiated by someone else and received by the specified automata
Start pay
a
b
ship
redeem ship redeem
d e 2
transfer
f
ship
Store
Cancel
c
transfer
g
Pay
Cancel
1
Redeem
3
Transfer
4
Start
Start
Customer
Bank
2
Ignoring Actions
• The automata...

...Alphabets, Strings and Languages
Example : Consider the string 011 over the binary alphabet. All the prefixes, suffixes and substrings of this string are listed below.
Prefixes: e, 0, 01, 011.
Suffixes: e, 1, 11, 011.
Substrings: e, 0, 1, 01, 11, 011.
Note that x is a prefix (suffix or substring) to x, for any string x and e is a prefix (suffix or substring) to any string.
A string x is a proper prefix (suffix) of string y if x is a prefix (suffix) of y and x y.
In the above example, all prefixes except 011 are proper prefixes.
Powers of Strings : For any string x and integer , we use to denote the string formed by sequentially concatenating n copies of x. We can also give an inductive definition of as follows:
= e, if n = 0 ; otherwise
Example : If x = 011, then = 011011011, = 011 and
Powers of Alphabets :
We write (for some integer k) to denote the set of strings of length k with symbols from . In other words,
= { w | w is a string over and | w | = k}. Hence, for any alphabet, denotes the set of all strings of length zero. That is, = { e }. For the binary alphabet { 0, 1 } we have the following.
The set of all strings over an alphabet is denoted by . That is,
The set contains all the strings that can be generated by iteratively concatenating symbols from any number of times.
Example : If = { a, b }, then = { e, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, …}.
Please note that if , then that is . It may...

...Game Design with AutomataTheory
Noman Sohaib Qureshi1, Hassan Mushtaq2, Muhammad Shehzad Aslam2, Muhammad Ahsan2, Mohsin Ali2 and Muhammad Aqib Atta2 the designed automata is divided into weapon, select, move, action and game sets. States are assigned labels or tags and are explained. The state routing in game is smooth at from level one to level five and it is designed and constructed using DFSA and NDFSA tools. II. EXISTING WORK REVIEW In 1950, John Nash [1] demonstrated that finite games have always have an equilibrium point, at which all players choose actions which are best for them given their opponents choices. This central concept of non-cooperative game theory has been a focal point of analysis since then. In the 1950s and 1960s, game theory was expanded theoretically and applied to other problems such as war and politics. As a mathematical tool for the decision-maker the strength of game theory is the methodology which provides structuring and analyzing problems. The formal modeling of a situation as a game requires the decision-maker to enumerate explicitly the players and their strategic options, and to consider their preferences. So game theory plays a vital role in game designing [2]. Clock games are other games using a clock in which player has to perform some actions in specific duration. These things can be handled by using the tools of game...

...COM273: Automata, Computability, and Formal Languages
REVIEW NOTES
Connected graph A graph G is connected if given any vertices u and v in G, there is a path from u to v (or v to u). That is, in a connected graph, we can get from any vertex to any other vertex on a path. If there’s no path between some pair of vertices then the graph is called disconnected. The following shows a connected graph and a disconnected graph. Example: a b c b a c
e d connected graph
e d disconnected graph
Cycle A cycle (or a circuit) is a path of non-zero length from u to v with no repeated edges. A simple cycle is cycle from v to v, in which there are no repeated vertices (except for the initial and final vertices which are both equal to v) Example: a b d e c (a, b, d, c, b, e, c, a) is a cycle (but not simple) (a, d, c, b, e, a) is a simple cycle of length 5.
Notice that a simple path of length n contains (n+1) distinct vertices, which a simple cycle of length n contains n distinct vertices.
Eulerian graphs A cycle in a connected graph G that includes all the edges and all the vertices of G is called an Euler cycle (“Euler” is pronounced as “oiler”).
A connected graph containing an Euler cycle is called an Eulerian graph.
Finding an Euler cycle in a graph is the same as playing the following “game”. Draw the entire graph without lifting your pen which drawing all the edges exactly once, and visiting all the vertices, starting from and...

...1. THEORY OF LANGUAGE
The theory of language underlying Duysel Learning was derived from a view of proposed by Turkish Linguistics in the 2000s. Duysel Learning Method involves both the learning of language knowledge and the cultivation of language skills, with the emphasis on both the form and the content of a language. In teaching practice, its all-inclusive nature requires English teachers to select special and effective teaching methods in conformity with its special tasks to avoid turning it into a pure practical course of oral English or a pure theoretical one on grammar. Regardless of all criticism it has received, the grammar-translation method has been an indispensable method in English teaching as well as a necessary step in the cultivation of students’ communicative ability in a non-English environment. A person cannot have successful communication before having a correct mastery of language rules. Although the applicability of the communicative method has been widely accepted, this method is confronted with some practical problems. I think we should search for a fusion between the traditional teaching method and the modern teaching method with a more rational attitude based on the learner’s practical ability and request that is, adopting a new method fusing the two methods together in one class of comprehensive English....

...
Deque Automata for all classes of Formal languages
B. Asha latha1
Department of computers
SRKIT Engineering
Vijayawada Andhra Pradesh (India)
T.Vishnupriya2
Department of Electronics
SRKIT Vijayawada, Andhra Pradesh (India)
N.Himabindu3
Department of computers
KBN College of Vijayawada, Andhra Pradesh (India)
Abstract: The purpose of computation involves solving problems by communicating them to a computational model by means of a suitablelanguage .A number of languages have been developed for this purpose. To recognize these languages some computational models has been developed and they are finite state machine, push down automata, queue automata and turing machines. But these machines are restricted to only one specific formal languages like regular, context free ,etc. In this paper we proposed a machine called a Dequeue automaton that is capable of recognizing different classes of automata. We also shown that the simulation results from the Deque automata.
Keywords: Formal languages, Finite automata, PDA ,TM.
I. Introduction
A finite automaton was the first abstract model as well as the mathematical model of digital computers. It is very powerful model of computation. It can recognize and accept regular languages. But finite automata have limited memory(states)...

...Machines and Pushdown Automata
The ﬁnite-state machine (FSM) and the pushdown automaton (PDA) enjoy a special place in computer science. The FSM has proven to be a very useful model for many practical tasks and deserves to be among the tools of every practicing computer scientist. Many simple tasks, such as interpreting the commands typed into a keyboard or running a calculator, can be modeled by ﬁnite-state machines. The PDA is a model to which one appeals when writing compilers because it captures the essential architectural features needed to parse context-free languages, languages whose structure most closely resembles that of many programming languages. In this chapter we examine the language recognition capability of FSMs and PDAs. We show that FSMs recognize exactly the regular languages, languages deﬁned by regular expressions and generated by regular grammars. We also provide an algorithm to ﬁnd a FSM that is equivalent to a given FSM but has the fewest states. We examine language recognition by PDAs and show that PDAs recognize exactly the context-free languages, languages whose grammars satisfy less stringent requirements than regular grammars. Both regular and context-free grammar types are special cases of the phrasestructure grammars that are shown in...