Computational Mathematics 컴퓨터 수학
Computational Mathematics 컴퓨터 수학
Written on March 30, 2011
By James H. Choi
http://Korean.SabioAcademy.com
원문출처
수학의 한 분야 중에 Computational Mathematics라는 분야가 있습니다. 한마디로 컴퓨터 수학인데 컴퓨터의 계산이 빠른 것을 이용하여 사람이 하려고 했던 계산을 더 쉽게 하는 것에서 그치지 않고 전에는 엄두도 내지 못한 계산, 상상도 하지 못한 계산을 하여 수의 성질을 발견하고 새로운 패턴을 발견하는 것입니다.
“필요한 것도 아니고 그냥 이렇게 저렇게 장난하다 나오는 패턴이 뭐가 중요한가? 하나의 게임일 뿐이 아닌가?”라고 항의하실 수 있는데 원래 수학이 그런 것입니다. 초중고등학생들에게는 수학이 얼마나 필요한 것인지 누누히 설득하면서 가르치지만 (모두 사실이지만) 정말 첨단 연구는 필요/수요와 거의 무관하고 교수의 흥미를 찾아 미지의 세계로 들어가고 있습니다. 제 학생도 과학 경시대회에 수학으로 출전하여 수학에 경험이 없는 심사위원이 “이것은 대체 무엇에 쓰는가?”라고 물어볼까봐 답을 준비해 가야 했습니다. 순수수학자에게 용도를 묻는다는 것은 상당히 무례한 질문인데 (축구나 체스와 마찬가지로 그 자체가 재미있는 것이지 어디에 사용하는 활동이 아닙니다) 요즘 세상에 무례한 사람들이 많아 방어준비를 해야 합니다. 다른 장난과 수학이 다른 것은 수학은 언젠가는 유용하게 됩니다. 많은 물리에 사용하는 수학은 심지어는 100년도 전에, 수학자가 심심풀이로 풀어놓은 문제가 바로 물리 실험에 관찰이 되어 사용하게 됩니다. 좋은 예로 일상생활에는 전혀 아무데도 쓸모가 없다고 생각하면서도 많은 수학자들이 재미로 연구한 prime number, prime factorization은 이제 인터넷에서 정보를 보호하는 기반이 되었습니다. Prime number의 성질을 사용하기 때문에 인테넷에서 암호도 사용할 수 있고 은행일도 가능한 것입니다.
순수 이론수학은 종이와 연필만 가지고 하는 수학입니다. 이론 물리 역시 종이와 연필만 가지고 우주의 구조를 밝혀내는 것이죠. 중고등학생이 그런 수준의 수학을 한다는 것은 무리입니다. 하지만 Computational Mathematics는 컴퓨터가 일을 대행해 주는 것이고 수의 세계에는 아직도 모르는 부분이 더 많기 때문에 학생의 상상력만 있고 컴퓨터에게 자신의 아이디어가 맞는지 점검해 달라고 시킬 수 있으면 무궁무진하고 흥미진진한 연구주제가 수 없이 등장합니다. 잘 알려진 Collatz Conjecture 도 3n+1 에서 끝나지 않고 pn + 1 으로 Generalize 시킬 수가 있습니다. 제 학생이 바로 그 주제로 이번 Regional 과학 경시대회에 나가 State로 가게 되었습니다. 지금 학부모님 세대가 생각하면 믿어지지 않는 “아무것도 똑딱거려 만드는 것도 없이 이런 저런 아이디어를 내어 일은 컴퓨터에게 다 시켜키고 뭔가 패턴이 나오면 연구 결과가 된다” 라는 시대가 지금의 학생들에게 도래한 것입니다.
한데 그 혜택을 누리는 학생은 극히 일부이고 나머지는 게임하느라 시간을 허송하고 있습니다.
중고등학생이 첨단 수학의 연구를 한다는 것은 거의 불가능합니다. 하지만 Recreational Math를 가지고 범위를 확장하여 더 큰 패턴을 찾아내는 것은 가능합니다. 연구 결과가 암을 치료하는 것도 아니고 기아를 해결하는 것도 아니지만 수학은 원래 그런 일을 해 내는 학문이 아닙니다. 재미있는 현상을 찾아내기만 해도 인정을 받는 학문입니다.
거의 모든 수학의 theorem 은 Generalization이 가능하고 그 Generalization 을 곰곰히 생각해보고 컴퓨터보고 많은 경우를 계산해 보라고 하고 결과를 보고 있으면 “아하!” 하고 영감을 얻게 됩니다. “혹시 이런 것이 아닐까?” 그러면 증명을 못 하더라도 “아무래도 항상 이렇게 될 것 같다”하는 기분이 듭니다. 컴퓨터로 1,000,000,000의 다른 경우를 테스트 해 봐도 항상 예측했던 대로의 결과가 나오면 그 때는 Conjecture를 만든 것입니다.
한가지 예로 피타고라스의 정리 에 해당되는 a, b, c 정수는 무한대로 많습니다. 예를 들면 3, 4, 5 또는 5, 12, 13. 그러면 당장 Generalize 할 수 있는 것이
입니다. 과연 이 방정식이 성립되는 정수 a, b, c 가 있을까요? 그 다음은
, 그러다가 급기야
(n 이 2보다 큰 경우) 까지 생각하는데 컴퓨터로 아무리 많은 a, b, c의 조합을 시도해 봐도 방정식이 성립되는 수가 없습니다. 이렇게 아무리 찾아도 해당되는 정수가 없으면 “방정식이 성립되는 정수를 못 찾겠다. 있을지도 모르지만 당신도 못 찾을 것이다.” 라는 Conjecture가 탄생하는 것입니다. 이것이 유명한 Fermat’s Last Theorem입니다. 1637년에 발표된 이 Conjecture를 증명한 것은 1995년이었습니다. 350년이 걸린 것이죠. 고등학생들이 이런 증명을 할 수는 없지만 무책임하게 Conjecture를 만들어 후세의 수학자들을 몇 백년동안 무지개를 쫓도록 만들 수 있습니다. 어떻게 생각하면 세상에 이런 신선노름도 없습니다.
과연 과학경시대회 국제결승전 (ISEF)에 올라오는 학생들은 어떤 Computational Mathematics 연구를 가지고 오는지, 그 중에서 누가 어떤 심사과정을 통해 승자로 선발 되는지가 궁금해 올해는 ISEF에서는 Computational Mathematics를 심사하게 되었습니다. 제 기분에 Computational Mathematics는 심사위원의 구성이 Computer Science에 비해 다를 것 같고 (거의 다 교수일 것 같습니다) 심사 기준도 다를 것 같은데 오는 5월 다녀오면 알려드리겠습니다.
이 Computational Mathematics는 수학을 좋아하지만 직접 계산을 해야 하는 것을 싫어하는 학생에게 적격입니다. 나이가 어려 아직 물리를 배우지 않았어도 그야말로 사칙의 연산말 할 수 있으면 그리고 컴퓨터를 프로그램만 할 수 있으면 연구를 시작할 수 있습니다.
이는 “너는 아이디어만 생각해 내고 힘든 일은 컴퓨터에게 시키면 된다”가 현실이 된 꿈만 같은 시대에 살고 있는 축복입니다. 그런 일하는 조건을 환영할 성향의 자제분이 있으시면 이런 분야의 연구를 찾아 시켜 보세요. 아시는 수학자에게 이 글을 보여주시면 제 의도를 이해하고 어떻게 지도해야 할지 알 것입니다. 일단 학생이 이 아이디어를 받아들이기만 하면 앞으로 얻는 것이 워낙 많아 아무리 무모해 보이더라도 한번 시도해 볼 가치가 있습니다.
추신: 2012년3월14일 제 학생이 Detroit 지역 Regional Science Fair에서 바로 이런 computational mathematics로 수학부분에서 1등을 했습니다.
6학년 딸아이가 Mathematica 사용법을 배우기원하고 더불어 선생님의 Research program(SR100??) 시작 하려고 합니다. 어떤 정해진 시간없이 등록이 가능한지요??
Sabio Research web 에서 등록시작 기간에대한 안내가 없어서 여기에 글 남깁니다.
감사합니다.
현재 특정 기간 없이 언제나 준비가 되면 시작하여 10주동안 수강하는 방식으로 진행하고 있습니다. 학생이 질문하는 시간은 현재 토, 일, 월요일에 한시간씩 있읍니다. 그중 하나, 또는 세번 다 들어와서 막히는 점을 물어보면 제가 학생의 컴퓨터 스크린을 보며 어디를 어떻게 잘 못 생각해서 그렇게 되는지 설명을 해 줍니다.