레이블이 알고리즘인 게시물을 표시합니다. 모든 게시물 표시
레이블이 알고리즘인 게시물을 표시합니다. 모든 게시물 표시

2010년 4월 19일 월요일

프로그래밍과 삶

삶에서 알게 모르게 프로그래밍 원리가 쓰이는 것 같다. 각 결정의 순간 마다 주변 환경으로 짐작하여 그 당시 최적의 해결책을 택하는 그리디 계획법(Greedy algorithm)이나, 커다란 문제를 작은 문제로 나누어 각 부분으로 해결하는 분할 정복 기법(Divide and conquer)을 보면 그렇다.

프로그래밍에서 사용되는 for문도 사실은 수학의 Sigma 기호로 나타내는 합 기호나 Pi 기호로 나타내지는 곱 기호에서 비롯된 것 같다. (변수의 초기 조건을 시그마/파이의 아래에, 종료 조건을 시그마의 위에 쓴다.) 조건이 항상 참일 때에는 종료 조건이 +무한/-무한인 경우와 비교될 수 있다. 이렇게 보면, 프로그래밍은 전산이라는 분야를 넘어 삶의 결정이나 수학과 유사성(analogy)이 있는데 전산도 일단은 사람이 만들고 발전시키는 학문이기 때문에 그런 것 같다.