이산수학은(는) 여기로 연결됩니다.
2002~2010년 고등학교 입학생 기준 교육과정에 대한 내용은 7차 교육과정/수학과/고등학교/이산수학 문서, 2025년 고등학교 입학생에게 적용되는 과학계열 전문교과의 과목에 대한 내용은 2022 개정 교육과정/수학과/고등학교/이산 수학 문서
참고하십시오. 이산수학 Discrete Mathematics | ||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px; word-break: keep-all" | 이론 | |
<colbgcolor=#3CC> 기본 대상 | 수학기초론(수리논리학 · 집합론) · 수열 · 조합 · 알고리즘 · 확률 | |
다루는 대상과 주요 토픽 | ||
수열 | 등차수열(뛰어 세기) · 등비수열 · 계차수열 · 조화수열 · 귀납적 정의(점화식) · 급수 · 규칙과 대응 · 규칙 찾기 · 피보나치 수열 · 읽고 말하기 수열 · 생성함수 | |
조합 | 경우의 수(공식) · 순열(완전 순열 · 염주 순열) · 치환 · 분할(분할수) · 최단거리 · 제1종 스털링 수 · 제2종 스털링 수 · 카탈랑 수 · 벨 수 · 라흐 수 · 포함·배제의 원리 · 더블 카운팅 · 조합론 | |
그래프 | 수형도(트리) · 인접행렬 · 마방진 · 마법진 · 한붓그리기(해밀턴 회로) · 쾨니히스베르크 다리 건너기 문제 | |
기타 | P-NP 문제미해결 · 4색정리 · 이항정리(파스칼의 삼각형) · 이산 푸리에 변환 · 비둘기 집의 원리 · 상트페테르부르크의 역설 · 투표의 역설 · 에르고딕 가설미해결 · 콜라츠 추측미해결 · 시행착오 (예상과 확인) · 불 논리 · 브라에스 역설 | |
관련 문서 | 논리학 관련 정보 · 수학 관련 정보 · 컴퓨터 관련 정보 · 틀:수학기초론 · 틀:통계학 · 틀:이론 컴퓨터 과학 | }}}}}}}}} |
1. 개요
離散數學 / discrete mathematics이산수학에 대해 설명하는 문서.
2. 순수 수학에서 다루는 '이산수학'
수학을 커다란 두 줄기로 양분하면 이산 구조(discrete structure)와 연속체 구조가 나오는데, 이산 구조와 연속체 구조는 일반적으로 '셀 수 있는 것'과 '셀 수 없는 것' 정도로 구분한다. 이때 실수처럼 연속성이 있는 것들이 아니라 주로 정수, 논리 연산같이 서로의 값들이 연속적이지 않고 뚝뚝 떨어져 있거나 구분되어 '셀 수 있는' 것들을 주로 연구하는 학문을 이산수학이라 칭한다. '유한 수학'이라고도 불린다.[1]이산수학에서는 실수같이 연속적인 성질이 있는 대상이 아니라 주로 정수, 그래프, 논리 연산 같이 서로 구분되는 값을 가지는 대상을 연구한다. 따라서 이산수학에서는 미분 적분학이나 수치 해석같이 '연속적'인 분야에서 다루는 주제는 다루지 않는다. 이산적인 대상은 정수로 개수가 열거되는 경우가 많다. 공식적으로, 이산수학은 가산 집합을 다루는 수학의 한 부류로 특징지을 수 있다. 하지만 이산수학이라는 용어에 대해 정확한 정의는 내려져 있지 않다. 실제로 각 대학들의 수학과 교수진 전공을 보면 스스로를 이산수학자라고 기재한 경우는 볼 수 없다. 실질적으로 이산수학이라는 것은 해석학, 실해석, 정수론, 수리 논리학 등과 같이 하나의 독립적인 분야라기보다는 수학의 굵직한 수학 기초론, 일부 해석학(확률론이나 수열), 대수학, 기하학을 아우르는 하나의 토픽이라고 보는 편이 더 정확할 것이다. 생각해 보면 수열이나 확률은 해석학에서 중요하게 다루는 토픽들이고 정수론, 알고리즘 등은 대수학, 논리 연산자나 집합 등의 개념은 집합론의 분과이기 때문이다. 심지어 그래프 이론도 최근 집합론의 상위 호환이 아닐지 진지하게 고려받고 있는데 카테고리가 사실상 그래프에 구조를 하나 더 추가한 수준이고 두 가지가 상당히 흡사한 데다 조합론도 사실상 집합론의 counting의 한 분파이다 보니 이산수학이라는 것 자체가 기초적인 수학 분야라고 하기에는 조금 애매하고 그렇다고 무의미한 분류라고 하기에는 해당 토픽이 끼친 영향력이 상당하다 보니 좀 분류가 붕 뜨게 되었다.
이산수학에서 연구하는 집합의 종류는 무한 혹은 유한 집합이다. 이산수학 중에서도 유한 집합을 다루는 한 분야에 대해서 가끔씩 유한 수학이라는 용어가 쓰이기도 한다.
이산적인 과정을 통해서 데이터를 저장하고, 동작하는 디지털 컴퓨터의 개발으로 인해 20세기 후반에 이산수학에 대한 연구가 점점 활기를 띄기 시작했다. 이산수학에 포함된 개념과 기호들은 컴퓨터 과학에서 알고리즘, 프로그래밍 언어 이론, 암호학, 계산 이론 등의 문제를 연구하는 데 유용하였다.
원래 전통적으로 기하학을 제외한 대수학은 연속체 수학이 아니라 이산수학의 영역이었으나 [2], 실수가 정의되고 뉴턴 역학과 미적분학이 태동한 이후로 해석 기하학과 접목되며 연속체 수학이 일반적인 수학을 일컫게 된다. 그러나 통계 역학과 양자 역학이 등장하고 나서 다시 서로 이산되어 있는 양자들을 확률의 형태로 재정의할 필요성이 생기게 되었으며 이산수학의 방법론이 크게 발전하게 된다.
'이산(離散)'은 이산가족 할 때의 그 이산이다. 전산학에서 많이 쓰인다는 측면을 강조할 때에는 전산 수학이라고도 칭한다.
2.1. 주요 분야
- 이산 함수
- 수열
- 급수(수열의 합)
- 대각선 논법
- 정수론
- 조합론
- 경우의 수(합의 법칙, 곱의 법칙)
- 순열
- 조합
- 파스칼의 삼각형
- 분할수
- 제1종 스털링 수
- 제2종 스털링 수
- 비둘기 집의 원리
- 도박사의 오류
- 4색 정리
- 그래프 이론
- 쾨니히스베르크 다리 건너기 문제
- 확률론
- 선형 대수학
- 대수학의 조합론적 접근: 불 대수 등을 포함.
- 알고리즘
- 오토마타
- 정보 이론
- 계산 가능성 이론
- 암호학
- 비밀번호
- 암호 알고리즘
- 코드
- 회문
- 유한 상태 기계
- 집합론(유한)
수리 논리학에 속하는 분야이며. 배우는 이유는 아무래도 모든 수학의 기본이 되는 집합의 개념을 배우는 학문이기 때문이다. 필요로 하는 수학적 사전 지식이 매우 적고 타 수학 분야와 관련성도 비교적 적은 편임과 동시에 집합론 자체도 매우 큰 분야이기 때문에 해외의 경우 집합론을 전공 분야로 정할 시 선형 대수와 실해석의 생기초만 배운 후 이후부터는 석사 졸업 때까지 거의 수리 논리와 집합론 과목만 들을 수 있는 대학도 있긴 하다. 물론 그만큼의 교수진이 받쳐 줘야 가능한 커리큘럼이다. 보통의 경우는 집합론을 전공으로 정하더라도 학부 말이나 석사쯤 간 다음에 논리학과 같이 묶어서 본격적으로 배우기 시작하는데 사실 이런 '기본 루트'를 쫓아갈 경우 석사 졸업 때까지도 기초 수준을 벗어나기가 힘들기 때문에 상당한 수준의 독학이 요구된다. 보통 수학을 잘 모르는 이들은 '집합'을 중학교부터 배운다고 무시하는 경우가 많은데 수학 분야 중 가장 추상적인 분야 중의 하나이며 도저히 상상 불가능한 '이상하고 복잡한' 집합들을 순수 논리에 의지해서 헤쳐나가야 하며 집합론 공리계 자체를 다루는 학문이기 때문에 사실 보통의 인간 직관이 가장 안 통하는 분야 중 하나라 '쉽다'와는 당연히 거리가 매우 멀다.
2.2. 교재
- 이산수학(Kenneth H. Rosen 저, 맥그로힐) [원제: Discrete mathematics and its applications.]
이 책의 장점은 서술이 많다는 점이다. 다른 책들처럼 예제 딸랑 던져주고 문제 해설하는 식이 아니라 개념을 충실하게 서술했다는 점이 매우 큰 장점이다. 한국의 책들이나 다른 책들은 수학 문제집이라는 느낌을 주지만, 이 책은 개념에 대한 설명이 충실하여 급할 때는 예제 없이 개념만 읽어도 좋다. 충실한 설명 덕분에 수학과뿐만 아니라 컴퓨터 공학과에서도 많이 사용하는 교재이다. 현재 8판까지 나와 있고 번역서도 있다. 하지만 번역서는 번역을 하다가 포기한 듯한 수준으로, 도저히 이해되지 않는 어색한 문장이 있으며, 영어 어순을 그대로 두어 영어 원문이 무엇인지 능히 짐작할 수 있을 정도로 번역을 대충 했다. 또한 결정적으로, 문제 해설이 전혀 번역되어 있지 않다. [3]
- Schaum's Outline of Discrete Mathematics(Seymour Lipschutz 저, 맥그로힐)
위 책과 마찬가지로 맥그로힐 출판사에서 출판한 책인데 저자가 다르고 책 구성도 다르다. 참고로 위 책은 아예 학부 과정을 넘어서 대학원 과정까지 욱여넣었는데 이 책은 딱 학부 과정에 쓸 만한 내용까지만 넣어서 읽기 편하다. 대략 4분의 1밖에 되지 않는다! 사실 Outline 책 [4]은 전공 서적이라고 하긴 어렵고 전공 서적을 축약한 문제집 같은 것이라고 보면 좋다. 말 그대로 틀 잡아주는 부류의 책들이다. 요약본이라고 생각하면 간단하다.
- 이산수학(유원희)
한국어로 쓰여 한국인에게는 절대적으로 자연스러운 서술들을 볼 수 있다는 것이 다른 교재들과 비교하여 가장 큰 장점이다. 이해를 돕기보다는 명확한 정의와 서술만을 이어나가기 때문에 이해력이 부족하다면 추천하지 않는다. 이러한 서술에서도 충분히 이해할 수 있는 이해력을 가졌다면 명확한 정의와 서술을 접하는 것이 수학적 사고력을 키우는 데에는 대단한 장점으로 작용할 것이다. 이따금 ~는 자명하다는 식으로 넘어가는 논리의 비약이 어렵게 느껴질 수 있다. 그러나 이를 반드시 이해하고 넘어가면서 익숙해지는 것도 하나의 수학적 직관을 키우는 방법이 될 수 있다.
2.3. 문제의 어려움
수학에서 매우 큰 비중을 차지하고 있음에도 불구하고[5] 중학교와 고등학교에서는 용어조차 언급되지 않는 영역[6]으로 사실 이산수학적 사고는 모든 문제 풀이의 근원이라고 감히 말할 수 있으며 거의 모든 학술 분야에서 응용된다.크게 다음과 같은 사고가 이산수학적 아이디어로 엮인다.
- 되는 것, 안 되는 것: 어떤 것에 대하여 여러 경우를 갈라서 조건에 부합하지 않는(모순되는) 것 찾기(예: 절댓값이 취해진 변수에 대한 방정식)
- 개수 세기(예: 격자점 일일이 세기, 정수의 개수 세기 등)
- 개수를 일일이 세지 못할 때 곱의 법칙 아이디어로 신속하게 해결하기
- 시행착오법: 예를 들면 같이 대수적으로 풀 수 없는 방정식에서 직관적으로 를 뽑아낼 수 있는 역량. 이러한 식으로 x=2, 3, 4, ... 처럼 하나씩 대입해 보아야 풀리는 문제들을 시행착오법이라 한다. 그래프의 개형 및 지수 함수의 성질에서 그리 크지 않은 수에서 한 번의 교점이 생기리라는 것을 쉽게 추측할 수 있고 5를 넣어보면 전자가 커지기 때문에 5 이하의 정수들을 하나씩 넣어보고 유리수 영역으로 범위를 좁혀가면 된다. 물론 범위를 좁힐 수 있다는 이야기지 정확한 해를 찾기란 딱 떨어지는 문제가 아니면 어렵다.
- 규칙성을 갖는 수의 나열에서 천문학적인 순서에 있는 값 추론하기. 수열에서 배우지만, 그 이전 과정에서는 언급이 아예 없다.
즉, 이산수학은 수학을 다루는 데 있어서 기본기와 같다. 이산수학 자체가 워낙 단순한 내용들로 구성되어서 얕보기 일쑤지만, 이산수학 문제는 풀이의 핵심이 아예 그 자체이기 때문에 더럽게 꼬기 시작하면 밑도 끝도 없이 난이도가 천정부지로 치솟는다.[7][8]이 부분에 있어서는 가히 미적분이나 대수학 따위는 명함도 못 내민다.
국제수학올림피아드에서 대한민국 사람들이 가장 못하는 영역도 조합 영역, 다시 말해 이산수학의 한 분야이다. 고난도 문제도 조합 영역에서 자주 출제된다.
문과 쪽에서도 대학원 진학 시에는 (순수 문학이 아닌 한[9]) 통계적 방법을 활용해 연구하는 경우가 많아지고 있으며, 이 과정에서 이산수학에 대해 간단하게나마 접해볼 가능성이 있다. 그러나 통계 쓴다는 사회 과학 분야에서도 이산수학보다는 오히려 정규 분포로 대표되는 미적분의 논리를 따라서 방법론이 세워진 분야들이 굉장히 많아서, 이산 확률 분포 같은 것을 커리큘럼에서 아예 빼버리는 경우도 실제로 있다. 이는 무책임한 것도 아니고 학문적으로 엄밀하지 못한 것도 아니다.[10] 그건 그저, 이산수학을 배울 시간에 차라리 연속적 데이터를 주물럭거리며 모수를 추론하는 게 훨씬 더 연구 생산성을 높인다고 판단했기 때문이다.
3. 컴퓨터 과학에서 다루는 '이산수학'
[[컴퓨터공학|컴퓨터 과학 & 공학
Computer Science & Engineering
]]- [ 펼치기 · 접기 ]
- ||<tablebgcolor=#fff,#1c1d1f><tablecolor=#373a3c,#ddd><colbgcolor=#0066DC><colcolor=white> 기반 학문 ||수학(해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학(환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학(형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학 ||
하드웨어 구성 SoC · CPU · GPU(그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품 기술 기계어 · 어셈블리어 · C/C++ · C# · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍 · 해킹 · ROT13 · 일회용 비밀번호 · 사물인터넷 · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시(SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화 · 하드웨어 가속 연구
및
기타논리 회로(보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 운영 체제 · 데이터베이스 · 프로그래밍 언어{컴파일러(어셈블러 · JIT) · 인터프리터 · 유형 이론 · 파싱 · 링커 · 난해한 프로그래밍 언어} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩(유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도(최적화) · 소프트웨어 개발 방법론 · 디자인 패턴 · 정보처리이론 · 재귀 이론 · 자연어 처리(기계 번역 · 음성인식) · 버전 (버전 관리 시스템 · Git · GitHub)
'''이론 컴퓨터 과학 {{{#!wiki style="display: inline-block; font-family:Times New Roman, serif;font-style:italic"''' | |||||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px" | <colbgcolor=#a36> 이론 | ||||
기본 대상 | 수학기초론{수리논리학(논리 연산) · 계산 가능성 이론 · 범주론 · 집합론} · 이산수학(그래프 이론) · 수치해석학 · 확률론 및 통계학 · 선형대수학 | ||||
다루는 대상과 주요 토픽 | |||||
계산 가능성 이론 | 재귀함수 · 튜링 머신 · 람다대수 · 처치-튜링 명제 · 바쁜 비버 | ||||
오토마타 이론 | FSM · 푸시다운 · 튜링 머신(폰노이만 구조) · 정규 표현식 · 콘웨이의 생명 게임 · 형식언어 | ||||
계산 복잡도 이론 | 점근 표기법 · 튜링 기계^고전, 양자, 비결정론적, 병렬 임의접근 기계^ · 알고리즘 · 자료구조 · 알고리즘 패러다임(그리디 알고리즘, 동적 계획법) | ||||
정보이론 | 데이터 압축(무손실 압축 포맷 · 손실 압축 포맷) · 채널 코딩(채널 용량) · 알고리즘 정보 이론(AIT) · 양자정보과학 | ||||
프로그래밍 언어이론 | 프로그래밍 언어(함수형 언어 · 객체 지향 프로그래밍 · 증명보조기) · 메타 프로그래밍 · 유형 이론 · 프로그래밍 언어 의미론 · 파싱 · 컴파일러 이론 | ||||
주요 알고리즘 및 자료구조 | |||||
기초 | 정렬 알고리즘 · 순서도 · 탐색 알고리즘 | ||||
추상적 자료형 및 구현 | 배열^벡터^ · 리스트^연결 리스트^ · 셋(set)^레드-블랙 트리, B-트리^ · 우선순위 큐^힙, 피보나치 힙^ | ||||
수학적 최적화 | 조합 최적화 | 외판원 순회 문제 · 담금질 기법 · 유전 알고리즘 · 기계학습 | |||
볼록 최적화 | 내부점 방법 · 경사하강법 | ||||
선형계획법 | 심플렉스법 | ||||
계산 수론 및 암호학 | 밀러-라빈 소수판별법 · Pollard-rho 알고리즘 · 쇼어 알고리즘 · LLL 알고리즘 · 해시(MD5 · 암호화폐 · 사전 공격(레인보우 테이블) · SHA) · 양자 암호 | ||||
대칭키 암호화 방식 | 블록 암호 알고리즘(AES · ARIA · LEA · Camellia) · 스트림 암호 알고리즘(RC4) | ||||
공개키 암호화 방식 | 공개키 암호 알고리즘(타원 곡선 암호 · RSA) · 신원 기반 암호 알고리즘(SM9) | ||||
계산기하학 | 볼록 껍질 · 들로네 삼각분할 및 보로노이 도형^Fortune의 line-sweeping 알고리즘^ · 범위 탐색^vp-tree, R-tree^ · k-NN | ||||
그래프 이론 | 탐색^BFS, DFS, 다익스트라 알고리즘, A* 알고리즘^ · 에드몬드-카프 · 크루스칼 알고리즘 · 위상 정렬 · 네트워크 이론 | ||||
정리 | |||||
정지 문제대각선 논법 · 암달의 법칙 · P-NP 문제미해결 · 콜라츠 추측미해결 | |||||
틀:이산수학 · 틀:수학기초론 · 틀:컴퓨터공학 | }}}}}}}}} |
수리적인 것들을 다루기 때문에 논리 회로 설계를 위한 기초 논리학 및 불 대수 관련 풀이나 증명을 먼저 배우고 이외에도 컴퓨터 대수, 자료 구조, 알고리즘 등 컴퓨터 학과의 다른 수업에서 나오는 수학적 개념들을 총망라한다. 그러므로 자신이 속한 과가 4년제 컴퓨터 과학 관련 학과라면 보통 수강하는 과목이다. [11] 실제로, 대부분의 대학교의 컴퓨터 학과에서 이산수학 과목이 전공 필수인 경우가 많지만 전공 선택 강의가 있는 다른 대학교도 몇 군데 있다.
전체적인 내용에 대해 개괄적으로 설명하면, 먼저 자연수와 정수의 구성 방법이다. 그냥 수학적 귀납법과 Modular arithmetics 정도라 그다지 어렵지 않다. 교수에 따라 type theory 혹은 recursion theory(computability)를 첨가시켜 가르치는 경우도 있다.
그리고, 조합론. 중고교 때로 보면 경우의 수. 원래 조합론은 lattice, counting function, incidence function, generating function, matroids 등을 기본으로 배우지만 대학에 따라 다르다. 교수진과 해당 학교가 수학에서 중점을 두는 분야에 따라 다르지만, 저것들은 수학과에서도 일반적으로 학부 때는 구경도 못 하는 경우가 많다. 대표적인 문제로는 n명이 모자를 한 곳에 벗어 뒀다가 다시 썼을 때, 한 명도 자신의 모자를 안 쓸 확률 같은 거. 쉬워 보이지만, 중등 과정이 아니다. [12] 이것들을 쉽게 표현하기 위한 것이 생성 함수(Generating function, G.F.)인데, 테일러 전개처럼 등호의 왼쪽은 닫힌 형태(sin), 오른쪽은 차수가 무한이 올라가는 다항식으로 되어 있다. 각 차수의 계수가 어떤 수열의 항이 된다. 해석학에서는 수렴 반경 [13]이 중요한 반면, 이산수학에서는 다항식의 계수가 중요하기 때문에 수렴 반경은 아웃 오브 안중. 성격이 다른 분야다.
다음으로는 그래프 이론. 색칠하기. 꼭짓점(vertex)에 색을 칠하고 선분(edge)으로 이어져 있으면 다른 색을 칠하도록 할 때, 주어진 그래프는 몇 개의 색으로 칠할 수 있을까, 하는 문제다. 단, 최소한의 색만 칠해야 한다. [14] 최단 거리 찾기 등. 이 부분은 실제 프로그래밍에 응용 가능한 알고리즘이 종종 등장하니 알아두면 좋다. 원래 대학에서 배우는 그래프 이론은 확률론이 더해지는데(당연하겠지만, 연속체 구조다), 여기까지는 일반적으로 알고 있는 이산수학으로, 그다지 난해한 부분도 찾아보기 힘들어 교수나 학생이나 죽죽 훑고들 넘어간다.
하지만 중반부를 넘어갈 즈음 끝판왕인 논리와 증명 이론이 등장한다. 쉽게 말하면 컴퓨터 과학의 언어에 대해 배우는 부분으로, 명제 논리와 일차 언어의 문법과 모델 이론에서 시작하여 Herbrand-Interpretation, Skolemization, 데이비스-퍼트남 증명 방법 등을 배우며 운이 좋다면 본격적으로 수학의 논리학과 컴퓨터 과학이 연결되는 부분인 proof as a program으로 유명한 Curry-howard correspondence도 구경할 수 있는 안드로메다로 향하게 된다. 물론, 반 학기 만에 이것들을 제대로 이해하고 응용 문제를 푼다는 것은 거의 불가능에 가깝기 때문에 이런 것도 있다 식으로 관광을 하는 정도지만, 그럼에도 관광을 당하는 것에는 변함없다. 여기서 배우는 것들은 컴퓨터 과학의 언어임과 동시에 수학의 언어이기도 하기 때문에(말하자면 컴퓨터 과학과 수학은 같은 뿌리를 갖고 있다), 이 부분부터는 실제 수학과 수학만큼 난이도가 급상승하게 된다. 물론, 위에서 말한 것과 반대의 의미로 운이 좋다면 이 부분을 제끼는 교수를 만나게 될 것이나, 그렇지 않으면 이 부분을 극복하는 것이 이 과목의 핵심이다. 다만 현재 대한민국에서 컴퓨터 과학을 가르치는 대학 중 학부 과정의 이산수학 과목에서 위 내용을 가르치는 대학과 교수는 거의 없다고 단언해도 좋을 정도일 만큼 수가 적다. 만약 배운다고 해도 나만 못하는 게 아니라는 것을 알고 있자.
4. 과목으로서의 '이산수학'
4.1. 7차 교육과정 고등학교 과목 이산수학
자세한 내용은 7차 교육과정/수학과/고등학교/이산수학 문서 참고하십시오.4.2. 중·고등학교 과목에서의 초라한 위치
크게 수학에서는 대수, 기하, 해석, 이산수학(정수론, 조합론, 집합론)으로 구분하려는 성격이 있는데, 중등 교육에서도 '이산수학'은 실질적인 비중이 매우 큼에도 불구하고 용어 언급이 전혀 안 된다. 그러나 고등학교 1학년 과정은 거의 절반이 이산수학으로 구성되어 있으며, 실질적으로 매우 중요한 기반이 된다. 언급은 안 되더라도 1학년 2학기 과정인 수학(하)의 거의 전부가 이산수학이다.흔히 중·고등학교 과정에서 접할 수 있는 이산수학엔 경우의 수(또는 조합론), 순열, 조합, 수열, 집합론 등이 대표적이다.
- 2015 개정 교육과정 기준 '이산수학'의 내용
- 과거에 '일반선택과정'에 있었으나 빠진 내용
4.3. 현황 및 잘못된 분류: 이산수학이 '확률과 통계'다?
현 교육 과정은 불가피하게 이산수학 관련 내용(특히 순열, 조합, 분할, 이항 정리 등)을 '확률과 통계' 과목으로 몰아 놓고 있으나 실제로 그 내용들은 '확률과 통계'와 공유할 뿐이지 확률과 통계만을 위해서만 존재하는 것들이 아니다. 특히 엄연히 순열, 조합, 자연수의 분할, 집합의 분할 관련 내용은 이산수학 영역이다. 차라리 애매성을 피한다면 고 1 수학 혹은 수학 I같이 영역 명칭이 특칭화되지 않은 과목으로 모조리 몰빵했어야 더욱 적합한 조치였을 것이다. 2015 개정 교육과정에서는 고 1 수학 절반 가까이[15]가 이산수학이 되면서 얼추 해결되었다.5. 관련 문서
[1] '셀 수 없는 것'을 다루는 학문은 후술할 해석학이다.[2] 손가락으로 한 개 두 개 세던 시절부터 이산수학은 출발한다.[3] 앞부분 명제 연습 문제도 문장 번역이 안 되어 있다. 그리고 해설집도 딸려 오는 CD로 봐야 한다. 8판 번역본에서는 본문에서 빠진 12장 '부울 대수', 13장 '계산 모델'의 내용이 출판사 홈페이지에서 제공된다. 만약 영어 실력이 되면 그냥 영어 원서를 보는 것이 좋다. 8판 번역본도 마찬가지다.[4] 일명 샴 시리즈라고 불린다.[5] 다루는 주제만 보더라도 논리학, 증명 이론, 함수, 집합론은 수학의 핵심 기둥들이며, 특히 4차 산업 혁명 시대가 도래하면서 이산수학의 중요성은 비약적으로 상승하고 있다.[6] 보통 대수, 확률과 통계, 해석(함수), 기하만 언급한다. 그에 비해 이산수학은 언급 자체도 되지 않을뿐더러 확률과 통계로 편입시키기도 한다. 따로 심화 과목화가 된 적이 있는데 이는 구 7차 교육 과정 고등학교에서 딱 한 번 존재했었다. 인기가 턱없이 부족하자 이후 교육 과정에서 바로 공중분해되었으며 그 잔재가 지금은 고급 수학 I, 확률과 통계, 심화 수학 II 등으로 갈기갈기 찢어지거나 아예 고등학교 과정에서 탈락했다.[7] 단적인 예로 비둘기 집의 원리를 보자. 정의 자체만 놓고 보면 '(n+1)마리의 비둘기를 n개의 비둘기 집에 넣으려 하면 적어도 한 개의 집에는 비둘기가 두 마리가 들어간다'는 아주 쉬운 개념이다. 이제 3의 거듭제곱 수 중 끝 세 자리 숫자가 001인 수가 있음을 증명해 보자.[8] 풀이 실례로 [math(3^{100n})]의 끝 세 자릿수가 001이다.[9] 최근에는 철학, 논리학, 언어학은 물론 심지어 역사학과 예체능에서도 빅 데이터 연구 방법이 도입되고 있어 인문학 연구에도 수리적 개념의 중요성이 커지고 있다. 그래서 수리에서 완전히 자유로운 전공은 문과 그 자체의 상징이나 다름없는 문학밖에 없다. 하지만 수리적 개념의 사용 빈도수와 학위 취득의 난이도는 반비례해서 수리적 개념을 적게 쓸수록(= 질적 연구를 많이 할수록) 학위 취득도 기하급수적으로 어려워진다.[10] 오히려 현대의 확률론은 해석학에 기반을 두고 있다.[11] 2.3 문단에서도 알 수 있듯이 대학에 와서 사실상 처음 배우게 되는데, 대부분의 컴퓨터 과학 전공 학생들이 여기서 멘붕을 겪는다.[12] 중등 과정에서도 단순히 수형도를 그려 경우의 수를 세는 문제로 출제될 때도 있지만, 일반적인 풀이법은 배우지 않는다. 즉, 대학교 이상에서 배우는 과정이란 소리다.[13] 차수가 무한하니까 절댓값이 어떤 수보다 크면 발산한다. |r|>1이면 1+r+r^2+...가 발산하는 것으로 생각하면 된다.[14] 참고로, 4색 정리는 그냥 유명한 문제일 뿐 매우 난해하기 때문에 실제 이산수학에서는 보통 그냥 6가지 색으로 가능하다는 것까지만 배운다. 처음 문제 제기 된 이후 100년이 넘도록 매년 한 개 이상의 오류가 섞인 증명이 발표되었었고, 십여 년 전에 드디어 오류가 없는 증명이 등장했다고 여겨지고 있는데 이 증명은 무려 1,500가지 이상의 경우의 수를 포함하고, 이 1,500가지의 경우의 수를 나누기 위한 룰만 600개가 넘는다.[15] 집합, 명제, 함수, 순열 조합