1차출처 :
http://nbamania.com/g2/bbs/board.php?bo_table=freetalk&wr_id=2613954http://nbamania.com/g2/bbs/board.php?bo_table=freetalk&wr_id=2610333http://nbamania.com/g2/bbs/board.php?bo_table=freetalk&wr_id=2601583&sca=&sfl=mb_id%2C1&stx=kormhs2차출처 :
http://www.parkoz.com/zboard/view.php?id=express_freeboard2&page=1&sn1=&divpage=277&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=393405출처를 들어가서 하나씩 읽어보시면 도움이 될것 같아요..
-----------------------------------------------
몬테카를로 방식 프로그램 : 약 10년 전부터 바둑 인공지능에 도입됨. 수읽기 없음. 형세판단 없음. 그 시점부터 무작위로 수많은 게임을 끝까지 두어 누가 이기게 되는지를 살펴봄. 각각의 첫수가 낳은 승률을 비교해서 가장 높은 승률을 거둔 첫 수를 선택함. 매번 첫수만 고려함. 샘플 대국은 실전의 가능성이 아니라 대부분 아마추어 수준에도 못 미치는 랜덤 대국이지만 게임의 숫자가 많아지면 전문가의 판단을 넘어선다는 것을 발견함. (이 부분이 혁명적인 발견입니다.)
알파고 프로그램 : 몬 테카를로 방식을 기본으로 함. 몬테카를로 방식을 효율적으로 개선함. 가치망과 정책망을 통해 몬테카를로 시뮬레이션의 표본을 무작위 게임이 아닌 그럴듯한 후보로 제한하는데 역점을 둠. 입력된 수천만의 기보들을 응용해 일련의 수들이 다른 수들보다 나아보이면 무작위 게임에서 그 수를 훨씬 더 자주 두게 함. 점수의 차이가 아니라 승리의 가능성을 최대화하기 때문에 앞서고 있을 때 사람의 기준으로는 황당한 수를 두기도 함.
-------------------------------------
장기나, 체스, 바둑 등 보드게임등의 컴퓨터 알고리즘은 몬테카를로 방식이라는 프로그램을 사용하는데, 무작위로 가능한 경우의 수를 모두 대입해서 끝까지 갔을때 가장 이길확률이 높은 수를 놓는다고 합니다.
그러나 바둑의 경우에는 경우의 수가 너무 많아서 가치망과 정책망을 통해 이미 입력된 기보 (알파고 스스로와의 대국 기보포함)에서 자주 나오는 형태에 가중치를 부여하고, 1선에 놓는 등의 불필요한 수는 배제한 상태에서 마찬가지로 수십만번 이상 시뮬레이션한후 그 상태에서 가장 승률이 높은 수를 높는 방식을 택합니다.
즉 이세돌이 한수 놓을때마다 그 상태에서 알파고는 수십만번의 시뮬레이션을 하고, 승률이 가장 높은 수를 놓는다는 것이 포인트인것 같습니다.
아시다시피 cpu가 1200개에 gpu도 100개가 넘게 투입되어 있어서 현재의 일반 pc에서는 엄두도 안나는 그 연산을 한다는 것이지요.
그런데 초반에 돌이 몇개 놓이지 않았을때 ,초반부터 끝까지 시뮬레이션해서 돌을 놓는다라는건 말도 안되고, 제가 보기에는 초반에는 한 100여수까지만 진행하고, 형세판단(가치망과 정책망을 통해서)으로 누가 더 유리한지 확인할것 같습니다.
그리고 100수 이후에는 가능한 경우의 수가 엄청나게 줄어들기 때문에 그때부터는 거의 끝내기까지 다 포함해서 가능한 모든경우를 시뮬레이션 할것 같네요..
이렇게 하기 때문에 알파고의 바둑에서는 패가 잘 안나오는 모습인것 같습니다.
일단 패가 나오면 수순이 길어지고, 길어질때에는 형세도 너무 심하게 변하고 경우의 수도 더 늘어서, 아까 제 추측에서처럼 극초반에는 100수정도까지 두고 형세판단해야 할텐데, 그게 패없이 안정적으로 두는 것보다 훨씬 승률 높은 수를 찾기 힘들테니깐요.
아. 설명이 안되네요.ㅠㅠ
아무튼 알파고와의 대국에서는 초반 100수 이내에 확실하게 유리한 위치에 서야 승리할 가능성이 있을것 같습니다. 그 이후에는 정말 가능한 경우 모두 계산해버려서 알파고가 거의 승리를 향해 돌을 두게될 확률이 높기 때문이지요.
그런데 100수 이내에 확실하게 유리한 위치에 서려면 제가 보기엔 두가지중 하나를 선택해야 합니다.
첫번째는 이창호처럼 별다른 큰 전투없이 짜임새있게 판을 조성해서 밀리지 않고, 아니 더 유리하게 하는게 있고, 두번째는 이세돌처럼 둬서 초반 전투에서 엄청나게 큰 대마를 잡거나 판을 휘어잡아야 한다는 것인데, 알파고의 특성상 승률이 높은수, 즉 지지 않는 수만 계속 둘것이기 때문에 어느것 하나 쉽지 않을것 같네요.
ps) 2국에서 5선 어깨집는 수를 보고, 중계해주는 프로기사분들도 정말 놀랐고, 저도 놀랐는데, 그 상황에서 그 수가 가장 승률이 높아서 그것을 선택했다는 것을 보니 그제야 수긍이 가네요.
ps2) 알파고가 무슨 지능이나 의도가 있어서 어떤수를 두는 것은 절대 아닙니다. 그냥 몬테카를로 방식에 의거해서 가능한 모든 경우를 시뮬레이션 해본후에 그 수를 놓았을때 가장 승률이 높으니까 거기에 두는 겁니다. 그래서 끝내기에서 프로들이 보았을때 좀 어이없는 수가 많이 보인것 같습니다. 알파고 입장에서는 한집이기나 10집이기나 똑같기 때문에 그냥 승률높은수를 두는 겁니다. 즉 알파고는 왜 거길 놓았냐라는 질문에 절대 답을 할순 없고 계속 말하지만 굳이 말하자면 "거기 놓았을때 가장 많이 이기니까"라고 밖에 대답이 안될겁니다.
ps3) 마찬가지 이유로 알파고의 특성상 난전이 아니면 알파고는 안전하게 둘수밖에 없을것 같습니다. 공격적인 수보다는 아무래도 안정을 추구하는 수가 승률이 높을수밖에 없으니깐요.
ps4) 알파고가 끝내기에서 몇집 근소하게 지고 있을때는 정말 신의 한수가 부럽지 않을 끝내기 수순이 나올것 같네요..
중계에서 프로기사들이 알파고의 끝내기 솜씨를 보고 싶다라고 어제 말을 하던데, 사실 알파고의 끝내기 실력은 알파고가 5집이상 이기고 있을때는 인간들이 보기에 그냥 일반 프로기사들이 하는 끝내기와 별차이가 없을듯. 아니면 더 못할수도.