결정적 유한 오토마타에서 가능한 모든 알파벳에 대한 전환을 정의해야합니까?


13

내일은 나의 프리젠 테이션이며 내 개념을 지우고 싶습니다…

DFA에서 "각 상태마다 가능한 모든 심볼 (알파벳)의 전환을 정의해야합니다."

각 상태에 대해 DFA에서 필수 가능한 모든 기호에 대한 전환을 정의합니까? 그렇지 않은 경우 예를 들어 주시겠습니까?


1
CS.SE에 오신 것을 환영합니다! 게시물 당 하나의 질문 만하는 것이 좋습니다. 이것은 두 가지 질문으로 보입니다. 두 번째 것을 (NFA에 대해) 별도로 게시하는 것이 좋습니다. 또한이 사이트를 철저히 검색하여 교과서에서 공식적인 정의를 확인 했습니까? 그렇지 않은 경우 요청하기 전에 그렇게해야합니다. 그리고 당신이 그 일을 할 때 찾은 것을 질문에 우리에게 보여 주어야합니다.
DW

따뜻하게 환영 해 주셔서 감사합니다.이 사이트와 Google에서도 실제로 검색했지만 실제로는 저를 혼란스럽게하는 반대 의견을 받고 있습니다.
HQuser

두 번째 질문은 삭제되었지만 편집 내역에서 질문을 찾아 오른쪽 상단의 '질문하기'버튼을 사용하여 별도의 질문으로 게시 할 수 있습니다. 그러나 질문하기 전에 조사 제안을하고 어떤 연구를 읽었는지를 알려주는 것을 포함하여 어떤 연구를했는지 질문으로 알려주십시오. 이 질문에 관한 한,이 질문을 편집하여 질문에 포함 된 교과서의 공식적인 정의를 찾아 그 정의에 대한 해석을 보여줌으로써 여기서 내가 준 피드백을 처리 할 수 ​​있습니다.
DW

9
어쨌든, 이것은 cs.stackexchange.com/q/12587/755에 의해 덮여있는 것 같습니다 . 커뮤니티 투표, 제발 : 중복인가요?
DW

1
나는 당신의 질문을 정말로 이해하지 못합니다. "정의가 X라는 것을 읽었습니다. 정의가 X입니까?"
David Richerby

답변:


12

DFA는 다음 데이터로 지정됩니다.

  • 알파벳 .Σ
  • 미국의 집합 .Q
  • 초기 상태의 .q0Q
  • 최종의 집합 상태 .FQ
  • 전이 함수 .δ:Q×ΣQ

의 서명에서 볼 수 있듯이 모든 심볼의 모든 상태에서 전환을 지정합니다.δ


7
DFA는 때때로 부분 전환 기능으로 정의됩니다.
Gilles 'SO- 악마 그만해

6
DFA에 대한 "공식적인"정의는 없습니다. 그러나 OP의 독서는이 특정 정의의 영향을 배신합니다.
유발 Filmus

전이 함수가 총계라고 명시 적으로 말해야합니다.
Ryan

24

DFA에 전환이 누락되었다고 가정합니다. 전환이 정의되지 않은 심볼이 표시되면 어떻게됩니까? 결과는 정의되어 있지 않습니다. 이는 DFA의 "결정 론적"특성을 위반하는 것으로 보입니다.

그러나 불완전한 DFA를 완전한 DFA로 변환하는 것은 쉽지 않습니다. 새로운 상태를 추가하고 illegal정의되지 않은 전환을 illegal상태에 매핑하면 됩니다. 마지막으로 모든 심볼에 대한 illegal상태 에서 상태로 다시 전환을 추가하십시오 . 이 illegal상태는 종종라고 싱크 데이터를 싱크에 속하는 일단 나가 할 수있는 방법이 없기 때문에, 상태를.

따라서 실용적 관점에서 보면 누락 된 전환을 처리 할 수있는 잘 정의 된 방법이있는 한 일종의 문제입니다.


10
주의 : 정의되지 않은 전환은 자동 결정을 비 결정적이지 않고 불완전하게 만듭니다. 이러한 정의되지 않은 전환을 체계적으로 완료하는 것이 쉽지 않기 때문에 DFA에 대한 일부 정의가 있습니다.
Darkhogg

1
@Darkhogg, 나는 반드시 동의하지는 않지만 불완전한 DFA의 결정이 특정 구현이 이러한 정의되지 않은 / 누락 된 전환을 처리하는 방법에 달려 있지 않습니까? 그러한 구현이 암시 적으로 DFA를 완성하지 않습니까?
Nathan Davis

1
아니요, 구현에 의존하지 않으며 정의에 따라 다릅니다. 당신이 총 전환 기능을 가진 것으로 DFAS을 정의하고 있는지 일부 기능을 사용하는 경우, 당신은 정의되지 않은 동작을 가지고 있습니다 비 결정론과 끝,하지만하지 주어진입니다. 그러나 DFA는 부분 기능을 사용하도록 명시 적으로 정의 되기도 하며 정의되지 않은 전환이 발생하면 동작이 "수락하지 않음"기간입니다. 전환이 아닌 경우에도 결과가 정의되므로 모든 결정에 대해 비 결정적이거나 펑키 한 것이 없습니다.
Darkhogg

BTW : 대화 변환을 수행 할 수도 있습니다. "완전한 자동 장치"를 가져와 싱크 상태를 제거하여 "불완전한 자동 장치"를 얻습니다. 결국 유일한 차이점은 전체 오토 마톤은 항상 단어를 끝까지 읽을 수 있고, 그 후에 단어를 수락할지 여부를 결정하는 반면 부분 오토 마톤은 모든 단어를 읽기 전에 일부 단어를 거부 할 수 있다는 것입니다. 문자.
Bakuriu

5

ΣQρQ×Σ×Qδ:(Q×Σ)2Q|δ(q,σ)|1qQσΣδ(q,σ)qQσΣ

수락 실행이있는 단어는 NFA에서 승인됩니다. 결정 론적 오토 마톤은 최대 1 회 실행됩니다. 완전한 오토 마톤에는 최소한 하나의 런이 있습니다.

일부 작성자 는 각 상태가 초기 상태에서 최종 상태까지의 경로에있는 것으로 자동 다듬기를 정의 합니다. 특정 언어의 경우 자동 완성 기능을 사용하여 자르고 완성 할 수 없습니다. 그러한 경우, 완전성 요구 사항을 결정 론적 오토 마톤의 정의에서 벗어나는 것이 편리합니다.

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