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...

(1)