algorithm과 library의 의미
1. computation algorithm
arithmetical, non-arithmetical의 유한번의 step을 거쳐 well defined model같은 정답이 나오는 어떤 계산을 computation algorithm이라고 부른다.
arithmetic은 사칙연산 같은 대수적 연산이고 non-arithmetical은 초월함수, 삼각함수같은 연산
well defined model은 unique한 interpretation이 가능해야한다.
‘x=3이다’는 누가 봐도 x=3으로 해석이 가능하니 well defined model
요리하는 과정 recipe 자체가 알고리즘이라고 부를 수 있지만 과정이 끝나서 요리가 나와야 알고리즘이다.
무한루프로 정답이 나오지 않는 계산은 보통 알고리즘이라고 부르지 않는다
2. library
우리는 수학문제가 주어지면 initial state에서 terminal state로 넘어가는데
모든 step을 일일이 하지 않고 잘 알려진 definition, axiom, theorem의 조합으로 손쉽게 무수한 intermediate step은 뛰어넘음
물론 smooth하게 한번에 가지는 못하고 theorem 사이에 빈 gap을 적절하게 채우는 것이 조금 어려운 부분
예를 들어 직각삼각형에서 빗변의 길이를 구한다고 생각해보자.
빗변의 길이를 일일이 생각해서 구하는 것이 아니라 ‘피타고라스의 정리’를 이용해서 거의 한방에 정답에 도달한다
그러나 정답까지 root 계산을 할 줄 알아야 완벽하게 도달할 수 있다.
직각삼각형에서 빗변의 길이를 구하는데 ‘피타고라스의 정리’를 이용하여 한방에 정답 앞까지 가나
완벽하게 정답으로 도달할려면 root 계산을 통해 gap을 채워야함
무슨 문제를 해결하기 위해 컴퓨터 세계에서 사용하는 theorem같은 것이 사람들이 만들어 놓은 library다.
어떤 input이 들어가면 library의 약속된 바에 따라 적절한 output을 내놓는다.
사실 컴퓨터 프로그래밍을 해봐서 알지만 library와 library 사이를 어떻게 채우는지가 가장 어려운 과정
그런 gap을 채울 수 있다면 아무런 의심하지 않고 library를 조합하여 initial에서 terminal로 한방에 갈 수 있다
library를 쓰기까지 빈 gap을 적절한 사고 과정으로 채워나가는 것이 문제긴 함
'컴퓨터과학(CS)' 카테고리의 다른 글
머신러닝과 컴퓨터의 문제 해결 방법 차이 (0) | 2024.11.19 |
---|---|
컴퓨터과학에서 말하는 problem (0) | 2024.11.12 |
컴퓨터과학에서 말하는 quantization 개념 (0) | 2024.06.18 |
floating point와 fixed point 간단하게 (0) | 2024.05.22 |
폭포수 모형 vs 프로토타입 모형 vs 나선형 모형 (0) | 2024.04.14 |