CS (Computer Science) 라는 용어가 있지만 정확히 가리키는 게 무엇인지를 잘 알려져 있지않음.
그렇지만 대강, Computer 의 Science 라는 것에 대해서는 주로 자료구조와 알고리즘이 고급논리가 조금 끼여 있어서 Science 의 느낌을 주고 있기는 함.
그리고 AI 패러다임이 불어닦친 현재 쯤, Algorithm (자료구조 포함..) 풀이는 올림피아드 급으로 AI 에게 지시하기에 적절히 풀어내는 것으로 보임.
그리고 Algorithm 문제에 대한 Leetcode 등등의 문제풀이 경쟁사이트 또한 많음.
그래서 대강,
주로 Algorithm 이 CS 의 핵심으로 보이는데 이유가 무엇일까? 를 생각해보면,
프로그래밍 일반에 대해서 CS 가 어떻게 적용되는 지 생각해볼 수 있게 됨.
이에 대해서는 논법이 중요한데 Algorithm 문제를 쉽게 푸는 방법에 대한 아래의 Algorithm 을 생각해볼 수 있음.
Algorithm 에 대해서는 실질적인 Property 에 대해서 문제를 Computer 를 통해서 풀어내도록 요구하는 것이 기본적인 맥락에서는 맞다고 볼 수 있음.
문제는 이러한 Computation 과 동떨어져 보이는 것이 얼핏 그러한 Property 에 대해서 Algoritm 을 Program 의 형태로 요구한다는 것임.
그렇다면 이러한 문제들에 대해서는 접근법이 필요로 하는데 Algorithm 에 대해서는 운빨도 있지만 대강 아래와 같은 논증법이 성립함.
1) Property(실질적인..) 에 대해서 Group 의 개념을 통해서 그것이 일반적인 Judgements 에 대해서 Yes or No 가 Group 에 대해서 성립하는 것을 파악한다.
2) 1번의 Yes or No 의 Judgements 에 대해서 Yes or No 를 Judgements 가 충분히 단순할 때까지 반복한다.
3) 이러한 과정의 Judgments 가 성립하는 것에 대해서 중간이나 끝에 충분히 단순해지게 됬다면,
Insight 에 대해서 Group 의 Property 에 대해 Group 에 어느정도 고유한 Tag data 를 Yes or No 의 Property 에 의해서 부가할 수 있을 부분에 대해
Data 를 추려낸다.
4) Yes or No 의 Logic 을 끌어와서, 이러한 Group tag 의 Data 를 사용하여 정답에 대한 Filter Judge 를 Program 화 한다.
그래서 이러한 논증법으로 부터 프로그래밍화 또는 프로그램화 할 것이 어느정도 Group data 의 tag 에 대한 개념으로 논리적 처리를 수행할 수 있을 것을 고려해보면,
여러가지 Group set 에 대한 Data 를 도입시킬 때 CS 가 어느정도 적용이 될 수 있다는 것을 알 수가 있음.
그렇지만 Group 에 대한 Data set 에 대해서,
Yes or No 가 되는 분류처리에 관련한 것의 부분이어서 Group set 에 관한 Big-data 의 형태로 논리처리가 해석적으로 이뤄질 바에 대해,
이러한 프로그래밍의 논리적 CS 가 현대적인 프로그래머의 환경에 대해서 소용은 있지만 응용은 그렇게 빈번히 많지는 않을 것이 사무처리의 느낌정도로 일이 이뤄질 것이 다반사로 생각됨.
아마 AI 에 의해서 대체될 것이 가능한 부류의 Science 이지만,
향후 AI 패러다임에 의해서 Computer Science 가 주로 요긴할 곳이 있을 수 있으니, 이에 대해서 어느정도 파악하고있는 것도 옳아보임.
abcd9999
댓글 2