2017-11-28 31 views
0

다음 연습 문제를 해결하는 방법을 배우려고합니다. 나는 시작하는 방법을 이해하지 못한다. 압도적이다. DFA, NFA 및 DFA를 NFA로 변환하는 방법을 알고 있습니다. 나는 또한 형식적인 표기법을 이해한다.Automata - DFA 복사본을 사용하여 NFA 구성 - NFA의 공식 정의

이것은 숙제 연습이 아니라 공부하기위한 것입니다. 나는 해결책을 가지고 있지만 어느 것이 든 이해할 수는 없다 ..

누군가가 놀랄만한 운동을 할 수 있다면, 적절한 해설을 가진 이들과 같은 연습 문제를 다루는 예제도 훌륭 할 것이다. 웹에서 비슷한 운동을 아직 찾지 못했습니다.

을 감안할 때 :

  • 알파벳 Σ

  • 기호 Σ

언어 L-C = {자외선에 걸쳐 C ∈ Σ

  • 정규 언어 L | ucv ∈ L}

    D = (Q, Σ,, q0, F)를 ℒ (D) = L 인 DFA라고하자.

    ℒ (N) = L-c가되도록 D의 복사본을 사용하여 NFA N을 만드는 방법을 보여줍니다. N의 정식 정의를하십시오.

  • +0

    [cs.se] 또는 [math.se]에이 질문을 한 경우 어느 쪽이 더 나은 일치 IMHO가 될지 모르겠지만 답변을 시도하는 사람과 누구나 MathJax를 사용할 수 있으므로 삶이 훨씬 쉬워집니다. (수학/CS를위한, 프로그래밍을위한 것이 아닙니다). 그 동안, 나는 텍스트를 degiffed. – rici

    답변

    2

    나는 형식적인 정의를 자세하게 적어 두지 않을 것입니다. 기본적으로 두 개의 DFA 사본을 사용할 수 있습니다. 처음 시작하면 최종 상태가 아닙니다. 상태 p에서 c를 읽는 상태 q로 전환 할 때마다 첫 번째 복사본의 p부터 두 번째 복사본의 q까지가는 항목을 읽지 않는 전환을 추가합니다. 이렇게하면 정확하게 하나를 건너 뜁니다. c. 두 번째 복사본을 작성하면 c가 건너 뛴 것을 알 수 있으며 나머지 입력이 수락 상태가되면 수락 할 수 있습니다.