람다 미적분학을 사용하여 시간 복잡성을 이끌어 내고 있습니까?


43

람다 미적분학을 사용하여 알고리즘의 시간 복잡성을 계산하면 어떤 이점이 있습니까? 아니면이 목적으로 설계된 다른 시스템이 있습니까?

모든 참조를 부탁드립니다.

답변:


22

Ohad는 람다 미적분이 복잡성 클래스에 대해 이야기하기위한 기초로 직면하는 문제에 대해 상당히 옳습니다. 람다 미적분학에서의 복잡성의 감소, 특히 레비 박사의 논문에서 라벨이 붙은 최적의 축소에 관한 연구에 대해 상당한 노력이있었습니다. 일반적으로 람다 미적분학을위한 좋은 비용 모델은 모든 베타 감소에 일정한 가중치를 부여해서는 안됩니다. 다른 재 작성 전략 하에서 비용의 불변성에있어서 이것은 필수가된다.

두 개의 링크 :

  1. Lawall & Mairson, 1996, 최적 성과 비 효율성 : 람다 미적분의 비용 모델이 아닌 것은 무엇입니까? (.ps.gz) – 비용 모델 선택과 관련된 문제에 대한 정기 조사 및 그 밖의 많은 아이디어가 효과가없는 이유.
  2. Dal Lago & Martini, 2008, 합리적인 기계로서 약한 람다 미적분학 – 문헌에 대한 좋은 논의와 함께 가치 별 람다 미적분학에 대한 비용 모델을 제공합니다.

1
재미있는 참고 문헌, 나는이 작품들에 대해 몰랐습니다.
Iddo Tzameret

1
이 주제에서 최근 상황이 변경되었습니다. 아래 답변을 참조하십시오.
Marc

23

λλ

귀하의 질문에 더 가까운 것을 위해, 정적 분석에 의해 프로그램의 (다항식) 런타임 범위 (및 기타 리소스가 사용하는)를 결정할 수있는 유형 시스템 (기능적 프로그래밍 언어)을 개발하고 연구하는 현재 프로젝트가 있습니다. 프로그램들). 어떤 의미에서 이것은 런타임 복잡성을 분석하기 위해 기능적 프로그래밍을 사용하는 데 이점이 있음을 암시 할 수 있습니다. 프로젝트 홈페이지는 여기 입니다.

이 프로젝트의 대표 논문은 Jan Hoffmann, Martin Hofmann입니다. 다항식 잠재력을 이용한 상각 자원 분석-기능적 프로그램에 대한 다항식 경계의 정적 추론. 에서 프로그래밍에 19 유럽 심포지엄 논문집 (ESOP'10). 링크



18

람다 미적분학에 다양한 유형의 학문을 부과하여 다양한 복잡성 클래스를 특징 짓는 암시 적 복잡성 이론이라고하는 선형 논리에 기반한 매우 흥미로운 작업 라인이 있습니다. IIRC,이 작업은 Bellantoni와 Cook 및 Leivant가 형식 시스템을 사용하여 원시 재귀를 바인딩하여 다양한 복잡성 클래스를 캡처하는 방법을 알아 냈을 때 시작되었습니다.

일반적으로 람다 미적분학 (lambda calculi)으로 작업하는 것에 대한 매력은 때때로 튜링 기계와 같은 모델에 힘을주는 다양한 강렬 특징의 더 확장적인 (즉, 더 수학적으로 다루기 쉬운) 특성을 찾는 것이 가능하다는 것입니다. 예를 들어 Turing 기계와 순수한 람다 미적분의 한 가지 차이점은 Turing이 프로그램 코드를 수신하기 때문에 클라이언트가 수동으로 타임 아웃을 구현하여 더브 테일링을 구현할 수있어 병렬 또는 계산할 수 있다는 것입니다. 그러나 시간 초과는 미터법으로 모델링 할 수 있으며 Escardo는 람다 미적분의 미터법 공간 모델이 PCF + 시간 초과에 대해 완전히 추상적이라고 추측합니다 (상태를 모르겠습니다). 미터법 공간은 매우 잘 연구 된 수학적 대상이며, 그 이론을 활용할 수있는 것이 좋습니다.

그러나 람다 미적분학을 사용하는 데 어려움은 시작 게이트에서 바로 고차원 현상에 직면하게한다는 것입니다. Church-Turing 논문이 더 높은 유형에서는 실패하기 때문에 이것은 매우 미묘 할 수 있습니다. 계산의 표현과 관련하여 허용되는 방식이 다르기 때문에 자연 계산 모델은 더 높은 유형에서 다릅니다. (병렬-또는 LC와 TM의 차이를 나타 내기 때문에이 현상의 간단한 예입니다.) 또한 기능 공간의 차이가 더 표현력을 의미하기 때문에 서로 다른 모델 사이에 엄격한 포함은 없습니다. 한 순서로 표현할수록 표현력이 떨어집니다.


12

내가 아는 한, 람다 미적분학은 시간 / 공간 복잡성의 개념이 람다 미적분학으로 공식화되기 어렵 기 때문에 이러한 목적에 적합하지 않습니다.

1 시간 단위 복잡도 란 무엇입니까? 베타 감소? 공간 복잡성 단위는 어떻습니까? 끈의 길이는?

Lambda 미적분은 Turing 머신보다 훨씬 쉽게 구성 할 수 있으므로 알고리즘의 추상 조작에 더 적합합니다.


7

람다 미적분의 메타 수준 대체를 일련의 명시 적 감소 단계로 나눈 명시 적 치환 계산을 찾을 수도 있습니다. 이것은 시간 복잡성을 고려할 때 모든 대체물이 동일하게 고려되어서는 안된다는 Charles의 관점에 영향을 미친다.


7

Agda의 라이브러리로 구현되는 순전히 기능적인 데이터 구조에 대한 경량 준공식 시간 복잡도 분석 인 Nils Anders Danielsson을 참조하십시오 . 논문에 인용 된 인용문도 매우 유망 해 보입니다.

나를위한 하나의 핵심 테이크 아웃은 특히 간단한 알고리즘 람다 미적분학에서 알고리즘의 시간 복잡성을 도출하는 것이 적절하고 유용하며 합리적이며 반 자동화 가능하다는 것입니다. 알고리즘은 예를 들어 이름 별 의미론을 필수적으로 사용합니다. 이것과 함께 "람다 미적분학"에서 복잡성을 계산하는 것이 아니라 주어진 평가 전략 하에서 람다 미적분학을 계산한다는 것은 명백한 요점입니다.

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