programming-memo

A Walk In The Park / 산책

Fire up the time machine. Our walk in the park took place more than two thousand years ago, on a beautiful sunny day of a long forgotten spring in 380 B.C. Outside the city walls of Athens, under the pleasant shade of olive trees Plato was walking towards the Academy with a beautiful slave boy. The weather was lovely, the dinner was filling, and the conversation turned to philosophy.

타임머신을 가동합니다. 이 천 년전으로 돌아가 산책을 시작합니다. 기원전 380 년, 긴 잊혀진 봄 중 아름답고 화창한 어느날. 아테네 성벽 밖, 올리브 트리의 기분 좋은 그늘 아래, 플라톤은 아름다운 소년 종자를 데리고 아카데미로 향하고 있습니다. 날씨는 사랑스럽고, 만찬은 사람들로 북적였으며, 대화는 철학이 되었습니다.

“Look at these two students”, said Plato carefully picking words to make the question educational. “Who do you think is taller?” The slave boy looked towards the basin of water where two men were standing. “They’re about the same height”, he said. “What do you mean ‘about the same’?”, asked Plato. “Well, they look the same from here but I’m sure if I were to get closer I’d see that there is some difference.”

“저기 있는 학생 두 명을 보아라”, 플라톤이 조심스럽게 문답법을 시작했다. “누가 더 크다고 생각하느냐?” 종자는 두 사람이 서있는 물웅덩이를 쳐다보았습니다. “키가 거의 같아 보입니다.”, 종자가 대답했습니다. “‘거의 같다’ 라는 것이 무슨 의미냐?”, 플라톤이 물었습니다. “네, 여기서는 저들의 키가 같아 보이지만 가까이 다가가면 어떤 차이가 보일 것 같습니다.”

Plato smiled. He was leading the boy in the right direction. “So you would say that there is nothing perfectly equal in our world?” After some thinking the boy replied: “I don’t think so. Everything is at least a little different, even if we can’t see it.” The point hit home! “Then if nothing is perfectly equal in this world, how do you think you understand the concept of ‘perfect’ equality?” The slave boy looked puzzled. “I don’t know”, he replied.

플라톤이 웃었습니다. 그는 의도하던 데로 이야기를 이어갔습니다. “그러다면 세상에는 완벽히 동일한 것이 존재하지 않는다는 말이냐?” 종자는 잠시 생각하더니, “그렇게 생각합니다. 모든 것은 우리가 볼 수 없을 정도일지라도 조금씩은 다릅니다.” 옳거니! “그렇다면, 세상에 완벽히 동일한 것이 존재하지 않는데 이 완벽히 동일하다는 개념은 어떻게 얻을 수 있겠느냐?” 종자는 당황했습니다. “잘 모르겠습니다”

So was born the first attempt to understand the nature of mathematics. Plato suggested that everything in our world is just an approximation of perfection. He also realized that we understand the concept of perfection even though we never encountered it. He came to conclusion that perfect mathematical forms must live in another world and that we somehow know about them by having a connection to that “alternative” universe. It’s fairly clear that there is no perfect circle that we can observe. But we also understand what a perfect circle is and can describe it via equations. What is mathematics, then? Why is the universe described with mathematical laws? Can all of the phenomena of our universe be described by mathematics?

그리하여 수학의 본질을 이해하기 위한 첫 시도가 이루어졌습니다. 플라톤은 우리 세계의 모든 것은 완전한 것에 단지 근접한 것들 뿐이라고 제안하였습니다. 또한 완벽한 개념들을 경험으로 직접 얻진 못했음에도 그것을 이해하고 있다는 사실을 깨달았습니다. 그리하여 완벽한 수학적 형태가 또 다른 세계에 존재하고 있음이 틀림 없고, 우리는 저 세계와의 어떠한 연결을 통해 그것을 알고 있다는 결론에 도달하였습니다. 우리가 관찰할 수 있는 완벽한 원이 존재하지 않는다는 것은 너무나 명확하지만 완벽한 원이 어떠한 것이며 수식을 통해 기술가능하다는 것 또한 알고 있습니다. 그러다면 수학이란 무엇일까요? 왜 세계가 수학적 법칙에 의해 기술되는 것일까요? 우리 세계의 모든 현상이 수학으로 기술될 수 있는 것일까요?

Philosophy of mathematics is a very complex subject. Like most philosophical disciplines it is far more adept at posing questions rather than providing answers. Much of the consensus revolves around the fact that mathematics is really a puzzle: we set up a set of basic non-conflicting principles and a set of rules on how to operate with these principles. We can then stack these rules together to come up with more complex rules. Mathematicians call this method a “formal system” or a “calculus”. We can effectively write a formal system for Tetris if we wanted to. In fact, a working implementation of Tetris is a formal system, just specified using an unusual representation.

수리 철학은 매우 복잡한 주제입니다. 대부분의 철학 분야가 그렇듯이 수리철학 또한 답을 제공하기 보단 생각할 문제를 던져주는 경향이 큽니다. 수학은 퍼즐과 같다는 사실에 의견일치를 보고 있기는 합니다. 서로 충돌하지 않는 기초적인 원리들의 집합과 이 원리들을 어떻게 활용할 것인가에 대한 규칙을 마련하고 이 규칙들을 서로 쌓아서 보다 복잡한 규칙을 만들어 간다는 것입니다. 수학에서는 이러한 체계를 “formal system” 또는 “calculus” 라고 부릅니다. 원하기만 한다면 테트리스에 대한 formal system 을 만들 수 있습니다. 사실 동작가능한 테트리스의 구현은 수학적이지 않은 표현을 사용해 기술한 하나의 formal system 입니다.

A civilization of furry creatures on Alpha Centauri would not be able to read our formalisms of Tetris and circles because their only sensory input might be an organ that senses smells. They likely will never find out about the Tetris formalism, but they very well might have a formalism for circles. We probably wouldn’t be able to read it because our sense of smell isn’t that sophisticated, but once you get past the representation of the formalism (via various sensory instruments and standard code breaking techniques to understand the language), the concepts underneath are understandable to any intelligent civilization.

알파 센타우리의 털복숭이 문명은 우리가 가진 테트리스나 원의 공식을 읽지 못할 수 있습니다. 냄새를 맡는 감각기관이 털복숭이들의 유일한 인지수단일 수도 있기 때문입니다. 털복숭이들이 테트리스의 공식을 스스로 발견할 가능성은 적지만 원에 대한 공식을 가지고 있을 가능성은 있습니다. 우리는 후각이 섬세하지 못하기 때문에 털복숭이들이 사용하는 냄새로 된 공식을 읽지는 못할 겁니다. 하지만 그 형식적 표현의 벽을 어떻게든 극복할 수 있다고 가정하면 지능을 가진 어떤 문명이라도 표현 아래에 있는 근본 개념을 공유할 수 있을 것입니다.

Interestingly if no intelligent civilization ever existed in the universe the formalisms for Tetris and circles would still hold water, it’s just that nobody would be around to find out about them. If an intelligent civilization popped up, it would likely discover some formalisms that help describe the laws of our universe. They also would be very unlikely to ever find out about Tetris because there is nothing in the universe that resembles it. Tetris is one of countless examples of a formal system, a puzzle, that has nothing to do with the real world. We can’t even be sure that natural numbers have full resemblance to the real world, after all one can easily think of a number so big that it cannot describe anything in our universe since it might actually turn out to be finite.

흥미로운 것은 우주에 지능 문명이 전혀 존재하지 않는다 하더라도 테트리스와 원에 대한 공식은 그것 스스로 존재 가능하다는 것입니다. 단지 그것을 발견해줄 사람이 주위에 없을 뿐입니다. 지능 문명이 나타난다면 우주의 법칙들을 기술하는데 도움이 될만한 공식들을 발견해 나갈 것입니다. 우주에는 테트리스를 닮은 것이 없기 때문에 새로운 지능 문명이 테트리스를 발견할 가능성은 적습니다. 테트리스는 실 세계와 관계 없는 formal system, 퍼즐의 무수한 예의 하나일 뿐입니다. 자연수 시스템 조차 실 세계와 닮아 있는지 확신할 수 없습니다. 우리 세계의 모든 것은 유한한데 자연수는 무한하므로 현실세계를 묘사하기에는 너무 크다는 생각을 어렵지 않게 해 볼 수 있습니다.

Functional Programming For The Rest Of Us