내가 계산 이론 (이론적 컴퓨터 과학의“나”)을 찾는 주된 이유 중 하나는 다음과 같은 것입니다. 그것은 철학적 질문에 대한 심오한 (때로는 수수께끼)를 조사 할 수있는 방법을 제공합니다.
계산 이론의 창시자 중 한 사람인 Alan Turing은 프로세스에 대한 수학적 설명을 제공하여 종이를 장비 한 사람에게 "기능 계산"의 의미를 찾아 내려고했습니다. 나는 그가 매우 성공했다고 생각하는 유일한 사람이 아니며, Turing 머신은 다른 많은 컴퓨팅 프로세스의 정확한 모델이라는 것이 입증되었습니다.
이제 우리는 계산을 설명하는 일련의 수학적 객체를 가지고 있으므로 실제로 그에 대한 이론을 증명할 수 있으므로 계산할 수있는 것과 계산 방법을 알아 내려고 노력합니다. 완벽하게 합법적 인 많은 함수를 전혀 계산할 수없고 계산할 수없는 정도에 따라 분류 할 수 있다는 것이 즉시 밝혀졌습니다 (일부 함수는 다른 함수보다 "계산할 수없는"것입니다).
일반적으로 Juris Hartmanis와 Richard E. Stearns로 확인 된 다른 사람들은 함수 (각각 문제) 가 계산 하기 어렵 거나 쉽게 풀 수있는 (즉, 해결하기) 의미하는 것을 수학적으로 설명하려고했습니다 . 문제의 경도를 설명 할 수있는 몇 가지 복잡성 측정법 이 있습니다. 가장 일반적인 것은 우리가 그것들을 해결하는 데 필요한 시간입니다. Alan Cobham과 Jack Edmonds는“효율적인 계산”이라는 합리적인 개념을 식별하는 데 상당히 성공했습니다.
계산 복잡성 프레임 워크 내에서 이제 직관적 인 계산 개념과 일치 하는 일부 결과를 입증 할 수 있습니다 . 내가 가장 좋아하는 예는 시간 계층 정리입니다. 계산할 시간이 더 주어지면 더 어려운 문제를 해결할 수 있습니다.
복잡성 이론의 핵심 개방 문제인 P vs NP 는 철학적으로 중요한 또 다른 질문의 공식 화일뿐입니다. 문제의 해결책이 실제로 올바른지 확인하는 것보다 문제를 해결하는 것이 실제로 더 어려운가요? 나는이 질문이 실질적인 의미와 무관하게 묻고 대답 할 가치가 있다고 생각합니다.