나는 두 개의 정규 언어 (Galina Jiraskova에 의한)의 연결로 인한 상태 복잡성에 대해 2009 년 Galina Jiraskova의 ” 정규 언어와 설명 복잡성 연결 “을 읽고 있지만, 국가 복잡성의 실질적인 영향이 무엇인지 이해할 수 없습니다. . 나를 놀라게 한 첫 번째 사소한 생각은 복잡성이 높을수록 기계에 더 많은 시간과 공간이 필요하다는 것입니다. 이 올바른지? 또한 국가의 복잡성이 중요하고 중요하지 않은 다른 장소가 있습니까?
편집 : 일반 언어의 상태 복잡성은 언어를 허용하는 결정 론적 유한 자동 마마 톤 (dfa)에서 가장 적은 수의 상태입니다. 일반 언어의 비 결정적 상태 복잡도는 언어에 대한 비 결정적 유한 자동 마마 톤 (nfa)에서 가장 적은 수의 상태로 정의됩니다.
답변
상태 복잡성은 계산 복잡성이 아니라 객체 (이 경우 정규 언어) 에 대한 간결한 설명 에 관한 것입니다. 일반적인 주제는 문헌에서 “설명 복잡성”이라고하며, 부분적으로 “Automata, Grammars, and Formal Systems의 표현의 경제”라는 제목의 1971 년 메이어와 피셔의 고전 논문에서 영감을 얻었습니다 ( http : // people 참조) . .csail.mit.edu / meyer / economy-of-description.pdf ). 이것은 매년 회의 (DCFS-형식적 시스템의 복잡성)와 함께 여전히 활발한 활동입니다.
응용 프로그램의 경우 프로그램이 기본적으로 유한 상태 머신 (예 : 파서)에 의존하는 모든 장소는이 유한 상태 머신을 가능한 한 작게 유지하는 것이 좋습니다.
답변
Jeffrey Shallit의 탁월한 답변에 구체적인 예를 추가하겠습니다.
Scrabble (TM) 사전을 작성한다고 가정하십시오. 단어 목록, 시도 (문자 트리) 또는 결정 론적 오토마타와 같은 사전을 나타내는 여러 가지 방법을 생각할 수 있습니다. [1]에 따르면, 트라이를 dawg [= DFA]로 최소화하면 공간을 크게 절약 할 수 있습니다. 노드 수는 117,150에서 19,853으로 줄었습니다. 원시 단어 목록으로 표시되는 어휘는 약 780KB를 차지하며, dawg는 175KB로 표시 할 수 있습니다.
보다시피, 특히 저자가했던 것처럼 효율적인 프로그램을 작성하고자한다면이 상태의 복잡성이 중요합니다.
[1] Appel and Jacobson 세계에서 가장 빠른 스크래블 프로그램 , ACM 커뮤니케이션 31 , 572-578 (1988).
답변
임의의 결정 론적 맥락이없는 문법 (또는 이에 상응하는 결정 론적 푸시 다운 오토 마톤)이 동일한 언어를 설명하는 동등한 유한 상태 오토 마톤을 갖는지 여부를 결정할 수 있다는 증거는 본질적으로 결정 론적 맥락없는 언어를 기술하는 유한 오토 마톤의 상태 복잡성을 증명하는 것입니다. 결정 론적 오토 마톤의 관점에서이 유한 오토 마톤의 크기에 대한 한계는 결정 절차의 길이에 한계를 준다.
자세한 내용 은 Leslie G. Valiant의 ” 결정적 푸시 다운 오토마타의 규칙 및 관련 문제 “를 참조하십시오 .