• 검색 결과가 없습니다.

하나의 알고리즘만 실행한 것은 아닌가?

문서에서 R&D 성공실패사례 에세이 (페이지 43-48)

하나의 알고리즘만 실행한 것은 아닌가?

ReSEAT 전문연구위원 강두철

부 출연 연구소의 연구원으로 근무하던 시절, 레이더 시스 템 분야의 연구 개발에 참여할 기회가 있었다. 당시의 레 이더 시스템은 국내에서 생산되지 않아 외국에서 도입해 사용해 야 했다. 그러던 어느 날, 외부 기관에서 레이더 시스템 관련 기 술 평가를 원한다는 요청이 들어왔다. 그 기관에서 레이더 시스템을 도입하기 위해 여러 기종을 검토하는데 필요한 기술적 특성 평가 를 의뢰한 것이다. 마침 각 시스템 관련 기술 자료와 함께 시스템 제원과 환경 조건의 성능 변화를 예측할 수 있는 컴퓨터 시뮬레이션 프로그램이 입수되었다.

이 프로그램은 대형 컴퓨터에서 실행하도록 되어 있는데, 변수도 많고 처리 범위가 매우 큰데다 알고리즘도 꽤 복잡해보였다. 당시의 대형 컴퓨터는 전산실에서 통합 관리 운용하고 있었으므로 입수된 시뮬레이션 프로그램 리스트를 전산실에 넘겨주고 실행하도록 요청했다. 그런데 예상치 못한 문제가 생겼다. 특정 알고리즘을 실행하면 오류가 발생한 다는 것이다. 처음엔 문제가 쉽게 해결 되겠지 했는데, 전산 전문가들이 붙어 꽤 많은 시간을 보냈는데도 오류는 해결되지 않았다.

난감한 상황이었다. 프로그램이 제대로 돌아가야 시스템의 제원을 입력하고 환경 조건 별 성능 분석을 시작할 수 있었기 때문이다. 내 전공은 전산 분야가 아닌데다 대형 컴퓨터나 컴퓨터 프로그래밍에도 익숙한 상태가 아니었기에, 전산 전문가들이 해결해주기만을 기다릴 수밖에 없었다.

하지만 마냥 손을 놓고 있을 순 없는 노릇이었다. 좀처럼 해결 될 기미가 보이지 않는데다가 시간적 여유가 있는 상황이 아니었기 때문 이다. 우선 실행 오류가 발생하는 부분을 중심으로 연산 알고리즘을 분석해 원인을 추적해봤다. 원본과 다른 프로그래밍 언어로 부분적이 나마 시뮬레이션 프로그램을 작성한 후 연구실에 있는 중형 컴퓨터에서 실행 상태를 확인했다.

레이더 시스템 전문 지식을 어느 정도 알고 있는 상태였지만, 머릿속에 늘 정리가 되지 않는다는 느낌이 있었다. 산발되어 있는 지식들이 마치

헌책방의 책들처럼 두서없이 엉켜있으면 결국 나에게 어떤 책이 있었

반드시 필요했다. 이런 이유로, 시뮬레이션 프로그램 분석 경험이 있는

처음에는 당황스럽겠지만, 한 발 더 생각해보면 발전의 기회가 찾아온 것일 수도 있다. 현재의 내 수준에서 풀 수 있는 문제들만 매일 푼다면, 얼마나 더 성장할 수 있을까? 똑같은 프로그램 실행 오류가 일어났을 때, 문제를 해결하는데 애를 먹었던 대형 컴퓨터에서는 최선이라고 생각 한 하나의 알고리즘으로 해결하려고 했었다. 반면, 혼자서 분석해 오류를 해결했던 중형 컴퓨터에서는 여러 가지 연산 알고리즘을 실행한 후 그 중에서 가장 좋은 결과를 선택했다.

처음부터 최적의 알고리즘을 찾았다면 좋았겠지만, 알고리즘이란 늘 상황에 따라 달라질 수 있다. 그러니 한 가지만 고집하지 말고 다양하 게 해결책을 찾아봐야 한다. 언제, 어떻게 변화할지 모르는 디지털 시대에 한 가지만 고집하는 과학자는 도태될 수밖에 없다. 늘 머릿속에 다양한 연산 알고리즘을 실행할 자세가 준비되어 있어야 한다. 4차 산업의 시대가 코앞으로 다가왔으니 말이다.

문서에서 R&D 성공실패사례 에세이 (페이지 43-48)