피카소는 79세 되던 한해 동안에만 마네의 ‘풀밭 위의 점심식사’라는 작품을 1백40번이나 모사했다. 당시는 피카소가 대화가로서 명예와 부를 동시에 거머쥐고 부러울 것 없이 지내던 시기였다. 그런 대가가 노령에 왜 남의 작품을 1백40번이나 베껴 그렸을까. 그는 자신의 새 작품들을 위해 모네의 창작 패턴을 뼈 속에 각인시키고 있었던 것이다. 그의 이런 끊임없는 노력이 노령의 다작을 가능하게 했을 것이다. 피카소는 88세 때 그린 그림만 갖고 전시회를 했는데, 이미 팔린 것을 제외하고도 1백65편이나 전시했다고 한다.
사실 피카소가 참고로 삼았던 마네의 작품 역시 다른 작가의 영향없이 갑자기 튀어나온 것이 아니다. 나체 여성 주변에 남성을 배치한 구상은 조르지오네의 ‘전원에서의 연주’를 참조했고, 인물의 포즈와 배치는 라이몽디의 동판화 ‘파리스의 심판’을 따랐다고 한다.
기초 공사 튼튼해야 직관 생긴다
독일 출신의 천재수학자 헤르만 바일은 직관과 패턴을 무척이나 강조했다. 음악을 작곡하는 일이나 새로운 수학원리를 발견하는 과정이 같은 것이라고 말했다. 아인슈타인도 직관의 중요성을 강조한 사람 중 하나다. 흔히들 직관이라 하면 무슨 ‘신비적인 감’ 같은 것으로 간주하는 경향이 있는데 이는 잘못된 생각이다. 직관이란 자신이 갖고 있는 지적인 패턴들을 바탕으로 어떤 현상에 대한 패턴을 감지하는 것이다.
지금부터 약 1백70년 전 프랑스에는 20세의 나이에 결투로 숨을 거둔 갈로아라는 비운의 수학천재가 있었다. 갈로아는 불과 십대의 나이에 방정식의 특성에 대해 생각하다가 어떤 공통적인 패턴을 감지하게 됐는데, 이것은 훗날 ‘군이론’이라고 이름 붙여진 것과 사실상 동일한 것이었다. 그는 사후에 현대 대수학의 큰 틀을 구성하는 군이론의 창시자로 인정받게 된다. 그가 군이론을 생각해 냈다는 사실도 놀랍지만, 군이론을 생각해낼 수 있을 정도로 방정식에 대한 깊은 직관적 이해의 패턴을 십대에 갖고 있었다는 사실은 더욱 놀랍다.
고등학교와 대학의 통계학 과목에는 정규분포에 관한 내용이 반드시 포함된다. 정규분포에는 다양한 속성이 있다. 예를 들면 표준편차와 관련된 정규분포의 성질과 종모양의 분포곡선, 가우시안 함수라 불리는 정규분포의 분포함수, 표본평균의 성질 등 다양한 수준의 특성이 있다. 각 개인은 정규분포의 여러 특성 중 일부 또는 전체를 떠올리며 다양한 수준의 심상을 갖는다. 정규분포의 특징을 겨우 기억해 내거나, 공식으로는 알고 있지만 공식이 의미하는 진정한 직관적 의미를 모르면 이를 패턴이라 부를 수 없다. 패턴이 형성되지 않으면 그 사람은 정규분포를 제대로 이용할 수 없다.
직관도 등급이 있다. 직관의 수준은 그 사람이 갖고 있는 사고체계의 하부구조적 패턴에 철저하게 좌우된다. 초등학교 1학년이 가질 수 있는 직관은 분명한 한계가 있다. 고급의 패턴들을 형성하는 과정에는 상당한 노력과 시간이 소비된다. 그러나 일단 개념을 깊이 이해하고 나면 두뇌 속에 어떤 추상적인 형태로 각인된다. 이 패턴을 이용하기 위해 그것을 만든 하부의 패턴으로 돌아가서 패턴이 만들어지는 과정을 다시 떠올릴 필요는 없다. 패턴은 리얼타임으로 떠오르기 때문이다. 이렇게 돼야 정말 이용할 수 있는 패턴이 된다.
아는 것과 느끼는 것의 차이
어떤 개념을 안다는 것과 느끼는 것은 다르다. ‘느낀다’고 말할 수 있으려면 그 개념이 머리 속에 패턴으로 형성돼야 한다. 어떤 개념에 대해 다양한 방식으로 반복 접근하면 그 개념을 이용하는데 걸리는 시간은 점점 줄어든다. 이러면서 패턴은 점점 강화된다. 임의의 개념은 자신이 그 문제에 대해 형성한 패턴의 수준까지만 제대로 이용할 수 있다. 어떤 문제에 대한 해결책을 생각할 때 사고체계가 미숙한 사람이 갖는 특징은 불필요한 세부사항을 따지고 걱정하는 것이다. 고수준의 패턴이 제대로 형성되지 않으면 저수준의 패턴으로 내려가서 따지고 올라와야 하는 것이다. 각자가 가진 패턴의 질과 다양함에 따라 세상을 보는 시야의 질과 넓이가 결정된다.
천재적 직관의 극단적인 예를 하나 들어보자. 오일러는 255년 전에 유명한 수학식 하나를 발견했다. eix = cosx + isinx 이 식은 서로 별 관계없이 여겨졌던 상수 e와 허수 i 사이에 특정 관계가 성립한다는 사실을 밝힌 것이다. 이는 수학자들 사이에서도 불가사의 중 하나로 여겨지고 있다. 하지만 오일러는 상수 e와 허수 i에 대해 남들과 다른 고급 패턴을 갖고 있었음이 틀림없다. 오일러는 상수 e와 허수 i를 진정으로 ‘느끼고’ 있었던 것이다.
전체는 부분의 합 이상
흔히들 직관이라면 체계적인 학습과 배치되는 것으로 여기기 쉬운데, 직관은 오히려 체계적인 학습의 결과로 나오는 편이 흔하다. 창의성을 길러준답시고 체계적 교육을 무시하고 저급한 단순 경험의 세계에만 던져놓는 것은 저급한 창의성만 길러줄 뿐이다.
뉴욕시는 은행과 레스토랑, 클럽, 택시, 교수, 가게의 점원 등 다양한 경제 주체들로 구성된다. 여기에는 여러가지 도시의 기반 시설과 지리적 상황, 세금 제도 등의 인자들도 있다. 이런 기본 구성 요소들이 결합함으로써 다양한 주체나 제도가 발생한다. 이들은 구성 요소들 각각으로는 100% 설명될 수 없다. 뉴욕시를 중앙 통제하는 주체는 없다. 그럼에도 뉴욕은 장기간에 걸쳐 일관성을 유지한다. 뉴욕이라는 도시는 이들 개개의 단순합으로 설명할 수 없다.
개미 한마리 한마리를 보면 아주 단순한 역할만을 한다. 개개의 개미가 자신이 속한 집단의 전체적인 번영을 살피면서 자신의 행동을 결정하지는 않는다. 그저 태어날 때 프로그램된 역할만을 할뿐이다. 그렇지만 이들이 모여서 이루는 개미 집단은 매우 안정된 지능적 모습을 지속적으로 영위한다.
한 국가의 개인들은 대체로 자신의 경제적 이익을 위해 이기적인 방향으로 삶을 영위한다. 그렇지만 이런 이기적인 행동의 총합으로 한 국가의 경제는 안정성을 획득한다. 경제의 구성 요소들은 결코 전체 경제의 안정성을 고려해가면서 행동하지 않는다. 우리 몸의 세포들은 자신의 생존을 위해서만 행동한다. 하나의 세포나 단백질이 자신이 포함된 개체의 안정이나 건강에 대한 의견을 갖고 있을 리 없다. 그렇지만 이들 세포들의 이기적 생존의 결과로 생명체는 안정을 획득한다.
이와 같은 예들의 공통점은 전체를 이루는 구성 요소들 각각에는 이들의 합으로 만들어지는 특성이 존재하지 않는다는 점이다. 즉 전체는 부분의 합 이상이다. 이런 과정을 ‘창발’이라고 한다. 좀더 정확하게 말하면 ‘하위 구조들이 결합해 상위 구조를 만들어낼 때 하위 구조에는 존재하지 않는 특성이 상위 구조에서 발생하는 현상’을 창발이라 한다.
가만히 보면 이런 복잡한 구조는 오랜 시간을 통해 검증된 재사용 가능한 기본요소들로 구성돼 있다. 사람들은 모두 조금씩 다른 사고 체계를 갖고 있지만 그 하부에는 역사적으로 검증된 사고의 하부를 이루는 많은 공통적 기본요소들, 즉 패턴이 있다. 노벨상 수상자들은 흔히 운이 좋아 우연한 기회로 위대한 발견을 했다고 말한다. 하지만 이것은 로또 복권같은 운과는 전혀 다른 것이다. 그들은 기회가 자신을 스쳐갈 때 창발성을 발휘할 수 있는 지적 패턴을 이미 충분히 갖고 있었다. 이런 맥락에서 수학이나 인문학 등의 기초학문적 소양이 소중한 것이다.
흔히들 진화는 연속적인 현상이라고 생각하지만 실상은 그렇지 않다. 진화는 단층적이다. 진화는 겹겹의 창발 과정을 통해 진행된다. 유전알고리즘은 이런 창발적 프로세스를 재현한다. 슈뢰딩거는 ‘생명이란 무엇인가?’라는 책에서, 물질들은 시간이 지남에 따라 무질서도가 높아지는 방향으로 변하기 마련이라는 열역학 제2법칙에 어긋나 보이는 생명체의 질서 강화 현상을 ‘유기체는 음의 엔트로피를 먹고 산다’고 표현했다. 이것은 유기체의 창발적 프로세스에 대한 그의 막연한 느낌을 표현한 것으로 보인다. 진화라는 현상은 충분히 많은 수의 하부 블록들이 다양한 방법으로 결합돼 만들어지는 개체들의 경연장이다. 인간의 지능이란 것도 수없이 많은 창발적 과정이 누적된 결과이기 때문에, 지능을 컴퓨터로 흉내낸다는 것은 실상을 들여다보면 아직 요원한 주제다.
패턴들의 보이지 않는 경쟁
창발성은 유전알고리즘의 핵심적 작동 메커니즘 중 하나다. 유전알고리즘은 작은 패턴들이 결합해 큰 패턴으로 진화해가는 과정인데, 이 과정은 끊임없는 창발의 연속이다. 작은 패턴들에는 존재하지 않는 특성이 이들의 결합으로 만들어지는 큰 패턴에서 새로이 발생하는 것이다.
인지심리학에서는 두뇌 속에 있는 타고나거나 학습된 결과로서 신경세포들로 형성된 패턴을 ‘스키마’라 한다. 스키마는 현실에는 존재하지 않는 패턴을 정신 속에 창조할 수 있다. 각 스키마는 상대적으로 얼마나 긴요한가에 따라 권력을 잡거나 권력에서 밀려난다. 스키마들은 경쟁을 통해 진화한다.
유전알고리즘에서는 솔루션에 존재하는 패턴들을 스키마라 한다. 즉 유전알고리즘의 스키마는 솔루션의 일부를 채우는 특정 패턴으로 정의된다. 다음의 예를 보자. 인터넷 서비스 업체에서는 고객들을 서로 성향이 비슷한 여러 그룹으로 나눠야 하는 경우가 자주 발생한다. 하지만 고객 간의 유사성이 단순하지 않기 때문에 이 문제는 그리 쉽지 않다. 설명의 편의상 고객이 10명이고 같은 크기의 두 그룹으로 나누는 단순한 문제로 제한하자.
각 솔루션은 10자리의 이진수로 표현할 수 있다. 예를 들어 1111100000이란 이진수는 고객1부터 고객5까지를 한 그룹에, 고객6부터 고객10까지는 다른 그룹에 속하도록 한 솔루션을 뜻한다. 이처럼 유전알고리즘에서 사용할 수 있는 형태로 솔루션을 표현한 것을 ‘염색체’라 한다. 1001100101과 같은 것도 하나의 염색체다.
10명의 고객을 두 그룹으로 나누는 문제에서 방법의 총수는 10개에서 5개를 뽑는 조합의 수인 1만5천1백20가지다. 여기서 1111100000과 0000011111과 같은 것은 염색체는 달라도 사실상 같은 솔루션이다. 유전알고리즘에서 고객을 두 그룹으로 나누는 방법을 이렇게 표현하면, 가장 효율적인 방법은 가장 매력적인 10자리의 이진수(염색체)를 찾는 일로 바뀐다 (물론 0과 1의 개수가 같은 이진수로 제한된다).
만일 고객2와 고객5가 같은 그룹에 속하는 것이 매력적이면 두번째 자리와 다섯번째 자리는 다같이 0이거나 1인 경우가 많을 것이다. 즉 * 0**0***** 또는 *1**1*****과 같은 패턴일 것이다. 이런 패턴을 유전알고리즘에서 스키마라한다. 여기서 기호 ‘*’는 패턴을 결정하는데 영향을 미치지 않는다는 뜻으로 0 또는 1 아무거나 될 수 있다. 스키마 *0**0*****를 갖고 있는 염색체들은 매우 많다. 예를 들면 0000011111, 0011001110, 1001010011 등도 같은 스키마들이다. 만약 고객9와 고객10이 같은 그룹에 속하는 것이 매력적이라면 스키마 ********00나 ********11이 매력적일 것이다.
유전알고리즘은 이런 스키마를 명시적으로 다루지 않고 대신 표면적으로 염색체들을 다룬다. 스키마들은 염색체들의 진화 과정에서 암묵적으로 경쟁한다 (사실 고품질 스키마의 존재를 미리 알면 문제가 처음보다 쉬워지지만 이를 알기 힘들기 때문에 어려움이 따른다). 매력적이고 작은 스키마들이 교차를 통해 더 큰 스키마를 형성할 때 창발성이 발생할 수 있다. 이 과정이 유전알고리즘의 작동메커니즘을 설명하는 유명한 ‘빌딩블록가설’이다. 빌딩블록(buildingblock)은 복잡한 것을 구성하는 기본단위를 일컫는 말이다. 따라서 이 가설은 ‘작고 매력적인 스키마들의 병렬배치에 의해서 점점 더 큰 스키마로 발전해 가는 과정이 유전알고리즘의 핵심적 메커니즘’이라는 것이다. 유전알고리즘의 메커니즘을 한 문장으로 표현하라면 필자는 ‘거대한 패턴 짜맞추기 게임’이라고 할 것이다.
예술 창조 과정과 일맥 상통
유전알고리즘 스키마 사이의 경쟁은 인지심리학의 스키마들이 벌이는 경쟁과 유사한 점이 있다. 리처드 도킨스는 ‘이기적인 유전자’에서 생명체들 간의 경쟁은 사실상 내재하는 유전자들 사이의 생존경쟁이라고 말했다. 유전알고리즘에서 염색체와 스키마의 관계도 비슷하다. 유전알고리즘은 염색체 집단을 운영하면서 염색체끼리 경쟁을 시키지만 그 내부에는 사실상 스키마 사이의 치열한 경쟁이 숨어있는 것이다.
서로 결합해 상위의 좋은 스키마를 만들 수 있는 작은 스키마들이 풍부하게 있으면 유전알고리즘은 좀더 쉽게 진화한다. 그러므로 대체로 해집단의 크기가 크면 운영하는 염색체 수가 많아 내재한 스키마들도 훨씬 풍부해진다. 그렇지만 해집단이 커지면 유전알고리즘의 수렴속도가 느려져 시간이 많이 걸린다. 주어진 시간 예산을 잘 고려해 원하는 시간내에 가능한 한 매력적인 염색체를 찾아내도록 해집단의 크기를 잘 설정해야 해야 한다.
창조는 무에서 유를 만들어내는 것이 아니다. 이미 풍부하게 존재하는 것들을 창의적으로 결합하고 변형하는 것이 창조인 것이다. 피카소는 마네의 작품을 계속해서 모사함으로써 새로운 기법을 자신의 창작 체계에 빌딩블록으로 추가했다. 유전알고리즘에 대한 통찰력이 생기면 유전알고리즘의 메커니즘이 예술이나 수학적 창조 과정과 놀라울 정도로 유사함을 갖고 있다는 사실을 감지하게 된다. 이를 강하게 감지하면 여러분은 유전알고리즘에 대한 일차적 패턴을 가진 것이다.
지금까지 3회에 걸쳐 유전알고리즘의 직관적 소개와 활동무대인 문제공간, 유전알고리즘의 중요한 작동 메커니즘인 창발성에 대해 살펴봤다. 유전알고리즘에 국한하지 않고 일상의 예를 통해 설명하려고 노력했으나 독자에 따라서는 지루하게 느꼈을 지도모른다. 다음 회부터는 유전알고리즘의 본격적인 탐구에 나선다. 유전알고리즘의 내부와 함께 유전알고리즘의 응용예를 살펴 볼 예정이다.