160 likes | 170 Views
Explore theories of regular languages, grammars, and automata in Discrete Math II. Learn about Finite Automata, Regular Expressions, and associated machines. Discover how to construct grammars and languages using production rules, and dive into the concept of regular language.
E N D
Discrete Math II Howon Kim 2017. 11
Agenda • 1 Automata Theory • 2 Regular Expression & Regular Languages • 3 Finite Automata • DFA(Deterministic Finite Automata) • FA Applications • 4 Non-deterministic Finite Automata • 5 Grammars & Languages • 6 Theory of Computations
Overview • Set Theory of Strings (Chapter 6.1) • Regular Expressions & Regular Languages • Finite State Machines • Deterministic Finite Automata (DFA) • Non-deterministic Finite Automata (NFA) • Grammars and Languages • Types of Grammars and Languages • Associated Machines including Turing Machine • Computation Theory • NP Problem
Regular expression & NFA DFA에 의해 인식되는 language regular language DFA와 NFA는 equivalent하므로, NFA에 의해 인식되는 language도 regular language가 됨 Regular expression을 표현하는 automata ? 를 인식하는 NFA 를 인식하는 NFA a ∑를 인식하는 NFA Automata를 대략적으로 기술함 L(r)을 인식하는 NFA의 도식적 표현 방법 초기상태 4 Accept 상태
Regular expression & NFA L(r1+r2)를 위한 NFA • L(r1*)를 위한 NFA • L(r1r2)를 위한 NFA 5
Regular expression & NFA L(a+bb)를 위한(인식하는) NFA 오토마타 • L(ba*+ )를 위한(인식하는) NFA 오토마타 • L((a+bb)*(ba*+ )를 위한(인식하는) NFA 오토마타 6
Regular Grammar Regular language is also described by using the grammars That is, grammars are often alternative way of specifying languages Regular grammar is either a right linear or left linear Right linear grammars (우선형 문법) Left linear grammars (좌선형 문법) 변수는 하나만 올 수 있음 G = ( V, , S, P ) V : a finite set of variables : an alphabet S : a start variable, S V P : a set of production rules (생성규칙) 7
Regular Grammar Example) The grammar G1=({S},{a,b},S,P1), with P1 given as S abS | a Right linear grammar SabS ababS ababa … G = ( V, , S, P ) V : a finite set of variables : an alphabet S : a start variable, S V P : a set of production rules 8
Def. of Grammar Definition of grammar(문법) G = ( V, , S, P ) V : a finite set of variables : an alphabet S : a start variable, S V P : a set of production rules Production rule : x y where x (V )* V (V )* and y (V )* A aB A A,BV, a,b A aB | aB aAb r과 s가 정규식이라면, r|s도 정규식 (r or s) 9
Regular Grammar Construct a finite automaton that accepts the language generated by the grammar V0 aV1, V1 abV0|b V0, V1, Vf를 갖는 transition graph를 구성함 첫번째 생성 규칙에의해 V0와 V1사이에 라벨 a인 간선을 생성함 두번째 생성 규칙에 의해 오토마타에 새로운 정점 하나 추가하고 V1과 V0사이에 라벨 ab인 경로가 존재하도록 함 마지막으로 V1과 Vf사이에 라벨 b인 간선 추가 이 문법에 의해 생성되고 또한 오토마타에 의해 인식되는 언어는 정규 언어 L ((aab)*ab) V0 aV1 ab 10
Language of a Grammar Def. Language of a grammar For a grammar G = (V,,S,P), the language being derived from the G is defined as L(G) = { w * | S *w } ,where * indicates the k-times derivation (k0). The derivation is the process of applying a production rule to x (V )* V (V )*. A aB | aB aAb A aB aAb aaBb aaAbb aabb 11
Regular Grammar Def. of Regular Grammar G = ( V, , S, P ) where all the production rules have the form A wB or A w, A,B V and w *. The language L(G) being derived from a regular grammar G is called a regular language. 12
An Example (Ex.) Find the regular language that is derived from the following regular grammar. G = ( {S,A}, {a,b}, S, P ) P : S aA A abS | a L(G) = { (a2b)*a2 } S aA aabS aabaA aabaabS (a2b)2aA (a2b)2aa 13
Regular Grammar NFA (Ex.) Find a NFA that is equivalent to the regular grammar G = ( {S,A}, {a,b}, S, P ) P : S aA A abS | a L(G) = { (a2b)*a2 } S A F M=({S,A,B,F},{a,b},,S,{F}) B 14
DFA Regular Grammar (Ex.) Find a regular grammar that is equivalent to the following DFA. q1 q2 q3 q4 G=({q1,q2,q3,q4},{0,1},q1,P) P : q1 0q2 | q2 1q3 q3 0q4 | q4 0q2 | 1q3 | We don’t have to consider dead states that are not final states. 15
Summary of Conversions NFA DFA Finite Automata RG RE 16