4 종의 지능 기계
컴퓨터와 인간지능 : Donald G. Fink 저, 이기호 역, 이화여대 출판부, 1986, Page 205~230
컴퓨터는 지시받은대로 일을 한다. 그러나 수상이라는 사람이 해야 할 일이라거나 좋은 시를 쓰는 법을 지시할 수 없다고 말하는 것은 컴퓨터를 비난하는 말이 아니다. 일반적으로 지능적인 일로 여겨지는 것을 수행할 경우 컴퓨터가 얼마나 해낼 수 있을까는 명확하지 않다. 그것은 어느 정도까지 명확하게 기술될 수 있는가에 달려 있다. - 벌라드 (Edward Bullard) 경
기계는 사고의 기호 (상징) 를 어떻게 다루며, 단어와 질문, 수학적인 개념, 인간과의 경쟁을 어떻게 다루는가? 네 가지 "지능" 을 갖추고 있는 컴퓨터 시스템으로서 이 질문에 대한 해답을 제시하겠다. 첫째 러시아어를 영어로 번역하며, 둘째 야구에 대한 질문에 답하며, 셋째 상징적인 논리로 정리를 증명하고, 넷째 서양 장기 게임을 하도록 고안되었다. 이는 앞장의 개념을 실행하는 프로그램과 메카니즘을 설명한 것이다.
번역 기계의 입력으로 전자 타이프의 키 (key) 를 들 수 있는데, 이 타이프의 키는 러시아어의 글자를 뜻한다. 타이피스트는 언어는 모르지만, 러시아 문자를 잘 알고 있으므로 러시아 원문을 그대로 칠 수 있다. 타이프를 친 결과로서 천공된 종이 테이프가 생긴다. 이것은 직접 컴퓨터의 테이프 리더 (tape reader) 로 보내진다. 컴퓨터의 출력으로는 또 다른 전자타이프가 영어로 프린트한다. 두 개의 전자타이프를 연결하는 컴퓨터는 일반적인 목적을 위한 기계가 아니므로 다른 일을 할 수 없다. 그러나 번역은 할 수 있다.
기억 장치 내에 저장된 것은 영어와 동등한 100,000 개 이상의 러시아어 절을 갖고 있는 "전자 사전 (electronic dictionary)" 이다. 컴퓨터는 필요한 것을 찾아 연결시켜 주는 기계이다. 그것은 입력 타이프라이터에서 생긴 기계 코드와 사전에 저장되어 있는 코드를 비교한다. 어떤 연결 (match) 을 찾았을 때 컴퓨터는 뜻이 같은 영어를 프린트한다.
그러므로, 이 기계의 성능, 작업은 아주 간단하다. 그러나 언어의 구조를 공부하는 데 시간을 보낸다면, 우리는 자동 번역이 결코 간단하지 않다는 것을 깨닫게 된다. 번역 기계는 컴퓨터 언어의 상투적인 문구를 받아들여야 한다. 그것은 여러 종류의 말을 다루어야 하고 동시에 두 형태의 말이 모순이 되는 규칙을 조정하여야 한다. 불과 20 년 전만 해도 기계가 이런 것을 할 수 있으리라고는 상상하지 못했다.
번역의 중요한 일은 입력으로 들어온 언어의 적절한 의미를 인식하는 것이다. 그리고, 출력으로 프린트될 언어의 의미를 만들어야 한다. 말은 한 개 이상의 정의를 갖고 있으며 한 번 이상 사용할 수 있기 때문에 언어의 의미를 만드는 것은 단순히 말을 인식하는 것 이상의 일이다. 예를 들면, 사전에 있는 "스테이트 (state)" 란 단어는 명사로서 19 가지, 형용사로서 4 가지, 타동사로서 3 가지의 정의를 갖고 있다. 만약 컴퓨터가 한 번에 오직 하나의 말로 작업을 한다면 26 가지의 정의를 어떻게 구별할 수 있을까? 그것은 불가능하다. 이것은 전문가들이 "불가능" 분류를 한 몇 가지 종류 중의 하나이다. 말을 말로 번역하는 것은 이해할 수가 없다.
오히려, 기계는 인간이 하는 것을 해야 한다. 그것은 말로된 그룹, 즉 절과 적절한 의미를 부여하는 각 단어를 고려하여야 한다. 실제로 기계는 광범위하게 많은 단어가 있는 기억장치를 제공해야만 한다. 그리고 (가능하다면) 단어를 그룹으로 인식해야 한다. 말로 표현한 것이 길면 길수록 동일한 의미는 더욱 더 확실해진다.
단어로 된 한 그룹을 다룰 때 여러 개의 가능성의 수는 그 그룹에 있는 단어의 수가 증가됨에 따라 더 커지게 된다. 우리는 세 글자로 된 글자의 조합의 수가 17,576 (263) 가 되는 것을 알고 있다. 영어에서 백만 개의 정의 중 3 글자 (letter) 로 된 것의 조합은 1018 이다. 물론 이들의 대부분은 의미가 없는 것이지만 그것들 가운데 백만 개는 의미가 있는 표현이 3 단어 (word) 이상으로 구성된 표현을 보면 그런 상황을 더욱 느낄 수 있다.
이런 복잡성을 기계는 어떻게 처리할 수 있을까? 그 해답은 지금까지 살펴 온 과정에서 찾을 수 있다 ; 즉, 정의된 표현이 저장되어 있다. 기계가 번역을 하는 데 필요한 것은 단어로 구성된 표현, 단어 뿐만 아니라 단어의 부분 (어간과 어미) 을 포함하고 있는 기계적인 사전이다. 이것은 단순한 "문서" 만은 아니다. 여러 가지의 언어를 다룰 때에도 기계의 디자이너는 주로 사용하는 수만 개의 절을 정의하고 저장시켜야만 한다. 각 절은 몇 개의 단어와 공간을 갖고 있으며, 각 단어는 몇 개의 문자를, 각 문자는 몇 개의 비트로 구성되어 있다. 그래서 이 사전을 저장시키는 데 필요한 기억장치의 단위의 수는 매우 클 수밖에 없다. 기계의 사전은 5 천만 개라는 어마어마한 비트의 용량을 지니고 있는 것이다.
이와 같이 광범위한 사전에서 컴퓨터는 특이한 표현을 어떻게 찾는가? 컴퓨터는 입력과 매치가 되는 것을 발견할 때까지 하나씩 각 표현과 단어를 관찰하면서 처음부터 사전을 검토할 것이다. 그러나 이 과정은 시간을 너무 낭비한다. 오늘날 비교적 속도가 빠른 컴퓨터도 간단한 연속적인 조사에 필요한 단어를 찾는 데 꽤 많은 시간을 소요한다. 컴퓨터가 유용하려면 1 분당 50 개의 단어를 타이핑할 수 있어야 한다. 그리하여 기계가 입력으로 들어온 표현의 처음 몇 개의 글자에 포함된 알파벳에 도달할 때까지 (사전에서 단어를 찾을 때 흔히 하듯이) "페이지를 건너 뛸 수" 있어야 한다. 즉, 사전에서 단어를 찾는 것처럼 컴퓨터는 어떤 매치를 발견할 때까지 (우리가 하는 것처럼) 자세히 그 페이지를 조사한다. 그리고나서 그런 관점에서 저장되어 있는 영어로서의 의미를 타이프로 찍는다.
그런, 기계적으로 표현된 사전 속에 있는 것이 자세한가 또한 기계 안에 타이프로 찍힐 수백만 개의 표현을 정확하고 충분하게 매치시킬 수 있는지 검토하는 것이 요구된다. 대신 컴퓨터는 몇 단계로 조사하도록 고안되었다. 첫째, 컴퓨터는 몇 개의 단어와 페이지로 되어 있는 입력의 정확한 매치를 찾는다. 만약 정확한 매치를 발견하지 못하면 자동적으로 첫 자가 같은 더 짧은 그룹을 찾음으로써 표현의 일부를 찾게 한다. 그것은 긴 표현에서 개개의 단어로, 그리고 결국에는 각 단어 속의 각 문자로 처리된다.
모든 문자와 구두점이 사전에 저장되어 있기 때문에 컴퓨터는 문자 수준에서 매치를 찾는다. 만약, 컴퓨터가 매치를 찾는 데 오래 걸린다면, 이것은 글자마다의 번역이라는 신호를 붉은 잉크로 프린트함으로써 러시아 문자와 동등한 영어를 타이프로 찍는다. 이런 방법으로 이상한 단어와 사전을 편찬하는 데 관련짓지 못한 상황들을 다룰 수 있다. 이 마지막 분류와 글자마다의 출력은 번역이 아니고 다른 나라 글자로 바꾸어 쓰는 것이긴 하지만 컴퓨터의 출력을 이해하는 데 매우 도움이 된다.
이 기계는 전반적으로 인간 지능으로부터 두 가지 도움을 받는다. 첫째는 사전 그 자체이다. 그것은 물론 입력과 출력 언어의 권위자에 의해 편찬된다. 그들은 번역하는 과정에서 적절한 단어와 구를 선택해야 한다. 그 다음 디자이너들은 기계가 질문의 범위를 자동적으로 좁히는 서치 (search) 를 갖추게 한다. 컴퓨터 그 자체에는 어떤 결정도 남아 있지 않다 ; 즉 번역을 위한 기계가 새로운 표현이 제시된 것 같은 과정으로 작동한다.
기본적인 과정으로 다음 9 단계가 있다.
(1) 입력 레지스터에 입력으로 들어온 표현의 코드를 놓는다. (2) 입력으로 들어온 표현의 첫 번째 문자에 대응하는 알파벳의 부분이 발견될 때까지 사전의 "페이지" 를 넘긴다. (3) 그 페이지의 맨 아래로 간다. (4) 입력으로 들어온 표현과의 매치가 찾아질 때까지 그 페이지를 반복한다. (5) 그 페이지에서 어떤 매치를 찾기 위해 필요한 것만큼 뒤로 가서 서치를 계속한다. (6) 표현단계에서 어떤 매치를 찾지 못했을 경우 매치를 발견할 때까지 더 짧은 표현을 단어, 문자순으로 찾는다. (7) 매치가 발견되었을 때 그 과정에서 저장된다. (8) 입력 레지스터에서 번역된 문자, 단어, 구를 제거한다. (9) 구에서 남은 부분을 가지고 다시 시작한다. (혹은 첫 번째가 완전하게 번역되었다면 다음 구를 가지고 시작한다.)
위의 아홉 가지가 주된 과정이나 몇 개의 다른 과정이 더 있다. 하나는 단어를 어미 변화에 신경쓰지 않고 어근이나 어간으로 나누는 방법이다. 다른 하나는 인접한 단어의 전후관계를 살펴서 기계가 접두어를 붙일 수 있는 다양한 참고 루틴 (cross-reference routine) 이다.
번역 기계가 찾아 짝짓기 경로 (search-and-match routine) 의 형태에서 "알아야 할 필요" 가 있는 모든 것을 디자이너로부터 받아야 한다는 것을 알아야 한다. 기묘한 스펙스 말벌과 같이, 두드러진 행동은 전적으로 습성에 의하여 설명된다. 번역기계는 명백히 지능적일 뿐이다.
그림 1 러시아어와 중국어를 영어로 번역하기 위한 컴퓨터 시스템 배열 도표.
이 기계의 도표가 <그림 1> 에 있다. 핵심 부분은 수천 개의 트랙이 새겨진 유리로 만들어진 디스크, 즉 사전이다. 각 "트랙은 (1) 입력으로 들어온 러시아어의 표현, 단어, 칸과 문자를 나타내고 (2) 곧 같은 트랙에 인접해 있으며 입력과 대응하는 출력을 영어로 표시하는 투명한 부분과 검은 부분으로 구성되어 있다. 입력으로 들어온 표현들은 알파벳으로 가장 깊은 부분의 트랙에 배열되며 바깥 부분으로 진행된다. 그러므로, 각 트랙은 사전의 "페이지" 를 나타낸다. 그 트랙에 있는 표현과 단어의 첫 문자의 위치는 알파벳으로 알 수 있다.
조그만 스포트라이트는 디스크에 초점을 맞추고 라이트는 디스크를 통해 광전자로 통과한다. 광전자는 트랙에 있는 투명한 부분의 공간을 양의 수로 (즉, 1), 불투명한 부분은 무의미한 수 (즉, 0) 로 나타낸다. 스포트라이트는 트랙에서 트랙으로 전 디스크로 움직여진다. 그러므로 "페이지로 움직이는 것과 같다." 스포트가 정확한 트랙을 찾았을 때 움직이지 않도록 시킨다. 그리고 디스크가 도는 것처럼 광전자로 생긴 비트는 알파벳의 역순으로 트랙의 모든 목록들을 나타낸다.
타이피스트가 번역될 러시아어를 문자마다 기계에 입력으로 준다면, 전기 타이프마다 기계에 입력으로 준다면, 전기 타이프라이트는 입력에 대응하는 기계 코드를 구체적으로 표현한 천공 종이 테이프를 생산한다. 이것은 문자를 갖고 있는 컴퓨터의 입력 레지스터로 한 번에 16 개씩 문자가 들어가게 된다. 즉, 입력 레지스터가 16 개의 문자를 나타내는 비트를 비교 레지스터로 보낸다는 것이다.
비교 레지스터는 처음 입력으로 들어온 표현의 첫 글자를 나타내는 비트가 사전에서 읽혀진 비트보다 더 높은지 (알파벳순으로 아래) 또는 더 낮은지 (알파벳순으로 위) 를 결정한다. 만약 더 높다면 비교 레지스터는 스포트라이트가 ("자동제어장치 [servomechanism]" 인 중간과정을 통해서) 안쪽으로 움직이도록 신호를 보낸다. 또 더 낮다면 스포트는 바깥쪽으로 움직여진다. 트랙이 건너뛰는 것처럼 ("페이지가 띄엄띄엄 읽혀지는 것처럼") 각 트랙은 첫 문자가 입력으로 들어온 표현과 같은 것인지 조사된다. 평균적으로 1 초의 1/1,000 내에 정확한 트랙이 발견되며 그때 스포트라이트는 트랙이 아래 부분에서 회전되도록 고정된다.
원하는 트랙을 찾았을 때 기계는 입력과 정확한 첫 문자를 지닌 여러 트랙 중 그 트랙에 기억된 긴 표현과 매치를 시켜야만 한다. 그 표현들은 길이가 감소하는 순으로 트랙에 배열된다. 그래서 자동적으로 가장 긴 표현이 처음 읽혀진다. 매치가 가장 긴 표현에서 발견된다면 비교 레지스터는 제어 장치가 기계의 출력을 위해 영어 동의어와 연관된 비트를 통과하도록 신호를 보낸다. 그렇지 않다면 다음에 더 짧은 표현이 계속적으로 조사된다. 그 때 매치되는 표현이 없다면 각 단어는 문자의 수가 감소하는 순으로 조사된다. 결국 차례로 연속된 것의 끝에서 한두 개의 문자가 발견되고 매치는 그 부분에서 이루어진다. 그 때 표현의 나머지 부분은 첫 문자가 발견되고 매치는 그 부분에서 이루어진다. 그 때 표현의 나머지 부분은 첫 문자가 발견될 때까지 트랙을 건너뛰어 조사된다. 그리고 이 과정은 반복이다. 각각의 표현, 단어 또는 문자가 연속적으로 확인될 때 그것은 입력 레지스터에서 제거된다.
영어 동의어는 출력 전자 타이프라이터로 직접 가지 않는다. 대신 그것의 출력 전자 타이프라이터로 가기 전에 그 표현에 부분이 영어 단어순의 규칙에 따라 모아지도록 허용하는 또다른 기억 장치 ("어휘 완충장치") 에 잠깐 있게 된다. 이 순서는 번역이 된 단어나 절에 부가된 "꼬리표" 로 결정되고 그것의 관계를 그 문장에 있는 다른 형태로 나타낸다.
그림 2 러시아어에서 영어로의 전형적인 기계 번역.

그림 3 중국어 단어와 구를 영어로 번역한 번역 컴퓨터에 의해서 나타나는 구문 트리.
<그림 2> 는 컴퓨터에 의해 러시아어를 영어로 번역한 전형적인 것이다. 매우 우수한 것은 아니지만 지능적이다. <그림 3> 에 나타난 것은 이 기계의 더 복잡한 번역으로 생긴 중국어 (주석 : 중국 표의문자를 위한 타이프라이터는 완전히 만들었다. 전동 타이프라이터는 2 개의 키를 침으로 해서 그리고 비슷하게 보이는 몇 개의 표의문자를 구분하기 위한 수를 더함으로 해서 6,500 개의 다른 중국문자를 형성한다. 각 문자의 세 부분 고안이 천공된 종이 테이프 코드로 번역되고 기계는 입력 언어가 무엇인지 알거나 살펴 보는 것 ("Knowing or Caring") 없이 비트를 움직인다. 관심 있는 독자는 킹 (G.W. King) 과 창 지엔우 (Chang Hsien-Wu) 이 『사이언스 아메리칸 (Scientific American)』(1963 년, 6 월호, p. 124) 지에 쓴 "중국어 기계 번역 (Machine Translation of Chinese)" 을 찾아 보라. 킹 박사는 여기서 설명한 기계 개발의 팀장이다. 그림 3 은 킹박사의 논문에서 발췌하였다.) 번역문이다. 중국어 번역문의 "트리" 형태가 단어 "로케트" 와 절 "태평양" 이 출력으로 나오기 전에 모아진 것으로 나타난다.
두 번째 예는 미국 리그 시즌 야구 게임에 관한 질문에 답하기 위해 계획된 컴퓨터이다. 정확히 답할 수 있는 전형적인 질문은 다음과 같다. 모든 팀이 매달 모든 야구장에서 적어도 한 번 경기를 했는가? 양키즈팀은 8 월에 몇 개의 팀과 시합을 가졌는가? 7 월에 10 승을 올린 팀은 어느 팀인가? 6 월에는 어디서 경기를 했는가?
기계가 해결할 수 있는 수백만 개의 질문이 있게 된다. 프로그래머들은 어느 팀이 어디서, 언제 몇 점으로 경기를 치렀는지 등과 같은 질문에서 그 해 시즌에 관한 기록으로부터 알 수 있는 사실을 기억장치에 저장시킴으로써 특이한 질문도 받을 수 있도록 기계를 고안했다. 또한 이 때 천공된 카드로 이들 기록을 조사함으로써 받아들일 수 있도록 조절했다. 올바른 논리와 기억력을 범위 내에 보관되도록 그들은 질문의 형태에 어떤 한계를 정했다 ; 절 또는 논리적 연결어 (접속사, 관계사 따위) 와 무관하게 단순한 질문을 나타내는 문장이 허용된다. 그러나 만약 오퍼레이터가 이런 한도 내에서 의문스러운 점을 기꺼이 말로 나타낸다면 정확한 답을 빨리 얻을 수 있다.
의문을 해결하기 위해 두 개의 야구 프로그램으로 실험한다. 첫째로 입력이 되는 표현을 분석해야 하며 어떤 말을 사용해야 할 것인지, 말의 의미와 문법적 관계를 결정하고 표현을 다시 다듬어서 필요한 정보를 문법적 관계를 결정하고 표현을 다시 다듬어서 필요한 정보를 일반적인 형태로 한다. 이 목록은 사실상 질문에 관한 의문을 나타내는 연속적인 비트이다. 둘째로, 컴퓨터는 목록과 기억된 자료 (같은 형태로 다듬어진) 를 찾으며 기억장치를 통해 연속적인 비트를 통과시켜야 한다. 이 서치와 매치는 간단하다. 또는 질문의 본질에 따라 매우 복잡할 수도 있다. 질문에서 알려지지 않은 것을 나타내는 모든 자료들을 기억장치로부터 얻어낼 때까지 컴퓨터는 그것들을 계속 갖고 있다. 컴퓨터는 그 때 질문에 대한 해답을 출력한다.
팀에 대한 기록은, 알려져 있는 사실을 잘 나타낸 간단한 방정식의 형태로 기억되어 "데이타 파일 (data file)" 에 수록되어 있다. 데이터 파일의 한 부분은 다음과 같다.
달 = 7 월
장소
= 보스턴
날 = 7
게임수
= 96
팀 = 레드삭스 ; 점수
= 5
팀 = 양키즈 ; 점수 = 3
파일은 이런 형태로 각 시즌, 월, 섹션 (section) 별로 수록되어 있다. 달마다 게임이 열렸던 10 개의 장소는 열 군데의 부대 장소로 되어 있다. 야구는 30 일 또는 31 일 동안 부대 장소에서 행해진다. 게임 수 (파일에 수록된 달과 장소) 와 각 게임의 팀과 점수는 각 일정과 연관되어 있다.
컴퓨터가 행할 일은 입력된 질문에서 이런 형태에 맞는 어떤 등식을 얻어내는 것이다. 각 질문은 질문의 이면에 내포된 사실과 질문에 대한 해답이 파일에 있는 미지의 사실들을 알려준다. 의문나는 사항을 예상해 보자. 7 월 7 일 보스턴의 게임에서는 어느 팀이 승리했는가? 컴퓨터는 이 질문에서 다음과 같은 자세한 기록을 생산해내야 한다.
달 = 7 월
장소
= 보스턴
날 = 7 일
게임수
= ?
팀 = ? ; 점수 = ?
팀
= ? ; 점수 = ?
여기에서 물음표는 질문에 의해서 명백하게 표현되거나 암시되어 있는 알려지지 않은 사실들을 나타낸다.
데이터 파일을 통해 자세한 기록을 보냄으로써 컴퓨터는 민첩하게 응답할 것이다 : 96, 레드삭스, 5, 양키즈, 3. 컴퓨터는 지금 두 번째 절차에서 5 는 3 보다 더 크기 때문에 레드삭스 팀은 질문에 대한 해답인 승리팀이었다는 것을 결정해야만 한다. 컴퓨터는 또한 질문에 대해 알고 있는 것과 모르는 사실들을 정확하게 인식하고 있는지, 또한 제대로 해석하고 있는지를 결정할 때 오퍼레이터를 위하여 각 물음표에 대한 자료와 자세한 목록을 출력한다.
앞에서 설명한 것은 매우 간단한 질문이다. 일반적인 질문은 야구 프로그램에 대해 더 잘 설명한다. 즉 10 개의 팀이 게임한 날은 7 월 며칠인가? 야구 팬이 어떤 기록에 대해 기억하고 대답하려면 상당한 시간이 걸릴 것이다. 컴퓨터는 연속적인 단계로 야구 게임을 다룬다. 첫 단계가 데이터 파일의 7 월 섹션에서 게임이 있었던 날들을 알 수 있고 각 날에 있었던 팀의 수가 세어진다. 그날들은 당시 세어진 팀이 10 개일 때 수록된다 ; 그렇지 않으면 그 날은 건너뛴다. 그때 마지막 단계에서 수록된 날들의 수가 세어지고 컴퓨터는 그 대답으로써 이 수를 출력한다.
아직도 해결되지 않은 어려운 질문은 각 팀이 매달 각 장소에서 적어도 한 번씩 게임을 했는가이다. 이것은 모든 팀이 적어도 한 번씩 모든 장소와 관련되도록 파일의 매달 섹션에서 서치를 반복한다. 그 목록이 완전하다면 '예' 로 출력되고, 그렇지 않으면 '아니오' 로 출력된다.
질문이 지닌 의미를 읽기 위해서, 컴퓨터는 우선 문자가 저장되어 있는 사전의 항목과 비교한다. (이 사전은 유리 디스크에 있는 것보다 오히려 평범한 자기 테이프에 수록되어 있다.) 실제로 기억장치에는 관용어 (idiom) 를 위한 것과 단어를 위한 두 종류의 사전이 있다. 그 질문에 관용어가 있다면 우선 관용어 사전의 항목과 비교를 한다. 그래서 관용어 의미가 찾아지고 수록된다. 그렇지 않으면 그 질문은 단어 사전을 "통과" 한다. 그리고 한 단어가 사전의 한 항목과 대응되었을 때 그 단어에 관한 4 가지의 항목이 저장된다. 즉 ① 그것이 어느 말에 속해 있는가? ② 그것의 의미 ; ③ 그것이 질문에 관한 단어 (어디서, 누가 어떻게 등등) 인지 아닌지 ; ④ 단어가 관용어 사전의 부록인지 이 점에서 프로그램은 질문을 말로 된 표현의 일부분으로 "분석" 하고, 의미와 문맥이 지닌 실마리를 이용할 수 있다.
다음, 컴퓨터는 명사와 명사구를 네모 괄호로, 전치사구와 형용사구는 둥근 괄호로 쳐서 전형적인 입력으로 들어온 질문의 문장을 다듬는다. 레드삭스 팀은 7 월 5 일 어느 팀에게 패했는가 라는 문장을 다듬은 후에는 "([7 월 5 일] 에 「레드삭스 팀」은 ([누구] 에게) 졌는가)?" 로 표현된다. 컴퓨터는 동사형이 (괄호가 없는) 수동형 또는 능동형인가를 결정할 수 있고 어느 명사구가 주어이고 목적어인가를 결정할 수 있다.
마직막으로 프로그램은 사전의 뜻과 참고 문헌, 괄호로 묶인 구조부터 자세한 목록을 얻어 낼 준비가 되어 있다. 여기서 여러 개의 복잡한 부프로그램이 필요하다. 예를 들면, 팀 (승리자) 처럼 명사와 수식어를 수반하는 데 그러하다. "몇 번의 게임" 이라는 구는 자세한 목록에 있는 항목보다 먼저 게임 (의 수) = ? 라는 표현으로 변환되어야 한다.
이렇게 해서 이루어진 정돈된 형태는 프로그래머의 훌륭한 공적이다. 자세한 목록을 얻고 데이터 파일 이전에 지시된 방법으로 자세히 살피며, 질문 표시는 파일에 대응되는 장소에서 발견된 데이터로 채워진다.
야구 프로그램은 항상 동일한 찾아 짝짓기 방법으로, 또는 같은 식으로 주어진 질문에 자세히 답한다. 이 프로그램은 배울 수 있도록 고안된 것이 아니므로 경험이 있는 경기로 증진할 수 없다. 그것은 인식과 의미의 대응일 뿐이며 그 이상 아무 것도 아니다. 그러나 인간과 컴퓨터 사이의 자유로운 대화라는 의미에서 중요한 과정이라 할 수 있다.
기호 논리로 정리를 증명할 수 있도록 프로그램된 컴퓨터가 세 번째의 예가 된다 (제 5 장). 논리의 순열과 조화가 복잡하므로, 모든 확률을 조사하여 문제점을 해결하는 것 (400 조의 진리표가 적정한 여섯 진술 가운데 진위 논리관계를 모두 열거하는 데 필요하다) 은 극히 간단한 상황에서만 실질적이다. 지름길을 택하는 것이 실제적으로 유리하다 (발견적 방법). 이런 것들은 해결책을 보장하지는 않으나 어느 타당한 시기에 발견될 수 있는 가능성을 갖고 있다.
여기서 서술된 정리를 증명할 수 있는 프로그램은, 발견적 지도법이 컴퓨터 내에서 어떻게 사용되는가를 보여주기 위해 뉴웰과 쇼와 사이몬이 고안하였다. 그들은 그것을 논리적 정리를 위한 컴퓨터라고 하며 약자로 "LT" 라 칭한다. 그들은 시험 결과로 『수학원리』의 제 2 장에서 52 개의 정리를 선택했다. 그리고 정리를 증명하기 위해 그 책에서 5 개의 공리와 3 개의 추론을 컴퓨터 기억장치에 수록했고, 컴퓨터의 기억장치를 조사하고 기호를 작동하여 컴퓨터를 만들었다. 그 정리는 발표한 순서로 기계에 보내진다. 기계에 의해 프로그램이 증명된 후 각 정리가 저장되도록 되어 있다. "증명된 정리" 는 다음의 정리를 증명하는 데 사용된다.
기호 논리에 대한 간단한 설명은 기계가 자세히
증명할 수 없지만 다음 3 가지의 예로서 좋은 표현이 된다. 『수학원리』의 52 가지
정리 중 첫 번째가 (P → P) → P 이다. 즉, "P 는 P 가 아닌 것을 의미한다."
10 초 내에 기계는 4 단계로 증명하고 그 결과를 출력한다. 31 번째 정리는 [P +
(Q + R)] → [(P + Q) + R] 이다. LT 프로그램은 23 분 걸리며, 프로그램의 자원
(resource) 을 사용한 것을 알리고 끝낸다. 45 번째 정리
은 간단한 것처럼 보이나 실제로는 매우 진보된 정리이다. 12 분 후에 LT 기계는
5 단계 증명을 찾아 출력한다. LT 프로그래머들은 55 번째 정리를 절대적 논리로
증명하기 위해 같은 컴퓨터를 몇 년 동안 작동해 왔다.

그림 4 논리 이론 프로그램의 순서도. (Feigenbaum and Feldman, eds, Computer and Thought, MaGraw-Hill Book Co., 1963 에서)
LT 기계는 발견적 방법 중 주요한 3 가지 형태에 의한다. 이들은 부프로그램이 증명하는 데 도움을 주는가를 알기 위해 시도하는 작업을 포함한다. 이것들의 순서는 <그림 4> 에 표시된 시스템 순서도에 있다. 프로그램을 선택하면 그것의 방법을 해결할 수 있다. 그것은 전에 증명된 정리를 선택하고 크기별로 문제를 해결한다. 만약 앞에서의 모든 정리가 증명되지 않는다면 그것은 새로운 문제를 선택하거나 다른 것으로 대신할 지도 모른다. 그리고나서 적당한 공리와 증명된 정리를 찾으려고 할 것이다. 그러므로, 컴퓨터는 시행착오로 증명을 찾는 것이다. 프로그램의 4 가지 견지에서 (증명하는 데 도움이 되는 공리 또는 정리를 찾는 데 실패한), 더 앞 단계로 돌아가 다시 문제 해결을 한다.
발견적 방법에는 대입, 분리, 연쇄적인 것이 있다. 대입하는 방법은 공리를 찾기 위한 시도와 변수 (P, Q, R 등) 로 대치한다. 또한 논리적 연결 ("or", "impiles", "not") 로 대입하여 변형될 수 있는 공리나 증명하려는 정리를 매치하고 있는 표현이 만들어지고 인식될 때까지 하나씩 찾는 방법이다. 분리적 방법은 다른 방법으로 문제가 해결된다면 증명될 수 있도록 새로이 문제를 세분화하는 것을 포함하고 있다. 그러므로 만약 P 를 증명하려는 정리라면 기계는 공리 또는 "Q 는 P 이다" 라는 증명이 된 정리를 찾는다. 그리고 Q 를 분리시키며 별개의 문제로서 Q 를 해결한다. 만약 컴퓨터가 Q 의 해답을 풀었다면 증명이 된 것이다.
연쇄적인 방법은 분리적인 방법을 몇 개의 단계로 확장한 것이다. 증명이 된 "P 는 R 이다" 라는 정리를 상상해 보라 : 기계는 우선 "P 는 Q 이다" 라는 증명된 정리를 택한다. 이때 "Q 는 R 이다" 라는 새로운 세분된 문제가 생겨난다. 그것이 증명된다면 "의미한다" 라는 이행적인 성질은 P 에서 Q 로, R 로 증명된다. R 에서 Q 로, P 로 반대의 방향으로 증명하고 연쇄적 방법이 또한 사용된다.
LT 가 증명하는데 오랜 시간이 걸릴 때 컴퓨터의 논리와 기억장치 내에 매우 큰 노력이 소모된다. 그런 시간 내에 수천 개의 정리는 세분된 문제로써 다루어지고, 증명에 도움을 줄 수 있는지 검토된다. 프리미티브 (primitive) 에서 특유한 표현을 빌리자면, LT 프로그램의 보호 경로 (subroutine) 가 실행되는 논리 연산에 많은 노력이 부가된다. 예를 들면, 정리 18 을 증명하는 데는 초당 백만 개의 비트보다 200 또는 300 개의 비트를 필요로 하는 보호 경로 34,100 개가 필요했다.
이것보다 더 많은 과거의 보호 경로를 필요로 하는 증명은 기계 (주석 : 고 John von Neumann 의 이름을 따서 명명된 JOHNNLAC 은 저장된 프로그램 개념에서 수행되는데, 그를 컴퓨터 과학의 불사신으로 만들었다.) 의 기억 용량을 소모한다. 52 번의 시도 중에서 프로그램은 부분적으로 기억의 한계가 있기 때문에 14 번 실패했다. 그러나 대체로 컴퓨터의 용량과 시간이 충분히 주어졌다면 논리적인 (연산) 프로그램이 발견될 것이라는 증명의 특수한 과정 때문에 실패한 것이었다.
LT 에 대한 설명을 끝내기 전에 그것에 대한 목적을 설명해야 한다 : 대입, 분리와 연쇄적인 방법이 컴퓨터 내에서 인간의 마음처럼 추리과정을 모방하는 데 사용될 수 있는지를 설명해야 한다. 추론적인 분석 (inferential analysis) 이라는 또 다른 접근 방법이 있는데, 이것은 계산할 때 사용되는 수처럼 증명의 원소를 다룬다. 왕 (Wang) 과 길모어 (Gilmore) 는 그런 방법을 사용한지 9 분이 채 못되어 컴퓨터 704 로 『수학원리』에서 논리적인 정리 350 개 모두를 증명했다. 그러나 그들은 인간의 마음을 모방하려고 하지 않았다 ; 증명을 위하여 아주 효율적으로 컴퓨터를 사용하는 것에 관심이 있었다.
흥미있게도 뉴웰은 LT 가 학문의 포괄적인 정리에서 "배운다" 라는 프로그램이라고 생각하지 않았다. 보통과 같은 정의에 의해 LT 는 경험을 사용한다는 견지에서 배운다고 주장하고 싶어했다. LT 는 원래 컴퓨터 내에 자리잡고 있는 정리가 아니라 다른 문제점을 해결하기 위하여 그것의 과정에서 증명된 정리를 이용한다. LT 는 그것의 경험을 일반화하지 않았으나 뉴웰 박사는 참 (true) 과 일반성의 결점을 찾고자 했다. 일반적인 프로그램을 얻기 위해 기계의 지능 중 4 번째 예를 설명하겠다.
4 번째의 예는 이 책의 앞부분에서 설명한 사무엘 박사가 서양 장기 (체스) 를 두기 위해 고안한 프로그램인 컴퓨터 시스템이다. 이 프로그램에 대해서는 여러 번 그 중요성을 설명했다. 그것은 인공 지능을 프로그램할 때에 눈에 띄는 성취이다. 자세히 논할 필요는 없지만 프로그램이 어떻게 작동되는 지를 간략하게 묘사하겠다.
서양 장기의 목적은 모든 적수를 사로잡거나 적수가 움직일 수 없는 위치로 가게끔 하는 것이다. 막다른 곳에 닥쳤을 때 피할 수 있는 수는 상당히 많다. 사무엘 박사에 의하면 서양 장기에서 가능한 진로는 아마도 여러 수 중에서 1040 을 선택할 수 있다. 이것은 너무 많은 수이므로 말로 표현하기는 힘들다.
이것은 컴퓨터가 초당 300 만 개의 수를 알고 있을지라도 지금까지 가장 빠른 컴퓨터보다도 더 빠르다. 게임에서 가능한 조합으로 시작해서 끝날 때까지 게임을 하는 데 1036 세기보다 더 걸릴 것이다.
이 게임은 인간이 하든 기계가 하든 발견적인 접근 방법을 필요로 한다. 컴퓨터 프로그램은 흑사병처럼 소모시키는 조사 방법을 피해야 한다. 그렇지 않으면 무엇을 해야 할지 결정하는 데 너무 오랜 시간이 걸린다. 미리 여러 개의 수를 보아야 하지만 그렇지 않다. 컴퓨터는 중요한 수를 알고 무의미한 것은 하지 말아야 한다. 한 마디로 체스 프로그램은 챔피언을 이기기 위해서 고안된 챔피언이 둔 방법대로 장기를 둔다. 즉 게임의 전략상 조금 더 빨리 넓고 깊게 게임을 이끌어 간다.
인간 경기자는 서양 장기에서 미리 수를 읽고 다음 수를 결정한다. 보통 게임에서 할 수 있는 몇 개의 수중에서 한 가지를 선택한다. 그리고 어느 수가 대체로 이길 수 있는지를 결정해야 한다. 경기자가 할 수 있는 한 가지 방법은 "좋게 보인다" 는 가능한 수를 미리 두고 그것에 대해 생각해 본다. 그리고나서 자기의 적수가 그 수를 본 방법대로 그 장기판을 상상해 본다. 그리고 적수의 수를 평가하려고 한다. 적수의 능력에 대해 잘 알고 있다면 그는 약한 수를 무시하고 여러 개의 가능한 수 중에서 가장 바람직한 응수를 택할 것이다. 미리 세 번째와 네 번째 수를 (상상력으로) 서둘러 놓음에 따라 그는 가능성은 물론 모든 확률이 불가능한 한계점에 도달하게 된다. 그 때 그는 수를 생각하고 자기의 적수가 응한 후에 "다시 뒤돌아 본다."
수를 생각해 내는 또 다른 방법은 전 게임에서 어느 피스 (piece) 가 유사한 배열이었는지를 기억하는 것이다. 경기자들은 전에 둔 연속적인 수를 기억하는지도 모른다. 기억된 수들이 성공적이었다면 그 수를 다시 사용하려 할 것이다 ; 만약 그렇지 않았다면 그 수를 두지 않고 또 다른 수를 생각할 것이다. 매우 유능한 경기자는 게임의 "바람직한" 수의 방향으로 앞에서 둔 것을 뒤돌아 보거나 수백 개의 정석을 기억하는 두 가지 방법을 사용한다.
사무엘 박사의 프로그램은 선수권 대회 시합이므로 같은 승리의 선에서 작동한다는 사실을 보고 놀라지 않는다. 컴퓨터는 가능한 수, 응수, 응수에 대한 응수 등을 기록하면서 - 그의 "상상력" 으로 - 장기를 둔다. 이 가능성 중에서 컴퓨터는 각각 "상상된" 단계에서 두 수 중 가장 가능한 수를 택해서 그 수를 적수가 아닌 자기가 두어야만 한다. 결국, 그 전에 몇 개의 수를 둔 결과를 조사했기 때문에 컴퓨터는 대부분 기대가 되는 것처럼 보이는 수를 택해서 장기를 둔다. 이런 식으로 컴퓨터는 게임을 한다. 프로그램은 또한 전 게임에서 두어 보았던 좋고 나쁜 수를 기억하고 사용한다.
컴퓨터는 32 비트의 컴퓨터 단어를 가진 장기판에서 장기판의 한 눈금이 한 개의 비트를 나타낸다. 1 은 점령한 눈금이고 0 은 빈 것이다. 4 개의 단어는 흰 것과 검은 피스, 킹, 점프 등을 추적하기 위해 장기판의 상황을 묘사하는 데 필요하다. 하나의 피스가 움직였을 때 움직이기 전의 장소의 비트는 0 이 되고 놓아진 장소의 비트 1 이 된다. 각 수와 응수가 조사되었을 때 장기판의 위치에 대응하는 컴퓨터 단어는 기억장치에 저장된다. 저장된 단어가 순서대로 수록된다면 수에 대응할 수 있는 모든 응수를 추리하기가 가능하다. 그 리스트를 연속적인 체제로 구성함으로써 프로그램은 각 응수에 답할 수 있는 응수의 예상을 추리할 수 있다.
순서를 정하고 구성하고 저장시키는 그런 과정으로 기계는 기억장치의 용량과 게임을 할 수 있는 시간이 허용되는 만큼 생길 수 있는 모든 수와 응수를 만들고 기억할 수 있다. 이런 능력은 인간보다 기계가 앞선다. 아주 우수한 인간 경기자라 하더라도 4 개 또는 5 개 이상의 수를 추리할 수 없는 데 비해 (게임의 최종 단위를 제외) 서양 장기를 두는 컴퓨터는 20 개의 수를 미리 알 수 있다.

그림 5 컴퓨터로 서양 장기를 두기 위한 간단한 결정 트리 (사무엘 박사와 국제사무기계협회 발표).
생각한 수와 응수를 저장하는 과정은 <그림 5> 에 나타난다. 간단한 예인 "트리 (tree)" 모양으로 표현될 수 있다. 트리의 각 가지는 수의 위치를 나타내는 컴퓨터 단어이다. 최상 단지점은 실제 게임의 터를 나타내고, 더 낮은 지점은 수와 응수를 생각해낸 후의 수 위치를 표시한다. 각 분기점 아래로 내려오면 몇 개의 라인이 있는데 이들은 둘 수 있는 가능한 수를 나타낸다.
컴퓨터는 가능한 수와 몇 개의 패스 (paths) 를 비교해야 한다. 하나의 패스는 적수가 둘 것 같은 수로서 컴퓨터가 유리한 수를 계속해서 표시한 것이다. 그 패스의 상단 부분은 컴퓨터가 실제의 게임에서 두는 수를 의미한다.
컴퓨터는 유리한 방향, 즉 상하로 작동한다. 가능한 첫 수 중에서 하나를 움직이기 시작하면서 시간이 허용되는 범위 내에 멀리까지 유리한 방향으로 내려가고 수의 위치를 평가한다. 그리고나서 컴퓨터는 마지막 수를 그 외의 다른 수로 두어 보는 것을 생각해 본다. 이런 과정은 경기자가 그 지점에 놓여진 분기점에 대해 결정할 때까지 계속된다. 컴퓨터는 상대방의 수를 읽어가면서 이 과정을 반복하고 한 단계씩 트리를 거슬러 올라간다. 이 과정은 컴퓨터가 처음 생각한 수의 적합 여부를 평가할 수 있도록 트리를 항상 반복해서 거슬러 올라간다.
컴퓨터는 - 신속하고 부지런하게 - 트리의 다른 여러 수를 생각해낸다. 트리의 최상단 부분에는 또 다른 수가 있으며 각각에 점수가 있다. 이렇게 해서 얻어지는 모든 수를 생각하면서 최고의 점수의 수를 택하여 빛으로 신호를 보내거나 임의의 눈금에 피스가 놓이도록 한다. 물론 이 과정은 트리의 크기가 제한된다면 실제로 일어날 수 있다.
어떤 한계 내에서 트리가 뻗어 나가기 위해서 사무엘 박사는 인간 경기자의 경험을 통해서 한계점을 고안해 냈다. 분기점에서의 수평선을 "플라이 (ply)" 라 명명하고 컴퓨터가 수를 결정할 때마다 (보통) 3 개의 플라이 트리 (ply tree) 를 만들도록 프로그램을 짰다. 재미있는 게임이 그 분기점에 따라 전개되지 않는다면 3 번째 플라이를 뻗어나가지 못한다. 수를 건너뛰거나 바꾸는 것이 그 분기점에서 확실하다면, 여러 번 점프가 계속될 때까지 트리는 계속 뻗어나간다. 그리고나서 멈춘다. 만약 점프가 주어진 패스를 따라 계속 행해지면 기계는 20 개의 분기점을 만들고 제멋대로 멈춘다. 왜냐하면 이 단계에서 컴퓨터의 기억장치는 트리의 가능한 모든 수를 나타내는 단어로 위험에 처하기 때문이다.
트리에서 각 행의 부분과 연합된 숫자는 행 부분의 각 말단에서 가지점의 두 체스판의 위치를 나타내는 컴퓨터 단어를 조사함으로써 선정한다. 이들 각각의 체스판의 위치를 찾는 네 개의 컴퓨터 단어를 조작함으로써 컴퓨터는 소그룹으로 피스의 윤곽을 분산시키고, 2 세기 동안 인간들이 행해 온 놀이의 경험에서 파생된 다양한 "파라미터 (parmeters)" 에 의해 각 그룹을 어림잡는다.
이 프로그램의 가장 발달된 형태에는 그런 변수가 38 개 있는데, 예를 들어, "전체적인 유동" 변수가 정상적일 때의 수와 같은 것이다. 이 파라미터의 값을 계산하고, 두 수에 해당하는 두 개의 값을 감함으로써 컴퓨터는 두 수의 위치를 설명하는 16 개의 수를 형성한다. 그리고나서 이들 각각은 컴퓨터의 경험에 의거한 빈도수를 곱한 것이고 빈도수의 합은 라인 부분의 "강도 (strength)" 로서 취한 것이다.
가장 유리한 수에 도달하면 컴퓨터는 일할 분량이 많고 그것을 신속하게 처리한다. 주어진 수의 위치에서 얻을 수 있는 수를 기록하고, 한 수를 추측하고 결과적으로 수의 위치를 나타내고 라인 부분의 강도를 알 수 있는 16 개의 항목을 평가하는 이 모든 일을 평균적으로 2/100 초 내에 한다. 컴퓨터가 한 수를 두는 데 걸리는 총 시간은 30 초 미만인 반면에 인간이 경기하는 시간은 한 수당 5 분이다.
서양 장기 챔피언 닐리는 컴퓨터와 시합했을 때 컴퓨터보다 더 많은 시간이 걸렸다. 이렇게 시간이 지체된다면 경기 규칙을 한 수당 단지 1 분 동안에 두도록 바꿀 경우 컴퓨터는 훨씬 더 손쉽게 이길 수 있다는 것을 증명했다. 사실, 사무엘 박사는 몇 년간의 훈련기간으로 기억장치를 얻을 수 있다면 프로그램은 한 수당 5 분으로 고정되어 있는 인간을 이길 수 있다고 믿는 경향이 있다.
그리해서 기계가 어떻게 게임을 하는가에 대한 설명을 해왔다. 즉 어떻게 한 수 앞을 내다보고 장기판의 위치를 계산하여 원하는 방향을 택해서 전후로 움직이는가에 관한 설명을 했다. 챔피언을 이기기 위해서 기계는 게임을 하는 것 이상으로 시야를 넓혀야 한다. 기계는 그의 성공과 실패를 기억한다. 그래서 과거의 경험을 되살려 경기하고, 게임의 일반적인 양상에 관하여 추측한다. 이것이 프로그램의 진정한 힘이 명백하게 되는 과정이다.
실질적으로 사무엘 박사는 여러 형태의 지식을 제공했다. 그 첫째가 "기계적 학습 (rote learning)" 이라 불리우는 간단한 형태인데, 그것은 수의 위치를 기억하고 기회가 주어졌을 때마다 유리한 수를 사용하는 것이다. 이 프로그램은 결코 이길 수 없다. 더 좋은 수에 대한 정보를 컴퓨터에게 알려줌으로써 저장된 수의 위치에 대한 스코어가 좋아지고, 더 좋은 결과를 얻었다. 이것은 뉴웰 박사가 지난 경험을 통해 LT 프로그램의 결점을 찾아내게 되었다.
비록 일반화의 설명이 이 책의 범위를 벗어난다고 해도 과정은 간단히 기술될 수 있고, 인공 지능의 미래에 전조가 된다. 2 개의 기계가 서로 상대하게 배치가 되었다. 알파 (Alpha) 라 불리우는 기계는 앞에서 언급한 16 개 수를 측정하는 복합인자를 조정함으로써 경험으로 일반화시킨다. 다른 기계 베타 (Beta) 는 게임을 하는 동안에 측정 인자의 고정된 값을 사용한다. 만일 알파가 이긴다면 알파에 의해서 사용된 시스템의 조정된 점수가 베타에 주어진다. 그리고 다른 게임이 진행된다. 다시 측정을 조정한 후에 진행되는 알파는 두 번째 게임을 이길 것이다. 왜냐하면 베타는 앞에서 진행된 게임으로부터 (그러나 개선된) 고정된 측정을 사용하기 때문이다. 만일 알파가 진다면 측정 조정 방법은 알파가 이길 수 있는 힘을 갖게 될 때까지 프로그래머에 의해서 수정된다. 이런 방법으로 해서 측정 방법은 점차적으로 개선된다. 게임의 결과를 관찰하여 보면 어떻게 알파가 개선되는가를 알 수 있다. 분명한 지침 없이 게임의 기본적인 작전을 "실현" 한다. 그것은 마치 장기판의 중심에 조절을 유지하고, 구석이나 가장자리에서 함정이 있는 위치를 피하고 킹 열을 방어하는 등의 이점과 같다.
두 개의 컴퓨터가 이러한 대결을 하는 동안 한 컴퓨터가 다른 컴퓨터를 "가르치고" 배우는 과정을 진행하고 있는 프로그래머에 의해서 안 상태로 프로그램이 진행된다. 결과적으로 개선의 성질이 명백하다. 사무엘 박사가 자기의 프로그램을 "기계를 배우는 과정이 믿을 수 없다는 사실을 보여주기 위한 매우 만족스러운 도구" 라고 생각했다.
마지막으로 기계가 이긴다고 "주장" 하는 방법에 관하여 간단히 설명하자. 두 개의 대안이 되는 그 다음 수의 점수가 같아진다고 가정하자. 두 가지 대안 사이의 결정이 앞에서 설명한 것과는 다른 근거에서 이루어졌다. 사무엘 박사는 두가지 검증을 시행하면서 트리 내의 깊이 (depth) 를 기록함으로써 한 분지에서 처음에 이런 가능성을 타진했다. 하나는 세번째 가지로 다른 하나는 여섯 번째 가지로 간다면, 여섯 번째 가지는 실제로 채택된다. 그러나 이런 선택은 개선될 수 있다. 만일 다음 움직임의 점수가 가지 번호와 다르다면, 다음 점수는 가장 좋은 길을 발견하는 데 후방 서치에 의존하면서 약간 변경이 가능하다. 높은 가지의 번호를 채택하면 기계가 지게 되고, 반면 낮은 가지의 번호를 채택하면 기계가 이기게 된다. 이런 방법으로 이기려는 경향은 기계에서 명백하고 결정적으로 전방을 강조한다. 프로그램 내에서 이와 같은 가장 중요한 요소가 없다면, 기계가 배우는 것을 실패하게 할지도 모른다.