중국판 ‘굿 윌 헌팅’

영화 ‘굿 윌 헌팅‘에는 정규 교육을 받지 않은 청소부 노동자가 현대수학의 난제를 풀어내는 장면이 나온다. 물론 영화의 핵심주제는 이게 아닌데, 수학전공자들은 영화가 전달하려는 메세지보다 영화 도중에 지나가는 칠판의 수식에 더 관심이 가게 된다-_-

YTN 기사[1]에 정규 고등수학교육을 받지 않은 택배 노동자 Yu Jianchun이 취미로 수학문제의 새로운 증명을 내 놓았다는 이야기를 봤는데, 제작년 기사인데 여태 몰랐네. ㅎ 기사 만으로는 증명의 구체적인 내용은 알 길이 없는데, mathoverflow에 약간의 정보[2]가 있다.

카마이클 수는 서로 소인 모든 base에 대해 Fermat’s little theorem의 역이 성립하는 합성수를 말하는데, 이 수가 무한히 많음이 증명되어 있다[3]고 한다. 몰랐는데 1994년에 풀렸다고 하니, 나름 비교적 최근에 해결됐구만.

이 무한성을 Yu Jianchun은 기존과 다른 방법으로 증명한 듯 하다. 증명을 쓴 종이의 일부가 CNN기사[4]에 나와 있는데, 중국어라서 본인은 모르겠지만 mathoverflow 댓글[2]에 이 부분을 누가 번역해 놓았다. 증명 전체를 영어로 번역하여 볼 수 있으면 좋겠는데 아쉽구만.

이번 결과는 (증명이 참이라는 가정하에) 수학계에서 이미 증명된 것을 다시 한 것이므로 매우 임팩트 있는 결과는 아니다. 게다가 Alford et al.[3]의 결과는 카마이클 수의 density까지 제시하고 있는데, 아마 Yu Jianchun의 증명은 모르지만 이보다 강력한 결과는 아닐 듯 하다. 그러나 그는 이번 증명을 인정받아서 crank[5]가 아니라는 걸 보였으니, 진짜 난제를 풀어 인정받기 위한 발판이 될 수 있을 듯 하다.

예전에 어느 환갑 넘으신 할아버지가 취미로 리만가설을 공부해서 뚫어보려고 나름 진지하게 연구하던게 생각나는데[6], 내용이 맞는지는 모르겠지만 결국 이 분도 지쳐서 포기하셨다. 리만가설은 좀 너무했고, 약간 덜 어려운 문제부터 풀고 인정을 받아서 도전했으면 지치지 않고 좀 나은 결과를 냈을지도 모를 일이다. ㅎ

재야에 숨은 현자 이야기는 언제나 흥미롭다. 일전에 Cleo의 이야기[7]도 했지만, 라마누전의 전례 때문에 이런 관련 이야기는 잊을만 하면 한 번씩 나오는 듯-_-

아마추어가 난제를 해결할 가능성에 관해서 Gowers 선생의 저서[8]에 나름 합리적으로 잘 설명하고 있다. 논리적으로는 아주 불가능하지는 않은 이야기지만, 현대수학의 대부분 영역은 기본적으로 난제의 이해까지 도달하는 데만 상당한 노력이 필요하므로, 실질적으로는 불가능하다. 그나마 필요한 배경지식이 상대적으로 적은 일부 정수론 문제에서 가능성이 있긴 한데, 이 조차도 선대에 해놓은 작업량이 나름 상당하므로 쉽지는 않을 것 같다. ㅎ

.


[1] YTN 취미로 풀었는데…어려운 수학문제 새로운 증명 제시 2016-07-18 21:51
[2] What did Yu Jianchun discover about Carmichael numbers? (mathoverflow.net)
[3] W. R. Alford; Andrew Granville; Carl Pomerance (1994). “There are Infinitely Many Carmichael Numbers”. Annals of Mathematics. 139: 703–722. doi:10.2307/2118576
[4] CNN China’s ‘Good Will Hunting?’ Migrant worker solves complex math problem 0328 GMT (1128 HKT) July 18, 2016
[5] 내 백과사전 공급중시론자와 크랭크 2011년 12월 6일
[6] 리만가설 증명/ 김정건 ( Proof of Riemann Hypothesis by JG Kim, 2007 ) (blog.daum.net)
[7] 내 백과사전 Cleo : 인터넷 수학 현자 2017년 6월 28일
[8] 내 백과사전 [서평] 아주 짧게 소개하는 수학 2013년 2월 26일

인터랙티브한 수학 학습

거의 20년전에 Yugo Nakamura라는 인터랙티브 아티스트에 매료되어 그의 홈페이지와 작품을 자주 감상하던 시절이 있었는데, 지금 확인해보니 그의 홈페이지 주소[1]가 변경된 듯 하다. 과거에는 플래시로 만든 멋진 작품을 많이 봤었는데, 본인도 한 때는 플래시가 주류 플랫폼이 될 줄 알고 여러가지 매력적인 웹브라우저 상의 연출을 궁리했다. ㅋㅋㅋ 지금 돌이켜보면 완전 헛짓이 아닐 수 없구만. ㅋㅋㅋ

여하간 기술이야 어쨌든간에 사용자와 웹브라우저상의 상호작용은 시대를 통털어 매력적이라 단언할 수 있다. 아무 바이너리의 설치도 없이 즉시 뭔가 상호작용이 가능하다는 매력은 생각 이상으로 큰데, 텐센트가 근래 ‘샤오청쉬’라는 html5를 기반으로 한 플랫폼을 출시하여, os와 독립적으로 앱 생태계를 구축하는 모습[2]을 보니, 내 과거의 망상이 (모습은 다를지라도) 현실화 되는 느낌이다-_- 샤오청쉬의 위력에 대해 설명이 잘 돼 있는 이코노미 인사이트의 이번 달 기사를 읽어봤는데, 아직 웹상에서는 볼 수 없는 듯.

수학 선생들도 이런 비슷한 망상을 하는 사람이 좀 있는데, 대량의 문제 pool에서 문제를 자동적으로 꺼내오고, 학생이 문제를 맞추면 더 높은 단계로 나가고, 틀리면 유사문제를 끝없이 제시하는 형태의 자동화된 학습체계를 상상하는 선생들을 꽤 본 적이 있다. (개념을 제대로 가르칠 생각은 안하고, 문제를 대량으로 던져줘서 입시머신을 만드는 선생들이 선호하는 망상이긴 하지만…) 물론 하늘 아래 새로운 생각은 없고 이런 생각 자체는 하찮은 것이지만, 정작 생각하는 본인들은 자기 생각이 엄청 독창적이고, 특히 보안이 매우 중요하다고 생각들을 하시는 듯. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

해커뉴스[3]에서 인터랙티브한 수학 학습 사이트 소개를 하는 글[4]을 봤는데, 확실히 인상적이긴 하지만 사이트를 구축하는 노력에 비해 얻는 결실이 얼마나 가치가 있는지 생각해 볼 필요가 있다. 내가 아는 어느 선생도 수학문제를 스마트폰으로 자동으로 배포하는 플랫폼 개발을 시도하고 있던데, 개인적으로는 회의적이다. ㅎㅎㅎ 차라리 수학 어드벤쳐[5]가 나으려나-_-?

.


2018.9.13
이코노미 인사이트 생태계 구축 이어 수익 창출 2018년 09월 01일 (토)

.


[1] http://tha.jp/
[2] 연합뉴스 슬그머니 발 뻗는 中 텐센트…위챗에 앱스토어 유사 플랫폼 열어 2017/01/10 10:50
[3] Show HN: Interactive Calculus via LaTeX (hacker news)
[4] calculus 1 (ximera.osu.edu)
[5] 내 백과사전 Mathbreakers : 수학 교육용 3D 어드벤쳐 게임 2014년 4월 16일

세 번째로 비이성적인 수

수학에서는 rational이 유리수라는 의미지만, 원래 ‘이성적인’이라는 의미도 있어서, 이런 말장난하는 짤방도 있다. ㅋ

i : 이성적이 돼!
pi : 현실을 보라구!

어느 블로거의 What is the 3rd most irrational number? The answer will surprise you! 라는 글[1]을 봤는데, 처음에 이 제목이 무슨 말인가 한참 생각했다. ㅎㅎㅎ Diophantine approximation에 관한 글인데 무척 재미있으니 일독을 권함. 일전에 이야기한 Liouville number[2]와도 아주아주 조금 관련이 있다. ㅋ

.


[1] What is the 3rd most irrational number? The answer will surprise you! (extremelearning.com.au)
[2] 내 백과사전 리우빌 근사 정리 Liouville’s Approximation Theorem 2010년 3월 7일

에이다 러브레이스의 최초의 프로그램을 파이썬으로 구현하기

주요 메이저 프로그래밍 언어 중에서 오직 파이썬만이 상승세를 타고있다는 이코노미스트지의 기사[1]를 봤는데, 파이썬이 진짜 인기가 높긴 높은 것 같다. 뭘 했다하면 다 파이썬이다. ㅋ

에이다 러브레이스는 최초의 프로그래머로서 널리 알려져 있는 사람인데, 그녀에 대한 소소한 트리비아는 Sydney Padua[2]에 잘 나와있으니 참고 바란다. ㅎ Wolfram 선생이 와이어드지에 기고한 기사[3]에 전반적인 설명이 잘 돼 있다. 근데 글이 넘 길어서 영어 울렁증이 있으니 힘들다-_- 그녀가 기여한 업적이 과장되어 있다는 논란도 좀 있는 듯.

저번달에 그녀가 작성한 알고리즘이 담긴 책이 Moore Allen & Innocent 옥션하우스에서 95000파운드에 낙찰됐다[4]고 하는데, 아마 이 숫자는 해머 프라이스인듯 하고, 실제 지불가격은 114,000 파운드라고 한다.[5] 일반적으로 옥션에서 물건이 거래되면 해머 프라이스에서 바이어 프리미엄으로 10~30%를 더 지불한다. 초 비싸네 ㅋㅋ

그런데 그녀가 작성한 그 최초의 ‘프로그램’은 무엇을 하는 계산인가? 계산 절차를 작성한 노트가 여러 장이 있는 모양인데, 그 중에 note G에 있는 베르누이 수를 계산하는 절차가 최초의 프로그램으로 인정되는 것 같다. 근데 어떤 절차로 베르누이 수를 계산하는 건지 원본 노트를 암만 봐도 이해가 전혀 안 되던데, 이 절차를 파이썬으로 구현한 사람이 알고리즘을 설명한 글[6]을 봤다. 역시나 또 파이썬인가. ㅋ

다음 점화식을 활용해서 순차적으로 구하는 것 같다.

\displaystyle B_n = \frac{1}{n+1}\sum_{k=0}^{n-1}\binom{n+1}{k}B_k

참고로 Note G에 네 번째 계산 절차에서 v5 / v4는 오타라고 한다. 정확히는 v4 / v5가 되어야 하는데, 이걸 두고 해커뉴스[7] 사람들 중에는 최초의 버그라고 말하는 이도 있는 듯. ㅋ 최초의 ‘버그’는 패널 F의 70번 릴레이[8] 아닌가? ㅋ

.


[1] 이코노미스트 Python has brought computer programming to a vast new audience Jul 19th 2018
[2] 내 백과사전 [서평] 에이다, 당신이군요. 최초의 프로그래머 – 컴퓨터 탄생을 둘러싼 기이하고 놀라운 이야기 2018년 1월 15일
[3] 와이어드 UNTANGLING THE TALE OF ADA LOVELACE 12.22.1512:00 AM
[4] 엔가젯 Ada Lovelace manuscript and algorithm fetch $125,000 at auction 07.25.18
[5] Rare book by world’s first computer programmer sells for £95,000 (mailchi.mp)
[6] Running the first program (Enigmatic Code)
[7] What Did Ada Lovelace’s Program Actually Do? (hacker news)
[8] 내 백과사전 1947년 9월 9일, 최초의 버그가 발견되다 2013년 9월 10일

프랑스에서는 수학자가 정치가가 될 때도 있다 : Paul Painlevé

제목을 보고 얼마전에 국회의원에 당선된[1] 필즈상 수상자 Cédric Villani를 연상하시겠지만, 아쉽게도 이번 포스트는 수학자 Paul Painlevé에 대한 내용이다. ㅋㅋㅋ

사실 나도 누군지 몰랐는데, Mathpresso 블로그[2]를 보고 알게 된 수학자임. ㅎ 그는 프랑스 제 3공화국 당시 수상을 두 번이나 역임했다고 한다. 수상까지 했다니 영향력이 적은 정치인이라 보기는 어려울 듯 하다.

위키피디아를 대충보니-_- 그의 수학적 업적은 미분방정식을 푸는 테크닉 쪽으로 있는 듯 하다. 특히나 n체 문제에 관해서 그의 이름이 붙은 추측이 있다. 내가 이해하기로 Painlevé conjecture는 이러한 문제다. 중력장을 만드는 n개의 물체가 상호 중력 작용을 할 때, 유한한 시간내에 항상 두 물체가 충돌(collision singularity)하는지, 아니면 영원히 충돌하지 않는 초기 상태(noncollision singularities)가 존재하는지에 대한 추측이다. 물론 n개의 물체는 크기가 없는 점으로 취급하는 것 같다.

이 문제에 대해 Painlevé는 n=3일 때 해결하였고, n이 5보다 큰 경우는 여러 수학자들에 의해 해결한 모양인데, n=4인 경우만 아직 미해결이라고 한다. n이 클 수록 더 어려운거 아닌가??? 초 신박하네-_- n=2일 때는 태양-지구 처럼 돌면되니까 자명한 듯 하다. ㅋ

위키를 보니 일반 상대성이론과 관련해서도 업적이 있는 듯 하다. 그의 이름이 붙은 좌표계가 있는데, 본인이 물리학에 까막눈이라 무슨 뜻인지는 잘 모르겠음. ㅋ

정치인으로서는 1차 세계대전 와중에 전쟁 장관으로 활약하고, 1917년에 수상을 한 번 역임한다. 이후 전간기인 1924년 대통령에도 출마해는데 낙선했다고 한다. 1925년 4월 프랑스 프랑의 금융위기 발발로 Édouard Herriot가 사퇴하고, 뒤를 이어 두 번째로 수상이 되었는데, 금융위기 수습을 잘 하지 못해서 11월에 사퇴한 모양이다. 프랑스 정치사는 잘 모르니 이쪽은 패스-_-

.


[1] 내 백과사전 필즈상 수상자 Cédric Villani의 최근 행보 2018년 4월 9일
[2] Paul Painlevé, a french mathematician and politician (mathpresso.wordpress.com)

그래프 이론으로 외환시장에서 수익 내기?

해커 뉴스[1]에서 흥미로운 글[2]을 봤는데, 분량은 꽤 길지만 대단히 재미있으니 일독을 권한다. 이 블로거 뭐하는 사람인지 궁금하네. ㅋㅋ

원래 글[2]은 그래프 이론을 응용하여 문제를 해결하는 세 가지 이야기를 하고 있는데, 첫 번째 이야기가 외환시장에서 아비트리지 수익을 내는 법이고, 두 번째 이야기가 강화 학습에 관한 내용이고, 마지막이 컴퓨터 그래픽스에서 path tracingray tracing을 구현하는 법이다. 근데, 관련 지식이 없어서 첫 번째 이야기만 빼고 무슨 말인지 잘 모르겠음-_-

여하간 첫 번째 이야기 만으로도 충분히 재미있으니 볼만하다. ㅎㅎㅎ

전산 수학의 중요한 부분 중 하나인 그래프 이론은 개론 정도만 배운 적이 있는데, 어렸을 때, ramsey problem에서 R(4, 6)의 값을 구해보려고 나름 용을 쓰던게 생각나는 구만 ㅋㅋㅋㅋ 일전에 R(5, 5) 이야기[3]를 한 적이 있다.

weighted graph에서 최단거리를 찾는 방법 중에 Bellman–Ford algorithm이 있는 모양인데, 이 알고리즘은 Dijkstra’s algorithm보다 속도는 좀 느리지만, edge weight가 음수인 경우도 처리할 수 있는 장점이 있다. Dijkstra 꺼는 음수가 처리 안되는 듯 하다. 사실 pseudo-code를 봐도 Bellman–Ford 알고리즘이 잘 이해가 안 되던데-_- 어느 친절한 블로거의 설명[4]을 보니 이해가 된다. 이 자리를 빌어 감사함. ㅎㅎ

외환시장은 세계에서 가장 큰 시장이라고 하는데, 블로그의 글[2]에 따르면 일일 거래금액이 5 trillion USD나 된다고 한다. 거래 규모가 방대하므로 미미한 비율의 수익률도 매우 큰 돈이 될 수 있다.

각 통화 (USD, JPY, BTC 등등)을 그래프의 노드라고 보았을 때, 각 통화의 교환비율(즉 환율)의 로그값을 weight로 갖는 그래프를 생각해볼 수 있다. 즉, 두 통화 A, B에 대해 log B/A를 directed weight로 갖는다. 이 경우 그래프를 순환하여 weight의 합이 0이 넘거나 모자라는 path를 찾는 경우가 바로 arbitrage trade의 기회가 될 수 있는 것이다. 왜냐하면 weight의 합산은

\displaystyle \log \frac{B}{A} + \log \frac{C}{B} + \cdots + \log \frac{A}{Z} = \log \frac{A}{A}

이 되고, 이 값이 0이 되어야 완전히 효율적인 시장이 된다. 이 값이 0이 아니라면 그 경로를 따라 외환을 환전하면 (음수면 역방향) 최총적으로 본래의 통화로 돌아왔을 때, 돈이 벌리는 것이다. ㅋㅋㅋ 원래 알고리즘이 합산을 하는 거라 로그를 썼지만, 실제로 구현할 때는 그냥 곱셈으로 1과 비교하는 게 편리할 듯 하다.

근데 모든 노드에 대해 거의 실시간으로 Bellman–Ford algorithm으로 계산하여 루트를 찾아야 하는데, 얼마나 효과적일지는 모르겠다. 뭐, 매우 미미한 비율이라도 시장이 원체 크고 환전 이후에는 제자리로 돌아오기 때문에, 짧은 기간동안 레버리지를 크게 하면 버는 돈이 상당히 될 듯 하기도 하다. LTCM의 초창기 높은 수익도 미미한 아비트리지 수익률을 큰 레버리지로 올렸기 때문에 가능했으니. ㅋ

아니면 거래 속도를 더 중시한다면 외환시장대신 cryptocurrency 사이의 교환비율에 Bellman–Ford algorithm을 적용해도 가능할 듯 하다. 다양한 종류의 cryptocurrency를 취급하는 거래소 내에서 충분히 연산속도가 빠른 머신을 이용하면 아비트리지 수익이 나올 듯 하다. 다만 거래수수료가 문제일 듯. 이쪽은 한국인들이 워낙 호구[5]라서 시장이 불균형일 때가 더 많으니, 적용이 더 수월할 듯 하다. ㅎㅎ

.


[1] Dijkstra’s in Disguise (hacker news)
[2] Dijkstra’s in Disguise (blog.evjang.com)
[3] 내 백과사전 R(5,5)의 upper bound가 하나 줄어들다 2017년 3월 30일
[4] 벨만-포드 알고리즘 (ratsgo.github.io)
[5] 내 백과사전 비트코인 국내가격과 국제가격의 엄청난 차이 2017년 5월 27일

30세 필즈 메달 수상자

얼마전에 리우 데 자네이루에서 2018 필즈 메달 수상자가 발표난 모양인데, 콴타 매거진[1]에서 수상자 목록을 보니 Peter Scholze라는 1987년생 수학자가 수상했다고 한다. 나보다 훨 어리네-_- 헐-_- 근데 한국식으로 치면 31세인가-_-? 독일 본 대학 소속이라고 한다.

위키에 따르면 대수기하 전공인 듯 하다. 모르긴해도 equation에서 유리점들이 갖는 모양을 연구한 듯. Faltings의 그 유명한 결과와 관련 있는 것 같다. 아마? ㅋ

여하간 이 선생은 40세까지 무려 10년이나 남았는데, 생산력이 얼마나 감소할런지[2] 궁금해진다. ㅎㅎㅎㅎ

.


2018.8.5

3분 43초. 본 대학 쥑이네. 공부할 맛 날 듯. ㅋㅋ

.


[1] 2018 Fields Medal And Nevanlinna Prize Winners (quantamagazine.org)
[2] 내 백과사전 필즈 상이 수학적 생산력을 감소시키나? 2013년 9월 13일

점화식을 통한 수열의 계산에서 COBOL의 장점

해커뉴스[1]에서 COBOL의 장점에 대해 논하는 글[2]을 봤다.

프로그래밍계의 고대 언어라 할 수 있는 COBOL이 아직도 은행권에서 쓰이는 모양인데, 글쓴이의 주장[2]에 따르면, 미국 GDP의 7% 규모(!)에 해당하는 지불이 COBOL에 의존하고 있다고 한다. 근데 출처가 없어서 어디서 도출된 숫자인지는 잘 모르겠네-_-

여하간 여전히 COBOL이 퇴출되지 않는 이유로, 글[2]에서 든 사례가 점화식을 통한 수열을 계산하는 부분이다. 다음 점화식을 생각해보자.

x_0 = 4, x_1 = 4.25, \displaystyle x_i = 108-\frac{815-1500/x_{i-2}}{x_{i-1}}

십진법 소수점으로 이루어진 실수값을 컴퓨터로 연산할 경우, 이진법을 사용하기 때문에 우리가 일반적으로 쓰는 십진법과 정확히 값이 일치하지 않고, 자연적으로 오차를 포함하게 된다. 유명한 사례가 0.1+0.2인데, 심지어 각종 프로그래밍 언어별로 이 결과를 비교하는 사이트[3]도 있고, SMBC에서도 이를 이용한 개그[4]도 선보이고 있다. ㅋㅋㅋ

floating point 연산은 소수점의 위치에 따라 오차의 크기가 가변적이 되므로, 위 점화식을 C나 Java같은 일반적인 언어로 구현하면 재귀적으로 누적된 오차가 극적으로 커지는 상황이 올 수도 있다. 위 수열은 수학적으로 5에 수렴해야하는데, (일반항이 5-\frac{2}{1+(5/3)^n}이다.) 몇 항 지나지 않아 100으로 값이 튀게 된다. 방정식 x^3 - 108 x^2 + 815 x - 1500 = (x - 3)(x - 5)(x - 100) =0의 근이 attraction point이므로 100으로 빨려간다.

이 점화식은 Muller’s Recurrence라는 이름으로 부르는 것 같다. Jean-Michel Muller라는 사람이 1980년경에 만든 것이라고 하는데,[5;p14] 이 Muller’s Recurrence는 floating point 연산이 실패하는 극적인 사례로 나름 유명한 듯 하다.[6] ㅎㅎ

위키피디아의 Loss of significance 항목에서 이차방정식의 근의 공식을 이용한 floating point 연산의 오차가 커지는 사례가 나와 있는데, 일전에 본 블로그에서 설명한 내용[7]과 일치한다. ㅋㅋ

그러나 COBOL은 fixed point 연산을 사용하여, 오차의 크기가 항상 일정하기 때문에 그런 일이 일어나지 않는다고 한다. 이런 특성 때문에 COBOL이 더 강점이긴하지만, 일전의 floating point를 이용한 제곱근 역수 트릭[8]은 쓸 수 없을 듯. ㅎㅎ

근데 정말로 은행권에서 재귀적 수열계산이나 방정식의 근의 계산과 같은 작업이 필요하단 말인가??? 정말 이런 수학적 이유로 인해 은행이 COBOL에서 다른 언어로 갈아타는 것이 어렵단 말인가??? 해커뉴스[1]의 몇몇 사람들도 이 글[2]이 misleading이라는 이야기를 하던데, 실제 사례를 보기 전까지는 개인적으로 좀 믿기 힘든 주장 같다.

.


[1] Is Cobol holding you hostage with Math? (hacker news)
[2] Is COBOL holding you hostage with Math? (medium.com/@bellmar)
[3] http://0.30000000000000004.com/
[4] http://www.smbc-comics.com/?id=2999
[5] How Futile are Mindless Assessments of Roundoff in Floating-Point Computation? (376kb pdf) (people.eecs.berkeley.edu/~wkahan)
[6] Muller’s Recurrence – roundoff gone wrong (latkin.org)
[7] 내 백과사전 저전력을 위한 이차방정식의 근의 공식을 개선하기 2018년 4월 29일
[8] 내 백과사전 제곱근 역수와 마법의 수 0x5f3759df 2014년 10월 29일