오토마타 이론에서, 우리는 처음부터 오토마타를 유한 오토마타로 읽습니다. 내가 알고 싶은 것은 오토마타가 왜 유한 한가? 명확하게 말하면, 알파벳, 언어, 정규 표현식으로 만든 문자열 또는 무엇입니까? 그리고 (이론적으로) 무한한 오토마타가 있습니까?
오토마타 이론에서, 우리는 처음부터 오토마타를 유한 오토마타로 읽습니다. 내가 알고 싶은 것은 오토마타가 왜 유한 한가? 명확하게 말하면, 알파벳, 언어, 정규 표현식으로 만든 문자열 또는 무엇입니까? 그리고 (이론적으로) 무한한 오토마타가 있습니까?
답변:
일반적으로 발생하는 모든 오토 마톤 모델은 유한하게 표현됩니다. 그렇지 않으면 셀 수없이 많을 것입니다. 이는 Turing-complete 모델에 의해 포착되지 않습니다. 또는 CS 생각에서 쓸모가 없습니다 ¹.
"Finite automata"는 유한 한 구성 세트 (입력 문자열 제외) 만 있기 때문에 유한이라고 합니다. 예를 들어 푸시 다운 오토마타는 임의의 내용을 가질 수있는 스택을 가지고 있으며, 가능한 많은 구성이 있습니다.
참고 : PDA의 구성은 여전히 유한하게 표현됩니다! 실제로 Turing-computability에 속하는 모든 계산 모델은 유한하게 표현 가능한 구성을 가져야합니다. 그렇지 않으면 TM은 시뮬레이션 할 수 없습니다.
전체 이름은 "finite state automata"입니다. 중요한 부분은 오토 마톤의 상태가 유한 한 이산 상태 세트의 요소에 의해 완전히 특성화 될 수 있다는 것입니다. 즉, 오토 마톤의 (관련된) 상태에 실수 변수가 포함 된 경우 무한한 수의 잠재적 상태가 있고 (부동 소수점 표현의 유한성 제외) 오토 마톤은 유한하지 않습니다.
이것은 이론적 인 컴퓨터 과학에서는 일어나지 않았지만 실수 시퀀스를 모델링하는 영역에서는 이국적이지 않습니다. 숨겨진 Markov 모델 을 사용하여 관찰 할 수없는 상태의 (이산, 유한) Markov 모델의 각 상태에 대해 하나의 출력 필터로 구성된 확률 시스템의 출력으로 숫자 시퀀스를 모델링 할 수 있습니다. 필터는 이전 출력 벡터 ( "자동 회귀"모델)에서 다음 실제 값 출력을 계산하지만 전환 확률은 현재 Markov 상태에만 의존하기 때문에 기본 Markov 모델은 유한합니다.
그러나이 기사 ( 전체 텍스트 )는 전이 확률이 이전 출력의 실수 벡터에 의존하는 변형을 개발합니다. 이 시스템의 상태는 불연속 Markov 상태와 실수의 튜플 ( "혼합 상태 Markov 모델")의 조합이므로 무한한 수의 다른 상태에있을 수 있습니다.
요컨대, 비 유한 오토마타는 이론적으로 잘 정의되어 있으며 때로는 발생하기도합니다.
유한 오토 마톤에는 상태의 수, 기본 알파벳의 크기 및 기계가 허용하는 문자열의 길이와 같은 약간의 유한성이 있습니다.
예를 들어, 기계가 무한히 많은 상태를 갖도록 허용함으로써 이러한 조건의 유한 조건을 확실히 완화 할 수 있지만, 그렇게하면 결과 기계가 어떤 언어를 수용하도록 설계 될 수 있다는 의미에서 흥미롭지 않게됩니다.
사실, 오토마타 이론 (클린, 라빈, 스콧의 기원에서 많은 부분을 벗어남)에는 유한하지 않은 많은 형태의 오토마타가 있습니다. 여러 가지 이유로 발생합니다.
예를 들어 푸시 다운 오토마타 는 무한한 구성 세트를 갖는 오토마타입니다 (이것은 유한 한 수의 상태를 갖지만 실제로는 이것이 '무한 오토마타'로 간주되어야합니다).
같은 맥락에서, 상태 공간이 무한하지만 많은 구조를 갖는 무한 오토마타의 다른 예가 있습니다. 예를 들어 상태 공간을 (유한 차원) 벡터 공간으로, 그리고 전이 함수 선형 맵 (일부 초기 항목)을 갖는 오토마타 클래스를 고려합니다. 이것을 기본 필드에서 가중 오토마타 라고 합니다 (61의 Schützenberger로 인해). 이것들은 최소화되고 동등성을 테스트 할 수 있습니다. 다른 예에는 레지스터 오토마타 (이 오토마타에는 유한 레지스터 세트가 있으며 무한 알파벳에 대한 작업 : 문자와 레지스터를 비교하고 레지스터에 문자를 저장할 수 있음) 및보다 현대적인 형태의 명목 오토마타가 있습니다.(동일한 표현력을 가지고 있지만 기초와 속성이 더 좋습니다). 그러한 오토마타의 공허함은 결정 가능하다.
그러나 유한 상태 오토마타를 연구하더라도 무한 오토마타에 대해 이야기하는 것이 합리적입니다. 실제로, 자동 언어 형태의 표준 개념을 갖춘 고정 된 주어진 언어 L을 받아들이는 유한 상태 결정 론적 오토마타 의 범주를 고려하면 ,이 범주는 초기 및 최종 목표를 갖지 못한다. 모든 결정 (셀 수있는 말) 오토마타의 범주에 거주하는 경우, 다음 초기 객체 (있는 자동 장치가 같은 상태 , 초기 상태가 편지 읽고 빈 단어로 상태에서 를 상태 로 간다 a u u a이며 상태가 L에 속하는 경우 수락 중입니다. 최종 언어가 있습니다 (상태 언어가 있습니다!). 이 두 개체의 존재는 결정 론적 오토마타가 최소화 될 수 있고 Myhill-Nerode 합동과 밀접하게 관련되어있는 이유를 높은 수준으로 설명하는 한 가지 방법입니다.
결론적으로, 무한 오토마타가 있지만 강의에서 처음 연구되는 모델은 항상 유한 상태 모델입니다.
나는 질문이있을 때 무한 상태 오토 마타가 없다는 결론을 가정하고 있다고 생각합니다.
오토마타 이론에는 다른 가상 모델의 위력 계층이 있습니다. 내가 배운 것은 4 (내가 기억하고, 시간이 지났다)를 가지고 있었고, Wikipedia에서 찾은 것은 5를 가지고 있습니다. 유한 상태 오토마타에서 가장 약하고 튜링 머신입니다. 튜링 머신보다 더 강력한 레벨이라는 개념이 하이퍼 컴퓨팅 (hypercomputation)이라고 불립니다. 가상 머신에 대한 많은 다른 설명이이 레벨 중 하나에 속합니다. 튜링 기계는 특히 같은 수준의 계산 능력을 가진 수많은 모델로 유명합니다.
최소한 공식적으로 정의 된 무한 상태 오토마타는 이러한 수준 중 하나에 속합니다. 무한 상태 오토마타에 대한 특정 엄격한 정의가 이러한 레벨 중 하나에 어떻게 부합되는지를 보여주는 데 약간 흥미로운 점이있을 수 있지만, 그 외에는 각 레벨을 나타내는 훨씬 더 잘 연구 된 가상 머신이 있기 때문에별로 유용하지 않을 것입니다 . 테이프 튜링 머신보다 강력하지는 않지만 다루기가 더 복잡하기 때문에 10 억 개의 테이프 튜링 머신에 관심이없는 방식과 비슷합니다.
이제 기존 레벨의 계층 구조와 같지 않은 무한 상태 오토마타를 발견했다면 흥미로울 것입니다. 그러나 그것 없이는 무한 상태 오토마타가 이미 기존 계층 구조 내에서 캡처되고 무한대를 처리하는 데 따른 복잡성을 감안할 때 지나치게 복잡한 튜링 머신 모델을 피하는 것과 같은 방식으로 피할 수 있습니다.
결정적 유한 상태 머신의 (순진한) 무한 버전은 너무 강력 합니다. 그러한 것은 어떤 언어라도 전혀 "암기"할 수 있기 때문에, 그것들을 고려할 때 배울 것이 많지 않습니다.
예를 들어, 이진 알파벳보다 무한 높이의 완전한 이진 트리 형태의 오토 마톤을 고려하십시오. 입력으로 간주 할 수있는 모든 문자열은 트리의 노드에 고유하게 해당되므로 해당 노드에 상태를 적용하여 모든 언어에 대한 결정자를 만들 수 있습니다.