두 가지 계산 모델이 동일하다는 것을 보여주는 방법은 무엇입니까?


21

두 계산 모델이 동일하다는 것을 어떻게 증명할 수 있는지에 대한 설명을 찾고 있습니다. 동등성 증명이 생략 된 것을 제외하고는 주제에 관한 책을 읽었습니다. 두 계산 모델이 동일하다는 의미에 대한 기본 아이디어가 있습니다 (자동보기 : 동일한 언어를 허용하는 경우). 동등성에 대한 다른 사고 방식이 있습니까? Turing-machine 모델이 람다 미적분학과 동등한 지 증명하는 방법을 이해하는 데 도움이된다면 충분합니다.


당신이 잘못된 책을 선택했다고 생각합니다.
Raphael

@Raphael 주제에 관한 좋은 책은 무엇입니까?
saadtaame

"오토마타에 관한 어떤 책"이라고 말하고 싶지만 지금은 사실입니다. 불행히도, 나는 적합한 영어 서적을 가지고 있지 않습니다. 죄송합니다.
Raphael

1
오토마타에 관한 책만으로는 충분하지 않습니다.
reinierpost

어떤 책을 사용하고 있습니까?
saadtaame

답변:


20

두 모델 중 하나 가 다른 모델을 시뮬레이션 할 수 있음을 보여줍니다. 즉 , 모델 A의 시스템에 모델 B의 동일한 기능을 계산하는 시스템이 있음을 보여줍니다. 이 시뮬레이션은 계산할 필요는 없지만 일반적으로 가능합니다.

예를 들어, 2 개의 스택 (2-PDA)이있는 푸시 다운 오토마타를 고려하십시오. 또 다른 질문으로 , 양방향의 시뮬레이션에 대해 간략히 설명합니다. 공식적으로이 작업을 수행 한 경우 일반 튜링 머신 (튜플)을 사용하여 해당 2-PDA를 명시 적으로 구성하고 그 반대도 마찬가지입니다.


공식적으로 이러한 시뮬레이션은 다음과 같습니다. 방해

=(,Σ나는,Σ영형,δ,0,에프)

튜링 머신이어야합니다 (테이프 한 개). 그때,

에이=({1,2},Σ나는,Σ영형',δ',1,에프)

Σ영형'=Σ영형.{$}δ' 에 의해 주어진

(1,에이,h,h아르 자형)δ'(1,에이h,h아르 자형) 모두Σ I 시간 (R) , 시간 (L)Σ O ,에이Σ나는h아르 자형,hΣ영형
(1,ε,h,h아르 자형)δ'(2,h,h아르 자형)모든 대해 h아르 자형,hΣ영형( q * 1 , ε , h l , h r ) δ ( q 2 , h l , h r ) ,
(2,ε,h,h아르 자형)δ'(2,ε,hh아르 자형) 모두를위한h아르 자형,hΣ영형h$ ,
(2,ε,$,h아르 자형)δ'(0,$,h아르 자형)모든 대해 h아르 자형Σ영형( q * 2 , ε , $ , h r ) δ ( q 0 , $ , h r ) ,
(,ε,h,h아르 자형)δ'(',ε,h에이)(,h아르 자형)δ(',에이,)모든 대해 hΣ영형( q , h r ) δ ( q ' , a , L ) ,
(,ε,$,h아르 자형)δ'(',$,에이)(,h아르 자형)δ(',에이,)모든 대해 ( q , h r ) δ ( q ' , a , L ) ,
(,ε,h,h아르 자형)δ'(',에이h,ε)(,h아르 자형)δ(',에이,아르 자형) 모두,hΣ영형' ,
(,ε,h,$)δ'(,h,$) 모든hΣ영형'
(,ε,h,h아르 자형)δ'(',h,에이)(,h아르 자형)δ(',에이,) 모두를위한,hΣ영형'

동등한 2-PDA입니다. 여기서 우리는 Turing 머신이 Σ영형 를 공백 기호로 사용한다고 가정하고 두 스택 모두 마커 $Σ영형 (제거되지 않음) 및 (,에이,h,h아르 자형)δ'(',1나는,아르 자형1아르 자형j)에이 이 입력 에이 소비 하고 상태를 전환 함을 의미합니다 .' 바꾸고 스택을 다음과 같이 업데이트합니다 :

스택 업데이트
[ 출처 ]

M 이 그렇게하는 경우에만 에이엑스Σ나는 에서 최종 상태로 진입 한다는 것을 보여 주어야한다 . 이것은 구조적으로 매우 분명합니다. 공식적으로, M 에 대한 수락 실행을 A M대한 실행 실행으로 또는 그 반대로 변환해야합니다.에이


@frabala 당신이 옳았습니다. 초기 상태가 잘못되었습니다. 고마워요!
라파엘

4

통신 및 모바일 시스템 의 시작 : Robin Milner 의 Pi-Calculus 에는 오토마타에 대한 소개와 이들이 서로 구별 할 수 없도록 서로 시뮬레이션 할 수있는 방법이 있습니다 : Bisimulation . ( 위키 백과의 Bisimulation )

기억이 나지 않습니다. 장을 다시 읽어야합니다. 그러나 계산과 등가에 충분하지 않은 시뮬레이션과 2 시뮬레이션에 문제가있었습니다.

로빈 밀 너는 자신의 Pi-Calculus를 소개하고 나머지 책에이를 공개합니다.

마지막으로 그의 마지막 책 The Communicating Agents의 공간과 움직임 에서 Robin Milner의 Bigraphs를 볼 수 있습니다. Automata, Petri nets, Pi-Calculus 및 기타 계산 방법론을 모델링 할 수 있습니다.


2

내가 아는 한, 이것을 수행하는 유일한 (또는 적어도 가장 일반적인) 방법은 기계 / 모델이 허용하는 언어를 비교하는 것입니다. 그것은 Automata 이론의 요점입니다. 그것은 문제 나 알고리즘의 모호한 개념을 취하여 우리가 추론 할 수있는 구체적인 수학적 세트 (즉, 언어)로 바꿉니다.

가장 쉬운 방법은 한 모델에서 임의의 기계 / 기능이 주어지면 동일한 언어를 계산하는 두 번째 모델에서 기계를 구성하는 것입니다. 확률은 표현의 길이, 기계의 상태, 문법 규칙 등에서 유도를 사용할 것입니다.

나는 Lambda와 TM을 사용하여 이것을 보지 못했지만 (가능한 99 % 확신하지만) NFA와 정규 표현식의 동등성을 증명하는 이런 종류의 것을 분명히 보았습니다. 먼저 원자를 받아 들일 수있는 NFA를 보여준 다음 유도를 사용하여 더 작은 NFA의 결합 / 연합 / 클린 스타를 허용하는 NFA를 만듭니다.

그런 다음 반대를 수행하여 NFA에 대한 RE를 찾으십시오.

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