생태계의 진화와 번식을 설명하는 유전이론이 전자공학에 응용되고 있다. '유전(자) 알고리듬'이라 불리는 이 이론은 앞으로 생물공학의 발전 정도에 따라 엄청난 응용분야를 갖고 있는 것으로 평가된다.
자연계의 모든 생물은 환경의 변화에 따라 스스로 변화한다. 생물들이 변화해야만 하는 이유에 대한 답은 자명하다. 시간에 따라 변화하는 환경에 적응해야만 그 생물의 종이 유지되고 살아갈 수 있으며, 그렇지 못하면 도태되기 때문이다. 굳이 다윈의 '종의 기원'을 인용하지 않더라도 생물의 진화와 적자생존은 생물체의 환경에 대한 필연적인 적응 과정인 것이다.
우리는 영국의 산업혁명 과정에서 나타난 반점 무늬 나방의 개체 수 변화에서 생물의 적응과정, 즉 진화의 한 예를 살펴볼 수 있다. 산업혁명 전에는 조그만 검은 점을 가진 나방이 많았는데, 이는 새나 다른 천적들에게 이끼낀 숲에서 적절한 보호막으로 작용했다. 그러나 산업혁명으로 인한 공해 때문에 숲의 이끼가 사라지면서 검은 날개를 가진 나방이 점차 많이 발견됐다. 즉 나방 집단이 생존을 위해 오염(변화)된 주변 환경에 적절하게 맞추어 진화돼 나간 것이다.
실제 생물체의 진화 현상은 유전정보를 가지고 있는 염색체로부터 개체가 만들어지는 복잡한 과정을 거치게 된다. 복잡한 유전현상을 관장하는 염색체 내의 DNA구조가 1953년 왓슨과 클릭에 의해 밝혀진 이후 이 분야 연구는 급신장했다. 이에 따라 이 이론은 단지 생물학뿐만 아니라 전혀 관계가 없는 것으로 보이는 사회과학이나 첨단 공학에 까지 그 파급효과를 미치고 있다.
짝짓기와 번식을 이용해
생물체의 진화 현상은 생물학의 유전 이론과 진화법칙들에 의해 설명된다. 1970년대 미국 미시간 대학의 홀랜드(Holland) 교수팀에 의해서 생물학적 유전학에 기초를 둔 자연계의 진화 과정을 체계적이며 수학적으로 기술하려는 노력의 결과로 유전 알고리듬이 등장한 이래, 공학분야에서는 이를 각종 다양한 최적화 문제에 응용하고 있다.
유전 알고리듬은 생명체의 진화를 위한 중요한 두 과정을 기반으로 하고 있다. 하나는 자연 선택(national selection)이고, 다른 하나는 번식 작용(sexual reproduction)이다.
집단 내에서 주어진 환경에 잘 적응한 우수 개체들은 다음 세대 집단의 개체들을 만들기 위한 부모로 선택되고, 선택된 개체는 새로운 개체를 만드는 과정에서 유전적 정보를 이용한다. 진화란 이처럼 같은 집단을 반복적으로 형성하는 것이라고 해석된다. 그러나 유전 정보를 전달하는 이 과정에서 최적의 상태가 아닌 유전자가 전달돼 생명체로 나타난다면, 이는 돌연변이가 될것이며 결국 자연도태된다.
유전 알고리듬은 개체(표현형)를 유전 정보로 담고 있는 염색체의 형태(유전형)로 표현하고 다양한 염색체의 집단을 만든다. 이러한 집단 형태는 자연계에서 하나의 종이 여러 개체로 구성돼 있는 것을 모델링한 것이다. 여기서 각 개체는 염색체 형태로 표현된다.
다음으로 집단 내의 염색체들은 짝짓기(mating)를 위해 배우자를 선택한 후 새로운 개체를 만들어낸다. 여기서 선택은 개체의 적합도가 높을 수록 많이 이루어지도록 해 선택된 부모의 염색체를 혼합, 변형함으로써 새로운 두개의 염색체를 만들어 새로운 개체가 생성된다.
부모의 염색체는 교체(crossover)와 변이(mutation)라는 염색체 연산자에 의해 처리된다. 그럼으로써 적합도가 높은 유전 인자들을 찾게 되고 전 집단에 이 유전인자들이 우세해진다. 이와 같이 형성된 새 집단은 다시 새로운 집단을 만들어 나감으로써 생명체가 진화해 가는 것처럼 적합도가 높은 집단으로 진화해 나간다.
그렇다면 이같은 생물학적 설명들이 과연 공학적으로 어떤 의미를 가지고 있는 것일까. 알고리듬이란 말은 특정 문제에 대해 미리 입력된 정보처리 단계와 규칙을 따라 답을 찾는 과정의 순서도다. 따라서 유전자 알고리듬이란 자연 생태계의 진화 과정에서 보이는 적자 생존의 법칙을 컴퓨터의 알고리듬으로 표현해 탐색이나 최적화 문제, 기계학습 등의 분야에 적용하는 학문이라고 정의할 수 있다.
다시 말해 유전 알고리듬에 관한 연구는 생물학적 연구의 분석과 관찰을 전자공학의 알고리듬으로 구현해 이용하려는 것이기 때문에 앞으로 복잡한 생물학적 유전과 개체의 발생 현상을 얼마나 정확히 모델링하느냐에 따라그 발전 형태가 달라질 것으로 기대된다.
물론 현재 사용하고 있는 유전 알고리듬은 생물학적 유전학과 비교할 때 아주 초보적인 단계에 있다. 그리고 공학적인 입장에서 본 유전 알고리듬은 생물학적 유전과는 차이가 있는 것도 사실이다. 이같은 차이의 이유는 인간이 하늘을 나는 새를 보고 비행기를 만들어 낸 과정을 생각하면 쉽게 이해가 될 것이다. 즉 하늘을 날기 위해서는 날개가 필요하지만 반드시 새처럼 날개를 저을 필요는 없다는 원리와 같은 것이다.
응용분야 다양한 것이 매력
유전 알고리듬이 환경에의 적합도를 따지는 최적화 문제에 적용되는 분야는 적지 않다. 예를 들어 기존의 최적화 기법으로는 해결하기 어려운 문제인 부품 조립 순서 결정, 공장의 생산라인 배치, 파이프라인 제어, 비행기 등의 파라미터 디자인, 엔진 디자인 등이 모두 이 이론의 혜택을 볼 수 있는 분야들이다. 그리고 최근 국내에서는 금성사에서 인간에게 가장 쾌적한 바람을 내도록 하는 에어컨을 디자인하는데 이 이론을 적용한 바 있다.
유전 알고리듬은 적용 가능한 문제의 폭이 상당히 넓으며, 국소적인 염색체의 조작만으로 높은 성능을 얻을 수 있다. 또한 최근 들어 한창 연구가 진행중인 여러 전자공학적 문제 해결방법, 이를테면 전문가 시스템이나 수치 해석 방법 등과 병행해 사용할 수도 있다.
그렇다면 간단한 유전 알고리듬이 어떻게 복잡한 문제에 적용돼 문제의 최적해를 찾을 수 있을까. 유전 알고리듬이 해를 찾는 과정을 분석해보면, 인간의 아이디어 발상 과정에 비유될 수 있음을 알 수 있다.
아이디어는 대부분 몇가지의 중요한 개념과 관찰을 적절하고 효과적인 방법으로 조합하거나 연관지움으로써 떠오르는 경우가 많다. 이는 유전 알고리듬에서 주어진 문제에 대한 적합도가 높은 해의 염색체 유전 인자들을 재조합해 새로운 염색체를 만들어내는 과정과 유사하다. 이와 같이 새로운 염색체를 만들어 지금 집단의 적합도보다 높은 적합도를 갖는 다음 집단을 만들어 나감으로써 최적 해를 찾는 것이다.
앞으로 유전 알고리듬이 복잡한 생물학적 유전과 개체의 발생 현상을 모델링할 수 있다면 진화현상을 예측하고 그 방향성을 제시할 수 있을 것으로 보인다.
물론 실제 자연계의 진화 현상을 관찰하기 위해서는 여러 세대를 거쳐야 하므로 오랜 시간이 걸리겠지만 컴퓨터의 발달에 따라 컴퓨터 모의실험으로도 이 일은 충분히 이루어질 것이다. 사실 70년대 개발된 유전 알고리듬이 80년대 후반에 들어서 실제 문제에 응용되기 시작한 것은 전적으로 컴퓨터 기술의 발달에 기인한 것이라고 봐도 무방하다.
장구한 세월을 필요로 하는 자연계의 진화 과정이 실시간에 수행돼 사용되기에는 문제가 있기 때문에 현재는 실시간 응용이 아닌 최적화 문제에 유전자 알고리듬이 많이 사용되고 있다.
그러나 이 분야 연구는 아직 실제 자연계와 같은, 대규모의 집단을 구성하지 않는 한, 자연 계의 진화 현상을 그대로 모사하기를 기대하기는 어렵다. 그리고 유전자 알고리듬은 확률적으로 동작하고 있기 때문에 수학적인 토대에 대한 연구가 뒤따라야 한다.
그럼에도 불구하고 환경에 적응해 나가는 능력을 구현하는 하나의 지능 시스템으로 전문가 시스템, 신경 회로망, 퍼지 이론과 같이 상당한 응용 분야를 가진 매력적인 연구 분야가 될 것만은 확실하다.