누구말을 들어보면 "컴공/전산에서는 수학이 그다지 필요가 없다",
또 다른 누군가의 말을 들어보면 "컴공/전산에서 수학이 많이 필요하다"
상당히 혼란이 올 것이다.
내가 해 주고 싶은 말은 '둘다 맞다' 이다. 이게 뭔 소리냐? 모순 아니냐? 귀류법 싸지를 생각이냐고?
사실 이 상황을 제대로 이해하려면, 컴공/전산 필드의 학부교육 및 대학원 이상 과정에서 벌어지고 있는 상황을 이해할 필요가 있다.
컴공/전산 필드의 학부과정은 영미권 표현을 빌어 쓰자면 Computer Science (계산기 과학)다.
아주 러프하게 말하자면, 당장 너의 눈앞의 컴퓨터(계산기)를 추상화 시킨 어떤 객체, 그러니까 도구 그 자체에 대한 것을 다루는 학문이다.
전공기초 및 세부과목을 살펴보자면
- 알고리즘/자료구조
- 컴퓨터 아키텍처
- 운영체제
- 컴파일러
- 네트워크
- 데이터베이스
등이 있다. 물론, 알고리즘이나 자료구조, 네트워크, 데이터베이스 등의 밑바탕에는 굉장히 심플한 수학이론이 깔려있긴 하지만,
솔직히 학부과정 들어올 정도 사람이면 굳이 '수학'이라는 잣대 안 들이대어도 상식수준에서 이해할 만한 심플한 것들 뿐이다.
그런데, 컴공/전산 필드의 대학원에서 주로 하는 연구는 상황이 많이 다르다.
대학원에서 주로 하고있는 내용에 대해 또 영미권 표현을 빌어쓰자면 Computational Science (계산 과학)이다.
계산과학이라고 해도 굉장히 다양한 분야가 있는데, 대충 보면 아래와 같은 것들이 있다:
- 패턴인식, 기계학습, 컴퓨터 비전
- 컴퓨터 그래픽스, 계산기하학
- 음향 및 음성 인식, 합성
- 수치해석, 시뮬레이션
- 암호이론
- 자연언어 처리
- 양자컴퓨터 및 알고리즘
그러니까, 앞서말한 컴퓨터를 어디까지나 도구로 사용해서, 특정한 현상/데이터 등을 수학적인 객체로 만들어서 연구하는 것 들이 거의 전부다.
이런 세부과목으로 가면 당연히 수학이 중요해 질 수 밖에 없다. 물론 이론 그 자체는 수학과 식으로 하는건 아니고 약간 겉햝기 비슷하게 하긴 한다만...
그리고 이들 각각분야에서 필요한 수학들도 상당히 다르다. 가령 암호이론 같은데에 연속계 수학 공부한 것이 크게 도움이 안 될거다.
(앞으로 뭐 그런 새로운게 튀어나온다면 또 모르겠다만)
뭐 지금 당장 밖에서 보자면 그노므 DL 네트워크 몇층이니 구조 여기저기 바꿔서 장난질 하는 부류의 것이 연구랍시고 눈에 많이 띄긴 할건데,
깊이 들어가면 꼭 그 따위 연구만 있는 게 아니고 새로운 이론기반을 만든다던가 하는 연구들도 있고 분야안에서도 그런 것들을 더 중요하게 생각들 한다.
한편, 앞서말한 계산기과학의 내용들을 연구하는 교수들도 여전히 있긴 하지만,
(어폐가 있지만) 그런 것들은 이제 이론으로서는 minor incremental 에 가까운 것만 남아있을 뿐인지라,
학계에서는 거의 영감들이나 이런 거 하고 있고, 또 그런 사람들이 퇴관하고 나간 자리를 메꿀 신규교원들 찾을 정도일 뿐의 수요만 있을 뿐이다.
그러니까 3줄 결론
- 컴공/전산에서 필요한 수학에 대해 인식의 갭이 생기는 건, 학부와 대학원에서 하는 게 다르기 때문이다.
- 학부 취업만 할거면 수학이 크게 중요하지는 않다. 하지만 대학원 이상의 연구를 하고자 하면 수학이 더욱 중요해진다.
- 대학원 이상에서 필요한 세부수학이 매우 달라지니, 무작정 공부하는 것 보다는 목표를 잡아서 하는걸 추천한다.
수학이라고 하지말고 위상이냐 기하냐 대수냐 해석학이냐 이걸말하셈
본문에서도 말했듯이 세부분야 따라서 달라져서 그런식의 수학전통분류로 딱 잘라말하기는 힘든데. 대충 영상관련되면 기하는 필수겠고. 계산기하 쪽은 위상도 보는게 낫겠지. 암호쪽은 정수론 이런 거겠고. 그 외에도 하는거에서 미분방정식 푸는게 필요하면 해석학 해야겠고... 하지만 더 중요한건 그런걸 어떻게 컴퓨터에게 시키는가 하는 법이지.
세상에 수학을 전공한사람은 없는것같음. 대수전공자냐 기하전공자냐 위상전공자냐 함수해석전공자냐 elliptic pde 전공자냐 이런게 있지
Phd 수준으로 가도 수학과 만큼 수학을 많이 쓰는 분야는 없죠. Pure math theory를 쓰는 분야는 tcs에서도 minor of minor죠. 그마저도 수학과들이 보는 수학책 안 보고 cs를 위한 수학책 보죠.
ㅇㅇ 진짜 수학과들이 보기에는 뭔가 삐꾸랄까? 어딘가 나사빠진 유사수학으로 보이긴 할거임
이산적인 내용은 기본 베이스라고 하면 심화된 부분에서 다른 분야를 스까는거 아님? 새내기따리라 잘 모르긴함 - dc App
물론 컴퓨터로 완전히 연속적인 것을 다룰 수 없으니 그렇게 볼 수도 있겠는데, 실제 겪어보면 그냥 "쓰까는" 수준하고는 느낌이 많이 다를거라 봄. 뭐 이건 내 주관일 뿐이니 여기 다른 사람들은 그렇게 느낄지도 모르겠다
내 경험상에는 수학적인게 중요하고, 수학을 잘하면 빨리 배우는 분야도 있음. 근데 또 너무 수학적이면 안되는 경우도 있고 차라리 수학적으로 검증할 시간에 빨리 코드 짜서 실험해보는게 좋은듯 ㅋㅋ
머신러닝 이런쪽은 수학 그 자체보다 코드 짜는걸 선행해도 되는 부분이 일정부분 있는데, 수치해석/시뮬레이션이나 계산기하 이런쪽은 정식화가 선행 안 되면 아예 코드조차 못 짬...
ㅇㅎ ㅋㅋ 내가 수학하다 머신러닝쪽으로 틀어서 더 저렇게 생각하나보네. 거기는 대부분 논문이 새로운 모델 제시하는거라... ㅋㅋ
한국 컴공에서 계산과학하는 곳이 있나 수학적 역량 자체가 다른 공대의 절반수준밖에 안될텐데
한국 전산학부에서 수학 너무 안 가르치는 건 맞음. / 그런데 과정이 그따위라서 안 가르치고 못 배운 것일 뿐이지, 수학역량 어쩌고는 잘 모르겠네. / '계산과학만 하는 연구실만 모인 전산과'라는 건 없긴 한것 같은데, 개별연구실 수준으로 가면 skp 수준에는 상당수 있을 건데?
양자컴은 물리아님? 양자정보가 전산이고
뭐, 하드웨어만 이야기 하자면 물리가 맞겠지. 글에서 이야기 하고자 했던건 그 양자컴으로 돌리는 알고리즘에 대한 이야기.. 인데, CS에서도 이런거 하는 연구실은 극소수이긴 함
개추는 타이밍이야 내가 보냈다!
연구분야 물어봐도됨? 저도 컴공인데 그냥 궁금해서 - dc App
무지성개추
계산과학 말고도 뭐 계산가능성이라던가 뭐 PL에서 수학 많이쓰는곳도 거의 수학이지 좀 다른거 쓰긴하다만
물론 이거하는사람이 얼마나 되겠냐마는
뭐, 계산가능성 쪽은 나랑 인연이 멀지만 기회있어서 논문 한번 봤는데 거의 형식과학-수학이더만. 그나저나 PL은 뭘 말하는 거? lambda calculus 니 하는데서 뻗어나온 함슬람(..)계 Programming Language 말함? 그 계통도 정말 극소수긴 하지...
대체적으로 수학 전공수업을 들어본 애들은 수학이 필요하다고 하는데 공부 안해본 애들은 수학이 뭔지 정의를 정확히 못내려서 이런 논쟁이 생기는거라고 봄