푸시 오토 마톤 "추측"-그게 무슨 뜻입니까?


14

나는 비결정론 적 푸시 다운 오토마타가 몇몇 주 중에서 "선택"할 수 있고 결정 론적 푸시 다운으로 받아 들일 수없는 문맥이없는 언어가 있기 때문에 결정 론적 푸시 다운에 비해 개선 될 수 있다는 것을 알고 있습니다.

아직도, 나는 그들이 어떻게 정확하게 "선택" 하는지 이해하지 못한다 . 예를 들어 palindormes의 경우, 내가 찾은 모든 소스는 자동 단어가 단어의 중간을 "추측"한다고 말합니다. 그게 무슨 뜻이야?

몇 가지 가능한 의미를 생각할 수 있습니다.

  1. 무작위로 하나의 상태로 들어가므로 실제로 언어로 된 단어를 받아들이지 않을 수 있습니다

  2. 어쨌든 "가능한 모든 방법"으로 진행되므로 첫 번째 것이 잘못되면 다른 것이 올바른지 테스트합니다.

  3. 내가 알지 못하는 메커니즘이 있습니다. 단어의 중간을 선택하여 임의적이지는 않지만, 오토 마톤은 항상 올바른 중간을 찾습니다.

이것은 단지 예일뿐입니다. 내가 알고 싶은 것은 하나의 동일한 상태에 대해 몇 가지 다음과 같은 상태가있는 자동 장치에서 어떻게 작동하는지입니다.


관련 : 우리의 참조 질문 은 무작위 알고리즘과 비 결정적 알고리즘의 차이점을 설명합니다.
Raphael

답변:


8

간단히 말해서 메커니즘은 마법입니다. 비결정론의 개념은 단어를 받아들이 기 위해 어떤 방법을 사용해야하는지 알고 있다는 것입니다. 여러 가지 방법이 있다면 그 중 하나가됩니다.

비결 정성은 실제 하드웨어에서 구현 될 수 없습니다. 역 추적과 같은 기술을 사용하여 시뮬레이션합니다. 그러나 주로 이론적 인 장치이며 특정 개념의 표현을 단순화하는 데 사용할 수 있습니다.

회 문의 경우 두 가지 방법으로 생각할 수 있습니다. 당신의 기계가 "이것은 단어의 한가운데, 밀어 붙임에서 터지는 시간으로 전환 할 수있는 시간"이라고 말하거나 각 글자를 읽은 후에 "이 편지는 "이 단어의 중간에 있고 그것이 회문임을 발견했는지 확인하십시오. 그런 다음이 다른 스레드에서는 이것이 단어의 중간이 아니라고 가정하고 계속 노력하겠습니다."

그것을 생각하는 또 다른 방법은 무한 병렬 처리입니다. 따라서 동등한 경로는 새로운 경로를 선택하는 대신 두 단어를 동시에 시도하여 새로운 "프로세스"를 분기하여 전체 단어를 읽은 후 최종 상태에있는 것입니다. 다시 말하지만 이것은 실제 하드웨어를 사용하여 구축 할 수 없지만 비결 정성으로 모델링 할 수 있습니다.

비결정론에 대한 흥미로운 점은 유한 오토마타 및 튜링 머신의 경우 계산 능력을 전혀 높이 지 않고 단지 효율성을 높이는 것입니다.


5

결정 론적 오토 마톤과 비결정론 적 오토 마톤의 주요 차이점은 결정 론적 오토 마톤의 경우 주어진 입력 단어가 기계를 통과하는 경로가 하나뿐이라는 것입니다. 비 결정적 오토 마톤에서, 주어진 입력 단어는 기계를 통해 여러 경로를 가질 수 있습니다 (일부 지점에서 선택이 가능하기 때문에).

이에 비추어, 단어를 기계를 통해 여러 경로를 유도 할 수 있다는 사실을 수용하기 위해 입력 단어를 수용하기위한 조건도 변경 될 필요가있다. 비결정론 적 오토 마톤에 대한 수용의 일반적인 정의는 다음과 같습니다. 오토 마톤에 의해 수용되는 단어는 그 단어에 의해 유도되는 적어도 하나의 수용 경로가 있어야합니다.

그러면 결정적이지 않은 오토 마톤이 단어를 받아들이면 오토 마톤은 "추측"이라는 개념으로 이어집니다. 해당 단어가 입력으로 표시 될 때 따라옵니다.

이것이 회문에서 의미하는 것은 pda는 본질적으로 두 가지 모드를 가지고 있다는 것입니다. 스택에서 현재 글자를 밀어내는 밀어 넣기 모드와 글자를 튀어 나와 입력과 일치시키는 터지는 모드입니다. 이 기계는 푸시 상태에서 터지는 상태로 빈 상태로 전환되어 단어의 어느 시점에서나 따라갈 수 있습니다. 그러나 기계는 회문을 읽은 후 회문 중간에 빈 전이를 수행 한 경우에만 스택을 비우고 수락 상태로 이동합니다. 우리는 받아 들일 수있는 길의 존재만을 요구하기 때문에, 단어의 중간에있는 오토 마톤이 "추측"한다고 말할 수 있습니다.


5

비결정론에 대한 아이디어는 매우 간단합니다. 특정 상황에서 오토 마톤에는 몇 가지 다음 단계가있을 수 있습니다. 자동 구성은 초기 구성에서 수용 구성으로 이어지는 일부 (여러 개가있을 수 있습니다!) 단계 시퀀스가있는 경우이를 승인하며, 해당 시퀀스 가 없는 경우에만 거부합니다 .

이는 모호한 상황에서 다음 단계로 "결정"한다는 의미입니다. 이것에 대해 이야기하는 한 가지 방법은 항상 다음 단계에서 "올바른"단계를 마술처럼 선택하는 것입니다. 이를 확인하는 또 다른 방법은 그러한 상황에서 오토 마톤의 계산이 각각 하나의 경로를 추구하는 여러 사본으로 분할된다는 것입니다.

실제로, 이것은 역 추적을 통해 구현 될 수 있으며 결정이 내려진 장소에 어떤 형태의 태그를 배치하고 현재 경로가 제대로 작동하지 않으면 다음 대안을 시도해보십시오. 이것은 일반적으로 재귀에 의해 처리됩니다. 또는 오토 마톤이 가지고있는 정보를 추가 정보로 "합법적으로"보충합니다 (즉, 결정적이지 않은 오토 마톤이 칠판에서 작동하는 방식을 보여 주면서 어떤 단계를 성공으로 이끄는 지 파악할 때 수행하는 작업).


역 추적은 좋은 생각이 아닙니다. 당신의 나무는 유한하지 않을 수 있습니다. 나는 그것이 Prolog와 같은 비결정론의 일부 구현에 사용된다는 것을 알고 있으며 Robert Floyd의 초기 작업에서도 너무 컸다고 생각합니다. 그러나 그것은 프로그래머 감독을 목적으로했으며, 오토마타 이론으로는 고려하지 않을 것입니다. 실제로 Prolog조차도 문제를 설명하기 위해 다른 구현이 있습니다.
babou

@babou, 실제로 그것을 수행하는 한 가지 방법입니다. 나는 그것이 말하는 게 아니에요 솔루션
vonbrand

2

"추측"은 비결정론에 대한 실존 적 해석과 직접 관련이 있습니다.

간단히 말해서 : 비결정론 적 오토 마톤이 추측 할 수있는 (또는 오라클에 의해 도움을받을 수 있음) 아이디어는 비결정론에 대한 우리의 실존 적 해석과 직접 관련이 있습니다. "추측"이 이치에 맞지 않는 또 다른 해석이 가능할 수도 있습니다.

비결정론은 이상하다. 우리는 automata 이론에서 그것을 해석하는 한 가지 방법이 있지만, 우리가 그것을 어떻게 해야하는지는 분명하지 않습니다.

놀랍게 보일지 모르지만 비결정론은 매우 일반적인 상황입니다. 어떤 수학적 이론의 공리를 감안할 때 정리를 증명해야 할 때, 그 과정은 당연히 비결정론 적 과정입니다. 그렇기 때문에 우리는 종종 문제를 해결하기 위해 무엇을해야하는지, 예를 들어 3도 방정식의 해를 찾거나 어떤 정리를 증명해야 하는지를 모릅니다.

이미 알려진 것을 추론 규칙과 결합하여 새로운 결과를 얻는 방법에는 여러 가지가 있습니다. 결과를 거꾸로 증거를 재구성하려고하면 상황은 일반적으로 동일합니다.

이러한 문제를 해결하려고 시도 할 때 일부 전환 시스템 에서 경로 를 " 추측 " 하려고 합니다.

실제로, 우리는 추측하지는 않지만, 가능성의 미로를 조직 및 / 또는 단순화하여 경로를 통해 경로를 볼 수있는 구조를 마음 속에 구축합니다. 어떤 경우에는 질문이 해결책을 찾기위한 표준 방법 (때로는? 보통? 항상?)을 갖는 식별 된 패턴을 따르고이를 알고리즘이라고합니다.

우리가 사용할 수있는 하나의 (보통 비싼) 기술은 단순히 미로를 완전히 탐색하는 것입니다. 이 수행되고 있는지 꽤 많이 가 연계 비 결정적 자동 장치의 가능한 모든 계산을. 이 파생 된 더브 테일 드 계산은 그 자체가 결정론적인 것입니다.

실제로 비 결정적 계산을 해석하는 다른 방법이있을 수 있습니다 . Afaik은 모두 일관성이 있지만 서로 다릅니다.

아르 자형

인식기를 추측하는 아이디어는 그 증거 트리를 찾는 방법을 "추측"하는 우리 자신의 방식에서 가져온 이미지입니다. 그러나 가장 큰 차이점은 우리의 두뇌가 PDA가 아니라는 것입니다. 그것들은 대략 전이 구조를 탐색하고 매핑하는 능력을 가진 훨씬 더 복잡한 장치이므로, 우리는 때때로 추측으로 인식하는 방법을 찾을 수 있습니다.

비 결정적 계산에 대한 이러한 해석은 단일 수락 계산의 존재 만 필요하다는 사실과 관련하여 실존 적 수용 이라고 부릅니다 . 내가 다른 답변에서 소개 한 실존 중지에 해당합니다 .

그러나 비결정론을 보편적 인 방식으로 해석 할 수도 있습니다. 인식기는 모든 가능한 계산이 중단되고 입력을 받아들이면 "w"를 입력으로 받아들입니다. 이 보편적 수용은 같은 대답에서 소개 된 보편적 중단의 개념에 해당합니다.

보편적 수용과 보편적 중단은 비결정론에 대한 일관된 이해를 이끌어내는 것으로 보인다. 따라서 그 정의로 이론적 인 작업을 수행 할 수 있습니다. 그러나 정리 나 증명과 같은 비 결정적 상황이나 일상 생활에서 우리의 일반적인 관행과 일치하지 않습니다. 문제에 직면했을 때 우리는 한 가지 방법으로 문제를 해결 한 다음 다른 방법이 성공했는지 여부를 신경 쓰지 않습니다 (이것은 약간 단순화되었습니다).

회문을 인식 해야하는 경우 길이를 측정하고 중간을 찾아 추측 할 수 있습니다. PDA는 할 수 없습니다. 그러나 우리는 하나의 솔루션에 관심이 있기 때문에 항상 도움이 될 수 있다고 생각할 수 있습니다. 또는 더 지능적인 기계 (우리?)가 제공하는 오라클이 있다고 생각할 수 있습니다. 또는 당신은 그것을 마술이라고 부르고 그것을 생각할 수도 있습니다 (결국 실존 정량자는 일종의 마술 지팡이입니다). 도움이 될 수 있습니다. 수용 가능한 계산이 없으면 어떤 도움도 필요하지 않습니다.

이 추측에 대한 아이디어는 보편적 수용 해석에서 무의미합니다.

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