단순히 입력 된 람다 미적분학에서 함수 평등을 결정하는 알고리즘?


10

우리는 단순히 입력 된 람다 용어의 베타-균등성이 결정 가능하다는 것을 알고 있습니다. M, N : σ → τ가 주어지면 모든 X : σ, MX β NX에 대해 결정 가능한가 ?


간단히 입력 된 Lambda 미적분 / STLC 위키 백과. 튜링이 완료되지 않았으므로 이에 상응하는 다른 기본 계산 모델이 있습니까? 또한 wikipedia에 따르면 STLC에 대해 결정 가능한 중지 감지 알고리즘을 연구하는 것이 유용 할 수 있습니다.
vzn

3
@Marzio : 사실, 여기서 문제는 문제가 공식화되는 방식에 있다고 생각합니다. 이는 매우 부정확합니다. 제대로 공식화되면 이것은 연구 수준의 질문입니다. 더 나은 공식은 다음과 같습니다. 우리는 단순히 입력 된 람다 용어의 베타-균등이 결정 가능하다는 것을 알고 있습니다. M,N:στ 가 주어지면 모든 X:σ 에 대해 MX \ simeq_ \ beta NX를 결정할 수 미디엄엑스β엑스있습니까? 대답은 일반적으로 부정적입니다 (따라서 Viclib에서 찾은 것과 같은 알고리즘은 존재하지 않습니다). 아마도 예상되었지만, 이것은 선험적으로 분명하지 않으며 90 년대의 논문 몇 장의 결과입니다.
Damiano Mazza

@DamianoMazza : 알겠습니다. 실제로 투표를 마치지 않았습니다. 의견을 삭제하고 의견을 남겨두고 OP의 의견 / 편집을 기다립니다.
Marzio De Biasi 2016 년

@DamianoMazza와 Marzio는 공식적인 질문을 할만 큼 충분하지 않습니다. 그래도 좋았지 만 이것은 학교에서 배우는 것이 아닙니다. 실제로, 질문을하기 전에 실제로 시도했던 "베타-균등"에 대한 인터넷 검색조차도이 용어가 존재하지 않는 것과 거의 같은 결과를 거의 얻지 못합니다. 그래서 나는 당신이 그 모든 것에 대해 배우고 읽을 곳을 알지 못합니다. 저들에게 주제를 스스로 공부하기 시작하는 올바른 장소를 알려주시겠습니까? 질문이 업데이트되었습니다.
MaiaVictor

1
@Viclib : 베타 동등성은 기술 개념이므로 내 대답에 언급하지 않았습니다. 대략 두 결과는 동일한 결과를 얻을 때 베타와 동일합니다. 따라서 모든 대해 를 말하는 것은 과 이 동일한 함수를 계산 한다는 것을 의미 합니다. (유형 또는 비 유형) 람다 미적분에 대해 배우기위한 포인터에 관해서는 Peter Selinger의 노트Curry-Howard의 Sørensen 및 Urzyczyn 강의 노트 가 훌륭한 출발점이라고 생각합니다. X M NMXβN엑스엑스미디엄
Damiano Mazza

답변:


13

내 의견에서 말했듯이 일반적으로 대답은 아니오입니다.

이해해야 할 중요한 점 (이것들에 대해 배우고있는 것으로 보이는 Viclib의 경우)은 모든 프로그램 / 계산이 종료되지 않는 프로그래밍 언어 / 기계 세트를 갖는 것이 기능 평등을 의미하지 않는다는 것입니다. 프로그램 / 기계는 같은 기능을 계산) 결정 가능합니다. 쉬운 예 : 폴리 노미 클식 튜링 머신 세트를 사용하십시오. 정의에 따라 이러한 모든 시스템은 모든 입력에서 종료됩니다. 이제 어떠한 튜링 기계 주어진 , 튜링 기계가 입력에 문자열 주어진 것을 , 시뮬레이트고정 입력 에서 계산 단계 (예 : 빈 문자열) 및 종료되는 경우 수락M 0 x | x | M M | x | N M 0 N M 0 N M미디엄미디엄0엑스|엑스|미디엄미디엄|엑스|단계, 그렇지 않으면 거부합니다. 이 항상 즉시 거부하는 튜링 기계 인 경우 과 은 모두 명백하게 polynomially-clocked이지만 과 이 동일한 기능을 계산 하는지 여부를 결정할 수 있다면 (또는이 경우 동일한 언어를 결정), 빈 문자열에서 (임의의 튜링 머신 임)이 종료 되는지 여부를 결정할 수 있습니다 .미디엄0미디엄0미디엄

간단하게 입력 된 -calculus (STLC)의 경우, STLC의 표현력을 측정하는 것이 위의 경우만큼 사소하지 않다는 점을 제외하고는 비슷한 주장이 작동합니다. 내 의견을 쓸 때, 나는 90 년대 초부터 Hillebrand, Kanellakis 및 Mairson의 몇 가지 논문을 염두에 두었습니다. 이는 일반적인 교회 정수 유형보다 더 복잡한 유형을 사용하면 STLC로 충분히 복잡한 것을 인코딩 할 수 있음을 보여줍니다 위의 인수가 작동하도록 계산합니다. 실제로 필요한 자료가 이미 Statman 정리에 대한 Mairson의 단순화 된 증거에 있음을 알았습니다.λ

Harry G. Mairson, Statman 정리의 간단한 증거. 이론적 컴퓨터 과학, 103 (2) : 387-394, 1992. ( 여기에서 온라인으로 이용 가능 ).

이 논문에서 Mairson은 Turing machine 주어지면 간단한 형태의 와 -term 가 의 전이 함수를 인코딩 함을 보여줍니다 . (교회 정수에 대한 STLC의 표현력이 극도로 열악하다는 것을 명심한다면, 이것은 선험적으로 분명하지 않다. 실제로, Mairson의 인코딩은 즉각적이지 않다). 이것으로부터 용어를 구성하는 것은 어렵지 않습니다σ λ δ M : σ σ M미디엄σλδ미디엄:σσ미디엄

미디엄:[σ]영형영형

(여기서 에 실체화 교회 정수의 종류)가되도록 위해 감소 의 경우 최대에서 종결 단계 때 빈 문자열을 먹이거나 그렇지 않으면 입니다. 위와 같이 으로 표시되는 함수 가 상수 함수라고 결정할 수 있다면 빈 문자열 에서 의 종료를 결정했을 것 입니다.[σ]σ미디엄_1_미디엄0_미디엄0_미디엄


STLC에서 다변량 다항식 함수 의 인코딩을 사용하고 Matiyasevich의 정리에 호소하는 것도 가능 합니다.
코디

따라서 STLC는 튜링이 완료되지 않았지만 튜링 머신의 전환 기능을 인코딩 할 수있을만큼 강력합니다! 튜링 머신을 테이프와 함께 작동하는 STLC 프로그램으로 정의 할 수 있습니까?
MaiaVictor

2
@Viclib : 생각해보십시오 : 임의의 튜링 머신의 한 단계를 시뮬레이션하는 데 많은 계산 능력이 필요하지 않습니다. 기본적으로 유한 데이터 유형 (if-then-else 사용), 목록 (기본 작업 : cons, tail 등)과 순서 쌍만 필요합니다. (사실, 확장 교회 튜링 논문은 그러한 낮은 복잡성은 모든 합리적인 기계 모델에 공통적이라고 주장합니다). STLC에서 누락 된 것은 입력과 상관없이 TM 전이를 "임의의 자유"로 실행할 수 있다는 것입니다. 입력 크기의 지수 타워와 동일한 횟수만큼 반복 할 수 있습니다 (Mairson의 논문 참조).
Damiano Mazza

1
@cody : 고마워요, 나는 그 종이를 몰랐습니다. 당신 말이 맞아요
Damiano Mazza
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.