2. 형식언어 (Formal Language)

Slides:



Advertisements
Similar presentations
CHAPTER 5 TOP-DOWN PARSING SUNG-DONG KIM, DEPT. OF COMPUTER ENGINEERING, HANSUNG UNIVERSITY.
Advertisements

 수학 10- 나  1 학년 2 학기  Ⅰ. 도형의 방정식 1. 평면좌표 (1/24) 두 점 사이의 거리 수업 계획 수업 활동.
제 5 강 근대수학의 여명 무리수 (Irrational number) 인도, 아라비아 (0 과 음수 ) 데카르트 - 해석기하학.
한국경영혁신 중소기업협회 중소기업 신용관리와 매출채권 부실화 예방. 신용보증기금 영상 자료 ① 홍보영상 ① 홍보영상 ② CI탄생배경 ② CI탄생배경 ③ MBN 다시 뛰는 대한민국 ③ MBN 다시 뛰는 대한민국 1.
C-aC-bA-bB-aB-bB-cA-aA-c A. Head Section. A-b B-a B-b B-c C A-a A-c Top page.
목 차 I 방위산업의 정의 II 방위산업의 특성 III 방위산업의 현황.
언어와 문법 (languages, grammar)
지적기초측량 경일대학교/부동산지적학과.
목 차 Context Of Presentation 검토 배경 IT 산업의 정의 및 특징 우리나라 IT 산업의 현황
1. 비정규노동이란 2. 비정규노동의 확대 원인 3. 비정규노동자의 삶 4. 비정규노동의 문제
컴파일러 입문 제 5 장 Context-Free 문법.
보호구는 왜 착용하여야 하는가? 유해요인(가스,분진,소음) 위험요인(추락,낙하,비래,충돌 등) 근본적인 안전대책 강구
Compiler Lecture Note, Inroduction to FL theory
DS020 오토마타형식언어 Chapter 3. Regular Languages and Regular Grammars
Compiler Lecture Note, Inroduction to FL theory
제 4 장 구문 분석.
“자연어처리” 소개 (Natural Language Processing)
해시 함수.
제 7 장  LR 파서.
사회복지법인 실무자 교육.
전산회계1급 기출 50회 신성대학교 세무부동산과 김상진.
제 4장 프로그래밍 언어의 구문과 구현 기법 4.1 언어 구문 4.2 프로그래밍 언어 구현 기법.
4장 구문(Syntax).
Discrete Math II Howon Kim
문법과 언어.
프로그래밍언어론 2nd edition Tucker and Noonan
오토메타 형식언어 2003년도 제 2학기.
유클리드의 처음 5공리 임의의 점에서 또 다른 임의의 점까지 단 한 개의 직선을 그을 수 있다.
부울대수(Boolean Algebra)
형식언어와 유한상태기계.
DS020 오토마타형식언어 Chapter 6. Simplification of Context-Free Grammars and Normal Forms Exercises October 16, 2003.
제 5장. Context-Free Languages
Tel : Office : 2공학관 408호 오토마타 및 형식언어 김 현 성 Tel : Office : 2공학관 408호
Sung-Hae Jun 자연어 처리의 이해 Sung-Hae Jun
Chapter 7. PUSHDOWN AUTOMATA Exercises
Ⅷ. 도형의 닮음 1. 도형의 닮음 2. 삼각형과 평행선 3. 닮음의 응용.
Discrete Math II Howon Kim
주요 내용 형식 언어와 문법 정규식과 정규 집합 유한 상태 기계 정규 문법과 유한 상태 기계와 정규집합.
컴퓨터 구조 2장. 논리회로의 활용.
이산수학 논리∙명제에서 알고리즘까지 √ 원리를 알면 IT가 맛있다 ehanbit.net.
이재상 기본 논리회로와 불의 대수 이재상
2. 형식언어 (Formal Language)
올바른 이메일 사용법
우리생활속의 확률 이용사례탐구 한림초등학교영재학급 6학년 김수민.
학습목표 CFL을 accept하는 오토메타인 pda를 이해 npda와 dpda의 차이를 compiler의 측면에서 학습
7. LL 구문 분석 7-1. 결정적 구문 분석 7-2. Recursive-descent 파서 7-3. Predictive 파서 7-4. Predictive 파싱 테이블의 구성 7-5. Strong LL(k) 문법과 LL(k)문법.
4. 어휘 분석(Lexical analysis)
제 4 장. Regular Language의 특성
학습목표 Pumping Lemma와 Closure 특성을 통해 CFL와 Language Family간의 관계 이해
서울 2008: 재정분석결과.
김포 한강베네치아 상가분양 3층~5층 오피스텔 226세대 1층~2층 상가 분양문의 : 이효철( )
우리는 부모를 닮지만, 왜 똑같지는 않을까? 유전적 다양성 독립 연관과 교차 무작위 수정.
Discrete Math II Howon Kim
3. 정규 언어(Regular Language)
인천공항 스카이 허브라운지 상세페이지  배송비 부분에서 B2B, B2C 두가지 버전이 필요하며,
Discrete Math II Howon Kim
4. 어휘 분석(Lexical analysis)
Chapter 5. Context-Free Language Exercises
집합의 연산 총정리 수학 7-가 집합과 자연수 > 집합 > 9/20 수업계획 수업활동 [제작의도]
제 6 장  상향식 파싱.
진리 나무 Truth-tree  ∧ ∨ → ↔  =.
5차시: 로봇 주행 실습 및 미션 수행하기 준비물 SPL-Duino 보드 (조도센서 내장)
하노이 탑 두세요 투노이 탑 주세요 두세요 주세요
제10장 비유동부채 제1절 화폐의 시간가치 제2절 비유동부채의 의의 및 구성 제3절 사채발행과 회계처리
제9주 예산 수립과 집행.
노동조합 활동 사례 희망연대노동조합.
엔화 대환/대출 자금용도 대상 이자 차액 효과 (A,B,C) 환율 리스크 헷징 (A,B) 엔화의 평균환율 (A,B,C)
“아시아 금융을 선도하는 글로벌 뱅크” 외상매출채권전자대출 인터넷 약정 메뉴얼 - 판매기업- 2010년 12월 기업금융부.
표준화 이론 표준형 구조나무 표준화 정리  ∧ ∨ → ↔  =.
시나브로 기획안.2 By.임나연.
Presentation transcript:

2. 형식언어 (Formal Language) 2-1. 형식 언어의 정의 2-2. 형식 언어의 문법 (Formal Grammar) 2-3. 형식 언어의 문법의 분류

2-1. 형식언어의 정의 정의 몇 개의 수학적 구조와 함께 기호적 스트링 (Symbolic string)들로 구성 어떤 alphabet에서 Symbol들로 구성되는 string의 집합

정의 2.0 정의 2.1 정의 2.2 Symbol : 언어에 있어서 가장 기본이 되는 요소 예 : 0, 1, ㄱ, A Alphabet : Symbol들의 유한 집합 예 : T1 = {0, 1} , T2 = {ㄱ,ㄴ,·····,ㅎ,ㅏ,ㅑ,····,ㅡ,ㅣ} 정의 2.2 String : Alphabet T에 속하는 Symbol이나 T에 속하는 하나이상의 Symbol 연결 예 : T = {a, b}일 때, a, b, aa, ab, ba, bb, aaa, ····· 는 모두 T에서 만들 수 있는 String이다. (character, 문자) (단어)

String 길이 : String을 이루는 Symbol의 개수 정의 2.3 String 길이 : String을 이루는 Symbol의 개수  예 :  = 0110 || = 4 u = dog |u| = 3  = house || = 5 정의 2.4 String 접속(Concatenation) : String의 연속 연결 해 놓은 것 u = a1····· an,  = b1·····bn u· = a1·····anb1·····bn, |u| = |u| + || = n + m u· = u  u (교환법칙 성립 안 함)  예 : |u| = dog = 3 || = house = 5 u· = u = doghouse |u| = 8

정의 2.5 empty string : 길이가 0인 string : 문자열이 없는 것 (epsilon), (lambda)로 표현 || = || = 0  예 : u = u = u , u = u, dog··house = doghouse l(l+d)* ===> A· = A an : a가 n개 연결된 string을 표시 예 : a5 = aaaaa a0 : empty String R : String의 역순 예 :  = abc R = cba  = 12····n R = n···· 21

T* : empty string을 포함한 T에 속하는 Symbol로 이루어 정의 2.6 T* : empty string을 포함한 T에 속하는 Symbol로 이루어 질 수 있는 모든 string의 집합 예 : T = {0, 1} T* = {, 0, 1, 00, 01, 10, 11, 000, ···} T+ : T* - {} 예 : T = {a, b} T+ = {a, b, aa, ab, ba, bb, aaa, aab, ··· } 정의 2.7 Alphabet T에 대하여 언어 L은 T*의 부분집합 이다. 예 : T = {a, b} L1 = T* = {, a, b, ab, ba, ···} L2 = { a, ba, aba} L3 = {ap | p는 소수(prime number)} L4 = {anbn | n 1 }

정의 2.8 정의 2.9 예 : L = {a, ba, aab} 언어의 곱 (Product) L·L´ = LL´ = {xy | x L, y  L´}  LL´ 예 : L = {a, b} L´ = { ab, bc, cc} LL´ = { a, b} ·{ab, bc, cc} = {aab, abc, acc, bab, bbc, bcc} 정의 2.9 L의 거듭제곱 (Power) 예 : L = {a, ba, aab} L0 = {} L1 = {a, ba, aab} L2 = L·L = {a, ba, aab}·{a, ba, aab} = {aa, aba, aaab, baa, baba, baaab, aaba, aabba, aabaab} Ln = L·Ln-1

정의 2.10 정의 2.11 언어 L의 L*(reflexive transitive closure) L* = L0L1L2·····Ln···· =  Li 정의 2.11 언어 L의 L+(transitive closure) L+ = L1L2L3·····Ln···· = L* - L0 예 : l = {A,·····,Z} , d = {0,····,9} ld = {A,·····,Z}·{0,····,9} = {A0,A1,·····, A9,B0,B1,····B9,C0,····,Z0,····Z9} : 하나의 영문자와 숫자하나와의 조합을 표시 ll : 두개의 영문자 l4 : 4자리의 영문자  L*는 엘 스타(L star)로, L+는 엘 대거(L dagger)로 읽는다  i=0

2-2.형식언어의 문법(Formal Grammar) 정의 2.12 G = ( VN, VT, P, S ) VN : non-terminal Symbol의 유한집합 VT : terminal Symbol의 유한집합 VN VT =  V(Vocabulary) = VN  VT P : 생성규칙의 유한집합    (유도)  V+   V* S : start Symbol  VN

예제 VN = {<sentence>,<subject>,<verb>,<object>,<noun><article>} VT = {The, Boy, Girl, Loves, .} S = <sentence> P : 1. <sentence>  <subject><verb><object>. 2. <subject>  <article><noun> 3. <object>  <article><noun> 4. <verb>  Loves 5. <article>  The 6. <noun>  Boy | Girl derivation(replacement:유도) <sentence> => <subject><verb><object>. => <article><noun><verb><object>. => The <noun><verb><object>. => The Boy <verb><object>. => The Boy Loves <object>. => The Boy Loves <article><noun>. => The Boy Loves The <noun>. => The Boy Loves The Girl. Left most derivation Top-down방식 Right most derivation Bottom-up방식 Sentence Form Sentence

정의 2.13 예제 1 derivation(유도) : 한 String에서 생성 규칙을 한 번 적용 해서 다른 Sting으로 바뀌어진다. => : 한 번 이상 유도 => : 0번 이상 유도 예제 1 G = ({S, A},{a, b}, P, S) P : S  aAS S a A SbA A ba A SS i) S => a ii) S => aAS => abaa  예제 2 P : S  aA | bB | A  bS B aS i) S => aA => abS => ab + * ii) S => bB => baS => ba iii) S => aA => abS => abbB => abbaS => abba

sentential form(문장형태) : S =>,  V* 정의 2.14 sentential form(문장형태) : S =>,  V* sentence (문장) :   Vt 문장 형태 중 nonterminal symbol을 포함하지 않은 것 정의 2.15 L(G) = { | S => ,  Vt } 예제 3 G1 = ({S}, {a}, P, S) P : S a | aS i) S => a ii) S => aS => aa iii) S => aS => aaS => aaa L(G1) = { an | n 1} * * *

주어진 문법으로부터 생성되는 언어를 찾는 과정은 일정한 규칙이 없기 때문에 반복적인 연습이 필요하다.  예제 4 G2 = ({O, E} , {a}, P, O} P : O a O  aE E  O i) O => a ii) O => aE => aaO => aaa iii) O => aE => aaaE => aaaaO => aaaaa L(G2) = {a2n+1 | n 0}  예제 5 G3 = ({A, B, C}, {a, b, c}, P, A) P : A abc A  aBbc Bb  bB Bc  Cbcc bC  Cb aC  aaB aC  aa i) A => abc ii) A => aBbc => abBc => abCbcc => aCbbcc => aabbcc L(G3) = {anbncn | n 1} 주어진 문법으로부터 생성되는 언어를 찾는 과정은 일정한 규칙이 없기 때문에 반복적인 연습이 필요하다.

특정한 형태의 언어를 생성하는 문법을 만드는 일 문법 작성 특정한 형태의 언어를 생성하는 문법을 만드는 일 예제 1 L1 = {anbn | n 1} i) 같은 수의 terminal symbol을 생성해야 하므로 nonterminal symbol이 terminal symbol사이에 내장되어 있어야 한다. S  aSb (embedded 생성규칙) ii) 최소한의 terminal symbol은 nonterminal symbol을 필요로 하지 않기 때문에 따로 구분 지어 주어야 한다. S  ab  S  aSb | ab

예제 2 L2 = {0i1j | ij, i, j  1} i > j 일 때, 0이 많은 경우, 같은 수의 0과 1을 생성하고, 남은 0을 생성을 하면 된다. S  0A1 A  0A1 | 0A | 0 i < j 일 때, 1이 많은 경우, 같은 수의 0과 1을 생성하고, 남은 1을 생성을 하면 된다. S  0B1 B  0B1 | B1 | 1  S  0A1 | 0B1 같은 언어를 생성하는 문법은 여러 형태가 될 수 있다. 주어진 문법으로부터 생성되는 언어는 유일하지만 주어진 언어를 생성하는 문법은 다양한 형태가 될 수 있다.

2-3. 형식 언어의 문법의 분류 Chomsky 4 type Grammar 생성 규칙의 형태에 따라 구분 Type 0(Unrestricted Grammar) 생성 규칙에 어떤 제한도 두지 않는다. (위축형 문법)  예제 ) bc  b Type 1(Context-sensitive Grammar :csg) 오른쪽이 왼쪽보다 같거나 긴 생성규칙 ||  ||  예제) P : A  abc A  aABc Bb  BC CB  cc bc  c (X)

Type 3(Regular Grammar : rg : 정규문법) Type 2 (Context-free Grammar:cfg) 왼쪽은 하나의 nonterminal symbol만 가능     : nonterminal  V* 예제 ) L(G2) = {anban | n 1} G2 = ({S, C}, {a, b}, P, S), P : S  aCa C  aCa C  b Type 3(Regular Grammar : rg : 정규문법) 왼쪽에 하나의 nonterminal symbol이 오고, 오른쪽도 최대한 하나의 nonteminal symbol이거나 terminal symbol로 구성 A  tB A  t t  Vt A,B  VN (right linear regular grammar) A  Bt A  t t  Vt A,B  VN (left linear regular grammar) 예제 ) L(G3) = {anbam | n, m 1} G3 =({S,B,C}, {a,b}, P, S), P : S  aS S  aB B  bC C  aC C  a * *

정규언어 Context-free 언어 Context-sensitive 언어 Unrestricted 언어  언어의 포함관계  문법형태에 따른 언어와 인식기