무한한 오토마타가 있습니까?


35

오토마타 이론에서, 우리는 처음부터 오토마타를 유한 오토마타로 읽습니다. 내가 알고 싶은 것은 오토마타가 왜 유한 한가? 명확하게 말하면, 알파벳, 언어, 정규 표현식으로 만든 문자열 또는 무엇입니까? 그리고 (이론적으로) 무한한 오토마타가 있습니까?


1
언어 나 "정규 표현식으로 만든 문자열"이 아닙니다. 많은 간단한 정규 표현식은 무한한 수의 문자열과 일치하지만 유한 오토 마톤으로 인식 될 수 있습니다.
alexis

: 나는 마음에 infinte 하나를 갖는 질문 질문 cs.stackexchange.com/questions/55864/...
단어처럼 자레드

답변:


34

일반적으로 발생하는 모든 오토 마톤 모델은 유한하게 표현됩니다. 그렇지 않으면 셀 수없이 많을 것입니다. 이는 Turing-complete 모델에 의해 포착되지 않습니다. 또는 CS 생각에서 쓸모가 없습니다 ¹.

"Finite automata"는 유한 한 구성 세트 (입력 문자열 제외) 만 있기 때문에 유한이라고 합니다. 예를 들어 푸시 다운 오토마타는 임의의 내용을 가질 수있는 스택을 가지고 있으며, 가능한 많은 구성이 있습니다.


참고 : PDA의 구성은 여전히 ​​유한하게 표현됩니다! 실제로 Turing-computability에 속하는 모든 계산 모델은 유한하게 표현 가능한 구성을 가져야합니다. 그렇지 않으면 TM은 시뮬레이션 할 수 없습니다.


  1. 나는이 질문의 목적으로 하이퍼 계산을 의식적으로 무시합니다.

의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Raphael

32

전체 이름은 "finite state automata"입니다. 중요한 부분은 오토 마톤의 상태가 유한 한 이산 상태 세트의 요소에 의해 완전히 특성화 될 수 있다는 것입니다. 즉, 오토 마톤의 (관련된) 상태에 실수 변수가 포함 된 경우 무한한 수의 잠재적 상태가 있고 (부동 소수점 표현의 유한성 제외) 오토 마톤은 유한하지 않습니다.

이것은 이론적 인 컴퓨터 과학에서는 일어나지 않았지만 실수 시퀀스를 모델링하는 영역에서는 이국적이지 않습니다. 숨겨진 Markov 모델 을 사용하여 관찰 할 수없는 상태의 (이산, 유한) Markov 모델의 각 상태에 대해 하나의 출력 필터로 구성된 확률 시스템의 출력으로 숫자 시퀀스를 모델링 할 수 있습니다. 필터는 이전 출력 벡터 ( "자동 회귀"모델)에서 다음 실제 값 출력을 계산하지만 전환 확률은 현재 Markov 상태에만 의존하기 때문에 기본 Markov 모델은 유한합니다.

그러나이 기사 ( 전체 텍스트 )는 전이 확률이 이전 출력의 실수 벡터에 의존하는 변형을 개발합니다. 이 시스템의 상태는 불연속 Markov 상태와 실수의 튜플 ( "혼합 상태 Markov 모델")의 조합이므로 무한한 수의 다른 상태에있을 수 있습니다.

요컨대, 비 유한 오토마타는 이론적으로 잘 정의되어 있으며 때로는 발생하기도합니다.


1
전체 공개 : 나는 언급 된 논문의 저자 중 하나입니다. 그것이 적절한 공개 또는 부적절한 자기 홍보로 간주되는지 확실하지 않습니다 ...
Alexis

6
적절한 경우 자신의 작업을 참조하는 것이 좋습니다. 주제에 대한 주요 전문가 중 한 사람이라면 기꺼이 도와 드리겠습니다! -귀하의 의견으로는 충분합니다. 감사!
Raphael

유한 상태 오토마타에는 푸시 다운 오토마타가 포함되어 있지 않습니다. 실제 상태에 이르는 특별한 이유가 있습니까? 이 명백한 예가 작동하지 않는 이유에 대해 여기에 뭔가 빠진 것이 있는지, 아니면 단지 대신 특이한 예를 선택했을 때 확실하지 않습니다.
Mehrdad

1
그는 왜 당신이 실제 상태 변수와 같은 것으로 점프하는 대신 푸시 다운 자동 장치와 같이 더 전통적인 비 FSA를 사용하지 않은 이유를 묻기 위해 노력하고 있다고 생각합니다.
user2357112는

1
글쎄, 그것은 주로 내가 생각한 예이기 때문입니다! 그러나 혼합 상태 Markov 모델의 "상태"는 고정 된 수의 매개 변수로 구성되지만 일부 매개 변수는 실수이기 때문에 여전히 무한한 수의 상태 (현재 위치 + 전환 확률로 정의 됨)가 있습니다 (하지만 영향을 미칩니다) 출력뿐만 아니라 전환). PDA의 경우, 무한대는 스택의 무제한 크기에서 비롯됩니다. 그러나 여전히 유한 한 수의 규칙이 있으며, 길이는 유한하며, 한 단계에서 유한 한 수의 행동 자만이 있습니다.
Alexis

19

유한 오토 마톤에는 상태의 수, 기본 알파벳의 크기 및 기계가 허용하는 문자열의 길이와 같은 약간의 유한성이 있습니다.

예를 들어, 기계가 무한히 많은 상태를 갖도록 허용함으로써 이러한 조건의 유한 조건을 확실히 완화 할 수 있지만, 그렇게하면 결과 기계가 어떤 언어를 수용하도록 설계 될 수 있다는 의미에서 흥미롭지 않게됩니다.


그리고 그것이 무한한 알파벳이라면 어떨까요? 예를 들어 자연수에 대한 정규 표현식으로 작업하는 경우 어떻게해야합니까? 가능합니까?
parvin dec

8
오토 마톤이 유한하지만 알파벳이 무한대이면, 오토 마톤은 각 상태에서 유한 한 수의 천이를 갖게됩니다. 전환 중 하나와 관련이없는 문자는 오토 마톤에서 인식되지 않습니다. 결과적으로 무한 알파벳을 오토 마톤 전환에 나타나는 문자 만 포함하는 유한 알파벳으로 대체 할 수 있으며 오토 마톤은 여전히 ​​똑같은 언어를 사용할 수 있습니다.
Kevin-Reinstate Monica

3
@parvin 실제로는 아닙니다. 그런 다음 (유한 한) 상태 사이에 무한한 수의 전환이 필요하지만 여전히 나타낼 수는 없습니다. 술어를 사용하는 경우 (예 : "모든 짝수 입력이 A에서 B로 이동하고 모든 홀수 입력이 A에서 C로 이동") 기본적으로 알파벳을 유한 수의 등가 클래스로 나눕니다.
Bergi

@Kevin, "유효한 수의 전이"를 정의하는 방법에 따라 다릅니다. 자연수의 유한 한 분할에 따라 다음 상태가 선택된 일반 (유한) FSA를 고려하십시오. 예를 들어 나머지는 7로 나눕니다. 상태 다이어그램은 완전히 유한하지만 무한 알파벳에 대해 잘 정의되어 있습니다.
Alexis

@Parvin 나는 대답이 "예"라고 말하고 싶습니다 (이전 의견 참조).
알렉시스

10

사실, 오토마타 이론 (클린, 라빈, 스콧의 기원에서 많은 부분을 벗어남)에는 유한하지 않은 많은 형태의 오토마타가 있습니다. 여러 가지 이유로 발생합니다.

예를 들어 푸시 다운 오토마타 는 무한한 구성 세트를 갖는 오토마타입니다 (이것은 유한 한 수의 상태를 갖지만 실제로는 이것이 '무한 오토마타'로 간주되어야합니다).

같은 맥락에서, 상태 공간이 무한하지만 많은 구조를 갖는 무한 오토마타의 다른 예가 있습니다. 예를 들어 상태 공간을 (유한 차원) 벡터 공간으로, 그리고 전이 함수 선형 맵 (일부 초기 항목)을 갖는 오토마타 클래스를 고려합니다. 이것을 기본 필드에서 가중 오토마타 라고 합니다 (61의 Schützenberger로 인해). 이것들은 최소화되고 동등성을 테스트 할 수 있습니다. 다른 예에는 레지스터 오토마타 (이 오토마타에는 유한 레지스터 세트가 있으며 무한 알파벳에 대한 작업 : 문자와 레지스터를 비교하고 레지스터에 문자를 저장할 수 있음) 및보다 현대적인 형태의 명목 오토마타가 있습니다.(동일한 표현력을 가지고 있지만 기초와 속성이 더 좋습니다). 그러한 오토마타의 공허함은 결정 가능하다.

그러나 유한 상태 오토마타를 연구하더라도 무한 오토마타에 대해 이야기하는 것이 합리적입니다. 실제로, 자동 언어 형태의 표준 개념을 갖춘 고정 된 주어진 언어 L을 받아들이는 유한 상태 결정 론적 오토마타범주를 고려하면 ,이 범주는 초기 및 최종 목표를 갖지 못한다. 모든 결정 (셀 수있는 말) 오토마타의 범주에 거주하는 경우, 다음 초기 객체 (있는 자동 장치가 같은 상태 , 초기 상태가 편지 읽고 빈 단어로 상태에서 를 상태 로 간다 a u u aAauua이며 상태가 L에 속하는 경우 수락 중입니다. 최종 언어가 있습니다 (상태 언어가 있습니다!). 이 두 개체의 존재는 결정 론적 오토마타가 최소화 될 수 있고 Myhill-Nerode 합동과 밀접하게 관련되어있는 이유를 높은 수준으로 설명하는 한 가지 방법입니다.

결론적으로, 무한 오토마타가 있지만 강의에서 처음 연구되는 모델은 항상 유한 상태 모델입니다.


2

나는 질문이있을 때 무한 상태 오토 마타가 없다는 결론을 가정하고 있다고 생각합니다.

오토마타 이론에는 다른 가상 모델의 위력 계층이 있습니다. 내가 배운 것은 4 (내가 기억하고, 시간이 지났다)를 가지고 있었고, Wikipedia에서 찾은 것은 5를 가지고 있습니다. 유한 상태 오토마타에서 가장 약하고 튜링 머신입니다. 튜링 머신보다 더 강력한 레벨이라는 개념이 하이퍼 컴퓨팅 (hypercomputation)이라고 불립니다. 가상 머신에 대한 많은 다른 설명이이 레벨 중 하나에 속합니다. 튜링 기계는 특히 같은 수준의 계산 능력을 가진 수많은 모델로 유명합니다.

최소한 공식적으로 정의 된 무한 상태 오토마타는 이러한 수준 중 하나에 속합니다. 무한 상태 오토마타에 대한 특정 엄격한 정의가 이러한 레벨 중 하나에 어떻게 부합되는지를 보여주는 데 약간 흥미로운 점이있을 수 있지만, 그 외에는 각 레벨을 나타내는 훨씬 더 잘 연구 된 가상 머신이 있기 때문에별로 유용하지 않을 것입니다 . 테이프 튜링 머신보다 강력하지는 않지만 다루기가 더 복잡하기 때문에 10 억 개의 테이프 튜링 머신에 관심이없는 방식과 비슷합니다.

이제 기존 레벨의 계층 구조와 같지 않은 무한 상태 오토마타를 발견했다면 흥미로울 것입니다. 그러나 그것 없이는 무한 상태 오토마타가 이미 기존 계층 구조 내에서 캡처되고 무한대를 처리하는 데 따른 복잡성을 감안할 때 지나치게 복잡한 튜링 머신 모델을 피하는 것과 같은 방식으로 피할 수 있습니다.


2

결정적 유한 상태 머신의 (순진한) 무한 버전은 너무 강력 합니다. 그러한 것은 어떤 언어라도 전혀 "암기"할 수 있기 때문에, 그것들을 고려할 때 배울 것이 많지 않습니다.

예를 들어, 이진 알파벳보다 무한 높이의 완전한 이진 트리 형태의 오토 마톤을 고려하십시오. 입력으로 간주 할 수있는 모든 문자열은 트리의 노드에 고유하게 해당되므로 해당 노드에 상태를 적용하여 모든 언어에 대한 결정자를 만들 수 있습니다.

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