제목 | Re: 위의 퀴즈로 수렴되는 수학적 이론의 앙상블 분석 (Ensemble Analysis)에의 응용 가능성 모색 | |||
---|---|---|---|---|
작성자소순태
![]() ![]() |
작성일2006-09-12 | 조회수830 | 추천수0 |
반대(0)
![]() |
게시자 주1: 이 글에 적용되고 있는 수학적 이론는 지난 1993년에 제가 발견한 새로운 개념에 근거하며, 그동안 그 구체적인 응용으로서 다수의 알고리즘을 개발하였습니다. 또 저의 이론을 적용한 한 예제의 구체적 응용으로서 위의 퀴즈를 만들었으며 또 이 글도 쓰게 되었습니다.
주의사항: (지적 재산권) 제가 구축한 이론이나 아직 전문 학술지에 게재하지 않은 내용을 이 글에서 적용하고 있으므로, 이 글을 읽고서 제가 구축한 수학적 이론을 간접적으로 알게 되었다 하더라도, 연구 및 상업적 목적을 포함하여, 제가 구축한 수학적 이론의 사용을 일체 불허합니다.
저의 연구 결과는 모두가 천주께서 저에게 잠깐 허락하신 것들이므로, 원천적으로 천주의 소유물입니다. 따라서, 영생의 구원자이신 거룩하신 천주의 뜻 (Divine Will) 에 반하는 일체의 목적 (군사적 목적 포함)에 저의 연구 결과의 사용은, 어떠한 경우라 하더라도, 사전 혹은 사후 이유나 조건없이, 절대 불허합니다.
게시자 주2: 이 글의 제목은 우선 그렇게 불러 보았습니다.
---------------
+ 찬미 예수
위에 올린 Quiz 에서 눈깔 사탕을 가지고 말씀들 드렸더니, 성음악 혹은 성가대와 전혀 무관한 수학적 문제라는 속단을 하는 분들도 계시는 듯 하여, 속의 이론은 그대로 두고, 여기서는 성음악 가족들도 이해가 잘 될 수 있도록 문제를 바꾸어 서술해 보도록 하겠습니다.
아래의 글을 읽어 보시면 알겠지만, 이제는 이해도 쏙 잘 되고 꽤 재미있다 할 것입니다..^^
참고: 김종우 박사의 알고리즘에 대한 자세한 지식이 없어 추측의 단계이지만, 김박사의 알고리즘적 기법에 적용하고 있는 확율적(?) 방법과는 완전히 다른, 새로운 deterministic decision making에 관한 내용일 것이기도 합니다.
성가대 혹은 오케스트라의 연주에 있어, (미사 전례음악이냐 아니냐에 따라 정도의 차이는 있겠지만) 화성악적으로 좋은 화음 (Harmony)을 일정 수준 이상은 추구하게 되는데, 위의 예제에서 눈깔 사탕을 성가대원 혹은 솔리스트 한 사람 혹은 악기 연주자 한 사람으로 바꾸어 생각하면, 다음의 이야기를 전개할 수 있습니다.
쉽게 다가가기 위하여, 성가대를 예를 들어 말씀드리겠습니다.
1. 성가대에는 각 파트가 있다. (소프라노, 알토, 테너, 베이스 4 파트가 있고 또 음악적 효과를 극대화 하기 위하여 이들 파트를 더 잘게 둘로 쪼개면, 소프라노1, 소프라노2, 알토1, 알토2, 테너1, 테너2, 베이스1, 베이스2 등의 8개 파트로 나누어 진다.
2. 각 파트는 적어도 한 명의 성가대원이 있어야 파트로서 존재하게 된다. (성가대 파트의 최소 필요조건)
3. 어느 특정 파트에 속하는 한 분이 선창을 하면, 솔로 (점) 가 된다.
4. 어느 특정 두 파트에서 한 명씩 참여하여 함께 노래를 부르면 (화성악적으로) 듀엣 (선) 이 된다.
5. 어느 특정 세 파트에서 한 명씩 참여하여 함께 노래를 부르면 (화성악적으로) 트리오 (삼각형)이 된다.
6. 어느 특정 네 파트에서 한 명씩 참여하여 함께 노래를 부르면 (화성악적으로) 4중창 (피라밋트)이 된다.
7. 한 파트에 속한 분들이 모두 같은 소리를 내면, (화성악적으로) 한 사람이 부르는 것과 같으며 단지 소리의 크기가 웅장해 질 뿐이다. 즉 8파트가 있을 경우 (화성악적으로) 각각 다른 파트에 속하는 8명이 함께 부르는 경우와 동일하다.
등 등 등...
이쯤 말씀 드리면, 위의 예제에서 눈깔 사탕을 접시에 나누어 담는 부분은 이제 여러 분들의 머리에서 완전히 사라졌을 것입니다..^^
작곡가, 지휘자 혹은 음악 감독의 최대의 관심사는, 음악 연주 중에 위의 점, 선, 삼각형 등 등을 시간의 흐름 위에 순서를 고려하여 잘 선택하여 배치하여, 음악적으로 최대의 효과를 얻어 내는 방법에, 있을 것입니다. 이를 위하여,
(1) 우선, 각 파트에서 어떤 분 한 분을 선택하였을 때에, 듀엣, 트리오 등 등의 앙상블을 구성할 때, 그 분과 함께 노래를 하면 호흡도 잘 맞고 또 화음도 최상이 되는 분이 각 어느 파트의 누구일까.. 에 대한 분석이 필요할 것입니다.
(2) 또 이들 앙상블 여러 개가 함께 노래를 할 때에, 어느 앙상블의 소리가 주 앙상블이 되는 것이 좋을까.. 에 대한 분석도 필요할 것입니다.
(3) 당연한 이야기 이지만, 이런 저런 사정으로, 어느 특정인과는 함께 노래하는 것이 바람직하지 못한 상황도 현실적으로 발생하므로, 이러한 상황도 고려하면서 위의 (1), (2)를 고민하여야 할 것입니다.
예를 들면, 악기와 사람이 함께 협연을 한다면 (3)의 상황은 현실에서 당연히 발생할 것입니다.
-------------------
[예제 1] 예를 들어, 성가대원이 40명이라고 하고, 성가대 구성이
베이스1 (B1), 베이스2 (B2), 테너1 (T1), 테너2 (T2) 각 각 4명,
알토1 (A1), 알토2 (A2), 소프라노1 (S1), 소프라노2 (S2) 각 각 6명,
그리고 반주자 (M) 1명 하여,
총 41명의 9개의 파트로 이루어져 있다고 합시다. (즉, 접시 수가 9개입니다).
그러면, 위의 제 1 - 7에 의하여, 선, 삼각형, 피라밋트 등 등의 화성악적 결합 (물체)를 다양하게 만들 수 있을 것입니다.
이때, 만들어지는 화성악적 결합의 총 숫자 (S) 는, 41 (level1)+ 조합 가능한 듀엣의 숫자 (level2)+ 조합 가능한 트리오 숫자 (level3) + 조합 가능한 4중창의 숫자 (level4) + ... + level9, 으로서,
이들 숫자를 따로 따로 다 구할 수 있는 매우 효과적인 알고리즘은, 제가 이미 개발한 것이 있습니다.
그리고 이들의 합은, 위의 알고리즘에 의하여 계산하지 않고, 역시 제가 이미 개발한 다른 방법으로 계산하면, 홀수(Odd) 인 것을 즉시 알 수 있습니다.
실제로, 위의 level1, ..., level9을 저의 알고리즘으로 계산하면 다음과 같습니다.
level(1) = 41, level(2) = 736, level(3) = 7576, level(4) = 49136, level(5) = 207376, level(6) = 566016, level(7) = 953856, level(8) = 884736, level(9) = 331776,
그리고 이들의 합 S 는 3001249 으로서, 위에서 말씀드렸듯이, 홀수 입니다.
또한 계산 시간은 "아주 잠깐"입니다. (즉, 400 MHz CPU 한 개로 0.07초 소요됨.).
이 계산 결과에 의하면, 예를 들어, 4명으로 이루어진 앙상블을 만드는 방법의 수는 총 level4 = 49136 가 있으므로, 지휘자 혹은 음악감독은, 이들 49136개의 앙상블 팀들의 연주기량을 다 들어 본 후에, 최상의 앙상블 팀을 선택하면 될 것입니다..^^
참고: 혹시 위의 숫자가 너무 크므로 지휘자가 49136개의 앙상블 팀의 연주 기량을 다 들어 보는 것은 비 현실적이라고 하실 수도 있는데, 이 문제는 다음과 같이 간단하게 해결할 수 있을 것입니다. 즉, 각 파트의 성가대원들 중에서 앙상블에 참여하는 분들과 참여하지 않는 분들로 크게 구분하면 될 것입니다, 평소에 성가대에서 그렇게들 하듯이..^^
당연한 이야기이지만, 아래의 예제에서 보듯이, 앙상블에 참여하는 분들의 숫자를 줄이면, level4 숫자는 현격하게 줄어들 것입니다.
[예제 2] (예제 1의 계속) 만약에 성가대 각 파트별로 솔리스트가 1명씩 이라고 하면, 반주자 1명을 포함하여 총 9명이 되므로, 이들로 구성할 수 있는 4 명으로 이루어진 앙상블 팀의 총 숫자는 다음과 같습니다.
level(1) = 9, level(2) = 36, level(3) = 84, level(4) = 126, level(5) = 126, level(6) = 84, level(7) = 36, level(8) = 9, level(9) := 1,
그리고 이들의 합 S 는 511 로서, 홀수입니다.
이 계산 결과에 의하면, 예를 들어, 4명으로 이루어진 앙상블을 만드는 방법의 수는 총 level4 = 126 가 있으므로, 지휘자 혹은 음악감독은, 이들 126개의 앙상블 팀들의 연주기량을 다 들어 본 후에, 최상의 앙상블 팀을 선택하면 될 것입니다..^^
[예제 3] (예제 1의 계속) 만약에 성가대 4개의 각 파트별로 솔리스트가 1명씩 이라고 하면, 반주자 1명을 포함하여 총 5명이 되므로, 이들로 구성할 수 있는 4명으로 이루어진 앙상블 팀의 총 숫자는 다음과 같습니다.
level(1) = 5, level(2) = 10, level(3) = 10, level(4) = 5, level(5) = 1,
그리고 이들의 합 S 는 31 로서, 홀수입니다.
이 계산 결과에 의하면, 예를 들어, 4명으로 이루어진 앙상블을 만드는 방법의 수는 총 level4 = 5 가 있으므로, 지휘자 혹은 음악감독은, 이들 5 개의 앙상블 팀들의 연주기량을 다 들어 본 후에, 최상의 앙상블 팀을 선택하면 될 것입니다..^^
참고: 점들의숫자를 조금만 임의적으로 더 키우면, 이들 level(i) 숫자들의 합이 크게 증가하게 될 것입니다. 위의 예제들에서와 같이 구체적인 계산 예제를 드리는 것 또한 전혀 문제가 없으나, 단순히 지면만을 더 차지 하게 되므로 생략합니다.
위의 예제들 이외에 관련된 다른 것들도 있으나 너무 길어 질 것이고, 또 이 정도 말씀을 드리면, 이들이 성음악 혹은 성가대와도 관련이 있음에 대한 설명으로는 충분한 듯 합니다.
--------------------------
이제, 위의 예제에서의 계산들이 위의 Quiz 글과는 어떠한 관계가 있는지에 대하여 말씀드리도록 하겠습니다.
위의 예제들의 각 계산에서 보았듯이, 전체 합 S 는 어찌된 셈인지 다 홀수입니다.
따라서, 왜 홀수가 되는지에 대한 의문을 가지지 않을 수 없을 것인데, 이러한 성질에 대한 수학적 규명을 한 후에, 이를 쉽게 잘 정리하여 만든 실용적 문제 한 개가 바로 위의 Quiz 입니다.
그런데 이 Quiz 에는 사실은 연구자들을 위한 중요한 의도가 담겨 있습니다.
즉, 위의 Quiz에 대한 답을 구하려고 하면 자연스럽게 각 경우에 대하여 S를 계산하려 할 것이므로, 어떠한 방법으로 S 를 구할 것인지 고민을 하게 될 것이나, 다른 한편으로는, S를 계산하기 위하여 설사 제가 발견한 알고리즘과 같이 매우 효율적인 알고리즘을 발견하였다 하더라도, 위의 Quiz에 대한 정답을 구하는 데에는 엄청난 한계가 있음을 또한 인지하게 될 것입니다.
예를 들어, 위의 Quiz 에 대한 정답을 구하기 위하여 이 글에서 말씀드린 방법에 의존하면 예를 들어 눈깔 사탕의 갯수가 100 일 경우에, 1억 9천만 가지 이상의 각 경우 (정확하게 190,569,292 가지)에 대하여 일일이 이글에서 수행한 바와 같은 계산을 해 주어야 하므로, 현실적으로 불가능한 전혀 다른 문제에 봉착할 것이며, 이 문제의 정답을 구하기 위하여 또다시 노력하여야 할 것입니다. 제 이론을 적용하면 이것 역시 수학적으로 명쾌하게 규명할 수 있습니다.
위의 Quiz의 수학적 함축성에 대하여 이 정도로 말씀드리면 충분한 듯 합니다.
[내용 추가] 그리고 새로운 최적화 알고리즘을 근사적 기법으로 개발한 김종우 박사의 연구 결과도, 어쩌면 저의 이론으로 재해석을 하고 또 수학적으로 명쾌하게 설명을 할 수 있을 듯한 느낌이 이제 들기 시작하였는데, 김종우 박사의 최초 글을 읽고 난 며칠 후인 오늘 (2006년 9월 13일) 아침 출근길 중의 무료한 시간을 없애기 위하여 제가 한 "일"이었습니다. 자세한 말씀은, 김종우 박사의 향후 연구 방향에 영향을 줄 수 있을 듯 하여, 언급을 생략합니다.
----------------------------
요약하여 말씀드리면, 위의 Quiz에 대하여 생각을 시작하면, 계산에 대한 깊은 통찰력이 있으신 분의 경우에는 결국 이 글에서 소개한 매우 효율적인 계산 방법을 찾기 위하여 고민을 하게 될 것인데, 바로 이 수학적 계산 방법에서 언급하는 기하적 물체들이, 위에서 설명드린 바와 같이, 성가대 혹은 성음악과 관련이 있는 것입니다.
위의 Quiz 글을 올리면서, 지금 말씀드린 이런 저런 내용을 다 말씀드리면 Quiz의 묘미를 다 잃어 버리므로, 위의 Quiz가 성가대 혹은 성음악과 어떠한 관련이 있는지에 대한 긴 소리를 굳이 하지 않았던 것입니다. 제 불찰이 있었다면 바로 여기일 것인데, 글을 지운 분이 정식으로 또 정중하게 사과를 청해 오면, 제 불찰에 대하여서도 사과를 할 생각입니다.
-----------------------------
참고: 수학을 전공한 분들을 위하여 매우 겸손한 자세로 드리는 추가의 말씀입니다만, 지금 다루고 있는 예제에 적용하고 있는 저의 이론은 (Gauss의 연구 결과의 연장선상에 있는 듯 하며) 다음의 수학 분야들과 관련이 있는 것으로 알고 있습니다.
1. Algebraic Topology 2. Graph Theory 3. Additive Number Theory 4. Combinatorics 5. Arithmetic Number Theory 6. Commutative Ring Theory 7. Algebraic Geometry
-----------------------------
저의 Quiz 글을 지운 분께서는 특히 다음의 글을 잘 읽어 보시기 바랍니다.
올린 글에 자신의 연구 업적에 대한 신문 기사가 있는 것으로 보아, 또 본인도 위의 댓글에서 시인하였듯이, 비록 성가대 운운 하였으나, 자신의 연구 결과를 내세우면서 자신의 존재를 국내에 PR 하려는 의도를 담고 있기에 광고성 글인 김종우 박사의 최초의 게시글은, 잘 읽어 보면 이곳 게시판에 게시하기에는 부적합한 글임을 금새 알수 있음에도 불구하고,
주: 오늘 저녁에 가톨릭성가마스터 (=성가게시판 관리자) 한 분께서 김종우 박사의 최초 글을 들여다 보자 마사 성가게시판에 올리기에는 부적합하다는 말씀을 즉시 하셨습니다.
김종우 박사의 최초 글을 삭제하지는 않으면서도, 게시글의 제목과 본문에서 저에 대한 언급이 지나침을 보다 못하여, 그래도 형제애를 발휘하여, 대응의 차원에서 김종우 박사의 글에 대하여 제가 드린 정중한 두개의 답글 중의 한 개에 대하여서는, 마치 "생활성가의 가사 중에 "사랑"이라는 단어가 들어가면 미사 중에 불러도 되는 것이다" 수준의 판단으로, 저의 사전 양해 혹은 사전 설명을 전혀 들어 보지도 않고, 또 어쩌면 편파적인 자세로서, 저의 Quiz 글에 대하여 성가게시판과는 무관하다면서 글을 지운 것은, 상당한 문제가 있다고 생각됩니다.
김종우 박사의 최초 글 본문 중에서, 저의 전공분야에 대하여 전혀 알지도 못하면서도 저를 두고서 미적분, 수치해석 전공이라고 단정적으로 언급하는 등 (굳이 언급하면, 저에 대한 명예훼손일 것입니다), 애초에 문제가 많은 글은 어찌된 영문인지 그대로 두고서, 그 글에 대한 저의 답글 2개 중 한 개를 무작정 지우는 것은, 곤란하다는 것입니다.
아니, 정작에 머리가 있으면 잠깐 생각을 해 보세요. 특정 연구 분야에 관한 전공 관련 대화를 공개적으로 하고 있는 중에, 김종우 박사가 올린 글과 전혀 무관한 글을 제가 왜 올리겠습니까?
하긴 연구라는 것이 학문하는 분들에게 무엇을 의미하는지 전혀 모르는 분들에게는, 지금 제가 무슨 말씀을 드리고 있는지 이해가 잘 되지 않을 것입니다만, 하여튼 글 지운 분이, 제가 답변을 드리지 않았더라도 지워져야 마땅한 김종우 박사의 글은, 이곳 성가게시판에서의 과거의 친분 때문인 듯 아니면 판단 착오로, 그대로 두고서, 답글로 드린 제 글에 대하여서는 특별한 수준의 올바른(?) 판단력을 적용하여 무작정 지운 행위는, 저에게 큰 실수를 한 행위입니다.
그리고 정작에 글을 지운 분은 지금까지도 사과없이 잘 처신한 양 떡 버티고 있으면서 제가 이렇게까지 매우 유감스럽게 생각하고 있는 것을 묵묵히 지켜 보고 있으니, 매우 곤란한 일이 아닌가요? 이 글을 읽고도, 여전히 관리자로서 잘못 처신한 점이 없다고 생각한다면, 큰 문제가 아닐 수 없습니다.
주: 누가 제 글을 지웠는지 지금 대충 짐작은 갑니다만, 제가 굳이 먼저 언급을 하는 우를 범할 필요는 없을 것입니다.
하긴 여기까지 읽고도 콧방귀 뀌면서 다음의 부탁을 무시할 수도 있겠으나, 앞으로 이런 문제가 발생하지 않게 하기 위한 기막힌 사례로서 두고 두고 또 두루 두루 읽히게 하기 위하여서라도, 김종우 박사의 글과 저의 답글을 성가게시판에서 지우지 말 것을 부탁드립니다.
그리고 김종우 박사는, 절더러 신학 관련하여 신경 끄고 그 좋은 논리를 "건설적"으로 연구하는 데에 쓰라고 조언의 형태을 빌어 저에게 독한 모욕성 발언을 하였는데 (주: 이것 역시 명예훼손에 해당할 것인데, 제가 지금 오해하고 있는지요?), 이 조언과 관련하여 말씀드립니다.
정작에 모욕을 받아야 할 자가 저인지요?
사제나 수도자들 중에는 굿뉴스 게시판에 올린 글들에 좋은 답글을 올릴 수 있는 분들이 적지 않음에도 불구하고, 권위에 누가 될까 혹은 모욕을 당하는 것이 두려워서인지, 도대체 나서지를 않는다고 하더군요. 이러한 분들에게 제가 여쭈고 싶은 것은, 이렇게 모욕을 당하면서도 잘 참고 견디면서 좋은 내용을 담은 답글을 올려 드리려고 열심히 노력해온 저 같은 평신자가, 주님 보시기에 과연 바보일까요?
=================================
이하는 아래에 달렸던 꼬리글들을 올려진 순서대로 그대로 모은 것입니다.
(2006/09/17) : 위의 글 한 군데에서 김종우 형제님의 성씨를 바꾸는 실례를 범하였는데, 저의 불찰이었으며 바로 잡았습니다. 근사(approximation)라는 용어와 관련하여 예를 한 개 들어 드리면, 유리수 1/3 을 0.3333 으로 나타내는 것 혹은 2의 제곱근을 1.414 등으로 나타내는 것을 수학에서는 근사라고 합니다.
0.3333 X 3 은 1 이 아니고 또 1.414 의 제곱이 2 가 아니므로 이들을 근사라고 하며, 다루는 숫자 중에 근사가 섞여 있는 계산을 근사계산이라고 합니다.
(2006/09/19) : 극소수의 전문가 집단들만 향유하는 기존의 수퍼 컴퓨터의 활용 방식의 개선, 즉 수퍼컴퓨터의 접근성에 있어 기존의 높은 문턱을 제거하기 위하여, Internet Computing (혹은 Grid Computing)을 하기 위한 용도의 E-mail 기반 범용 (General Purpose) 미들웨어를 2001년 8월에 제가 개발하여 InetCompu 라고 명명하였습니다.
제가 고안한 미들웨어는, 수퍼컴퓨터에 사용자 계정 (User ID)의 소유 유무와 무관하게, 전자 메일을 발.수신 하는 장비 (예를 들어 휴대폰, PDA, 노트북, PC), 를 사용하여 누구라도 수퍼컴퓨터를 사용하여 계산을 할 수 있게 해 주는 소프트웨어로서, 이 미들웨어를 활용하면, 인터넷을 경유하는 일반 데이터의 전달, 가공, 취합 등의 데이터 관리를 가능하게 해 주는 미들웨어 소프트웨어입니다.
이 과제는 저의 머리에서 나온 개념에 근거한 것이기에 지적 재산권은 저에게 있겠습니다만, 제가 순수수학을 전공하였고 또 수학과 교수이기에, 위에 소개한 InetCompu (혹은 GridCompu)라고 명명한, 고급 기능의 Parsing을 통한 Filtering 기능도 추가하여 Web-mail 도 잘 처리하는 Pilot 미들웨어 프로그램을 만드는 것까지 2002년 2월에 저의 손으로 직접 완료하였으며, 그 이후로 이 과제의 나머지 부분들은 전산을 전공한 분들의 몫으로 남겨두었습니다.
순수 및 응용 수학 전반에 걸쳐 다양한 (수치해석적) 근사 계산 혹은 정확한 계산 (즉 Symbolic Computation)을 수시로 해 볼 필요가 있는 이공계 고등학생, 대학생, 대학원생, 및 연구업무 종사자들을 위한 Interface를 잘 열어 두었으니, 다음의 주소로 접속하여 왼쪽에 있는 메뉴들을 클릭하고 들어가 잘 읽어 보시고 기억하셨다가 필요시 많이들 활용하시기 바랍니다. 물론 이 서비스는, 그 제공 목적과 취지에 의하여, 지금까지와 마찬가지로, 명지대학교 수리계산연구센터에서 지속적으로 또 무료로 제공될 것입니다..^^
인터넷 환경을 실생활에 유용하게 건설적으로 활용하기 위한 저의 노력의 산물이오니, 많이들 활용해 주시면 저로서는 더 바랄 것이 없겠습니다.
관리자님께: 위의 꼬리글들 중에서, 오늘 날짜 (9월 19일자)로 추가한 다섯 개의 꼬리글들은, 비록 김종우 형제님의 아래 꼬리글에 대한 답글이나, 언제 지우셔도 개의치 않겠습니다. 단, 9월 17일자로 올린 처음 두 개의 꼬리글, 즉 "근사" 및 "근사계산" 용어에 대한 설명은 수학 비전공자 모두가 아셔야 할 중요한 내용이므로 지우지 마시기 바랍니다.
---------------------------
김종우( (2006/09/19) : 물론 말씀하신대로 기호를 사용하냐 아니면 precision을 가진 수치를 사용하냐에 따라 최적화를 나눌 수도 있겠습니다. 하지만 최적화 계산의 관심사는 변수가 적고 조건함수가 없으며 제약조건도 까다롭지 않은 이상적인 문제가 아니고 보다 현실적인 초대형 변수의 문제가 되기에 대부분 후자의 precision을 가진 수치적 방법을 사용하게 됩니다.jsbach)
대표적인 미분 최적화법의 하나인 GRG (Generalized Reduced Gradient Algorithm)를 살펴보면, 간단히 생각해서 대수방정식의 근을 구하는 Newton-Raphson법처럼 (이 역시도 초기치를 잘못잡으면 발산해 버리죠^^), 하나의 초기해에서 시작하여 방향과 거리를 "근사적 계산"으로 구하고 iterative하게 조절하며 최적해에 다가가고 있습니다.
즉 대부분의 실용적 최적화 방법이 말씀하신대로 "근사"계산을 하므로 이 용어는 변별력이 떨어지는 것 같으며 굳이 구별하자면 deterministic vs stochastic, gradient-based vs meta-heuristics(or evolutionary), hard computing vs soft computing 정도의 구분이 연구자들 사이에서 언급되는 것 같습니다.
혹시 제가 틀렸다면 지적해주시면 감사하겠습니다. 제가 본래 의도했던 이상으로 게시물이 진화하여 죄송합니다. 제 생각에는 이제 허용한계를 만족할 정도의 "근사"를 한 것같으니 terminating creterion flag를 true로 바꿔주시면 감사하겠습니다.
------------------------------
기왕에 형제님께서 꼬리글로 문의를 하셨으니 조금 말씀을 더 드리도록 하겠습니다. 위의 꼬리글에서 형제님께서 하신 말씀은 대 분류상 모두가 수치해석(Numerical Analysis)의 범주에 속하는 응용 수학인 줄로 알고 있습니다. 수치해석적 기법이 급속도로 발전하게 된 데에는 제 2차 세계 대전 중에 대포알의 탄두 추적 등을 사전에 컴퓨터로 계산을 할 필요성 등에고 기인한 줄로 알고 있습니다. 이에 대하여 조금 더 말씀드리면, 다음과 같습니다.
폰 노이만이라는 수리 논리학자가, Digital Computing 방식이 기존의 Analog Computing 방식보다 S/N 비 (Signal to Nois Ratio)가 좋다는 것을 이론적으로 증명한 후에, CPU, Memory, 그리고 I/O (Input 및 Output Device) 셋으로 구조가 이루어진 Digital Computer를 처음으로 고안하였는데, 우선 해석학 분야의 수학에서 전통적으로 다루는 함수의 값들을 어떻게 자신의 컴퓨터를 사용하여 정확하게 계산할 것인가에 대하여 논문을 많이 썼던 줄로 알고 있습니다.
실제로 진공관을 사용한 Digital Computer가 구현되기도 전에 해석학 분야의 전통적인 함수들을 다항함수로 근사하여 자신의 머리속에 존재하는 Digital Computer로 근사계산을 어떻게 해야 할 것인가 (Approximation Theory)에 대한 논문을 많이 썼는데, 군사기밀 사항으로 묶여 상당 기간 동안 대다수의 수치해석 분야 연구자들에게도 공개가 되지 않았던 줄로 알고 있습니다.
즉 미분 적분 등의 극한값 관련 계산을 유한 번의 계산으로는 수학적으로 정확하게 구할 수가 없으므로, 믿을 만한 근사 해를 구하기 위한 이론 개발을 하였던 줄로 알고 있습니다. 컴파일을 하는 Fortran, C 등등의 대부분의 프로그래밍 언어는 숫자를 근사하여 다룰 수 밖에 없는데, 이런 수치해석적 방법에는, 1변 다항함수의 근사 해를 구하기 위한 Newton 의 방법을 위시하여, 김종우 형제님께서 나열한 여러 기술적인 방법들이 있는 줄로 알고 있습니다.
다른 한편으로, 디지털 컴퓨터가 데이터를 다룰 때에, 숫자를 제외한 다른 데이터는 모두 정확하게 다루면서도, 굳이 숫자에 대하여서만 근사치를 다루는 것은, 위에 말씀드린 수치해석적 계산의 필요성 때문에 먼저 발전된 수치해석이라는 방법론의 결과일 것입니다. 그래서 오늘까지도 대다수의 이공학 전공자로서 컴퓨터로 계산을 한다 하면, 하도 수치해석적 계산을 많이들 하다 보니, 이 수치해석적 근사계산만을 디지털 컴퓨터가 할 수 있는 "계산"의 전부인양 생각하게 된 듯 합니다.
그러나, 1965년에 와서 인류 역사상 처음으로 연립 비선형 방정식의 해의 존재 여부에 대한 확답, 그리고 해가 존재할 경우에 정확한 해를 구할 수 있게 해 주는 알고리즘이, 오스트리아의 수학자 Bruno Buchberger에 처음으로 발견되었는데, 그 때까지 진척이 되었던 소프트웨어 학문분야의 발전 덕택으로, 수학적으로 정확한 계산을 가능하게 해 주는 소위 말하는 Computer Algebra System 이라고 불리는 프로그램들이 개발되기 시작하였던 줄로 알고 있습니다.
이들 CAS의 대표적인 것들을 예를 들면, Macsyma, Reduce, Mathematica, Maple 등 등을 들 수 있겠죠. 이들 CAS는 근사계산을 하라고 지시를 구체적으로 하지 않는 이상, 2의 제곱근을 절대로 1.414 등의 근사치로 나타낸 후에 4칙 연산을 수행하지 않습니다. 그 대신에, 정의 그대로, 제곱하면 2가 되는 양의 숫자로서 2의 제곱근을 인식하고 있다가, 계산이 진행하는 과정에 "2의 제곱근 심볼"에 대한 제곱이 발생하면 즉시 2를 계산 결과로 인식하게 프로그램이 되어 있습니다.
또 이들 CAS의 경우에 있어, 소위 말하는 multiple precision기능을 제공하고 있는데, 이 기능은, 컴퓨터의 데이터 버스의 bit 수에 따라 정해지는 precision 으로는 도대체 정확한 계산 (Exact Computation)을 할 수가 없기에, 소프트웨어적으로, 숫자를 숫자로 다루는 것이 아니라, 숫자를 string (즉 문자의 나열)로 생각함으로써, 이들 CAS에서 구현이 되고 있는 줄로 알고 있습니다. 물론 IEEE 등을 통하여 오래 전에 이들에 대한 표준화가 다 설정 되어 있는 줄로 알고 있습니다.
다른 한편으로는 이런 Symbolic Computation 의 경우에 Exponential Computing Time Efficiency 를 갖는 문제가 있는데, 하도 요즈음에 와서 컴퓨터의 Computing Power가 급신장에 급신장을 거듭하므로, 앞으로도 그리 비관적이지는 않을 것입니다. 더구나, 소위 말하는 Quantum Computing도 조만간 구현될 것이라고 하므로, 앞으로도 괜찮을 것으로 전망하고 있습니다.
제가 드린 글 중에서, 어디 단 한 줄도 김종우 형제님의 근사 계산에 하자가 있다는 말을 한 곳은 없습니다. 김종우 형제님께서 예로서 말씀하신 그런 계산법들은, 고등 미적분학 (Advanced Calculus) 그리고 수치해석 (학부 4학년 혹은 대학원 수준)의 교과서에 그 이론적 뿌리가 있는 내용들이 대부분인 줄로 알고 있습니다. 언급할 필요도 없겠습니다만, 연구자들이 나름대로 개발한 새로운 방법들이야, 이런 교과서에는 아직은 없겠죠.
요약하여 말씀드리면, Digiral Computer를 사용한 수학적 계산에는 크게 두 가지 접근이 이제 가능합니다.
2. 이러한 정확한 계산의 수행이 불가능 할 때에, 실시하는 근사 계산. 그 대표적인 예가 바로 아주 오래 된 Newton의 방법에 의한 1변 다항식의 근사해를 구하는 방법.
오로지 4칙 연산만 가능한 컴퓨터의 계산과 관련하여 수학적인 관점에서 볼 때에, 수학적 계산을 수행할 때 먼저 위의 제 1항에서 언급한 정확한 계산 방식으로 할 수 있는 데 까지 계산을 수행한 한 후에, 더 이상 정확한 계산을 할 수 없는 상황이 나타나면 비로소 근사 계산을 시도하는 것이 타당함에도 불구하고, 지난 20세기 중반을 거치면서 거꾸로 근사 계산이 먼저 이공계 제 분야에 보편화 된 셈입니다. 그러나, 수학적 입장에서 볼 때에 근사란 "실제로 정확한 계산을 할 수 없을 때"에 동원하는 이차적인 방법임을 아는 것은 중요합니다
컴퓨터는 나누기도 특별한 경우가 아니면 정확하게 하지 못하는 계산 도구임을 잊지 말아야 할 것입니다. 예를 들면, 0.3333은 절대로 3의 곱셈에 대한 역원이 아니니까요.
대신에 컴퓨터가 1/3 이라는 숫자를, 그 정의에 따라, 3에 곱해 주면 1이 되는 그러한 숫자임을 알아 본다면, 훨씬 더 계산 오차 걱정할 필요가 없는 정확한 수학적 계산을 잘 수행할 수 있을 것입니다. 컴퓨터로 수행하는 계산, 즉 수치해석적 근사 계산 방식 과 정확한 계산법인 Symbolic Computation 에 관한 중대한 차이점에 언급을 하였는데, 이 글을 읽으시는 모든 분들에게 도움이 되었으면 합니다.
위에서도 말씀드렸지만, 작금에 이르기까지 여전히 대부분의 이공학 전공하신 분들이 위의 제 2항에 언급한 수치해석적 근사 계산만을 Digital Computer가 수행할 수 있는 수학적 계산으로 알고 계시는 듯 합니다만, 사실은 그리이스 시대의 유클리드의 호제법을 일반화한 연립 비선형 방정식의 풀이를 가능하게 해 주는 알고리즘의 발견 (유클리드의 호제법 이후 2500여년만의 대 발견입니다) 은 방정식의 정확한 해를 구하는 것이 주 목적인 "대수학의 꽃"으로서, 앞으로 세월이 가더라도 영원히 살아남을 매우 중요한 알고리즘입니다.
참고입니다만, Digiral Computer의 이론 (즉, CPU의 내부에서의 연산 장치의 구동과 관련한 데이터 처리 방식)을 개발하였고 또 수치해석적 계산에 Digital Compute의 응용을 가능하게 하기 위하여 수학적 근사 이론(Approximation Theory)을 개발한 폰 노이만의 따님이 IBM의 연구 개발 담당 고위직을 유지하였던 것 (부사장까지(?))으로 기억이 됩니다.
사족입니다만, "순수 수학" 및 "계산 수학(Computational Sciences)"과 관련한 이런 이야기를 올리는 게시판이 굿뉴스 서버 어디 한 곳에 개설되면 참 좋을 것 같습니다..^^ 심심할 때에 여러 분들의 읽을꺼리로 한 개씩 올려 드릴 것들, 제 머리 속에 많이 있으니까요..^^
이제 점심 식사 한 후에 강의 들어가야 할 것 같습니다.
김종우 형제님께도 도움이 될지도 모르겠는데
-----------------------
김종우( (2006/09/19) : 이제 IBM(이미 버린 몸(=게시판)^^)이 되었으니 계속 질문을 드리겠습니다. 말씀하신 CAS로 최적화 계산이 가능한지요? 저도 IEEE를 조금 보는 경우가 있지만 그동안 미분 최적화가 많이 쓰인 것 같고 제가 이야기하는 메타-휴리스틱 최적화도 이미 10년전부터 아예 하나의 저널 (IEEE Transactions on Evolutionary Computation)로 독립하여 세계각국의 대학원 과정에서 많이 연구되고 있으며 교과서도 좀 나와 있는 것으로 알고 있습니다.jsbach)
또한 지금까지 연속치에 관해 이야기했지만, 조합최적화의 문제는 이산치의 문제가 되므로 이때는 정확한 값을 가지고 계산을 하므로 이 역시 근사계산이라는 용어가 성립하지 않는 것 같습니다.
또한 오차 측면에서, 아무리 소수점이하 저멀리 정확히 설계를 했더라도 그것을 구현하는 과정에서 오차가 따라 붙으니 그 노력이 수포로 돌아갈 수 있고, 하여간 수배/수십배의 노력을 들여 상대오차로 0.0001정도 더 정확히 계산한다고 하여도 경제학 측면에서 Cost & Benefit Ratio를 생각하면 그 의미가 퇴색될 것입니다.
나아가 장차 combinatorial explosion이나 curse of dimensionality가 어느정도 극복될지 몰라도, 아마 그때쯤되면 지금은 아예 손도 못대고 있는 문제들에서 대두되어 다시금 같은 문제가 반복될 수도 있을 겁니다.
제가 실제로 Exact 해법이라고 하는 Branch & Bound을 사용하여 40bit on/off문제를 풀어본 결과 메타휴리스틱 (이때는 존재여부에 대한 binary를 사용하므로 "근사"계산이 아니라 "정확한" 계산이 되겠죠)이 훨씬 짧은 시간동안에 더 좋은 결과를 얻었습니다.
위의 결과는 Lecture Notes in Computer Science에 실렸으며 저의 최초글에 포함된 사이트에서 찾으실 수 있습니다.
--------------------------
(2006/09/19) : 공학 분야에서 와 같이 실질적인 문제에 들어가면, 대개가 local 현상을 다루므로 소숫점 4 - 5 자리 정도면 꽤 정확한 계산값을 근사로 구할 수 있어, 공과의 입장에서는 근사 계산법이 매우 유효한 방법입니다. 그러나, 편미분 방정식의 근사적 풀이가 아니라, 천체에서 날라오는 미지의 우주선들의 정체를 규명하려고 하면, 우선 지속적으로 굉장히 큰 숫자를 정확하게 Count 하여야 하므로, 수치해석적 근사 계산 하는 방식으로는 불가능 할 것입니다.
이와 같이 Counting과 관련된 수학은 당연히 Combinatorics 관련 계산은 근사 계산이 아니죠.. 바로 이때에 사정에 따라서는 4000 자리 혹은 그 이상의 숫자를 계산하여 할 필요성도 나옵니다. 이 때 기존의 근사 기법으로는 잘 안되는 줄로 알고 있습니다. 이 때에는 Symbolic Computation Based Approximation을 시도하면 될 것입니다.
제가 위에 드린 Quiz 가 내포하고 있는 이론은 Combinatorics 계산입니다. Symbolic Computation이 꼭 필요한 순간이고요.
4칙 연산을 사용하여, (컴퓨터 뿐만이 아니라) 우리가 수학 계산적으로 정확하게 다룰 수 있는 함수는 다항 함수 뿐이므로, 수치해석 분야에서도 주어진 함수를 (보통 infinite field 위에서의) 다항 함수로 근사하고 또 유리수 등의 숫자도 근사치로 잡고 하여, 그 다음부터는 전혀 근사로 인한 오차가 발생하지 않도록 최선을 다하여 Exact Computation을 하려고 하는 셈입니다.
수치해석적 근사 계산 방법과 Fortran, C 등의 언어를 사용하여, 주어진 자연수 n 에 대하여, 다음의 주소에 있는 Rademacher의 공식의 값 (자연수 값)을 정확하게 계산해 보도록 하세요. 기존의 수치해석적 방법으로는 해결하기 힘든 문제들이 있음을 곧 알게 될 것입니다.
또 시간이 있으면, 다음의 다항식의 계수들을 수치해석적 방법을 동원하여 정확하게 모두 구하려고 해 보세요. 아마도 여태까지 경험하지 못한 새로운 계산 경험을 하게 될 것입니다.
(1+x)*(1+x+x^2)* *** * (1+x+x^2+ ...+ x^300)
다시 한 번 말씀드리면, 다루는 숫자를 소숫점을 사용하여 근사하여 입력으로 잡고 하는 계산은, 숫자들의 계산과정에서 허용 오차의 범위 내에 다루는 숫자들이 모두 잘 머물러 있어야 하므로, 이러한 계산은 모두가 근사 계산이며, 근사 계산을 통하여 emprically 아무리 좋은 결과를 얻었다 하더라도 수학적으로 증명이 되지 않은 결과는, 공학자들에게는 의미가 있겠지만, 수학자들에게는 큰 의미가 없는 줄로 알고 있습니다.
제가 언급한 "근사"라는 단어에 대한 정의는 수학 분야에서 일반적으로 통용되고 있는 정의로서, 김종우 형제님께는 의미가 없겠지만, 수학자들에게는 매우 중요한 정의인 줄로 알고 있습니다.
예를 들어, 2의 제곱근을 1.414로 근사하였다고 합시다. 1.414 의 제곱이 얼마인지를 물으면, 1.414 X 1.414 를 계산하여 (숫자 2가 아닌) 틀린 답을 말하는 학생도 있겠고, 또 애초에 2를 근사한 숫자가 1.414 이니, 이 수의 제곱은 2 이다 라고 대답하는 학생도 있을 것입니다. 공과 소속 대학생들은 앞의 "틀린 답"에 만족해 할 것이나 수학을 전공한 학생들은 두번 째의 "정답"에 만족해 할 것입니다.
물론 수학과 학생의 경우에는 실제로 1.414 X 1.414 계산을 하려고도 하지 않을 것입니다. 그리고 정확한 계산이 무엇인지에 관한 이런 문제는 어떤 특정한 분야에 컴퓨터를 사용하여 계산하느냐에 따라 사라지는 문제가 아니므로, 학문 영역상 전통적으로 수학 분야에서 연구하고 또 취급하는 줄로 알고 있습니다. 전통적으로 수학이라는 학문 분야의 힘은 "증명력"과 정확한 "계산력"에 있으니까요.
아! 저 위에 영문 오타가 한 개 있군요.. 급하게 치다 보니 i 글자가 먼저 퇴근한 모양입니다..^^: emprically --> empirically
저의 연구 분야가 아니라 문외한이지만, 최적화에 대하여 질문을 주셔서 구글로 검색을 하였더니, 결과는 다음과 같습니다.
검색 결과를 보니 최적화 문제에 Maple 을 사용하여 근사 및 정확한 계산을 다 수행하는 모양입니다.
Symbolic Computation 의 장점과 Numerical Computation 의 장점을 다 활용하려면, Maple, Mathematica 등의 CAS를 사용하면 될 것입니다. CAS를 사용하여 최종적으로 계산의 결과를 얻고 나서는, CAS 제공 프로그램 코드를 C 혹은 Fortran 등의 코드로 Compact 하고 또 Optimal 하게 Conversion 해 주는 기능도 이들 CAS에 내장되어 있는 줄로 알고 있습니다.
Symbolic Computation 과 Numerical Computation 두 기법의 장점을 섞어서 잘 활용하면 계산 속도를 줄일 수도 있으므로, 김종우 형제님의 Harmony Search 기법을, CAS를 사용한 최적화에도 시도해 볼만하지 않나.. 하는 생각입니다.
특히 위의 Symbolic Computation 기반 p(n)의 계산 과정에서 이들 두 방법을 잘 섞어 활용하여, 실제 계산 시간을 현격하게 줄일 수 있었습니다. 예를 들어, 다른 숫자 때문에 1/3 을 소숫점 아래 4000 자리까지 floating point 계산 할 필요 없이, 1/3 그 자체를 기억하고 있다 사용하는 것을 Symbolic Computation은 항상 가능하게 하니까요.
------------------------
김종우( (2006/09/19) : 상세한 해설 감사합니다. 말씀하신대로 "근사"라는 단어는 제게 큰 의미가 없지만, 일전의 질문에서는 큰 의미가 있었습니다. 조합방법은 근사계산이 아니라고 하셨는데, 제 Simulation지 논문을 읽어보셨기에 질문도 주신거겠지만 알고리즘이 본래 조합의 구조로 출발하였으니 결국 근사계산이 아니라는 이야기가 되는것 같습니다.jsbach)
아무튼 이 기회를 빌어 기호를 사용하는 계산에 관심을 갖게 될 것 같으며, quantum computing이나 parallel computing쪽에도 관심을 갖게 될 것 같아 아주 "건설적"인 문답이 되었다고 생각합니다. 감사합니다.
-------------------------
하도 시달리는 일이 많아, 김종우 형제님의 Simulation지 논문은 아직 읽어 보지 못하였습니다. 혹시 제 이야기가 형제님의 연구의 방향에 영향을 줄 것 같아 많이 자제하였는데, 지금 그런 방향으로 가고 있는 듯 합니다만, 아무쪼록 연구에 좋은 성과 있기를 바랍니다.
그런데, 나중에 CAS 기반 Harmony Search 최적화가 잘 되어, 제가 연구 개발한 수치 해석적 근사 계산 및 Symbolic Computation 을 섞어 병렬화 하는 매우 포괄적인 방법인 Algebraic Parallel Computing Scheme 을 적용할 무렵이 되면, 함께 공동 연구도 할 수 있을 듯 합니다. 제가 어디 가는 것 아니니, 시간을 두고 생각해 보시기 바랍니다. 끝으로, 다음 부터는 이런 공개 게시판이 아니라, 저에게 메일로 연락을 주면 더 없이 좋을 듯 합니다..
빠뜨린 것 한 가지.. 세월이 좀 된 일이지만, Mathematica의 경우 Automatic Precision Support 기능에 문제가 있어, 영국의 수학자 한 분이 이 기능을 믿고, p(1000000)의 값을 계산 하다 낭패를 본 적이 있습니다. 또 Mathematica는 Source Code를 공개하지 않기 때문에, 가능하면 Mathematica는 사용하지 말 것을 권합니다. Reduce나 Maple을 사용하도록 하세요. 제 경우에 있어, 교육시에는 Maple을 사용하나 연구시에는 Reduce를 주로 사용합니다.
--------------------------
김종우( (2006/09/20) : 물론 tutorial도 잘하시겠지만 lecture가 더 훌륭하신 것 같은 느낌입니다. 아예 답글을 하나로 묶어주시고 제 글까지 친절하게 하일라이트를 해주셨는데, 제가 원하는 하일라이트 방향은 아니지만 토를 달지는 않겠습니다. 하지만 기왕에 답글을 묶어주실거면 뒤에 빠져있는 최초의 답글도 묶어주셔야 chronical order가 될 것 같습니다. 감사합니다.jsbach)
그리고 제 답글중 CAS 최적화와 관련된 한문단이 빠진것 같네요 (CAS 최적화는 아직은 제약조건이 tricky하지 않고 연속변수를 가진 ideal 상태에 적당한 것 같네요. 만약 더 almighty해진다면 IEEE 등에서 응용이 많이 되리라 기대해 봅니다). 기왕에 묶어주실거면 빠짐없이 부탁드립니다.
참고로 키워드로 찾아본 SCI에 등재된 논문편수는 다음과 같습니다. 기호를 사용한 계산관련 (Symbolic Computation = 995; Computer Algebra System = 381) 현상모방 알고리즘 (Genetic Algorithm = 12,501; Ant Colony = 525) 그리고 제 알고리즘은 아직 Harmony Search = 11 이네요^^
만약 두분야를 접목한 Hybrid 알고리즘이 가능하다면 Synergy 효과를 낼 수 있을 것도 같은데 차후에 많은 도움을 부탁드리겠습니다. 감사합니다.
---------------------------
수채해석적 근사 계산이 이공계에 널리 알려진 정도 및 그 기간에 비하여, Symbolic Computation (Exact Computation)이 계산적 실험의 영역을 대폭 넓혀 줄 수 있다는 것이 이공계 연구자들 사이에 알려지기 시작한 것은 비교적 최근의 일이라 생각하면 맞을 것입니다. 그리고, 연립 비선형 방정식의 풀이법 이론에 대하여 여전히 많은 분들이 모르고 계십니다. 하긴, 공과에서 교육 받은 분들의 경우에 이론을 이해하는 데에 상당한 어려움이 있을 것입니다.
----------------------------
김종우( (2006/09/20) : 한가지만 확인하고 싶은게 있습니다. "SYMBOLIC COMPUTATION"은 1965년 SCONZO P et al. "SYMBOLIC COMPUTATION OF F AND G SERIES BY COMPUTER" ASTRONOMICAL JOURNAL 70 (4): 269 부터 1,006 (그사이에 추가되었네요)편이 등재되었고 제가 지금껏 얘기한 현상모방 최적화알고리즘 (기본적으로 이산치를 쓰므로, 근사계산을 하는 수치해석과는 좀 다르죠)은jsbach)
1987년 PETTIT EJ and PETTIT MJ "ANALYSIS OF THE PERFORMANCE OF A GENETIC ALGORITHM-BASED SYSTEM FOR MESSAGE CLASSIFICATION IN NOISY ENVIRONMENTS" INTERNATIONAL JOURNAL OF MAN-MACHINE STUDIES 27 (2): 205-220부터 12,633편이 나왔네요.
즉 논문량으로 12배정도 차이가 나고, 기간을 고려하게 되면 27배로 더욱 차이가 나는것 같은데요. 아무튼 말씀해주신 비선형 연립방정식과 관련해서는 제 전공의 유체 네트워크 계산시 선형화해서 푸는 방법이 있는것으로 아는데 오래되서 기억이 잘 나지 않네요. 옛날사람들은 어떻게 비선형 연립방정식을 풀었는지 궁금해지네요.
-----------------------------
옛날 사람들은 특별한 경우가 아니면 정확한 해를 구할 수가 없었고, 하도 정확한 해를 구하는 것이 어려우니까 근사해를 구하는 기법을 개발한 모양입니다. 즉, 수치해석적 방법이죠. 엄밀하게 수학적 중요성을 두고 볼 때에, 1965년의 연립 비선형 방정식을 풀어 주는 알고리즘의 발견은 정말로 대단한 일입니다. 4칙 연산으로 수행할 수 밖에 없는 계산에 관한 한, 근사 계산과 정확한 계산 둘 뿐인데, 다들 근사 계산에 너무 익숙해 있어 정확한 계산이 어떤 것인지 잘 느끼지도 못하는 듯합니다.
엄격한 존재 증명을 요구하는 기초 학문 분야의 논문 편수와 응용 학문 분야의 논문 편수는 보통 10 : 1 혹은 그 이상으로 차이가 날 것입니다. 전혀 새로운 현상이 아니죠.. 연립 비선형 방정식의 풀이법은, 유클리드의 호제법 알고리즘의 일반화로서, 호제법 이후 2500여년 만에 발견된 매우 중요한 알고리즘입니다. 예를 들면, (복소수 계수로 가지는) 주어진 다변 다항식이 다변 다항식 환의 어떤 (즉 주어진) Ideal I 의 원소인지 아닌지를 알고리즘적으로 판별할 수 있게 해 주는 알고리즘입니다.
기본적으로 이산치를 쓰더라도, 다루는 이산치 숫자 자체에 소숫점이 들어가 있으면 근사계산을 하고 있는 것입니다. 그리고 언급한 최적화 기법들 중에는 Symbolic Computation의 장점과 수치해석적 근사 기법의 장점을 다 사용하고 있는 방법도 있을 것으로 생각됩니다. 여태까지 그런 분야가 없었다면 저로서는 납득할 수 없습니다.
생각을 해 보세요. 여러 학문 분야 중에서 엄격한 증명을 요구하는 분야는 수학 분야 뿐인데 반하여, 공학 박사학위를 받은 분으로서 근사 계산을 하는 분들은 상대적으로 엄청나게 많으니까, 당연히 논문 편수에서는 그렇게 현격한 차이가 나는 것이 정상입니다. 그러나, 수학을 전공한 분이 "증명 혹은 증명과 관련된 내용이 없는 논문"을 수학 논문이라고 주장하면, 수학자로 고등 교육을 받아 박사학위를 취득한 분들은 그냥 피식 웃고 끝냅니다.
그리고 저와는 상당히 견해가 다른 부분이 하나 있는데.. "건설적"이라는 기준이, (나에게 유익함에 있다기 보다) "주님 보시기에 합당함"에 있는 것이 평소 제가 가지고 있는 기준입니다. 물론 저의 기준에 동의하지 않는 분들도 계시겠지만.. 하여튼 저는 그렇게 살려고 최선을 다 하고 있습니다.
--------------------------
김종우( (2006/09/20) : 제가 주로 응용하는 분야는 변수에 소수점이 없거나 존재여부(binary)를 따지는 문제이므로 주장하신 근사계산이 아닌 것 같습니다. 또한 제가 알기로 증명을 주로 하는 순수수학도 있지만 기호계산이나 수치계산은 공학적 응용에 더 관심이 있는 응용수학분야이므로 아마 DB를 찾아보면 논문역시 증명보다는 응용관련으로 많이 실렸을 것으로 생각합니다.jsbach)
또한 공학이란 자연과학의 원리에 경제성을 도입한 학문으로서, 공학의 관심사는 증명이 되느냐마냐의 문제가 아니고 얼마나 사회적으로 유용한지 일겁니다. 이런 관점에서 저의 최적화연구는 주로 가장 적은 비용으로 요구되는 수준을 만족시키는 설계를 찾는 것입니다. 비록 개인적으로 돈을 많이 벌지는 못하지만 사회적으로는 부를 축적하게 해주는데
이런 의미에서 단정적으로 말씀하신 "나에게 유익함이 있다"는 재고되야 하지 않을까 생각합니다. 저는 오히려 사회적 유익보다 증명에 더 관심있는 수학자들이 더 개인적이라고 그동안 생각했기 때문입니다.
또한 거듭 말씀드리지만, 저는 어떤 말을 할때, 형제님처럼 디지털적이고 단정적으로 사고로 하지 않고, 아날로그로 생각합니다. 나에게 좋기도 하지만 결국 사회에도 유익이 될 수 있는 누이좋고 매부좋은 의미의 "건설적"이 되는 것입니다. 그것이 하느님이 주신 달란트를 땅에 묻지 않고 자꾸만 이용하는 것이 될 수도 있겠죠.
아무튼 저도 수학분야에서 논문내는 것은 응용이나 실험분야에서 내는 것보다 어렵다고 들었습니다. 이제 어느정도 충분한 논의가 된 것같으니 머리를 식히는 의미에서 제가 불렀던 바흐의 Ich habe genug (저는 충분합니다)을 들려드릴까 합니다. http://myhome.naver.com/zwgeem/music/bwv82.mp3
----------------------------
학제간의 연구가 말 같이 그리 쉽지 않은데.. 바로 이런 문제 때문일 것 입니다. 즉, 이제 김종우 형제님께서 근사와 근사 계산에 대하여서는 수학적으로 정확한 계산과 어떠한 차이점이 있는지를 의미를 이해하기 시작한 듯 하여, 저도 만족스럽습니다. 그러나, 근사를 하지 않을 수 없게 하는 극한의 수학적 의미, 더 나아가 함수의 연속에 대한 수학적 의미는 모르실 것으로 추측되어 드리는 말씀입니다만, 말씀 중에 연속 운운하는 표현 또한 신중을 기할 부분이 있을 듯 싶습니다.
이에 반하여, 제가 드리는 수학적 용어의 정의와 그 의미는, 제 개인의 생각이라기 보다는 수학을 전공한 분들이라면 공히 알고 계신 그러한 내용 혹은 저와 유사한 분야를 전공한 분들이라면 익히 들어 알고 있는 내용을 말씀드렸던 것인데, 그것도 저를 위하여서가 아니라 질문을 던진 형제님을 위하여, 이런 것 말씀드리는 저를 두고서 "단정적"이라고 언급하는 것은 상당히 부적절한 듯 싶습니다.
대다수의 수학 전공자들과는 달리, 저는 공과에서 9년 동안 잔뼈가 굵은 관계로, 공과 소속 교수들과도 대화가 매우 잘 되는 편인데, 여태까지 저와의 대화가 이렇게 어려운 분이라면, 수학만을 전공한 다른 분과의 대화는 정말 힘들 것 같아 보입니다. 특히 이번의 형제님이 시작한 최초의 글에서,
오로지 형제님의 판단에 의하여, 생면부지인 저의 전공을 단정적으로 언급 한 것부터가 "건설적"이지 못한 것이었습니다. 또한 사회적으로 유용한 것일 수록 "건설적"이라는 형제님의 판단도 역시 매우 주관적이라, 건설적인 대화를 유지함에 그리 "건설적"이라 보이지 않습니다. 말씀하신 "사회적인 부"가 무슨 뜻인지 잘 모르겠습니다만, 형제님의 기준에 따르면, 사회적인 부를 창출하지 못하는 업종에 종사하시는 모든 분들은 "건설적"이지 못한 삶을 살고 있다는 이야기로 들려, 거북하게 생각하실 분들이 좀 계실 듯 합니다.
예를 들어, 성직자 (사제, 수도자 포함)들은 "건설적"인 일에 종사하고 계신 분들인지요? 또 각 본당에서 열심히 봉사에 임하고 계신 평신자들은 "건설적"인지요 아니면 "비건설적"인지요? 글쎄요.. "사회적인 부"를 창출하기 위하여 신앙생활을 한다? 또 하느님께서 주신 탈란트를, 형제님의 주관적인 "건설적"이라는 기준에 부합되지 않으면 그 탈란트를 땅에 묻는다고 주장하는 것 또한 별로 "건설적"이지 않은 듯 합니다.
"나에게도 좋고 또 사회에도 유익한 것"이, 즉 이 같은 형제님의 주관적 기준을 의미하는 "건설적"인 것이, 어찌하여 "반드시" 하느님께서 주신 탈란트의 결과물이 될 수가 있는지 궁금하지 않을 수 없습니다.
-------------------------
김종우 (2006/09/21) : 우선 지금현재 응용쪽에 수학을 하시며 학제간의 연구에 관심이 있는 다른 수학자분들과는 힘들지않게 교류가 있는 관계로 처음 세문단의 추측은 꼭 맞는 이야기는 아닌 것 같습니다. 그분들은 제가 모르는 이야기보다 아는 이야기 위주로 말씀하시더군요.
그리고 4번째 문단에서 제가 "건설적"이라고 사용한 용어는 다중 의미를 가지며, 그중 하나는 제 전공이 "건설"이고 따라서 알고리즘이 적용되는 부분이 infrastructure를 시스템의 요구조건을 만족시키며 가장 경제적으로 설계하는 것인데, 비록 방법론을 제시하는 저는 논문이 한편 추가되는 것이겠으나 그것을 이용하는 정부나 공기업등에서는 막대한 예산의 상당부분을 절감시킬 수 있을 겁니다.
4째문단이후를 살펴보면, 소형제님께서는 어느하나의 집합을 만드신 후 그것에 맞지 않는다면 무조건 여집합으로 모시는 경향이 있으신 것 같습니다. 또한 처음의 집합을 만드는 과정도 너무 편협하게 축소하신 것 같습니다.
만약 제가 "건설적" vs "비건설적"을 나눈다면, 예를 들어 수학자들이 라스베가스에 가서 도박으로 돈을 많이 딴다면 "비건설적" 집합에 들어갑니다. 그리고 이것의 여집합은 광의의 의미에서 "건설적"이구요. 하지만 합집합안에서 꼭 이 한가지의 가치만 존재한다고 생각치는 않습니다. 어떤사람은 "증명"이 최고의 가치가 될 수도 있겠죠. 이제 제 본뜻을 이해하시겠습니까?
여기서 제가 이야기하는 집합은 전통적인 것이 아니라 fuzzy set에 가까운 것으로서 기본적으로 원소가 확률을 가지고 있으며 주제로 묶이는 것입니다.
참고로 수학은 간결하고 한번 거론된 이야기는 다시 거론하지 않는 것으로 알고 있는데 거듭 같은 이야기가 반복되는 경우가 있는 것 같습니다. 그리고 editing을 하실거면 fair하게 하셔야지 취사선택을 하시면, 하느님의 정의로는 모르겠지만, 인간의 정의상 용납이 안될 것 같으며, 제 글에 대한 하일라이트역시 원하지 않는 방향으로 하시는 것 같으므로 아예 제거해주시면 더 fair할 것 같습니다.
저는 나름대로 "건설적"인 면을 추구하려고 시작했는데, 이제 그 반대의 방향으로 가는 것 같아 대단히 죄송하게 생각합니다. 이 유한급수 (설마 무한급수는 아니겠죠?)가 어디까지 갈지 모르겠으나, 아무튼 그간의 문답에서 "건설적"인 부분은 형제님의 "공"으로 돌리고 그렇지 못한 부분은 저의 "과"로 생각해주십시오. 감사합니다.
-----------------------------
"살다 보니 이런 기막힌 소리도 다 듣기도 하는구나.."하면서도, 다른 한 편으로는, 같은 신앙고백을 하는 교우님 또 성음악 봉사자인 분인 점을 십분 감안하여, "몰라서 그런 것 어떻하겠나.." 하는 자세로 참으로 인내하면서, 중간에 편파적으로 제가 올린 답글 2개 중 한개가 지워지는 수모를 겪으면서도, 형제님께서 아실 것은 아셔야 할 것 같아 근사와 근사계산 그리고 Exact Computation에 관하여 설명을 드렸던 것입니다. 이들의 차이점을 구별하지 못하는 분들이 이공계 분야 종사자들 사이에 너무도 많은 점이 안타까워서..
인내하면서 드린 이들 두 계산의 근본적인 차이에 대한 설명에 한편으로는 감사하다면서도, "단정적"이니.. "Digital 적"이니.. 라고 당치 않는 표현하는 것으로 보아, 사람의 눈 뿐만이 아니라, 주님보시기에도 상당히 교만한 분이 형제님인 것 같습니다.
형제님께서는 주신 첫 번째 글의 두 번째 절에서, 다음과 같이 언급하셨습니다. "우선 소순태님의 최근 글을 읽어보니, 너무 어려워서 이해가 잘 되지는 않지만, 상당히 신학적인 내용을 담고 있는 것 같습니다. 아마 소순태님께서 수학 (수치해석, 미적분)을 전공하셔서 그렇게 논리적인 글을 쓰시는 것 같은데, 한번 그 탁월한 능력을 좀 더 건설적인 부분에 사용하시면 어떨까 생각해서 펜을 들었습니다."
위의 표현에서, 제 전공분야에 대한 오판은 정상적인 수학 교육을 받지 못한 (혹은 않은) 분의 인간적인 실수라고 하더라도, 이 글의 다른 부분은, 신앙생활과 관련하여 당치 않게도 "건설적" 운운 하는 심각한 과오를 범하셨기에, 이 부분을 처음부터 제가 지적을 하지 않을 수 없었습니다. 김종우 형제님이 진실로 가톨릭 신앙인이시라면, 위의 최근 댓글에서와 같이 "건설적"이라는 표현에 대한 극히 주관적이고 또 아전 인수격 변명 대신에, 이런 어처구니 없는 "표현 미숙"에 대한 솔직한 사과를 하시는 것이 좋을 것 같습니다.
특히 온 몸과 마음을 다 바쳐 주님 섬기기로 서약하신 가톨릭 사제, 수도자 분들께 진실로 사과하셔야 할 것입니다.
----------------------------
김종우 (2006/09/21) : 이야기가 원점에서부터 다시 시작하는 것 같네요. 분명 전공을 단정한 점은 사과드렸고, 전공과 강의간의 강한 상관성이 존재할거라는 확률적 판단에 기인한 오해였다고 말씀드렸습니다. 그런데 제가 언제 "형제님이 모르는 이야기를 한다는 표현으로 고백"을 했는지 궁금하네요? 글 쓴 저도 모르는 이야기를 하시네요.
제가 "일천한 수학 지식"을 가진 것은 사실이지만 "살다 보니 이런 기막힌 소리도 다 듣기도 하는구나"일 정도로 엉터리 이야기를 하지 않았고, 제가 같은 이야기를 그동안 여러 저널에 썼지만 그부분에 대해서는 따로 리뷰어의 지적을 받지 않았는데, 만약 정말로 수학적 엉터리였다면 왜 그런지 "### 이 유 ###"를 알려주십시요. 다음 논문을 쓸때 정말 유용할 것 같습니다.
또한 공학자들의 관심사는 수학적 증명이나 이론보다도 사회적 유용성이라고 말씀드렸는데 굳이 전자를 못하기 때문에 안타깝다고 표현하시는 것은 독선과 아집이 아닐런지요?
그리고 제가 어떻게 감히 희생과 봉사를 하시는 성직자분들에게 누가 되는 이야기를 했다고 주장하시는지 모르겠습니만 혹시 만에 하나 그런부분이 있다면 그분들게 죄송하게 생각합니다. 마지막으로 아직까지 Fair Play가 되지 않고 있습니다. 신경써 주십시요!
-----------------------------
주님은 참으로 인자하시고 자비로우신 분이지만 또한 참으로 두려운 분이시므로, 그냥 두리뭉실하게 "공"은 누구의 것 "과"는 또 누구의 것 하면서 구렁이 담 넘어가듯 하여서는 정말 안되는 부분이라고 생각합니다.
형제님께서 수행한 연구에 대하여, "살다 보니 이런 기막힌 소리도 다 듣기도 하는구나" 가 아니라, 저에 대한 오판을 스스럼 없이 한 부분에 대한 표현이었으니, 더 이상의 자기 PR성 왜곡은 이곳에서 하지 마시기 바랍니다. 조금 전에 일어나 또 주신 댓글 읽고는 댓글 몇 개 드리느라 좀 늦었습니다.. 곧 요청하신 신경써 드리겠습니다..
------------------------------
김종우( (2006/09/21) : 제가 불완전한 인간이라 도를 넘는 이야기를 해서 죄송합니다. 해서 한때는 게시물을 다 지우려고 시도했는데 형제님의 동의가 없어 그렇게도 되지 않고 "기막힌 예제"로 남은 것을 아실겁니다.jsbach)
아무튼 이 게시판에서 비논리적이고 감정적인 부분은 제외하고, 형제님이 알려주신 유익한 이론과 정보를 바탕으로 앞으로 더욱 정진하도록 하겠습니다. 감사합니다.
|
||||