미적분학 : 가장 작은 형태로 표현 압축


11

건축 미적분학 이 강력하게 정규화되고 있음을 알고 있습니다. 즉, 모든 표현에는 베타가 될 수없는 정규 표현식이 있으며 더 이상 감소시킬 수 없습니다. 실제로 이것은 원래 표현식과 동일한 값을 계산하는 가장 효율적인 표현식입니다.

그러나 어떤 경우에는 정규화로 작은 표현을 큰 표현으로 줄일 수 있습니다 (크기 측면에서).

가장 작은 형태의 표현이 있습니까? 가장 작은 크기로 동일한 값을 계산하는 양식입니다.

다시 말해, 시간 효율적인 표준 형태 대신 공간 효율적인 형태입니다.

답변:


8

"동일한 가치"를 고려하는 데는 약간의 자유가 있습니다. "동일한 값"이 "관측 적으로 동등한"을 의미하는 경우 그러한 알고리즘이 없음을 보여 드리겠습니다. 나는 건축 미적분학 조각, 즉 Gödel의 System T (간단히 미적분, 자연수 및 원시 재귀)를 사용하므로 인수는 이미 훨씬 약한 미적분학에 적용됩니다.λ

숫자 주어지면 , ¯ n 은 그것을 나타내는 대응하는 숫자, 즉 s u c c ~ 0 n 응용이라고 하자 . 튜링 mahcine M이 주어지면 , M 은 적당한 방식으로 M 을 인코딩하는 숫자가되게하십시오 .nn¯nsucc0MMM

말 두 폐쇄 용어 것을 된다 당량 , 기록 t 때 모든 N N , tt,u:natnattunNstn¯ 둘 다 같은 숫자로 정규화합니다 (우리는 강력하게 정규화되어 있기 때문에 숫자로 정규화합니다).sn¯

우리가 알고리즘을 가지고 있다고 가정 해 봅시다. 형의 닫힌 용어가 주어지면 n a t 는 최소한의 동등한 항을 계산합니다. 그러면 다음과 같이 Halting 오라클을 해결할 수 있습니다.natnat

기말있다 모두,되도록 N N 모든 튜링 기계 M , S는 ( M , ¯ N ) 로 정규화 ¯ 경우, T의 내부가 정지 N 단계 그렇지 않으면 ¯ 0으로 정규화됩니다 . 고정 된 수의 단계 n 에 대한 튜링 머신의 시뮬레이션 은 원시 재귀 이기 때문에 이것은 잘 알려져있다 .S:nat×natnatnNMS(M,n¯)1¯Tn0¯n

유한 한 많은 폐쇄 용어있다 동등한 최소 조건한다 λ X : N t는 .Z1,,Zk . 우리의 최소화 알고리즘은 λ x : n a t을 주면 그중 하나를 반환합니다 .λx:nat.0 이며, λ x : n a t 일 수도 있습니다.λx:nat.0실제로 0 은 유일한 최소 용어입니다. 이 모든 것이 중요하지 않습니다. 중요한 것은 λ x : n a t 와 동일한 최소 항이 무한히 많다는 것입니다 .λx:nat.0 .λx:nat.0

이제 어떤 기계 주어지면 u : = λ x : n a t 항을 고려하십시오 .MM 이 영원히 실행 되면 u ¯ n 은 모든 n에 대해 ¯ 0으로 정규화되고 λ x : n a t와 같습니다 .

u:=λx:nat.S(M,x)
Mun¯0¯n . M 이 영원히 실행되는지 여부를 결정하기 위해 u 를 최소화 알고리즘에 넣고 알고리즘이 Z 1 , , Z k 중 하나를 반환했는지 확인합니다. 그렇다면 M 은 영원히 실행됩니다. 그렇지 않은 경우 중지됩니다. (참고 : 알고리즘은 Z 1 , , Z k 를 자체적으로계산할 필요는 없으며 알고리즘에하드 코딩 될 수 있습니다.)λx:nat.0MuZ1,,ZkMZ1,,Zk

동등성 개념이 약한 (예 : 환원성) 작동하는 주장을 아는 것이 좋습니다.β


Z1, .. Zk는 어떻게 계산합니까?
user47376

당신은 필요가 없습니다. 즉, 내가 설명하는 알고리즘이 거기에 있으며 우리는 그것이 무엇인지 정확히 알지 못하지만 관련이 없습니다. 나는 실제로 알고리즘을 실행하려고하지 않고 알고리즘이 존재하지 않음을 보여주기 위해 존재해야합니다.
Andrej Bauer

예, 그러나 귀하의 주장에 따르면 알고리즘이 존재하면 정지 문제를 해결할 수 있습니다. 튜링 머신 M이 알고리즘을 중지하는지 확인하려면 u를 정규화하고 Z1, .. Zk 중 하나인지 확인합니다. 따라서 열거 할 수 있어야합니다. 그렇지 않으면 멈추지 않을 수 있습니다.
user47376

(가) 하드 유선 알고리즘이며,이 알고리즘은 연산 의미들을 열거 할 필요는 없다. 원하는 경우, 알고리즘의 소스 코드는 정수 선언 시작할 것이다 K (예 정의 # 지시자 C)에서와 어레이 Z 길이의 K 다음의 코드는 자유롭게 사용할 수 Z가 [ I ] , 어떤 사람들 아르. 우리는 그것들을 명시 적으로 알 필요가 없으며, 그것들이 존재한다는 것을 알면됩니다. Z1,,ZkkZkZ[i]
Damiano Mazza

7

Andrej가 말했듯이, 한 용어를 다른 용어로, 확장 적으로 같은 용어로 바꾸도록 허용하면 문제를 결정할 수 없습니다. 그러나, 당신은에 관심이있을 수있는 최적의 공유 다음과 같은 의미에서, 표현의 : 감소를 주어 그것은 분명 그 용어의 발생 할 수 있습니다 에서 공유 메모리 에 적용되며, 하나에 적용된 모든 축소는 다른 하나에 적용될 수 있습니다.

(λx:T.C x x) uβC u u
u

이러한 의미에서 유형이 지정되지 않은 용어를 최적의 방식으로 줄이는 방법은 가능한 한 공유를 줄이는 방법으로 알려져 있습니다. 이에 대한 설명은 https://stackoverflow.com/a/41737550/2059388 이며 관련 인용은 J입니다. Lamping 's 최적의 람다 미적분학 감소를위한 알고리즘 . 형식화되지 않은 미적분학에 대한 정리가 CIC로 확장 될 수 있다는 것은 의심의 여지가 없습니다.

다른 관련 질문은 유형 변환을 수행 할 때 지울 수있는 유형 정보의 양 또는 실제로 효과적인 연구 분야 인 효율적인 변환을 수행하는 방법입니다 (예 : Mishra-Linger 's thesis 참조) .


6

코디의 대답에 닿은 관점을 고집합시다.

아시다시피, 다른 λ- 말단에 해당 하는 가장 작은 말단 을 찾는 문제는 그것을 계산하는 알고리즘이 있더라도 실제로 흥미롭지는 않습니다. 사실, 대부분의 프로그램은 당신이 쓸 λ -calculus (또는 무엇이든의 미적분학 λ 는 변하지 않는다) 정상적인 형태로 이미, 또는 적어도 머리 정상적인 형태에서, 그들이 당신이 설명하는 의미에서 그들의 "작은"이미 그래서. 게다가, "작은"이라는 것이이 질문 에서 논의 된 것처럼 더 효율적이라는 의미는 아닙니다 .λλλλ

따라서 지적하는 문제 (정규화로 인해 크기가 커짐)는 함수를 인수에 적용하고 결과를 얻기 위해 일반 형식으로 축소하려는 경우에만 실제 문제입니다. 예를 들어, 이진 문자열 에서 함수 f 를 계산하는 용어 이 있다고 가정하십시오 . 그럼 당신은 M이Mf 여기서l(|x|)은 가장 왼쪽에있는 축소를 사용하는 축소 단계 수이며, CoC에서는 항상 정상적인 형태를 찾습니다 (CoC에서는 항상 존재하지만 내가 말하는 것은 유형이없는 경우에도 적용됩니다). 현재 가정, 또한, 그L(N)=O(NK)일부에 대한 상수K. f가 다항식 시간 계산 가능하다는 결론을 내릴 수 있습니까?

Mx¯l(|x|)f(x)¯
l(|x|)l(n)=O(nk)kf

λΘ(n)Θ(2n)λλ

λλ

λ

이 같은 구문은 반대로 순진 직관에, 그것을 증명하기 위해 사용될 수있다, 위의 질문에 대한 대답은 참으로 '예 : 정상적인 형태로 왼쪽 최 외곽 단계의 수는 이다 , 합리적인 가격 측정도 크기 폭발 때문에 경우 실제로 다음과 같은 동일한 계산을 나타내는 다른 방법이 있습니다 (선형 명시 적 대체 사용).

  1. 크기는 폭발 하지 않습니다 .
  2. λ

이 모든 것은 Accattoli와 Dal Lago의 논문 "베타 감소는 변하지 않는다"(LICS 2014)에 설명되어 있습니다 (저는 최신 저널 버전이 있다고 생각합니다).

λ


내가 생각한 것은 예를 들어 백만 개의 요소 목록을 생성하기 위해 백만 단계를 전개하는 용어입니다. 이는 실제 값으로 가장 효과적으로 표현되는 실제 목록으로 정규화됩니다 (실제 최종 결과이며 추가 단계가 필요하지 않음). 그러나 전개 용어 자체는 매우 작을 수 있습니다.
user47376

β

예, Andrej가 말한 것처럼 불가능합니다. 그건 내 질문에 대답했다.
user47376
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.