1. The Mechanistic, Non-semantic Account
계산적 설명, 즉, 메커니즘의 역량(capacities)를 그것이 수행하는 계산에 의거해 설명하는 것은 메커니즘적 설명의 일종이다. 메커니즘적 설명은 다음과 같은 의미에서 비-의미론적 설명이다. 의미론적 설명과 달리, 메커니즘적 설명은 계산적 운반자가 표상적일 것을 요구하지 않으며, 계산 시스템과 그 시스템이 계산하는 함수를 그것들의 의미론적 속성에 의거하지 않고 설명한다. 다른 말로, 메커니즘적 설명은 어떤 것이 계산적 시스템인지 그리고 그것이 무엇을 계산하는지를, 어떤 것이 의미론적 내용을 가졌는지 그리고 그것이 무엇을 표상하는지와 별개의 질문으로 다룬다. 메커니즘적 설명은 비의미론적 개별화 조건을 제공한다. 많은 사람들의 생각과 달리, 계산은 표상을 선제하지 않는다.
계산적 시스템은 구성요소 부분들, 그것들의 기능들, 그것들의 조직화로 이루어져 있다. 그 구성요소들은 하위 구성요소들, 그것들의 기능들, 그것들의 조직화로 이루어져 있다. 가장 원초적인 계산 구성요소들은 메커니즘적으로 더 분석될 수는 있겠지만, 계산적으로 더 분석될 수는 없으므로 더 분석하는 것은 계산적 시스템의 개념을 설명하는 데에 도움이 되지 않는다.
2. Computing Mechanisms
2.1. Functional Mechanisms
핵심 아이디어는 계산적 시스템을 기능적 메커니즘의 한 종류로 해명하는 것이다.
시스템 X는 기능적 메커니즘이다 just in case 그것이 <시공간적 구성요소의 집합>, <속성들(인과 역량들) 어떤 속성들이냐면 그 시스템의 목적론적 기능에 기여하는 그런 속성들>, 그리고 <그것들의 조직화, 어떤 조직화냐면 X가 그것의 역량을 갖는데 왜냐하면 X의 구성요소들과 그것들의 속성들이 조직화되었기 때문에 그 역량들을 갖도록 된 조직화>.
계산적 시스템은 그것의 기능이 계산인 메커니즘이다. 이 장에서는 정상적으로 작동하는 경우만 다루지만, 오기능하는 경우도 있다는 점을 염두에 두긴 해야 한다.
기능적 메커니즘은, 다른 메커니즘 및 일반적인 물리적 시스템과 다르게, 그것들의 기능을 잘 수행(fulfill)했는지에 따라 성공과 실패가 있다. 어떤 조건들은 성공과 실패를 해명하는 데에 유관하고 어떤 것들은 그렇지 않다. 이 구분은 메커니즘의 계산적 역량과 유관한 속성과 그렇지 않은 속성을 구분하도록 해준다. 그러나 메커니즘적 구조 그 자체는 계산하는 메커니즘과 그렇지 않은 메커니즘을 구분하기에 충분하지 않다. 저자는 그러한 구분을 가능하게 하는 방식을 제시하고자 한다. 필요조건과 충분조건의 리스트는 아니지만, 계산적 메커니즘에 가장 중심적인 속성들에 대한 해명이다.
2.2. Generic Computation
컴퓨터 과학과 인지과학에서 사용되는 모든 적절한 계산 개념을 포착하기 위해 넓은 의미의 계산 개념, 즉 포괄적인(generic) 계산 개념이 필요하다. 특정 종류의 계산(e. g. 디지털 계산, 아날로그 계산 등)은 포괄적인 계산의 종류이다. 구체적인 계산에 대한 메커니즘적 설명은 다음과 같다.
물리적인 계산적 시스템은 다음과 같은 특징을 가진 물리적 시스템이다.
- 기능적 메커니즘이다. 즉, 목적론적 기능을 가진 메커니즘이다.
- 그것의 목적론적 기능들 중 하나는 계산을 수행하는 것이다.
포괄적 계산: 운반자의 서로 다른 부분(즉, 시공간적 부분)의 차이에만 민감한 규칙에 따르는, 기능적 메커니즘에 의한 운반자 처리 과정.
다른 말로, 물리적인 계산적 시스템은 그 목적론적 기능이 투입값 I (그리고 어떤 경우 내적 상태 S)에서 산출값 O로의 수학적 함수 f를 계산하는 것인 메커니즘이다. 이 수학적 함수 f는, 그 물리적인 시스템이 그것의 목적론적 기능을 만족시켰을 때. 그 시스템의 작용에 대한 추상적인 기술이다. 또한, 수학적 함수 f는 운반자를 조작할 때 물리적 시스템이 따르는 규칙이기도 하다. 운반자를 그런 규칙에 따라 조작하는 것이 물리적인 계산이다.
운반자: 변수(서로 다른 값들을 가질 수 있고 시간에 따라 변할 수 있는 상태) 혹은 변수의 특정 값. 이렇게 애매하게 정의해도 맥락에 따라 분명해지므로 별 문제는 없다.
규칙: 투입값(그리고 어떤 경우 내적 상태)에서 산출값으로의 매핑. 규칙은 계산적 시스템 내에서 표상될 필요는 없다. 알고리듬을 통해서나 <투입값, 산출값> 순서쌍이나 <투입값X내적 상태, 산출값> 순서쌍을 나열함으로써 주어질 필요도 없다. 투입값(그리고 어떤 경우 내적 상태 S)와 산출값 사이의 관계만 주어지면 된다.
운반자의 조작은 운반자의 한 부분을 변환(transformation)시키는 것이다. 조작은 기능적 메커니즘에 의해 수행된다. 한 메커니즘의 기능은 유관한 법칙에 맞춰 그것의 운반자를 조작하는 것이다.
우리가 구체적인 계산과, 그 계산이 조작하는 운반자를 정의할 때, 우리는 그것의 모든 물리적 속성을 고려할 필요는 없다. 그 계산을 정하는 규칙에 따라서 계산과 관련 있는 속성들만 고려하면 된다. 물리적 시스템은 서로 다른 추상화 수준으로 기술될 수 있다. 구체적인 계산과 그것의 운반자가 그것을 구현하는 물리적 매체에 독립적이라는 점에서 그것들은매체-독립적이다.
다른 말로, 운반자는 계산을 정의하는 규칙이 운반자 사이의 차이에만 민감할 때 매체-독립적이다. 또 다른 말로 하면, 규칙은 특정 자유도와 연관되어 있는 상태 변수들의 함수이다.
매체-독립성은 복수실현 가능성보다 강한 조건이다. 한 속성은 복수실현된다 just in case 그것이 충분히 다른 종류의 인과적 메커니즘에 의해 만족될(fullfilled) 수 있을 때.
매체-독립성은 복수실현 가능성을 함축한다. 하지만 반대는 아니다. e. g. 와인 오프너
매체-독립성과 복수실현 가능성 모두, 임의의 매체-독립적 속성이 그것을 만족시키는 메커니즘에 구조적 제약을 가한다.
디지털 계산을 정의하는 규칙은 디지트의 열(strings)과 그 시스템의 내적 상태에 의거해 정의된다. 여기서 내적 상태란, 단순히 그 시스템이 다른 상태와 구분할 수 있는 상태를 말한다. 물리적 매체가 디지털 계산을 구현하는지의 여부에, 다른 물리적 속성은 무관하다. 따라서 디지털 계산은 적절한 자유도를 갖춘 임의의 물리적 매체에서 구현 가능하다.
포괄적인 계산의 정의에 특정 매체에 대한 언급이 없기 때문에, 포괄적인 계산은 매체-독립적이다. 즉, 포괄적인 계산을 정의하는, 운반자의 부분의 차이는 오직 매체의 자유도에만 의존할 뿐, 다른 물리적 속성에 의존하지 않는다.
아날로그 계산은 디지털 계산과 자주 대조되지만, 아날로그 계산은 모호하고 다루기 힘든 개념이다. 대략적으로, 추상적인 아날로그 컴퓨터는 연속적인 변수를 조작하는 것이다. 아날로그 컴퓨터는 물리적으로 구현 가능하고, 물리적으로 구현된 연속적 변수는 디지트의 열과는 다른 종류의 운반자이다. 디지털 계산 시스템이 언제나 애매하지 않게 디지트 유형들을 구분할 수 있다면, 구체적인 아날로그 계산 시스템은 연속적인 변수를 통해 그만큼의 정확한 구분을 할 수 없다. 왜냐하면 연속적인 변수의 값에 항상 오차 범위가 있기 때문이다. 이 점이 아날로그 계산은 디지털 계산과 다른 종류의 과정인 주된 이유이다.
포괄적인 계산은 디지털 계산과 아날로그 계산, 그 밖의 다른 계산들을 포함한다.
계산에는 운반자가 실현되기 위해 가해지는 구조적 제약 외에, 특정 작동(operation)이 실현되기 위해 가해지는 구조적 제약도 있다. 따라서 계산적 설명은 구조적 속성과 기능적 속성이 함께 주어졌을 때 완전한 메커니즘적 설명이다.
딜레마: 계산은 매체-독립적이므로, 계산적 설명은 순수하게 기능적이다. 그렇다면 계산의 개별화는 순수하게 기능적으로 이루어질 수 있다. 반면 메커니즘적 설명은 기능적일뿐만 아니라 구조적이기도 하다. 그렇다면 계산의 개별화에는 구조적 속성도 포함시켜야 한다. 만약 계산을 개별화할 때 구조적으로도 해야 한다면, 복수실현 가능성이 성립하지 않는다. 왜냐하면 메커니즘적 설명은 메커니즘적 조직화의 모든 층위에서 모든 유관한 구조적 속성들을 명시해야 하기 때문이다.
답변: 계산의 개별화는 구조적으로도 이루어져야 하는데, 왜냐하면 매체-독립적 속성들도 매체에 구조적 제약을 가하기 때문이다. 게다가, 메커니즘적 설명이라고 해서 조직화의 모든 층위에서 구조적 속성들을 명시할 필요는 없다. 대신 유관한 층위에서만 그렇게 하면 된다. 메커니즘적 설명은 일반적으로 어느 정도 추상화된 것이므로 복수실현 가능성을 성립시키기에 충분하다.
2.3. Abstract Digital Computation
수학적으로, 디지털 계산은 두 가지에 의거해 정의된다.
1. 유한한 수의 알파벳에서 나온 문자열(strings of letters)
2. 프로그램: 기존 문자열에서 새로운 문자열을 만드는 명령어 목록. 명령어는 일반적으로 다음 문자열을 얻기 위해 이전 문자열을 수정하는 방법을 명시한다.
알파벳과 적절한 명령어가 주어졌을 때, 디지털 계산은 문자열의 시퀀스로서 시퀀스의 각 구성 요소가 명령어에 따라 그 이전의 구성 요소에서 도출된다. 문자와 문자열은 기호(symbols)라고 불린다. 왜냐하면 그것들에 일반적으로 의미론적 해석이 할당되기 때문이다. 하지만 계산적 메커니즘의 정체성/동일성은 문자열이 어떻게 해석되느냐에 달려 있지 않다. 문자열에 어떤 해석도 할당하지 않고도, 수학적 계산 이론이 정식화될 수 있다. 따라서 문자는 단지 (i) 다른 문자와 다르고 (ii) 다른 문자들과 모여서 문자열을 이루는 대상일 뿐이다.
많은 흥미로운 디지털 계산은 투입 문자열인 데이터뿐만 아니라 시스템의 내적 상태에도 의존한다. 대표적인 사례들에서, 내적 상태도 문자열이 될 수 있다.
댓글 없음:
댓글 쓰기