:: 게시판
:: 이전 게시판
|
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
18/10/30 21:48
전문 용어가 너무 많아서 무슨 소리인지 모르겠네요. 5 state turing machine이 뭔지, busy beaver number가 뭔지 알수가 없네요. 대중을 대상으로 하는거면 좀 더 풀어쓰셔야 될 것 같고, 전문가 대상이라면 게시판을 잘못 찾았다는 생각이 드네요.
18/10/31 00:13
제가 글쓴이에게 댓글달기는 싫은데, 한 마디만 하겠습니다.
모르는 수학으로 뭔가를 자꾸 느끼려고 하는데, 그러면 드럼의 파동함수에서 양자역학을 떠올리는 어떤 불쌍한 친구랑 다를 게 없어요.
18/10/30 21:49
전공자신가요? 전 그냥 수학 과학 교양서를 읽는 것을 좋아하는 사람인데, 정말 이해하기 어려운 이야기들이네요. 최근에 혹시 추천할만한 최근 교양도서가 있을까요?
가장 최근에 읽은 것은 네이글의 괴델의 증명, 존더비셔 리만가설 등인데요
18/10/30 23:01
간단한 설명(?)을 붙이자면, 튜링기계Turing machine이라는, 컴퓨터를 추상화한 것과 사실상 동등한 대상이 있습니다. 어떤 알고리듬으로 해결할 수 있는 문제는 튜링 기계로 해결할 수 있다 보시면 됩니다. 아주 간단히 얘기하면, 튜링기계는 정해진 규칙에 의해 무한한 길이의 테이프에 0 혹은 1을 쓰면서 앞뒤로 움직이다가 특정 조건이 되면 멈춥니다.
튜링기계는 작동 원리상 어떤 숫자(테이프에 남은)를 뱉고 멈추거나, 혹은 영원히 멈추지 않고 움직입니다. 정지문제halting problem라는 유명한 문제는, 임의의 튜링기계가 멈출지 멈추지 않을지를 결정하는 알고리듬(혹은 튜링기계)이 존재할 것인지를 묻습니다. 다른 표현으로는, "임의의 C코드를 입력받아, 그 C코드(를 컴파일한 프로그램)가 언젠가 멈춘다면 0, 영원히 돈다면 1을 출력하는 프로그램이 존재하는가?" (조잡한 표현이 있다면 전산학 관련자분들께 죄송합니다) 이 정지문제의 해답은 "그런 알고리듬은 존재할 수 없다"입니다. 이 증명은 다분히 추상적으로 이루어지지만, 실제로 어떤 프로그램(혹은 튜링기계)이 멈출지 아닐지는 아주아주 어려운 문제입니다. 가령, 유명한 골드바흐의 추측(4 이상의 짝수는 두 소수의 합으로 나타내질 것이다!)의 경우, 짝수들을 하나하나 조사하다가 반례가 나타나면 멈추는 프로그램을 프로그램(과 수학) 지식 약간만 있어도 작성할 수 있습니다만 그게 멈출지 아닐지는 판단하기가 아주 어렵습니다. 심지어, 현대 수학의 기반인 집합론의 ZFC 공리계에 모순이 있으면 멈추고, 없으면 계속 도는 프로그램도 작성할 수 있습니다. 그걸 돌린다면 아마 멈추지 않겠지만, 그 사실을 증명하는 것이 문제지요. 심지어 괴델에 의하면 ZFC 스스로 ZFC의 무모순성을 증명하는 것은 ZFC가 무모순이라면 불가능하니까요. (쓰면서도 무슨 소린지...) 수학의 많은 어려운 문제들은 이런 종류의 얘기들과 관련이 있다고 합니다. 군론group theory과 관계된 유명한 문제로 word problem 이라는 게 있습니다. 이것은, 아주 간단히 얘기하자면, 몇 개의 알파벳(우리의 경우 a, b, c를 씁시다)과 몇 개의 규칙(가령 aa=ab, bc=a라고 합시다)이 주어져 있을 때, 두 개의 단어word가 같은지 다른지를 판별하는 프로그램이 존재할지를 묻는 문제입니다. 가령 aac=abc=aa=ab 이므로 aac = ab라고 결론지을 수 있지만 사실 word problem을 해결할 프로그램은 없다는 게 알려져 있습니다. 이 밖에 본문에 있는 디오판토스 방정식, 즉 정수계수 방정식의 정수해를 찾는 문제도 일반적으로 "계산 불가능"한 문제입니다. 즉 그 문제를 해결하는 프로그램(혹은 알고리듬, 혹은 튜링기계)이 없습니다. 본문에 있는 4차원 다양체4-manifold의 분류 문제도 마찬가지입니다. 이런 종류의 문제를 모은 다음의 위키백과 링크 https://en.wikipedia.org/wiki/List_of_undecidable_problems 를 참조하셔도 좋겠습니다. 본문의 Busy beaver 함수라는 대상도 아주 재밌는 녀석인데 이는 특정 크기의 튜링기계(C 코드의 글자수로 보셔도 좋겠습니다)가 얼마나 오래 움직이다가 멈출지를 측정하는 함수라고 대략 이해할 수 있습니다. 즉 BBC(n) (busy beaver for C -_-)은, n글자 이하로 짠 C코드 중 "멈추는 것" 중 제일 오래 움직이는 코드의 작동 시간(사실은 튜링기계의 움직인 횟수)입니다. 재밌는 건, n이 증가하면 BBC(n)은 아주, 엄청, 무지막지하게, 미칠 듯이 빠르게 증가한다는 사실입니다. 가령 f(n) = 3^......^3 (3이 n번) 이런 함수는 우습게 따돌립니다. 이렇게 빠르게 증가하는 함수, 혹은 무지 큰 수들을 취미로 다루는 사람들이 다음 링크 http://googology.wikia.com/wiki/Googology_Wiki 에 모여 있습니다. 그러나 결국 어떤 프로그램이 멈출지 아닐지는 결정되어 있으되 계산할 수는 없기 때문에 busy beaver 함수는 잘 정의는 되지만 "계산 불가능"하다고 말합니다. busy beaver 함수는 모든 "계산가능한 함수", 즉 여러분들이 수식으로 써서 만들 수 있는 모든 자연수 함수보다 빨리 증가한다는 것이 알려져 있습니다.
18/10/31 00:40
저는 수학전공자가 아닙니다만, 명랑소녀님 댓글 읽고 인용문 부분이나마 이해하게 된 게 너무나 기쁜 나머지 나름대로 가독성 있는 버전으로 바꾸어 봤습니다.
저 같은 놈도 이해했으니, 아마 다른 분들도 명랑소녀님의 댓글에 이어 읽으시면 이해하실 수 있으실 것 같습니다. Q. 정수론은 왜 이렇게 어려운(non-trivial) 걸까요? 정수론의 규칙은 정말 단순하잖아요. 하지만 문제가 그렇게나 단순하게 서술되는 것에 비해 정작 해답을 찾기란 정말로 어렵습니다. 수학의 분야란 게 칼로 무 자르듯이 딱 나뉘는 건 아니지만, 많은 수학적 난제들이 정수론과 깊이 연관되어 있어요. 페르마의 마지막 정리, 골드바흐 추측, 소수 분포 문제, 괴델의 불완전성 정리 등등 말이죠. 수학자들은 정수론의 복잡성이 어디서 기원하는지에 대해 어떻게 설명하고 있나요? 이게 철학적인, 아니면 '메타 수학'적인 질문일 수도 있다는 건 저도 압니다. 하지만 전 좀 수학적인 설명을 듣고 싶어요. A. 괴델의 정리 그 자체보다는, 그 정리가 함의하는 바에 대해 얘기해 볼까 합니다. 그 정리가 출판된 1931년에는 이런 용어는 있지도 않았지만요. 바로 정수론은 그 자체로 이미 튜링 기계(universal computer)라는 사실입니다. 다시 말하면, 어떠한 방정식이 정수해를 갖는지 판별하는 것은 곧 임의의 컴퓨터 프로그램이 멈출지(halt) 판별하는 것과 동치라는 것이죠. 이걸 이해하셨다면, 다음으로 임의의 프로그램이란 게 얼마나 많은 일을 할 수 있을지 생각해 보세요. 이젠 정수론이 끝없는 복잡성을 가진 듯이 보이는 게 더 이상 놀랍지 않으실 겁니다. 물론 진짜 놀라운 건 다른 부분이긴 하죠. 페르마의 마지막 정리나 골드바흐 추측 같은 '진짜 단순한' 정수론 문제들조차도 엄청나게 복잡하다는 겁니다. 아홉 살짜리 우리 딸한테도 설명할 수 있을 만큼 단순한 문제인데도 말입니다. 아주 짧은 컴퓨터 프로그램도 말도 안 되게 복잡한 행동을 보일 수 있다는 현상이 널리 알려져 있는데요, 이건 그 현상의 정수론 버전이라고 할 수 있겠죠. 또 예를 들자면 모든 초기값이 0인 5-state turing machine이 멈출지 아닐지 예측하는 문제는 (역주: 그 단순함에도 불구하고) 아직 그 누구도 증명하지 못했는데요, 이건 우리가 5번쩨 Busy beaver number의 값을 (역주: 그 단순함에도 불구하고) 모른다는 것과 동치입니다. 아무튼 질문에 대한 제 대답은 이겁니다. 대부분 [선택 효과 (selection effect)때문]일 것이라는 겁니다. 사실 우리가 답을 아는 종류의 5-state turing machine도 아주아주 많은데, 전 위에서 그런 얘기를 하지 않았습니다. 또 10000-state turing machine 얘기 같은 것도 하지 않았죠. 왜냐! 그런 것들은 (설명하기 쉬운 정수론 문제도 풀기는 어렵다는) 제 논지와 관계가 없었으니까요. 그래서 답을 모르는 종류의 5-state turing machine 얘기만 한 거죠. 쉬운데도 못 푸는 문제니까요. 똑같은 이유 때문에, 유명한 정수론 문제들은 모두 설명하기는 아주 쉬우면서도 풀기는 아주 어려운 쪽으로 극단적으로 치우져 있게 마련인 겁니다. 사람들에게 발견되고 회자될 수 있을 만큼 단순했던 덕택에 지금 질문자께서 그 문제를 배우고 제게 물어보시게 된 거죠. 다른 관점에서 보면 이렇게도 말할 수 있습니다. 정수론 수학자들은, 연구를 하다 보면 자연스럽게 '복잡성의 최전선'으로 떠밀려갈 수밖에 없게 됩니다. 그러니까 연구 가치가 있을 정도로는 깊고 non-trivial하면서도, 괴델튜링의 똥구덩이에 빠져버릴 정도로 노답 개판 복잡하지는 않아야 한다는 뜻이죠. 예를 들어 보죠. 2차 디오판토스 방정식 (정수계수 방정식) 이 풀린 지는 아주 오래됐습니다. 그럼 다음은 3차겠죠? 3차는 타원곡선이랑 관계가 있습니다. 지금도 정수론에서 열심히 연구되고 있는 분야죠. 4차까지 가면 어떨까요? 축하합니다. 이미 괴델 불완전성 정리의 영역에 입장하신 겁니다. 정리하면 이렇습니다. 자명함의 나라와 불완전성의 나라 사이에 경계지대가 있습니다. 문제를 풀 수는 있긴 한데, 최신 이론들로 무장하고 한 백 년쯤은 달라붙어야만 비로소 문제를 풀 수 있는 그런 경계선 말이죠. 정수론이 가 닿을 수 있는 지점이 바로 거기까지라는 건 꽤 자연스러운 사실 아닐까요! ====== 진짜 쉬운 두 줄 요약: Q. 정수론은 왜 이렇게 쉬워 보이는데도 어려운 거죠? A. 정수론은 어려운 게 정상이구요. 그 중에서도 쉬워 보이는 문제들만 유명해진 거예요.
18/10/31 14:04
본문의 마지막에 직접 쓰신부분을 제 나름대로 해석하자면, 수학에서 증명된다는 것이 단지 어떤 사람의 머릿속의 만들어진 상상의 산물이 아니라 모든 사람들이 공유하는 내용이라는것에 대한 감상을 표현하는것 같습니다.
예를들어 현재 지구에서는 증명되는 명제가 저기 은하계넘어 외우주에서도 똑같이 증명될수 있다. 라는 명제를 생각해볼때 그걸 확신할수 있는 방법은 사실 마땅치 않습니다. 일종의 인식론적인 철학적 한계에 봉착하기 때문이죠. 그럼에도 불구하고 제 개인적인 믿음은 수학에서 추상적으로 만들어진 결과물은 시대와 공간을 초월하여 성립한다 입니다. 이런 제 믿음은 본문글에서 "내 정신은 내 뇌가 아닌곳에도 어느정도 있다" 라고 표현하신 부분과 통하는 구석이 있다고 보여집니다.
18/10/31 13:51
Mathoverflow 원문을 보고 한숨을 푹 쉬고, 직접 번역해서 댓글로 달아야하나 했는데, 먼저 해주신 분이 있었네요!!
감사합니다. 그리고 대단하시네요. 수학전공자인 제가 했어도 이거보다 잘하긴 어려웠을것 같네요.
|