온울에..?

[=] P 대 NP

온울에 2008. 5. 24. 17:22
uberkitcho:
>1.
>일단, 제한된 시간 동안 게임이 끝나지 않으면 무승부라고 가정하겠습니다.
>
>체스와 바둑의 말-이동은 모두 2차원 좌표 위에서 표시됩니다. 그리고 두 게임 모두 게임 종료를 정의하는 규칙을 가지고 있습니다. 이러한 요소들을 고려하면, 말-이동을 표현하는 [형식] 문법을 얻을 수 있습니다 -- 이 [형식] 문법을 G라고 부릅시다. 특별히, 시간 초과로 생긴 무승부를 생각해보면, (1) 무승부는 말-이동을 기술하는 string의 길이가 상수 N보다 클 때 선언되며[*], (2) 그때 G를 accept하는 automaton이 halt되기 때문에, 무승부가 있는 게임 자체는 계산가능합니다.
>
>보다 정확히 말하자면, 무승부를 포함한 게임의 승부를 결정하는 것은 computable합니다. 실제로는 시간이 초과한 쪽이 지도록 되어 있을 것입니다. 그렇다면 무승부라는 state 대신 그 turn에 말-이동을 하도록 되어 있는 쪽이 졌다고 선언하게 하면 됩니다.
-------------------------------------------------------------------------
착한왕:

논의를 위한 정확한 정의와 제한 조건을 언급해주어 감사합니다. 야구경기에 4시간 제약이 있듯, 말 이동을 기술한 선들의 길이가 N보다 클 때 형식문법(formal syntax)이 더 이상 기능하지 않도록 하는 조건을 주고, 이 조건을 충족하느냐 안 하느냐에 따라 게임이 무승부로 끝나느냐 아니냐가 결정되는 것으로 봅시다. 이런 경우 G와 승부 혹은 시간 초과에 의 의해 게임을 멈추게 해주는 명령 프로그램 Halting(G)와 G사이의 관계가 실제 인간의 인지 기능과 얼마나 유사한지는 논의의 대상으로 삼지 않겠습니다. 단 인간의 경우 시간의 제약이 진짜 제약으로 작용하는데, 이것이 컴퓨터 게임에 얼마나 적절한지는 약간은 토론될 수 있습니다. 인간은 시간 제약에서 가끔 새로운 전략을 발견하는 데 바로 킷초님이 언급한 아래 정의 III과 관련됩니다.
---------------------------------------------------------------------------
uberkitcho:

>2.
>앞에서 설명한 것은 이 토론이 무엇에 초점을 맞추어야 하는가, 라고 질문하기 위해서 입니다. "바둑은 계산이 아니다"라는 문제가
>
>  I. 바둑의 승부를 판정하는 것이 computable한가
>  II. 바둑의 winning strategy가 computable한가
>  III. 바둑의 winning strategy를 만들어내는 것이 computable한가
>
>가운데 어떤 것과 관련있는지 또는 어떤 것으로 환원되는지 분명하지 않습니다.
>
>I에 대한 대답은 1에서 스케치 된 대로 "그렇다"입니다. 무승부를 인정하지 않을 때 winning strategy는 반드시 시간 내에 말-이동을 계산해야 하므로, II에 대한 대답은 "그렇다"입니다. 따라서 III이 [철학적으로] 의미있는 질문이라고 생각합니다.
-------------------------------------------------------------------------
착한왕:

지적하신 데로 원래 제 버젼에서는 정의가 불분명합니다. 킷초님의 위 정의 I는 튜링 계산 가능할 때 계산 가능한 것으로 받아들이면 일반적 의미에서 '계산가능성'입니다. 말 이동이 계산 기능하다고 할 때 형식문법 G가 해당 알고리듬이 되겠습니다. 바둑 게임의 승부 판정은 수학적으로는 계산 가능합니다.

일단 승부가 난 게임은 컴퓨터 시뮬레이션이 가능합니다. 이러한 컴퓨터 시뮬레이션이 가능하다는 것은 그 게임에 담긴 전략들을 시뮬레이션 혹은 모방 가능하다는 것인데, 이것이 실제 컴퓨터가 그 전략을 계산하는지 혹은 그냥 그 전략을 묘사하는 것인지를 맞바로 결정하지는 않습니다. 그냥 말 이동을 사진 뜨듯 복사해내는 알고리듬이 가능하고, 이런 알고리듬의 계산 가능성은 실제 게임에서 행해진 전략의 계산가능성과는 다릅니다. 따라서 게임의 전략이 계산가능한가와 게임을 시뮬레이션하는 것은 다르며, 시뮬레이션 가능하다고 하여 실제 게임의 모든 전략이 가능하다는 결론이 바로 도출되지는 않습니다.

실제 컴퓨터의 초기 바둑 포석은 컴퓨터 자체에 담긴 바둑의 형식문법에 따른 계산보다는 시뮬레이션에 가깝습니다. 일종의 모방이며, 어린 아이의 경우 아이가 특별한 계산 없이 바둑을 배울 때 초기포석을 기억해 놓는 것과 유사합니다.

문제는 과연 승부를 판정하는 것이 계산가능하다고 하여 시뮬레이션 가능한 바둑의 모든 전략이 계산가능할까입니다. 무승부가 없는 경우 말 이동만의 계산가능성만으로 이뤄진 게임이라면 그렇습니다. 여기서 저의 문제는 바로 이겁니다.

1. 바둑 처음 시작 때 양귀에 바둑알을 처음 두는 것은 과연 말의 이동인가?

얼핏보면 터무니 없는 질문 같습니다. 그러나 자세히보면 의미가 있습니다. 대 다수 게임 이론을 보면 바둑과 체스 양자를 게임판(board)에서 하는 동형의 게임으로 취급합니다. 그리고 킷초님이 말한 방식으로 게임의 알고리듬을 찾아갑니다. 분명히 바둑에도 여러 알고리듬이 동원됩니다. 하지만 바둑과 체스 사이에는 큰 차이가 있습니다. 어린 아이들이 쉽게 발견할 수 있는 다음의 차이입니다.

* 체스의 경우 초기 말들이 전부 체스판에 배열되어 있는 반면에 바둑은 아닙니다.

바둑의 경우 판에 있는 2차원 위치점에 바둑알로 꽉 찬 것으로 가정하고 처음 바둑알을 골라내는 것, 곧 역으로 첫째 알을 해당 지점에 놓는 확률에 대응시키는 것은 의미 없습니다. 2인 게임이므로 어떤 식으로 바둑알이 채워질 것인지가 가변적인 상황에서 그런 식으로 확률을 도입하는 것은 아무 의미가 없습니다.

가장 단순한 방법은 바둑의 지형을 환경 단서로 사용하는 것입니다. 일단 집을 지어야 유리하고, 그 집이 다른 집을 짓는데 이용되도록 하기 위해서는 양 귀가 실리가 있습니다. 보통 단서 추리는 일종의 가추법(abduction)으로 보여지는데, 단서의 종류와 설명의 목적에 따라 여러 가추법이 나옵니다. 수사관의 경우 두개골의 구멍은 설명을 요구하는 주목 단서가 됩니다. 만약 주위에 사격장이 있다면, 사격장은 설명을 제공하는 초기 설명 단서가 됩니다. 다음 주목 단서와 설명 단성의 인과적 관계를 만들기 위한 가설을 세웁니다. 그리고 그 관계는 틀릴 수도 있지만 많은 경우 성공적인 가설을 세우는 데 효과적입니다.

바둑에서 첫 알을 바둑판 모퉁이에 놓을 때 환경 단서는 지형의 모양 혹은 패턴입니다. 3면이 막힌 경우 상대가 동일한 급수라면 집짓기가 유리합니다. 이러한 초기 포석에 담긴 전략을 저는 '발견법'(heuristics)라 부릅니다. 바둑을 전쟁놀이에 유추한 이유는 초기 포석이 실제 전쟁에서 '지형적 단서에 근거한 판단'과 유사해 보이기 때문입니다.

모든 발견법이 계산불가능한 것은 아닙니다. 둘이 동일시 될 수도 있지만 항상 그렇지는 않아 보입니다. 체스처럼 초기 말들이 미리 배열되어 있고 전략이라는 것이 체스의 형식문법에 의한 strings으로 주어진다면. 단서를 이용한 발견법에 맞먹는 전략은 체스의 경우 별로 없어보입니다. 초보자에게는 상대편의 심리적 반응 등의 단서에 근거한 판단이 효과적일 수 있으나, 고수에게는 냉철한 계산이 곧 전략이자 전략의 발견입니다. 그러므로 계산용량과 계산속도가 빠른 컴퓨터는 프로 체스 기사와 대등한 게임을 한다고 보이며. 기사의 실수 정도가 승패를 가름합니다.

I이면 II라는, 곧 승패가 계산가능하면, 승부 전략이 계산가능하다는 킷초님의 말에서 그 계산가능성은 G에 의한 스트링으로 표현 가능한 전략들에만 해당한다고 봅니다. 체스가 그러한데, 체스에서 체스판 자체의 모양은 승패 및 게임 시간 타이밍의 제약 조건이지 전략이라는 판단에 개입하는 변수로 여겨지지 않습니다.

바둑판의 칸이 5칸이라면 바둑의 전략 모두는 계산가능한 것이겠지만, 실제 바둑판이 그렇지 않고, 바둑 게임은 보통 체스와 같이 board game으로 분류되나 실제는 아닌 것으로 보입니다. 왜냐면 체스와 달리 사전에 알이 배열되지 않은 게임입니다. 더욱이 초기 포석은 바둑판의 지형이라는 단서를 이용한 전략입니다. 일종이 환경 단서에 근거한 판단입니다.

다음 문제로 넘어가기 위해 폰노이만이 체스는 그냥 계산이지 게임은 아니라는 주장을 되씹을 필요가 있다고 봅니다. 물론 폰노이만이 게임이론을 발달시키면서 '단서에 근거한 판단으로서 전략'이라는 것을 생각하지는 않았고, 이런 상식적 의미의 전략이 다뤄지기 시작한 것은 최근의 일입니다. 진화심리학의 진영으로서 기거렌쯔 그룹이고, 아직은 이론을 구축했다고 할 정도로 완벽한 상태는 아닙니다. 폰노이만이 정말 복잡하게 생각한 게임은 'Kriegspiel', 글자 그대로 '전쟁게임'입니다. 전쟁 지형을 책상위에 시뮬레이션해놓고 인형 병정들을 가지고 하는 게임입니다. 진짜 폰노이만이 어떻게 생각했는지는 모르지만, 이 전쟁게임은 바둑과 비슷한 면을 지니고 있습니다. 전쟁게임에서 상대를 이길 때 필수적인 것은 지형을 이용하는 것이니까요.

제가 바둑을 오묘한 게임으로 보는 것은 실제 현실 세계에서 나타나는 판단법, 곧 환경 변수에 제약을 받는 판단법을 커다란 책상위의 시뮬레이션이 아니라 판대기 위에 절묘하게 구현했기 때문입니다. 아마 이런 게임은 지구상에 바둑밖에 없을 듯 합니다. 여기서 한 가지 반박이 예상됩니다.

초기 포석 또한 계산이다. 그것은 바둑알의 이동에 국한된 계산이 아니라 다른 변수를 포함한 두뇌의 계산이다.

저는 아니라고 봅니다. 위 반박을 하는 사람은 쉽게 바둑게임의 복잡성을 P 대 NP 논쟁으로 끌고갑니다. 그렇다면 아니라는 제 주장을 어떻게 수학적으로 증명할까? 이것이 일단 저에게 첫 번째 큰 문제이며 킷초님 이하 여러분의 도움을 받고 싶습니다. 그리고 일단 이 문제가 해결되면 그라비님의 질문과 관련해 어떻게 알고리듬들의 연결을 계산가능성이 아닌 환경변수에 의해 가능한가를 Dr. Frankenstein Project에서 따질 겁니다. 공동으로 협력하여 두뇌연구에 새로운 바람(?)을 몰고올 scientific paper를 완성하고 싶은 겁니다. 여기서 끝나지 않습니다. 이어질 문제들은 인간의 합리성, 이타성, Evo-Devo 분야들과 관련되는데, 킷쵸님의 수학적 능력이 Evo-Devo에 적용되면 많은 새로운 결과가 나오리라 자신합니다.

다른 문제들은 일단 삭제하고 던지고 싶은 문제는 이렇습니다.

Troubling Problem: 체스의 경우 말 이동은 특정 형식문법 G에 의해 string들로 구현된다. 사실 1차원 직선 형태로도 그 string들을 나열해도 된다. 마치 백터(vector) 개념이 등장하기 전의 고전물리학에서 물체의 실제 이동 경로를 무시한 것과 같다. 체스는 기본적으로 알고리듬에 의한 계산에 근거한 게임이므로, 체스 경기가 구현될 체스판의 초기 칸수와 모양은 그런 1차원 string들로로부터 끄집어 낼 수 있는 혹은 시뮬레이션 가능한 패턴이다. 과연 바둑도 그럴까? 곧 바둑에 등장하는 기본적인 형식문법에 근거한 알들의 이동 string들을 통해 역으로 초기 바두판의 패턴을 시뮬레이션해낼 수 있을까?

만약 이 질문이 부정된다면, 바둑은 체스와 다르다는 수학적 증명이 됩니다. 그리고 철학적으로 바둑의 포석은 패턴이라는 단서에 근거한 판단으로서 발견법입니다. 그러한 판단을 위해 슈퍼영혼이나 만능 알고리듬은 필요 없습니다. 다만 환경과 기억에 제한된 두뇌의 여러 modules들의 합성일 뿐입니다. 그리고 그 합성방식은 '가소성'이라는 특이한 성질을 갖습니다. 이 부분은 Dr. Frankenstein 계획을 우재님 등과 만들어 나가면서 구체화할 겁니다. 그리하여 킷쵸님 이하 여러분들과 두뇌와 마음에 대한 새로운 이론(?)을 건설해 짧지만 논쟁거리를 제공할 수 있는 scientific paper를 탄생시키는 겁니다. 과거 우리가 건드리다가 만 theory of simple mind로 이어질 수 있습니다. 남들은 복제에 갖지만 우리는 진짜 생각하는 기계 건설에 관심을 갖고 있습니다.

킷초님이 답변에서 삼삼구 게임 얘기를 하면서, 이 게임은 체스와 달리 아예 전략의 발견이 결정불가능하다고 했습니다. 5년전 자주가던 까페에서 그 게임하는 것을 본적이 있습니다. 함께 하자고 하는 것을 뺐는데 후회가 되네요. 저는 그 게임 모릅니다. 대충 무슨 뜻인지는 알겠지만 좀 더 자세한 설명 부탁드립니다. 위 질문에 대한 수학적 증명이 아니더라도 바둑이 그런 결정불가능 성격을 가진 게임에 유추될 수 있다면, 이것으로도 막강합니다. 굳이 엄격한 증명이 아니더라도 수학을 이용한 유비는 생물학 및 생물정보학에서는 인정되니까요.

덧글: 엣날 괴팅겐 대학에서 '계산주의와 마음'이라는 세미나에 참가했습니다. 그 때 세미나 담당자 마이어라는 사람과 한 판한 기억이 납니다. 그 사람이 체스를 자주 비유를 들면서 바둑을 무시하는 어투를 자주 썼습니다. 실제 바둑도 둬 본적이 없는 인간이 말입니다. 괴팅겐대 수학과 바둑 동호히는 독일에서는 막강한데 여기 학생들은 감히 그런 소리를 하지 않죠. 그런데 저처럼 바둑 무뇌아한테도 7-8급 독일 학생들이 지더군요. 우리의 강수인 꽁수를 사용하면 대처 능력이 부족하다는...! 암튼 마이어에게 그럼 왜 인간에 대항할 수 있는 컴퓨터 바둑 프로그램이 없냐고 반문했더니, 내가 보기에는 그의 대답은 헛소리였습니다. 그래서 더 이상 기억이 나지 않습니다.






착한왕 [2004-11-03 07:13:08] -  

Evo-Devo 영역에서 암호학을 유전자 정보학에 끌고 들어가면 실제 실험 대신 컴터 안에서 여러 상황을 시뮬레이션 해 볼 수 있습니다. 수학하는 분들이 에보-데보니 생물학을 공부할 필요는 없습니다. 저도 안 합니다. 우리는 공통된 관심사 혹은 주제 및 문제가 발견되면 서로가 가진 다양한 지식을 합성하여 새로운 지식을 만들어냅니다.


WRITE IP : 211.xxx.212.xxx  

착한왕 [2004-11-03 07:33:21] -  

문제에서 "string들로로부터 끄집어 낼 수 있는 혹은 시뮬레이션 가능한" 부분의 끄집어낼 있는의 의미는 시뮬레이션이 계산가능한가입니다.


WRITE IP : 211.xxx.212.xxx  

코퍼스 [2004-11-03 13:49:15] -  

음....... 바둑이 체스와는 다른 게임이라는 것은 이미 수학자인 Berlekamp라는 사람에 의해 증명된 것으로 알고 있는데요..
지금 왕님께서 궁극적으로 푸시고자 하는 문제가 무엇인지요?(제가 좀 둔하거든요^^)

제 생각에 지금  왕님께서는 바둑을 징검다리 삼아 어떤 목표물을 공격하려는 것으로 아는데, 잘못하다가는 두 적(바둑과 그 목표)과 동시에 싸워야 될지도 모르지 않습니까?


WRITE IP : 221.xxx.59.xxx  

착한왕 [2004-11-03 15:59:40] -  

위 Troubling Problem과 벨캄프의 의도는 다릅니다. 벨캄프는 바둑 포석이 아니라 끝내기 과정을 경매 게임이론에 유추해 체스와의 차이를 강조한 것이라면, TP의 증명은 진짜 바둑이 첫 수부터 패턴에 의존한 게임으로서 환경 단서에 근거한 발견법에 의존함을 수학적으로 보여주는 겁니다. 문용직 사범이 벨캄프를 언급하면서 프로기사로서 포석에 대한 그의 직관을 말했는데, 이것은 벨캄프의 수학적 방법론에 포섭되는 것이 아닙니다.

좀 더 자세한 코멘트는 코퍼스님 답변의 코멘트에...




* 김종욱님에 의해서 게시물 이동되었습니다 (2005-02-21 02:50) :  http://ganzina.org/552

'온울에..?' 카테고리의 다른 글

[=] 스트레스 없는 재테크 10가지 습관  (0) 2008.05.24
→ 관련링크  (1) 2008.05.22
착수에서..  (0) 2008.04.04
요청의 근거.  (0) 2008.04.04