NFA는 엡실론 전환을 어떻게 사용합니까?


12

아래 그림에서이 NFA가 정확히 무엇을 받아들이고 있는지 파악하려고합니다.

여기에 이미지 설명을 입력하십시오

나를 혼란스럽게하는 것은 q 0 에서 의 점프 입니다.ϵq0

  • 경우 을 입력, 모두 시스템 이동하지 Q 0Q 1 (상태를 동의)을?0q0 q1

  • 경우 입력, 모두 시스템 이동하지 Q 1Q 2를 ?1q1q2

  • 입력없으면 (빈 문자열) 시스템이 (상태 수락) 로만 이동 합니까?q1


2
정의로 이동 : 경우 NFA는 단어를 받아 어떤 거기에 계산이 받아들입니다. NFA는 그 자체로 DFA가 의미하는 "알고리즘"이 아닙니다.
Raphael

답변:


10

전환 이있는 상태에있을 때마다 자동으로 BOTH 상태에 있으므로이를 단순화 할 수 있습니다.ϵ

문자열이 이면 오토마타는 q 0q 1 에서 끝납니다.ϵq0q1

문자열이 '0'이면 q 1에 다시 있습니다.q0q1

문자열이 '1'인 경우 에있을 것입니다. q 0 의 지점에서 보면 '1'이 q 2로 전이 되지만 케이스를보아야하기 때문입니다. 에 Q 1 (당신이 있다면 Q 0 당신은 항상 있었다 q를 후 더 '1'로 전환이 대체 경로 그래서 그냥 "다이"가없는도).q2q0q2q1q0q1

이 경우를 보면 오토마타가 , 0 ∗을 수락 하고 q 0 에서 q 1 로 이동하는 것을 쉽게 알 수 있기 때문에 q 2 에 도달하는 유일한 방법 은 0 11 1 이므로 오토마타를 ϵ , 0 , 0 11 1ϵ0q0q1q20111ϵ00111

더 궁금한 점이 있으면 물어보십시오!


7
"그것은 당신이 자동으로 양쪽 상태에 있다는 것을 의미합니다."-이것이 유용한 직관이라고 생각하지 않습니다. 즉, 그것은 비결정론을 잘못된 방식으로 나타냅니다.
Raphael

왜 잘못 표시합니까? 비결정론에 대한 델타의 정의에 따르면 정확히 1이 아닌 일련의 상태를 얻습니까? 이것은 단지 두 주에 있다는 것을 의미 할 수 있습니다.
H_DANILO

결정적이지 않은 머신은 "모든 솔루션을 병렬로 시도"한다는 아이디어를 촉진합니다. 그것은 알고리즘 적으로 말해서 일어나는 일이 아닙니다. 비결정론은 알고리즘 기법이 아니라 기술적 인 형식론입니다.
Raphael

그는 비결정론의 원리를
이론적 인

@Raphael 귀하의 의견으로는 더 유용한 직감이 무엇입니까?
Andrey Portnoy

6

q0q0q1q1

q00q0q10q01q21q1q11

0+011101


ϵϵ


-1

이 NFA에 대한 DFA 구성을 시도했습니다.

Q

σ(Q×(ϵ))P(Q)

q0=q0

FQ,F={q0}

M

알파벳-동일

Q=P(Q)

RP(Q)

E(R)ϵrR

σ(R,a)=rRE(σ(r,a))

q0=E({q0})

F=P(Q)÷F

이 FSM에 대한 일부 계산

1. ϵq0=E({q0})={q0,q1}q1ϵ

2. 0σ({q0,q1},0)=E(σ(q0,0))E(σ(q1,0))={q0,q1}{}={q0,q1}0

{ϵ,0}L(M)

David Richerby 에게 감사합니다


고마워 주셔서 감사하지만 이것이 어떻게 질문에 대답하는지 모르겠습니다. 기계가 허용하는 언어를 설정하지 않았으며 세 가지 글 머리 기호 중 하나를 해결하지 않았습니다.
David Richerby

ϵ{q0,q1}00{q0,q1}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.