100 likes | 114 Views
Learn about the history, basic terminology, and notations of formal languages, automata, and computation. Explore their close relations and various applications in compiler design, natural language translation, computational complexity theory, and more.
E N D
Preliminaries WHAT ARE FORMAL LANGUAGE, AUTOMATON, AND COMPUTATION? ・ History ・ Basic Terminology & Notations Preliminaries
History (1) Automata • A math model for the study of the network of nerves in the brain • W.S.Mculloch & W.Pitt • 1943 • Sequential circuit design • D.A.Huffman, G.H.Mealy, E.F.Moore • 1950’s • “Automata Studies” • C.E.Shannon & J.McCarthy eds. • 1956 • Finite automata (S.C.Kleene) Preliminaries
History (2) Formal Grammars and Languages • A math model for studying linguistics qualitatively • Generative grammar • N.Chomsky • 1950’s (1956, 1959) Preliminaries
History (3) Algorithm • 23 math problems by D.Hilbert • 1900 • Hilbert’s tenth problem • Definitions of algorithm • A.M.Turing: Turing machine • S.C.Kleene: Recursive function • A.Church: definable function • E.L.Post: Post system • All in the year 1936 • Church’s thesis Algorithm = Turing machine Preliminaries
History (4) Close Relations Among Them • Four types of formal grammars and their relation to automata • Finite automata Regular sets • Pushdown automataContext-free languages BNF (ALGOL 60) • Linear bounded automata Context-sensitive languages • Turing machines Recursively enumerable sets • Phrase-structure Grammars = Turing machines • As definitions of algorithms Preliminaries
History (5) And Then ··· • Applications • Compiler design • Automatic translation of natural languages • And more • Computational Complexity Theory • Discovery of NP-complete problems • S.C.Cook, 1972 • New models of computation • Quantum computation • D.Deutsch, 1985 • DNA-based computation • T.Head, 1987; L.Adleman, 1994 Preliminaries
Basic Terminology & Notations • alphabet a finite set of symbols (letters) • Σ = {a1, …, an} • word over Σ • a finite sequence of symbols in Σ • length of a word • |a1a2…an| = n where each ai is in Σ • Bothε andλdenote the empty word • Σ*is the set of all words over Σ • language • a subset of Σ * for some alphabet Σ Preliminaries
Operations on Words • Concatenation (product) • associative: x•(y•z) = (x•y) •z • n-th power of a word w • w0 = ε, wn+1 = w•wn • reversal (mirror image) • (a1a2…an)R = an…a2a1 if each ai is in Σ • prefix, suffix, subword Preliminaries
Operations on Languages Let L, L’ be languages over Σ. • productL•L’ = {w•w’ | wL, w’L’} • n-th powerL0= {ε}, Ln = Ln-1•L if n>0 • reversalLR = {wR | wL} • Kleene closureL* = n0Ln • positive closureL+= n>0Ln Abbreviations: {w}*, {w}+ w*, w+ L•L’, w•w’ LL’, ww’ L{w}L’ LwL’ Preliminaries
Formal Languages & Automata Models of Computation Complexity Theory Jan Feb Mar Schedule and Textbooks • The schedule is subject to change according to the understanding of the course attendant Recommended Textbooks ・ J.E.Hopcroft & J.D.Ullman, Introduction to Automata Theory, Languages, and Computation, 2nd ed, Addison-Wesley, 2000 ・ D.C.Kozen, Automata and Computability, Springer, 1997 Preliminaries