목록전체 글 (26)
정보수학
프랙탈의 세상에는 확대해도 비슷한 화면이 펼쳐진다. 전체적으로 어떤 경향을 따르는데, 숫자의 스케일이 중요하지 않는 경우이다. 그런데 왜 이 작은 영역들을 확대해도 같은 일이 벌어질까? 프랙탈은 예외없이 순열을 통해 창조된다. 어떤 값을 상당히 많이 반복해서 계산하는 형태이다. 그리고 이러한 반복의 계산속에서는, 매우 작은 값들도 이런 반복을 통해서 곧 원래의 평범한 숫자들처럼 영향력을 발휘할 수 있게 된다. 반대로 엄청나게 큰 값들도 다시 매우 작은 영향밖에 끼칠 수 없게 된다. 수많은 반복 속에서, 큰 값이든 작은 값이든 서로 뒤섞여서 영향을 끼치는 것이 바로 이러한 반복된 계산의 특성이다. 마치 무한소가 무한을 만나, 평범한 유한한 값이 되는 것과 비슷하다. 무한대는 무한소를 만나서 평범한 유한한 ..
앞서 서술했듯이 프로그래밍의 본질은, 튜링이 Universal Machine을 설계한 사상과도 같듯이, 상태와 전환에 대한 내용으로 바꾸어 생각해볼 수 있다. 즉 0과 1로 기록된 저장장치(상태를 기억하는)와 약속에 의해 그 상태간에 움직이는(전환하는) 두가지가 핵심 속성이 된다. 프로그래밍이란 계산의 규칙을 만드는 것이고, 어떤 무한한 상태1에서 어떤 상태2로 일정한 패턴대로 전환되는 일련의 과정이라 이야기해볼 수 있다. 더 간단하게는 "메모리"와 "코드"로 분류된다. 수없이 펼쳐진, 고유의 이름이 붙여진 무한한 상태방을 상상하고, 그 방 사이를 전환시키는 것이 프로그래밍의 본질이라는 이야기다. 각 방은 프로그램이 진행될때 변하는 각기 그때그때 상태들의 총체이다. 여기서 이 두가지 속성의 구조를 의심해..
콜라츠의 추측(Collatz Conjecture)은 아래 두가지 간단한 상태변화를 다루는 프로그램이다. 1. x가 짝수이면 2로 나눈다. 2. x가 홀수이면 3*x + 1을 한다. 그런데 놀랍게도 거의 모든 양의 정수가 이 과정을 반복하면 1로 귀결될 것으로 추측되고 있다. 그런데 재미있는 것은 이 콜라츠의 추측이 모든 양의 정수에서 성립하는지 증명되지 않고 있다는 사실이다. 이 프로그램이 나타내는 숫자 변환은 마치 랜덤처럼 변화하면서 숫자가 평균적으로 작아지기는 하지만, 모든 숫자가 그런지는 알려지지 않았다. 이 문제는 기존에 지적한 대로 골드바흐의 추측과 같은 속성을 지닌다. 즉 2부터 2를 더하면서 해당 수가 두 소수의 합인지 조사하고 해당 만족하는 소수가 없으면 중단하라는 프로그램을 만든 후 프로..