목록분류 전체보기 (26)
정보수학
진법이란 아래와 같이 약식으로 표현해볼 수 있다. 10진법의 예를 들어보자. a_n은 각 자리수를, b는 진법을 나타낸다고 해보자. 다만, 우리가 자주 쓰는 10진법보다는 2진법이 훨씬 더 이론적으로는 간결하다. 이유는 숫자 2개로만 나타낼 수 있는 점이 우선 가장 크다. 0과 1이라는 두가지 상태만으로 숫자 전체를 묘사할 수 있다. 현대의 디지털 컴퓨터는 이 간결함 때문에 2진법을 택하고 있는데, 디지털 회로의 전압이 5V일때는 1을, 0V일때는 0으로 정하고 모든 계산과 저장을 수행할 수 있기 때문이다. 컴퓨터는 자연을 해킹해서 계산력을 가져다 쓰는데, 가장 단순하게 가져다쓰기 위해서 0과 1이라는 두가지 상태를 기본으로 한 것이다. 그리고 언급한대로 2진법은 여러가지 직관을 줄 때가 있다. 1) 짝..
데모크리토스가 물질의 최소 단위를 원자로 가정하면서 멋진 것은 그것이 가장 단순한 형태이고 모든 것이 그것에서 시작하기 때문이다. 그러나 수 체계에 그러한 일을 하고자, 대칭을 가장 최소한으로 정의하려고 하면 그것이 생각보다 쉽지 않다는 것을 알 수 있다. 그래서 대칭은 대개 예시로서 정의된다. 우리도 우선은 대칭의 예시를 살펴보자. 모두에게 가장 익숙한 것은 원점이 0인 점에서의 -1과 +1이다. 거울대칭이나 회전 대칭 등 여러가지가 있으나 여기서는 일종의 거울대칭을 상정해보자. 이러한 3가지의 -1, 0, +1이 대칭을 이루는 중요 요소이다. 그러면 이제 이 존재들을 가장 단순한 용어로 정의해보자.(미리 밝히면 A=-1, C=0, B=+1에 각각 예시로 대응된다.) "어떤 서로 다른 A와 B가 존재하..
수학은 인간의 추론방식에 의존해 구성된다. 하지만 기존에 주장했듯이 모든 이러한 수학적 추론의 조합들이 인간의 일상적인 이성과 합치하여 예측되고 전개되지 않는 경우도 많다. 한마디로 어떤 수학 방정식들은 인간의 머리로 금방 잘 이해가 되지 않는다. 비록 수학이 그 안에서 질서를 지니더라도, 아직 그 질서를 인간의 이성이 따라갈 수 없는 경우가 많은 것이다. 소프트웨어에서도 어떤 로직을 세웠으나, 전체를 이해하기 어려운 경우가 많고, 문제가 생기면 국소적으로 지속 디버깅을 진행하게 된다. 그런 면에서 어떤 경우는 수학을 한다는 것은 소프트웨어 디버깅을 하는 과정과 비슷하다고 생각한다. 수학 방정식 자체도 소프트웨어 로직과 그다지 다르지 않다. 그래서 본인은 오히려 수학에 대한 이해가 난관에 직면했을때 직접..
왜 수학에서는 소수(prime number)가 중요할까? 흔히들 소수는 숫자의 원자라고 한다. 1과 자기 자신 외에는 나누어 떨어지지 않으면서, 모든 수는 소수들을 몇번씩 곱하면 만들어지기 때문이다. 학생시절 배운 소수를 상기해보자. 수학을 하다보면 최소 공약수나 최소 공배수가 중요한 순간들도 있다. 그리고 매우 큰 수를 다루다보면 수를 분류하고 싶어지는데 이렇게 시도 하다보면 여지없이 만나게 되는게 이 소수이다. 그렇게 수학자들도 더 쉽고 단순화하다보면 소수를 만나게 된다. 그러면 소프트웨어 개발 관점에서는 이 소수가 어떤 의미를 지닐까? 물론 소수는 RSA 비대칭 암호화에서 핵심 역할을 수행하고 있지만, 그보다 더 본질적으로는 "최적화의 문제"에 이 소수가 등장할 수 있다. 대표적인 질문 하나를 ..
소프트웨어 개발, 특히 컴퓨터 프로그램 개발 코딩 부분은 수학을 매우 닮았다. 컴퓨터는 그 기원을 튜링 머신에 둘 수 있고, 튜링 머신은 기계라는 것에 대한 수학적 탐구를 위해 앨런 튜링이 만든 것이다. 그리고 많은 사람들이 현세에 소프트웨어 개발업에 종사하면서 이러한 튜링 머신 체계에 나도 모르게 익숙해지게 된 것은 또 시대의 흐름에 따른다. 소프트웨어 개발자들은 애초에 이 이해하기 어려운 튜링 머신을, 손과 머리로 체득하여 익숙해진 이들이기도 하다. 물론 원래부터 Computer Science가 수학에 기초한 것도 자명하지만, 수학의 여러가지 논리와 체계를 보자면, 그 둘의 연관도가 생각보다 더 깊다. 그도 그럴것이 소프트웨어 개발의 본질은 어떤 규칙(절차)을 정하고, 규칙에 따른 상태를 관리하며, ..
수학이나 숫자라는 것은 무엇일까? 계산은 무엇이며 수학의 근원에는 무엇이 있을까? 무언가 가장 최소한의 것에서 부터 조금씩 확대하며 수학연산 체계를 설명하는 방법이 무엇일까? 필자는 이 이야기를 처음 시작해나가는 방법을 "대칭"이라고 생각한다. 그리고 필자가 오랫동안 접해온 컴퓨터와 프로그래밍에 대한 지식이 이것들에 대한 이해를 쉽게 한다고 믿는다. 수학과 기계적 계산은 그 근원이 닮아있다. 그리고 이미 대칭에서 기본적인 사칙 연산에 대한 형식 체계는 기 블로그 글을 참고하면 된다.https://infomath.tistory.com/4 인용한 글의 결론은 현대의 수학계산 체계는, 대칭에서 확장하여 최소화하여 형식체계를 구성할 수 있으며, 상태와 변환이 그 핵심이라는 점이다. 전산학의 오토마타에서 다루는..