2011-09-22 3 views
3

가 I이 DFA는 (Q, Q1, A, N, F)으로 묘사 한 곳결정적 유한 상태 오토 마톤 질문

Q는 = {1,2,3,4},
1 분기 = 1 ,
A = {A, B, C},
F = {2,4}
N = {
(1, a) -> (2), (1, b) -> (3) (1 (3, a) → 4,
(2, b) → 4, 4, b) -> 도 4 (4, c) - 다음 문자열이별로 허용 그때 말든 해결해야

> 4}

는 그래서 천이도 그려져 있고, 그 미세 보인다 DFA :

  1. AABBCC
  2. acacac
  3. cabbac
  4. babbab

와 함께 제공되는 다음

  1. 올바른
  2. 잘못된 (A에서 이동할 수 없습니다? -> C) 잘못된
  3. (C -a에서 이동할 수 없습니다?)
  4. 잘못된 (B에서 이동할 수 없습니다 -> A)

나는 사람들이 올바른지 100 % 확실하지 않다, 그러나 그들은 바른 길에 생각합니다.

영어로는 받아 들일 수있는 언어를 설명해야합니다. 문제는 아니지만 도움이 필요한 부분은 수학 표기법을 사용하여이 언어를 설명하는 것입니다. 이 점을 이해하도록 도와주세요. 문자열의 수용에 대한

+0

영어로 설명 있을까요? – AakashM

+0

엄밀히 말하면 DFA가 아닙니다. 우리가 놓친 전환이 정의되지 않은 "죽은"상태로 이끌 것이라고 가정해야합니까? 어쨌든, 제대로 정의 된 DFA가 주어지면 Kleene의 정리의 두 번째 부분을 사용하여 정규 표현식을 찾을 수 있습니다. http://www.cs.odu.edu/~toida/nerzic/390teched/regular/fa/kleene-2.html을 참조하십시오. 영어로 쉽게 설명 할 수 있다면 수학 표기법으로 번역 할 수 없으면이 과정을 준비하는 데있어 더 심각한 결점이 있음을 알 수 있습니다. – Patrick87

답변

0

귀하의 답변 당신의 도움을 위해 너무 많은

덕분에이 쉽게 다이어그램에 그들을 따라하려고 볼 수 있습니다, 맞다. 이제
, 언어에 대한 : 우리는 단어 정규 표현식 다음 해당 마무리 할 수있는 2 차 정점에서

:
b?a+ - 우리가 선택적으로 다음 내 첫 번째 3 번째 정점으로 이동 b을 구 할 수 있습니다 a을 넘겨 주거나, 즉시 a으로 2 번째 꼭지점으로 이동할 수 있습니다. 우리가 원했던만큼 우리는 a을 추가 할 수 있습니다.

이제 4 번째 정점에 단어를 마무리 대해 :

먼저, 우리는 어떻게 버텍스 4를 도달 할 수있다?
1. 처음으로 정점 4에 도달하려면 c으로 즉시 이동하거나 3 번째 정점으로 먼저 이동하여 b를 얻은 다음 c으로 4 번째 위치로 이동합니다.여기에 문자열이 있습니다. b?c
2. b?a+ (이전 사례에서 설명한대로)으로 정점 2에 도달 한 다음 b을 전달할 수 있습니다. 여기서 우리는 b?a+b과 같은 문자열을 얻습니다.
완전히, 우리는 b?(a+b|c) regexp와 일치하는 단어로 4 번째 정점에 도달 할 수 있습니다.

이제 정점 (4)의 단부에 bc 심볼의 임의의 수를 가산,이 경우에 대한 답변을 얻을 :
b?(a+b|c)(bc)*

마지막으로, 우리는에 의해 허용되는 단어의 전체 세트를 발생할 수 다음 정규식 등이 DFA 단어 :

b?(a+ | (a+b|c)(bc)*?)

+0

@downvoter : downvote 이유에 대한 의견이 있으십니까? –

관련 문제