튜링 머신과 유한 상태 머신의 차이점은 무엇입니까?


27

튜링 머신에 대한 프레젠테이션을 진행하고 있으며 튜링 머신을 소개하기 전에 FSM에 대한 배경 지식을 제공하고자했습니다. 문제는, 나는 정말로 서로 다른 것이 무엇인지 정말로 모른다는 것입니다.

다른 점은 다음과 같습니다.

FSM은 튜링 머신이 읽고 쓰는 헤드가있는 무한 "테이프"에서 작동하는 동안 충족 된 해당 조건에 따라 순차적 인 상태를 갖습니다.

FSM에는 끝나지 않는 상태에 쉽게 빠질 수 있기 때문에 오류가 발생할 여지가 더 많습니다.

그러나 그 외에는 튜링 기계를 FSM보다 더 좋게 만드는 훨씬 더 많은 차이점을 알지 못합니다.

제발 날 좀 도와 줄 수 있니?


2
"FSM vs. Turing Machine"을 구글에서 검색하는 것은 어렵지 않습니다! 그것은 당신 자신의 연구를하는 것의 재미있는 부분입니다. 주요 차이점은 튜링 머신에는 무한한 "메모리"가 있지만 FSM에는 없습니다.
Dai

좋아, 나는 약간의 바람을 피웠다>.> ;; 잡았다! 감사!
Julio Garcia

3
"오류"에 대한 주장이 올바르지 않습니다. 위키 백과와 코스 북을 사용해보십시오. 기본적인 차이점, 각각을 사용하는 목적 (예 : TM over FSM을 선택할 수없는 경우) 및 그 관계를 확인하십시오.
Parham

@MahmoudAlimohamadi 내가 의미하는 바는 fsm이 끝나지 않는 상태에 도달 할 가능성이 더 크다는 것입니다.
Julio Garcia

@Dai : 그것은 튜링 기계가 할 수 있다고하는 것이 더 맞습니다 사용 임의의 큰 메모리의 양을. 사용 된 금액은 무한합니다.
reinierpost

답변:


24

DFA (Deterministic Finite Automaton)와 TM의 작동 방식 간의 주요 차이점은 메모리 사용 방식 측면에서 다릅니다.

직관적으로 DFA에는 "스크래치"메모리가 전혀 없습니다. DFA의 구성은 현재 자신을 발견 한 상태와 입력을 읽는 현재 진행 상황에 따라 전체적으로 설명됩니다.

직관적으로 TM에는 테이프 형태의 "스크래치"메모리가 있습니다. TM의 구성은 현재 상태와 테이프의 현재 내용으로 구성되며 TM이 실행될 때 변경 될 수 있습니다.

DFA는 테이프 기호를 변경하거나 헤드를 왼쪽으로 이동하지 않는 TM으로 생각할 수 있습니다. 이러한 제한으로 인해 TM에서 허용 할 수있는 특정 언어를 인식 할 수 없습니다.

기술적으로 TM은 한정된 수의 상태를 갖기 때문에 기술적으로 TM을 유한 상태 머신으로 간주하기 때문에 "FSM"대신 "DFA"라는 용어를 사용합니다. DFA와 TM의 차이점은 구성 수에 있으며, 이는 DFA의 상태 수와 동일하지만 TM에 대해서는 무한히 큽니다.


아, 알았다 "메모리 없음"부분에 관한 한 가지 질문 : 나는 동전이 추가 된 자동 판매기 예를 보았습니다. 메모리가 없다면 얼마나 많은 돈이 있는지 어떻게 알 수 있습니까?
Julio Garcia

@JulioGarcia 당신이 본 것을 정확히 알지 못하면 말하기가 어렵습니다. 전환시 심볼을 출력 할 수있는 Moore 및 Mealy 머신이 있습니다. 자동 판매기의 활동은 이러한 메커니즘 중 하나를 사용하여 더 잘 모델링 될 수 있습니다. 바닐라 DFA는 문자열 만 수락하고 거부합니다. 자동 판매기는 "문자열"을 "수락"해야합니다. 변경의 추가 부작용을 모델링하는 방법에 따라 필요한 스크래치 메모리의 종류는 무제한 또는 임의 액세스 일 수 있습니다.
Patrick87

당신의 모범을 보지 않으면 완전히 확신 할 수는 없지만 두 가지 추측이 있습니다. 하나는 돈이 얼마나 있는지 모른다는 것입니다. 충분하다고 생각합니다. 그런 방식으로 실제 자동 판매기를 만들고 싶지는 않지만 여전히 유용한 개념의 예입니다. 또 다른 가능성은 이것이 실제로 "순수한"FSA가 아니라는 것입니다.이 데이터는 기계의 "외부"에서이 데이터를 얻을 수있는 센서에 연결되어 있습니다. 기계는 데이터의 출처를 알거나 신경 쓰지 않으며 센서에 아무것도 저장할 수 없으므로 실제로는 "메모리"가 아니지만 여전히 볼 수있는 작업을 수행 할 수 있습니다.
Spooniest

16

튜링 머신은 재귀 적으로 열거 가능한 언어의 클래스 인 훨씬 더 큰 언어 클래스를 설명합니다. 유한 상태 머신은 일반 언어의 클래스를 설명합니다.

유한 상태 머신에는 "메모리"가 없으며 상태에 의해 제한됩니다.

유한 상태 기계는 헤드가 "읽기"작업 만 수행 할 수 있고 항상 왼쪽에서 오른쪽으로 이동하는 제한된 Turing 기계입니다.

이 언어를 예로 들어 보자.

L={aibi| i>=0}

유한 상태 머신은 메모리가 없다는 의미에서 제한되기 때문에 L을 허용하는 FSM을 구성 할 수 없습니다.

요약:

유한 상태 머신은 메모리가 필요하지 않은 작은 클래스의 언어를 설명합니다.

튜링 머신은 컴퓨터에 대한 수학적 설명이며 FSM보다 훨씬 더 많은 언어를 사용합니다.

튜링 머신은 FSM보다 더 많은 계산 능력을 가지고 있습니다. FSM은 할 수 없지만 Turing Machines는 할 수있는 작업이 있습니다.


3

나는 똑같은 의심을 가지고 있었고 다음과 같이 Quora에 대한 두 가지 매우 멋진 비디오와 하나의 설명을 보았습니다.

유한 상태 머신은 상태 및 전이의 집합 일뿐입니다. 그것이 가지고있는 유일한 메모리는 상태입니다. 따라서 메모리 상태의 수는 유한합니다.

튜링 머신은 유한 상태 머신과 테이프 메모리입니다. 각 전환에는 테이프 작업 (이동, 읽기, 쓰기)이 수반 될 수 있습니다.

나는 튜링 머신이 작동 절차의 일부로 유한 상태 머신을 사용하거나 가지고 있으며 편집 가능한 메모리를 추가한다는 것을 이해했습니다.

이 두 비디오도 시청하십시오. 깨달았습니다.

https://youtu.be/gJQTFhkhwPA

https://youtu.be/E3keLeMwfHY


2

(표준 모델) 튜링과 (표준 모델) Mealy Machines의 차이점을 이해하는 한 :

  • 튜링 머신은 동일한 테이프에서 읽고 쓰기 vs. Mealy 머신은 하나의 입력 테이프에서 읽고 다른 출력 테이프에 쓰기
  • 튜링 기계는 "테이프 방향"(좌측으로 또는 우측으로 [또는 정지] 계속)을 변경할 수 반점 기계의 전이 함수에는 방향 설정 {L, R, H}가 없다 이유 반점 기계만을 우측 (그게 진행할 수 [암시 적으로 {R}이므로 선택의 여지가 없습니다])
  • 튜링 기계는 테이프 셀에 정지 할 수 수락하거나 거절 반점 기계 완전한 입력을 판독하고 중지

-3

튜링 머신은 테이프의 일부로 기억하고 싶은 것을 저장할 수 있습니다.


5
"그것"의 의미가 확실하지 않지만 튜링 머신과 FSM 모두이 작업을 수행 할 수 있으므로 차이가 없습니다.
David Richerby

@DavidRicherby 그러나 FSM은 미리 결정된 양만 저장할 수 있지만 튜링 머신은 원하는만큼 저장할 수 있습니다. 즉 이다 근본적인 차이.
Gilles 'SO- 악마 그만'

1
@ Giles Agreed 그러나 그 대답은 그렇지 않습니다.
David Richerby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.