달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

#4. 지능의 가진 기계와의 시작 : 알고리즘의 등장

이전 글에서 다루었던, 엘 아제드레시스타(El Ajedrecista)와 같은 자동화 장치는 이동을 계산하는 간단한 알고리즘 때문에 인간을 상대로 하기는 역부족 이였습니다. 최소한의 이동 횟수로 체크 메이트를 제공하지도 않았고, 체스의 50번 이동 규칙을 따르지도 않았습니다. 즉, 만족스러운 인공지능 자동기계가 되기에는 너무나도 부족함이 많은 초보자 수준의 자동 장치였습니다.

이런 제한적인 기계식 체스 연구는 40년대 이후부터 조금씩 바뀌어갑니다. 콘라트 추제(혹은 콘라드 주세, Konrad Zuse: 1910년~1995년, 독일 토목 공학자, 컴퓨터 과학자, 발명가, 사업가)는 1941년에 세계 최초의 프로그래밍 가능한 공정 제어 컴퓨터 S2 를 만든 사람입니다.

콘라트 추제는 1941년에 Plankalkül(플란칼쿠일, 영어로는 "Plan Calculus", Konrad Zuse 가 엔지니어링 목적으로 디자인 한 프로그래밍 언어) 프로그래밍 형식으로 컴퓨터 체스 알고리즘(최초의 컴퓨터 체스 엔진)을 개발합니다. 그러나 제 2차 세계대전의 상황으로 인해 1970 년대까지 출판되지 않았고 밝혀지지 않았습니다.

한가지 재미있는 것은 제2차 세계대전이 끝나고, 선구자적 컴퓨터 과학자인 콘라트 추제와 앨런 튜링이 학회에서 서로 만났다는 것입니다. 막스 플랑크 물리학 연구소(Max Planck Institute for Physics)의 독일 컴퓨터 선구자 하인츠 빌링(혹은 하인즈 빌링, Heinz Billing)의 회고록에 따르면 독일 중부의 도시 괴팅겐에서 앨런 튜링(Alan Turing)과 콘라트 추제(Konrad Zuse) 사이에 학술 회의가 있었고, 여기에는 영국의 Womersley, Turing, Porter와 독일의 Zuse, Walther, Billing과 같은 몇몇 연구자들이 있었다고 합니다. 

※ 참고로 그가 만든 세계 최초의 프로그래밍 가능한 컴퓨터인 Z3[Konrad Zuse가 1935년에 설계하여 1941년에 완성한 독일 전자 기계 컴퓨터. 기능적 프로그램이 제어된 Turing-complete(튜링 기계와 동일한 계산능력을 가진) 컴퓨터]는 1941년 5월에 작동되었습니다.

독일 뮌헨 독일 박물관에있는 Z3 복제품 [출처 : 영어 위키백과]


1948년 노버트 위너(Norbert Wiener:미국의 수학자, 전기공학자. 1894년 ~ 1964년)는 "사이버네틱스, 또는 동물과 기계에서 제어와 통신. Cybernetics: Or Control and Communication in the Animal and the Machine"이란 책을 발간했습니다. MIT 교수였던 노버트 위너는 사이버네틱스의 창시자로 유명합니다사이버네틱스(cybernetics, 현재는 인공두뇌학으로 불림)라는 용어는 최초로 노버트 위너가 "자기 규제 메커니즘(self-regulating mechanisms)"을 지칭하기 위해 만들었습니다. 

사이버네틱스 책의 초판(First edition) [출처 : 영어 위키백과]

 

이 책에서 그는 체스 게임 머신을 만들 가능성에 대해 언급합니다. 대부분의 인간 플레이어보다 더 나은 수준의 플레이를 할 수 있지만 전문가 수준이 아닌 머신을 만드는 것이 가능하다고 결론지었습니다. (지금은 체스를 넘어 더 복잡한 바둑도 인공지능이 사람의 지능을 추월했습니다.)

1판을 조금 보강한 2판(Second Edition 1961년 출판)에서는 내용을 추가하여, 노버트 위너는 존 폰 노이만의 게임 이론과 군사 상황에 대한 적용에 대한 논의로 확장합니다. 그런 다음 그는 체스를 두는 컴퓨터가 과거의 성능을 분석하고 성능을 향상시키기 위해 프로그래밍 될 수있는 방식에 대해 설명합니다. 결국 체스를 두는 것은 기계에 의해 시뮬레이션 될 수 있다는 것이며, 이것은 현대 인공 지능 개발을 향한 중요한 초기 단계입니다. 


체스 프로그램을 개발할 수 있는 방법을 설명한 사이버네틱스 책의 내용 (Second Edtion 책 본문 발췌)

 

노버트 위너가 사이버네틱스 책의 일부에서 체스 프로그램에 대한 지능적 구현을 다뤘다면, 클로드 엘우드 새넌(줄여서 클로드 새넌. Claude Elwood Shannon: 1916년~ 2001년. 미국의 수학자이자 전기공학자. 정보 이론의 아버지라고 불리움)은 아예 논문을 출판합니다. 그 논문이 "체스를 하기 위한 컴퓨터 프로그래밍(Programming a Computer for playing Chess : 1949년 완성, 1950년 출판)"입니다.  이 논문은 뉴욕에서 열린 국립 라디오 엔지니어 컨벤션에서 발표되었습니다. 그는 위치 득점(position scoring)과 이동 선택을 기반으로 체스를 두도록하는 컴퓨터를 프로그래밍하는 방법을 설명했습니다. 그는 체스 게임에서 고려할 가능성의 수를 제한하기위한 기본 전략을 제안했습니다. 이 논문은 1950년 3월에 철학 잡지(Philosophical Magazine : 영어로 출판 된 가장 오래된 과학 저널 중 하나)에 실렸으며, 이것은 체스를 하기 위한 컴퓨터 프로그래밍과 게임 해결을 위해 컴퓨터를 사용하는 주제에 관한 최초의 기사 중 하나로 간주됩니다.

※ 참고로 클로드 새넌은 훗날 다트머스 학회(Dartmouth Conference: 인공지능이라는 분야를 확립한 학술회의. 인공지능의 용어가 처음 사용됨) 제안멤버가 됩니다.  

 

클로드 새넌는 체스 게임의 트리의 복잡성을  약 10의 120승으로 추정하고, 컴퓨터가 어떤 움직임을할지 결정하게하는 과정은 주어진 체스 위치의 평가 함수를 기반으로하는 최소극대화 절차로 설명하였습니다. 클로드 새넌은 체스판의 흰색 위치의 값에서 검은 색 위치의 값을 뺀 평가 함수의 대략적인 예도 제공했습니다.

 

※ 최소극대화(최소최대 또는 미니맥스, Minimax, MinMax, Saddle point or 한국어 위키는 "Maxmin") : 게임이론과 의사결정 이론에서 많이 사용됨. 최대의 손실(maximum loss)를 최소화시키기 (minimize)위해 사용되는 규칙.  바둑이나 체스에서 상대방 수를 고려해서 인공지능이 대응할때 많이 사용되는 구현 알고리즘이 최소극대화 알고리즘임.

해당 논문의 첫 페이지는 아래 이미지를 참고하시면 됩니다.

"체스를하기위한 컴퓨터 프로그래밍" 논문의 첫 페이지 (해당 논문 직접 발췌)

비슷한 시기에 앨런 튜링도 구현되지 못한 체스 프로그램인 튜로챔프(Turochamp : 1948년 작성해서 1950년 프로그램 로직 완성. 종이에 쓰여진 로직으로 실행되는 지능적 체스 프로그램)를 발표했는데, 그에 대한 이야기는 이미 이전 글에서 다뤘습니다.

『 』 Copyright 2021. 『오드리공주될뻔 블로거』  All rights reserved.


해리퐅터와 대결하는 체스 인공지능 로봇 이미지

 

Posted by 오드리공주될뻔
|

#3. 지능의 가진 기계와의 시작 : 진짜 체스 자동기계의 등장

이전 글에서 지능의 가진 기계와의 게임에서 터크(The Turk)라는 가짜로 판명난 인공지능 체스 게임 자동기계에 대해 살펴보았습니다.  1769년 터크이후에도 1868년에 유사한 사건이 있었습니다. 바로 아지브(Ajeeb)라는 오토마톤(자동기계. automaton, 복수는 오토마타로 자동화 기계의 역사에서 자주 등장하는 용어입니다. automata)기계입니다. 아지브의 이름은 아랍어/우르두어/페르시아어에서 유래되었으며 "멋지고 경이로운"을 의미합니다. 흥미로운 가짜 기계 기술은 사람들에게는 완전 자동화 된 것으로 제시되었지만, 실제로는 내부에 강력한 인간 체스 플레이어를 숨겨서 경기를 진행했습니다. (또, 속았습니다.)

""Ajeeb the Wonderful"이라고 부른 체스 자동기계의 1886년도 캐비닛 카드 사진 [출처 : 영어 위키백과]

 

Charles Hooper(캐비닛 제작자)라는 사람이 이 아지브(Ajeeb)라는 체스 게임 자동기계를 만들었고, 이 기계는 1868년 왕립 폴리테크닉 연구소(Royal Polytechnical Institute: 영국 웨스트민스터 대학의 전신)에서 처음 발표되었습니다. 아지브는 해리 후디니(Harry Houdini, 헝가리 출신 마술사), 테오도어 루즈벨트(Theodore Roosevelt, 미국의 제26대 대통령), 그리고 O. 헨리(William Sydney Porter, 미국 단편 소설 작가)를 상대로 한 경기 게임을 통해 수천 명의 관중을 끌어 들였습니다. 사람들이 이런 가짜 기계에 계속해서 속는 것을 보면, 그만큼 많은 흥미거리를 제공하는 것 같습니다. (거기다 유명인들까지 가세하니)

 

이렇게 가짜가 판치던 세상에 드디어 진짜가 만들어지기 시작했습니다.

가짜 Stop, 진짜 Go 이미지

1876년에 메피스토(Mephisto)라는 체스 경기를 하는 "유사 자동기계"가 등장했습니다. 터크나 아지브와는 달리 숨겨진 조작자가 없었고, 대신 전자 기계적 수단에 의해 원격으로 제어됩니다. 그러나 애석하게도 1889년 이후 해체되었고, 그 이후의 소재는 알려지지 않았습니다.

 

그러다가 1912년의 엘 아제드레시스타( 혹은 엘 아케드레시스타, El Ajedrecista)라는 현존하는 진정한 통합 자동화를 갖춘 전자 기계가 탄생합니다. 이것은 체스를 할 수 있는 최초의 자율 기계 중 하나입니다. 이 기계는 레오나르도 또레스 이 퀘베도(Leonardo Torres y Quevedo, 스페인 토목 공학자겸 수학자)가 만들었습니다.  이 장치는 인간 의지도 없이 체스를 두기 위해 만들어진 진정한 오토마타였습니다. 이 장치는 역사상 최초의 컴퓨터 게임으로도 간주 될 수 있습니다

엘 아제드레시스타( El Ajedrecista) 정면 사진 [출처 : 영어 위키백과]
퀘베도 아들인 곤산로가 개선된 엘 아제드레시스타를 1951년 파리 사이버네틱 회의에서 Norbert Wiener에게 선보이는 모습 [출처 : 영어 위키백과]

이 장치는 1914년 파리에서 처음 공개되었으며 세계 최초의 컴퓨터 게임으로 간주됩니다.

첫 번째 버전에서는 조각이 보드에 꽂혀 있고 체크 및 체크메이트(체스에서 킹을 잡겠다는 경고를 담은 구호)의 게임 상태가 전구 신호를 표시되고, 기계식 암들( Mechanical arms)이 프로토타입에서 부품을 움직이는 형태였습니다. 그 이후 1920년에는 퀘베도의 아들 곤살로(Gonzalo)는 1920년 기존의 엘 아제드레시스타를 기반으로 보드 아래에있는 전자석을 통해 움직이는 개선된 체스 오토마타를 만들었습니다. 또한 컴퓨터가 게임에서 이겼을때 체크메이트를 알리는 음성 녹음과 함께 사운드 효과도 포함되었습니다. (정말 1920년도에 이런 것을 만들었다니 놀라운 일입니다. 👍👍👍)

 

퀘베도 부자의 개선 이미지

 

Copyright 2021. 『오드리공주될뻔 블로거』  All rights reserved.

Posted by 오드리공주될뻔
|