1
1.3. 언어 :알파벳, 스트링: 알파벳의 유한 열, :w의 글자의 개수, :공스 트링, =알파벳 상의 모든 스트링의 집합 : x뒤에 y 붙임, : w를 역순으로 나열 v는 w의 부분스트링 : , v는 w의 어두 : , v는 w의 어미 : 언어 : 의 부분집합, , , 2.1. 정규식 L(r) : r이 표시하는 집합 A, B 동등 2.2. 유한 오토마타 결정 유한 오토마타 DFA Q:상태들의 유한 집합, :알파벳, : × →, : 초기 상태, :최종상태들의 집합 × with , M이 w를 받아들인다 : 한번 전이, : 여러번 전이 가 부분함수 : 죽은 상태 도입 2.3. 비결정 유한 오토마타 비결정 유한 오토마타 NFA × ∪ × 또는 × ∪→ × ∪→ with E(q): q에서부터 글자를 읽지 않고 도달가능, × with , M이 w를 받아들인다 2.4. 유한 오토마타의 동등성 mark while marked state { unmark P for each { if { add R as marked state to } } } 2.5. 정규식과 유한 오토마타 k이하의 상태만을 지나면서 M을 에서 로 전이시키는 스트 링의 집합 2.6. 정규언어의 성질 정규언어는 합집합, 접합, Kleene곱, 여집합, 교집합에 닫혀 있다. (소속문제) : L을 오토마타로 바꿔 w를 읽어 받아들이는지. : M을 DFA로 바꾸고 초기->최종 경로 탐색 : 인지 확인 (펌프 정리) . ∃ ∀ ≥ ≥ ∀ ≥ ( 도 똑같은 조건) (역 반례) , 를 생각. 11,12,22가 substr로 나타나는 -> regular 가 반례. max ′ for 생각. 2.8. 유한 오토마타의 최소화 초기상태에서 도달할 수 없는 상태들은 모두 제거 ∼∀ ∀ ≤ 3.1. 문맥무관 문법 문법 G V:변수들의 유한 집합, :알파벳, :시작 변수, P:유한 문법 G 가 문맥무관 문법 : → ⇔ (유도) if if x에 생성규칙 0번 이상 적용하여 y를 얻을 때 이면 x를 문법 G의 문장형태 이면 w를 문법 G의 문장(생성 스트링) 문맥무관 언어 : 문맥무관 문법이 생성하는 언어 3.2. 정규문법 문법 G 가 정규문법 : DFA 에 해당하는 정규문법 G 에 대해, 를 P에 더한다. 에 대해, 을 P에 더한다. G의 유도과정에 해당하는 NFA 와 중간 상태들 에 대해, 를 더한다. 에 대해, 를 더한다. 3.3. 파스 트리 에 대한 파스 트리 1. 루트 노드 이름은 2. (내부 노드 이름) , 의 자식노드를 가지면 은 생성규칙 3. (단말 노드 이름) , 은 유일한 자식노드 열매 스트링 : 단말 노드의 이름을 왼쪽부터 오른쪽으로 접합 를 파스 트리로 나타내면 열매 스트링이 좌측 유도 : 유도과정에서 맨 왼쪽 변수에 생성규칙 적용 G는 애매하다 : s.t. G가 w에 대해 두 개 이상의 파스 트리를 가진다. L은 애매하지 않다 : L을 생성하는 애매하지 않은 문법 G가 존재 L은 본질적으로 애매하다 : L을 생성하는 모든 문법이 애매 3.4. 표준형 Chomsky 표준형 : Greibach 표준형 : 1. P에서 형태의 생성규칙을 없앤다. 1.1. 인 변수들의 집합 을 구한다. (a) 인 A를 에 넣는다. (b) 인 A를 에 넣는다. 1.2. 에 대해 이면 그 자리에 을 번갈아 넣은 것들을 에 넣는다. 단, 은 넣지 않는다. 2. 에서 형태의 단위 생성규칙을 없앤다. 2.1. 를 만족하는 변수들을 구한다. 2.2. 에서 단위 생성규칙이 아닌 것을 에 넣는다. 2.3. & 이 단위생성규칙이 아니면 를 넣는다. 3. 의 모든 생성규칙을 Chomsky 표준형으로 바꾼다. 3.1. 인 생성규칙을 에 넣는다. 3.2. 에서 이면 변수 를 만들고 에 넣고 로 대치한다. 3.3. 로.

오토마타_중간고사_요약

Embed Size (px)

Citation preview

Page 1: 오토마타_중간고사_요약

1.3. 언어:알파벳, 스트링: 알파벳의 유한 열, :w의 글자의 개수, :공스

트링, =알파벳 상의 모든 스트링의 집합⋅: x뒤에 y 붙임, : w를 역순으로 나열v는 w의 부분스트링 : , v는 w의 어두 : , v는 w의 어미 :

언어 : 의 부분집합, ⋅ ∈,

,

2.1. 정규식L(r) : r이 표시하는 집합 ⇒A, B 동등

2.2. 유한 오토마타결정 유한 오토마타 DFA

Q:상태들의 유한 집합, :알파벳, :×→, ∈ : 초기 상태, ⊂:최종상태들의 집합 ×→ with , M이 w를 받아들인다⇔∈ ∈∈⊢ ⊢ : 한번 전이, ⊢ : 여러번 전이가 부분함수 : 죽은 상태 도입

2.3. 비결정 유한 오토마타비결정 유한 오토마타 NFA

⊂ ×∪× 또는 ×∪→

×∪→ with

E(q): q에서부터 글자를 읽지 않고 도달가능, ∈

×→ with ,

M이 w를 받아들인다⇔∩≠

∈∩≠ ⊢

2.4. 유한 오토마타의 동등성←mark while ∃ marked state ∈ {

unmark Pfor each ∈ {←if ∉ {

add R as marked state to }← } }

2.5. 정규식과 유한 오토마타

k이하의 상태만을 지나면서 M을 에서 로 전이시키는 스트

링의 집합

2.6. 정규언어의 성질정규언어는 합집합, 접합, Kleene곱, 여집합, 교집합에 닫혀 있다.(소속문제) ∈ : L을 오토마타로 바꿔 w를 읽어 받아들이는지. : M을 DFA로 바꾸고 초기->최종 경로 탐색 : ∩∪∩

인지 확인(펌프 정리) ≥ℵ. ∃∀∈ ≥

≥ ≥ ∀≥ ∈ (≤ 도 똑같은 조건)

(역 반례)

, 를 생각.

11,12,22가 substr로 나타나는 -> regular∪ 가 반례. max′ for 생각.

2.8. 유한 오토마타의 최소화초기상태에서 도달할 수 없는 상태들은 모두 제거∼ ∀∈∈⇔∈∼ ∀≤ ∈⇔∈∼ ∼ ∀∈∼

3.1. 문맥무관 문법문법 G V:변수들의 유한 집합, :알파벳, ∈:시작 변수, P:유한 →∈∪∪ ∈∪

문법 G 가 문맥무관 문법 : ∃∈∃∈∪ →

→⇔→→

∀∈∪∈⇒(유도) if ∃→⇒ if x에 생성규칙 0번 이상 적용하여 y를 얻을 때⇒∈∪ 이면 x를 문법 G의 문장형태⇒∈ 이면 w를 문법 G의 문장(생성 스트링) ∈⇒문맥무관 언어 : 문맥무관 문법이 생성하는 언어

3.2. 정규문법문법 G 가 정규문법 : ∃∈∃∈ →→

DFA 에 해당하는 정규문법 G 에 대해, →를 P에 더한다.∈에 대해, →을 P에 더한다.G의 유도과정에 해당하는 NFA ∪ 와 중간 상태들→에 대해, 에 를 더한다.→에 대해, 에 를 더한다.

3.3. 파스 트리 에 대한 파스 트리1. 루트 노드 이름은 2. (내부 노드 이름)∈, 가 ⋯의 자식노드를 가지면 → ⋯은 생성규칙3. (단말 노드 이름)∈∪, 은 유일한 자식노드열매 스트링 : 단말 노드의 이름을 왼쪽부터 오른쪽으로 접합⇒를 파스 트리로 나타내면 열매 스트링이 좌측 유도 : 유도과정에서 맨 왼쪽 변수에 생성규칙 적용G는 애매하다 : ∃∈ s.t. G가 w에 대해 두 개 이상의 파스 트리를 가진다.L은 애매하지 않다 : L을 생성하는 애매하지 않은 문법 G가 존재L은 본질적으로 애매하다 : L을 생성하는 모든 문법이 애매

3.4. 표준형Chomsky 표준형 : ∃∈∃∈ →→

Greibach 표준형 : ∃∈∃∈∃∈

1. P에서 → 형태의 생성규칙을 없앤다.1.1. ⇒인 변수들의 집합 을 구한다.

(a) →인 A를 에 넣는다.(b) → ⋯∈인 A를 에 넣는다.

1.2. → ⋯에 대해 ∈이면 그 자리에 와 을 번갈아 넣은 것들을 에 넣는다. 단, →은 넣지 않는다.

2. 에서 → 형태의 단위 생성규칙을 없앤다.2.1. ⇒를 만족하는 변수들을 구한다.2.2. 에서 단위 생성규칙이 아닌 것을 에 넣는다.2.3. ⇒ & →이 단위생성규칙이 아니면 →를 넣는다.

3. 의 모든 생성규칙을 Chomsky 표준형으로 바꾼다.3.1. →인 생성규칙을 에 넣는다.3.2. → ⋯에서 ∈이면 변수 를 만들고 →를

에 넣고 를 로 대치한다.3.3. → ⋯를 → → ⋯ →로.